DAY5 深度学习之目标检测-两阶段方法
- 目标检测概述
- 深度学习下的目标检测
- 总结
目标检测概述
目标检测:在给定的图片中精确找到物体所在位置,并标注出物体的类别。
问题难点:物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。
深度学习下的目标检测
- IOU:
IOU=(A∩B)/(A∪B),IOU用来衡量真实标注和预测结果的重合程度。 - 非极大值抑制(NMS):
首先,将同一类的所有的检测框,按照分类置信度排序。然后将与分类置信度最高的检测框的重叠面积(IOU)大于一定阈值的检测框删除,最后从未处理的框中,再选出一个分类置信度最高的检测框,重复上一步操作。如图所示: - R-CNN:
R-CNN候选区域生成:Selective Search(SS,选择性搜索)。根据颜色、纹理、尺寸和空间交叠相似度提取约2000个region proposal(候选区域),类似于一种层次聚类算法。SS同样存在着问题,首先对于每张图像,还需要额外的步骤提取region proposal,其次存储和重复地提取每个region proposal的特征花费大量的存储和计算资源。
R-CNN统一尺寸:Warped region (区域拉伸):通过Selective Search产生的候选区域大小不一样,为了与CNN(AlexNet)兼容,R-CNN直接将所有的候选区域统一到227*227的尺寸。将每个region proposal统一成同样的尺寸,严重影响CNN提取特征的质量。
R-CNN特征提取:通过卷积神经网络提取CNN特征,用于分类。
R-CNN区域分类:为每一类(包括背景类)训练SVM。
边界框回归:对于得到是目标的区域,根据网络提取的特征训练了一个线性的回归模型,这个模型能够针对候选区域的pool5数据预测一个新的box位置。
R-CNN缺点:为每个region proposal提取特征,花费大量的计算时间和存储空间。使用Warp,为每个region proposal统一尺寸,严重影响CNN提取特征的质量。 - Fast R-CNN
提取整幅图像的特征,在特征上进行Wrap。特征比图像抽象,学习过程可更好的适应弯曲和裁剪变化;将分类损失和回归损失统一在同一个框架中。
总结
学习到了两阶段方法CNN的基本框架,对于pooling和特征图有了进一步的理解,对目标检测的基本方法有了初步的认识。