论文来自《Rich feature hierarchies for accurate object detection and semantic segmentation》
目标检测
1、使用select search对每张图像产生1k-2k个候选区域(这一步和目标类别无关)
2、对候选区域resize到统一尺寸。(227*227)这里resize的方法有三种:
1)在原图像上扩展候选框成一个正方形,然后resize到想要的尺寸(227*227)
2)仍然是扩展成一个正方形,但扩展时候填充的内容不是图像,而是使用其他值,比如0,比如图像均值。最后再resize
3)直接resize成227*227
对于超出图像边缘的候选框,填充图像均值。
讲resize后的候选框输入CNN提取特征。
3、输入SVM分类器,确定这些候选框的类别。
4、使用非极大值抑制减少冗余的候选框数量。对剩余的候选框通过检测框回归模型,修正最终的位置。
训练:
包括三部分:CNN的训练、SVM的训练、线性回归模型的训练。
训练时用到的数据:
预先提取出的候选区域和给定的检测框
1、CNN训练
首先使用大型的辅助集(ILSVRC 1000类)对CNN(VGG16等)进行图像级预训练(每张图片对应一个标签,没有检测框标记)----------->然后只使用提取出的region proposal进行训练,类别的数目是(N+1 N类目标+背景)替换上一阶段使用的1000类别的分类器层 。
标签的确定:
如果候选框与任意一个给定的检测框IOU>=0.5 认为该候选框是这个检测框对应的这一类(+),如果和所有检测框IOU<0.5,标记为负样本。 所有物体类别是+,背景是-。在训练的时候,每个批次输32个正样本+96个负样本----------->完成了CNN的训练。
不同的CNN结构对结果影响很大。
2、SVM训练
对于每一类训练一个SVM
输入是候选区域通过CNN提取出的4096维特征,输出是 是否属于此类
标签的确定:
如果候选框与某类给定的检测框IOU>=0.3认为该候选框是这个检测框对应的这一类(+),否则为-。
SVM训练完成。
作者有尝试使用softmax 发现效果不好。
3、检测框回归模型
我们对得到的候选框区域进行微调,使其更精确。
我们的训练算法的输入是一组NN个训练对(Pi,Gi)i=1,…,N(Pi,Gi)i=1,…,N,其中Pi=(Pix,Piy,Piw,Pih)Pi=(Pxi,Pyi,Pwi,Phi)指定提案PiPi的边界框中心的像素坐标以及宽度和高度(以像素为单位)。注意,除非需要,下文中我们不再写出上标ii。每个检测框真值GG以相同的方式指定:G=(Gx,Gy,Gw,Gh)G=(Gx,Gy,Gw,Gh)。我们的目标是学习将提案框PP映射到检测框真值G的转换。
我们使用四个函数dx(P),d
y(P)
dw( P)和dh(P))参数化这个转换。前两个指定PP的边界框的中心的比例不变的平移,后两个指定P的边界框的宽度和高度的对数空间转换。在学习了这些函数后,我们可以通过应用转换将输入提案P转换成预测的检测框真值Gˆ。Gˆx=Pwdx(P)+Px(1)
每个函数d⋆(P)d⋆(P)(⋆表示x,y,w,h中的一个)都建模为提案PP的pool5特征(记为ϕ5(P),对图像数据的依赖隐含的假定)的线性函数。即d⋆(P)=wT⋆ϕ5(P),其中w⋆w⋆表示模型和训练参数的一个向量,通过优化正则化最小二乘法的目标(脊回归)来学习w⋆w⋆。w⋆=argminwˆ⋆∑Ni(ti⋆−wˆT⋆ϕ5(Pi))2+λ∥wˆ⋆∥2(5)
训练对(P,G)的回归目标t⋆t⋆定义为:tx=(Gx−Px)/Pw(6)
作为标准正则化最小二乘问题,可以有效的找到封闭解。
我们在实现边界回归的过程中发现了两个微妙的问题。第一是正则化是重要的:我们基于验证集,设置λ=1000。第二个问题是,选择使用哪些训练对(P,G)时必须小心。直观地说,如果PP远离所有的检测框真值,那么将PP转换为检测框真值G的任务就没有意义。使用像P这样的例子会导致一个无望的学习问题。因此,只有当提案P至少在一个检测框真值附近时,我们才执行学习任务。“附近”即,将PP分配给具有最大IoU的检测框真值G(在重叠多于一个的情况下),并且仅当重叠大于阈值(基于验证集,我们使用的阈值为0.6)。所有未分配的提案都被丢弃。我们为每个目标类别执行一次,以便学习一组特定于类别的检测框回归器。
在测试时,我们对每个提案进行评分,并预测其新的检测框一次。原则上,我们可以迭代这个过程(即重新评估新预测的检测框,然后从它预测一个新的检测框,等等)。但是,我们发现迭代不会改进结果。
测试:
对每幅图像-->2k个region proposal -->resize-->cnn fearture-->SVM
cnn feature 2000*4096
SVM权重矩阵 4096×N
点乘--2000×N
对于每一类,得到2000个得分(2000个候选框),使用非极大值抑制(NMS 改进版soft-NMS)消除掉大部分的候选框,最后对剩下的候选框回归修正。
评价标准:map
计算预测出来的框与GT框的IOU
然后判断哪些框预测正确,哪些预测错误。计算map
相关参考文献:
map:https://blog.csdn.net/qq_35608277/article/details/79070935
NMS:https://www.cnblogs.com/makefile/p/nms.html
IOU:https://blog.csdn.net/h_jlwg6688/article/details/76066890