R-CNN论文解读
- 论文链接:R-CNN
一、预备知识
(一)目标检测
目标检测是指:
给定一个图像,找到其中的目标,找到它们的位置,并且对目标进行分类。目标检测模型通常是在一组固定的类上进行训练的,所以模型只能定位和分类图像中的那些类。此外,目标的位置通常是边界矩阵的形式。所以,目标检测需要涉及图像中目标的位置信息和对目标进行分类。
- 图像分类 VS 图像定位 VS 目标检测 VS 实例分割
(二)IoU
IoU 的全称为交并比(Intersection over Union),IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。
- Ground Truth
- 预测结果(Bounding Boxes)
- IoU计算
(三)mAP
mAP(Mean Average Precision)均值平均精度对于评估模型定位性能、目标监测模型性能和分割模型性能都是有用的。
- 选择mAP的原因
目标检测问题中的模型的分类和定位都需要进行评估,每个图像都可能具有不同类别的不同目标,因此,在图像分类问题中所使用的标准度量不能直接应用于目标检测问题。
mAP计算过程
1、 导入数据集
对于数据集中的每一张图片,我们都有其相应的Ground Truth数据,即已知每张图片的真实信息。
2、计算当前图片中每个检测框的IoU
根据提前设定的阈值,若IoU>阈值,则认为这是一个真实的检测(True Detection);反之,则是一次错误的检测(False Detection)。找到类C的真实检测,整理得到:
- 该图中类C的正确检测次数(A)
依据的是IoU与阈值的大小之比 - 图片中类C的实际个数(B)
依据的是Ground Truth
3、计算当前图片中类C精度
P r e c e s i o n C = N ( T r u e D e t e c t i o n s ) C N ( T o t a l O b j e c t s ) C = A B Precesion_{C} = \frac{N(TrueDetections)_{C}}{N(TotalObjects)_{C}} = \frac{A}{B} PrecesionC=N(TotalObjects)CN(TrueDetections)