目标检测一览1

本文详细介绍了目标检测的问题,包括分类与回归的概念,技术演进历程,从Selectvie Search到R-CNN、SPP-net、Fast R-CNN,再到Faster R-CNN的改进。重点讨论了RPN区域生成网络和边框回归(bounding box reg)的原理,以及在训练和测试中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

1.目标检测问题

1.1分类和回归

目标检测,即是分类问题,也是回归问题。

分类Classification:对打框的部分进行分类,是目标物体?还是背景?解决识别与分类(classification)

回归Regression:cat(x,y,w,h),逼近这四个数值(例如:欧式距离作为损失函数);可以用来校正目标框。解决定位(localization)

目标检测问题,可以大体分为级联的两步/两个模型:

  • 识别。是不是目标?
  • 分类。如果是目标的话,是什么目标?

image.png  image.png

1.2概念

Ground Truth、Region Proposal

对训练数据上的目标物体进行打框,需要手动去做;有公司专业做这部分工作。目标的真实标记区,也叫Ground Truth。目标框也叫 Region Proposal(Proposal:建议。可以理解为目标框是一种选区的建议,即选定的区域并不一定真的是目标)。

正/负样本

正样本:如果某个region proposal和当前图像上的所有ground truth中重叠面积最大的那个的IOU大于等于0.5(阈值),则该region proposal作为这个ground truth类别的正样本,否则作为负样本。另外正样本还包括了Ground Truth。

负样本:区域A与GT的重合度在20~50%之间,且A和其他任何一个已生成的负样本之间的重合度<=70%,则A为负样本。

IOU、NMS

IOU(Intersection Over Union)是测量在特定数据集中检测相应物体准确度的一个标准。一般IOU>0.5时,就可以认为目标检测的比较准确。

image.png

NMS(Non-Maximum Suppression)非极大值抑制:

每个边界框有一个置信度得分(confidence score),即分类器的类别分类概率,根据概率排序。

将置信度最高的边框A放入最终输出列表,计算剩下边框与A的IOU。设定阈值,用来删除重叠度较大的边界框。重复上述过程,直到边界框列表为空。

非极大值抑制,在计算机视觉任务中得到了广泛的应用,例如边缘检测、人脸检测、目标检测(DPM,YOLO,SSD,Faster R-CNN)等。

image.png

1.3技术演进

two stage

two stage:Proposals+Detection(class-agnostic proposals,class-specific detection)

算法:古典的目标识别、R-CNN、SppNet、Fast R-CNN、Faster R-CNN、(FCN,unet语义分割)、R-FCN等。

one stage

one stage:Detection(class-specific detection)

算法:YOLO、SSD、Retinanet等。

2.古典目标识别

2.1Selective Search选择搜索

CPU运行环境下,Selective Search可以在几秒内给出1000个Region Proposal。因为效率较低,一般不再使用Selective Search,它只是作为古典目标识别的一部分。

SS是一种图像bounding box算法,2011年由KoenE.A提出。

选择搜索的主要思路:我们想要框选的区域应该是有相似性或连续性的(颜色、纹理、大小等相似),对输入图像用分割算法得到很多子区域,根据相似性再对子区域进行合并提取bounding boxes候选边界框,不断进行区域迭代合并。在迭代过程中,对合并的子区域打上bounding boxes,这些boxes就是候选框

选定候选框的其他算法还有很多,例如:

image.png

Selective Search的策略就是将层次聚类的思想用到了区域合并上。

image.png

2.2古典目标识别的步骤

  • 构造训练集。使用SS进行区域融合,采纳正负样本,负样本会远多于正样本。
  • 提取正负样本的特征。将正负样本转为特征向量:SIFT算法、HOG算法。
  • SVM训练,分类超平面依赖于支持向量,正负样本的数量比例不影响分类效果。
  • 反馈False Positive(预测为正,实际为负)。收集FP,结合第三步得到的SVM权值作为初始权值,进行SVM二次训练。False Negative不如FP那么关键,所以不用收集FN。
  • 测试。使用SS得到图像的候选区域,对每个区域提取特征向量,用SVM对区域进行软分类,并按分类概率值进行排序,保留概率值>0.5的区域A并计算它们与概率值更高区域之间的重叠程度IOU,如果IOU>30%,则把A也去除,最后剩下的就是目标区域(NMS)。

2.3古典目标识别的不足

用SS提取候选框,效率低下;SVM用于二分类,古典目标识别更多是用于目标的定位,或者区分开目标与背景。

4.R-CNN

R-CNN(Region-based Convolutional Neural Network)即通过CNN来代替古典目标识别中的SIFT/HOG算法来将图像区域(regions)转变为向量。

4.1 R-CNN网络结构

image.png

R-CNN对比古典目标识别

R-CNN与古典目标识别的相同:

使用Selective Search提取候选框(RoI:Regions of Interest);

使用SVM进行分类。

R-CNN与古典目标识别的不同:

  • Warped:对图像区域变形(resize)成统一的大小,是为了网络最后样本能以同样维度输入SVM,而不得不采取的做法。区域变形之后其实会影响分类结果。
  • ConvNet:是指CNN网络中的卷积层和池化层,作用是将resize后的图像区域转成vector。ConvNet使用已有的预训练的网络结构(VGG16/AlexNet等),迁移学习,只需要结合softmax进行微调Fine-tune(log loss交叉熵);ConvNet训练好了之后,接入SVM,使用hinge loss训练SVM;接入线性回归,使用MSE训练Bbox reg。

     

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值