真实面经题目 · 原创解析

在小目标检测且数据量较小的场景下,如何用深度学习方案改造传统检测流程,并围绕 Faster R-CNN、多尺度特征和数据增强提升效果?

这道题考察小目标检测和小样本场景的方案设计。回答要覆盖传统流程改造、Faster R-CNN 选型、多尺度特征、数据增强、迁移学习、样本不均衡和评估误差分析。

出现于:海康威视 · 算法

60 秒回答模板

小目标检测的难点是目标像素少、特征弱、容易被下采样抹掉,数据量小又会让深度模型过拟合。所以我会先明确基线:传统检测可能依赖阈值、边缘、模板或手工特征,鲁棒性差;深度方案可以用 Faster R-CNN 这类 two-stage 检测器,因为 RPN 先产生候选框,后续 ROI 特征再分类回归,对小数据和小目标通常比纯 one-stage 更容易调稳。 具体改造要从数据和模型一起做。数据侧做迁移学习、冻结部分 backbone、强弱增强组合、随机裁剪/放大、Mosaic/MixUp 要谨慎、复制粘贴小目标、类别均衡采样和难例挖掘。模型侧用 FPN 或多尺度特征,让小目标走高分辨率浅层特征;调小 anchor 尺寸和 stride,提高输入分辨率,使用 ROIAlign 减少量化误差;必要时切图/滑窗推理,增加小目标召回。训练时控制正负样本比例、focal loss 或重采样应对不平衡。评估不能只看总体 mAP,要看 small AP、召回率、不同尺寸/场景/遮挡的错误类型,以及误检、漏检和定位偏差。

考点 小目标难在下采样损失、定位误差和背景干扰
难度 真实面经题
回答目标 让候选人能围绕小目标和小数据两类核心难点,设计从数据、模型、训练到评估的完整检测方案。

深入解析

01

难点拆解

小目标像素少、纹理弱、定位误差相对更大,经过 backbone 下采样后可能只剩很少 feature cell。小数据又会让模型记住背景和拍摄条件。

02

基线选择

Faster R-CNN 的 RPN 加二阶段分类回归更适合可解释调参和小样本稳定性。传统算法可作为规则先验或弱标签来源,但不应成为唯一方案。

03

多尺度特征

用 FPN、较小 stride、较高输入分辨率和合适 anchor 尺寸保留小目标信息。ROIAlign 比 ROIPool 更适合精细定位,能减少量化误差。

04

数据增强

小数据要做迁移学习、随机裁剪、尺度抖动、颜色/光照增强、复制粘贴和难例采样。增强不能破坏目标语义,也要避免训练分布和线上分布偏离太远。

05

训练策略

从预训练 backbone 开始,先冻结或低学习率微调,再逐步解冻。正负样本比例、NMS 阈值、RPN proposal 数、focal loss 或 OHEM 都会影响小目标召回。

06

评估分析

除 mAP 外要单独看 small AP、Recall@K、漏检率、误检类别、尺寸分桶、遮挡/光照/背景分层和定位误差。小目标场景中召回通常比少量误检更关键。

易错点

  • 只说用深度学习替代传统方法,没有说明为什么适合小目标。
  • 忽略下采样和 anchor 尺寸,导致小目标没有正样本。
  • 只做普通翻转增强,对小数据和小目标帮助有限。
  • 只看总体 mAP,不拆 small AP 和漏检场景。
  • 盲目提高分辨率,不考虑延迟、显存和线上部署。
  • 没有检查标注质量,小目标标注噪声会严重影响训练。

面试官追问

提高输入分辨率一定更好吗?

不一定。分辨率提高能保留小目标细节,但会增加显存和延迟,也可能引入更多背景噪声。要结合切图、batch size、线上 RT 和 small AP 曲线评估。

小数据下如何避免过拟合?

使用预训练、冻结部分层、较强但合理的数据增强、早停、weight decay、交叉验证和清洗标签。还可以引入无标注数据做伪标签,但要控制噪声。

anchor 怎么调?

根据目标尺寸分布设置更小的 scale 和合理 aspect ratio,确保小目标能匹配到正样本。可以统计标注框宽高,检查 RPN 正样本覆盖率。

如果误检很多怎么办?

先看误检来自相似背景、标注缺失还是阈值/NMS 问题。可加入 hard negative、调整 score 阈值、重采样背景、改进分类头或引入上下文约束。