目标检测:给定一张图片,用矩形框框出所感兴趣物体,同时预测物体类别。
应用领域:人脸识别、智慧城市、自动驾驶、下游视觉任务。
相比于图像分类,目标检测,物体数量不固定,物体位置不固定,物体大小不固定。
传统的滑窗(Sliding Window)
- 设定一个固定大小的窗口
- 遍历图像所有位置,所到之处用分类模型识别窗口中的内容
- 为了检测不同大小、不同形状的物体,可以使用不同大小,长宽比的窗口扫描图片
改进思路1:使用启发式算法替换暴力遍历
R-CNN、Fast R-CNN使用Selective Search产生提议框
改进思路2: 减少冗余计算,使用卷积网络实现密集预测,是目前普遍采用的方式。
目标检测的基本范式:
两阶段方法
单阶段方法
基础知识
边界框Bounding Box
Region、Region Proposal、Region of Interest、Anchor Box
交并比
置信度
非极大值抑制 Non-Maximum Suppresion
边界框回归 Bounding Box Regression
边界框编码 BBox Coding
两阶段目标检测算法 Two-stage Detectors
两阶段的检测范式最早由R-CNN确立,因包含区域提议和区域识别两个阶段得名。
发展到Faster R-CNN和Mask R-CNN逐渐成熟。2020年后,随着单阶段算法精度和速度的提高逐渐被取代
单阶段目标检测算法 One-stage Detectors
单阶段算法直接通过密集预测产生检测框,相比Two-stage算法,模型结构简单、速度快,易于设备上部署。随着单阶段算法性能逐渐提升,成为目标检测的主流方法。
Detection Transformers
DETR(2020)
脱离密集预测范式,将检测建模为特征序列到框序列的翻译问题,用Transformer模型解决。
Deformable DETR (2021)
DETR的注意力机制收敛性很慢,Deformable DETR借鉴Deformable Conv的方式,收敛速度更快。