一、目标检测的定义
给定一张图片,用矩形框框出所有感兴趣物体同时预测物体类别
二、目标检测的分类
基于深度学习的目标检测方法主要包括两大类,一类是基于区域建议网络(Region Proposal Network, RPN)的两阶段检测网络,其首先生成区域候选框,然后对每个区域候选框的特征进行预测,这类方法的主要研究有R-CNN系列网络、SPP网络和R-FCN网络等。另一类是端到端的单阶段检测网络,它可以实现一次性对整张图像中目标的坐标定位与分类,一般这类方法的检测速度要快于前者,这类方法的主要研究有YOLO和SSD等。
而最新的目标检测算法出现了以Transformers为代表的算法,如DETR (2020)和Deformable DETR (2021)等。
- 两阶段目标检测网络Two-Stage Detectors
以faster RCNN为例,网络主要分为两部分。第一部分为主干特征提取网络,采用ResNet50/101网络提取图像特征并得到特征图。第二部分为区域建议网络和RoI Align层,由区域建议网络对特征图进行卷积运算得到候选框并对候选框进行首次校正,然后候选框再截取特征图得到局部特征图。因为局部特征图的长宽是不固定的,不利于模型的学习,因此需要通过RoI Align将局部特征图归一化到相同大小上。
- 单阶段目标检测网络One-Stage Detectors
单阶段算法直接通过密集预测产生检测框,相比于两阶段算法,模型结构简单、速度快,易于在设备上部署。早期由于主干网络、多尺度技术等相关技术不成熟,单阶段算法在性能上不如两阶段算法,但因为速度和简洁的优势仍受到工业界青睐。随着单阶段算法性能逐渐提升,成为目标检测的主流方法。
YOLO的优缺点:
- 快!在Pascal VOC 数据集上,使用自己设计的DarkNet 结构可以达到实时速度,使用相同的VGG
可以达到3 倍于Faster R-CNN 的速度
- 由于每个格子只能预测1 个物体,因此对重叠物体、尤其是大量重叠的小物体容易产生漏检
- 直接回归边界框有难度,回归误差较大,YOLO v2 开始使用锚框
三、目标检测模型的评估方法
1.检测结果的正确/错误类型
- 正确结果(True Positive, TP):算法检测到了某类物体(Positive),图中也确实有这个物体,检测结果正确(True)
- 假阳性(False Positive, FP):算法检测到了某类物体(Positive),但图中其实没有这个物体,检测结果错误(False)
- 假阴性(False Negative, FN):算法没有检测到物体(Negative),但图中其实有某类物体,检测结果错误(False)
- 准确率Precision和召回率Recall
- 准确率,表示正确结果总数占检测框总数的比例,即TP/(TP+FN)
- 召回率,表示正确结果总数占真值框总数的比例,即TP/(TP+FP)
- Average Precision
Average Precision = Precision 对Recall 的平均值,即PR 曲线下的面积,作为检测器的性能衡量指标
- Mean AP
分类别统计AP,并按类别平均即得到Mean AP