目标检测学习笔记
2018-01-11 18:17
239 查看
只是来放干货和自己的一点笔记哈,因为没收到原博主的转载回复,就先放链接。
http://blog.csdn.net/standing_on_giant/article/details/60333329
http://blog.csdn.net/myarrow/article/details/51878004#t19
这里解释下map这个评价指标哈,ap是:召回率和准确率 roc(recall
and precision)曲线下的面积,map是是mean ap,用在多类别情况,取一个mean。
还有一张我很喜欢的图:很精髓哈。
接下来说一下SSD:
论文链接:https://arxiv.org/pdf/1311.2524.pdf
参考的博客: http://blog.csdn.net/u010167269/article/details/52563573
http://blog.csdn.net/qq_14845119/article/details/53331581
论文的翻译链接:http://lib.csdn.net/article/deeplearning/53059
SSD产生:offests and scores... 产生类别的分数或相对于默认框的坐标偏移
一、default box就是下面的一个个小的虚线框,feature map cell是以下将会提到的 multiscale feature maps。
给出的参考博文关于feature map cell的有点不太清楚,feature map cell是指后面会用到的multiscale feature map,然后对这些maps进行prediction。
二、SSD的框架:
边界框偏移输出值是相对于默认框测量,默认框位置则相对于特征图。
这里解释下classifier:3x3x(4×(classes + 4))是什么意思,我的理解是:3×3是使用的卷积核的尺寸;(classes
+ 4)是因为,上面提到了SSD会产生框的坐标信息和各个类别score向量. classes就是score向量的长度(也就是总类别数),+4是坐标偏移信息(边界框的中心和其宽度和高度的偏移,后文会更详细的介绍);至于剩下的那个4×,我认为是feature
map cell里的different aspect ratios boxes个数,3x3x(6x(classes
+ 4))同理,即 feature map cell 里面有6个boxes。
你看这不是4个虚线框嘛(两黑两篮)
三、匹配策略matching strategy:(也就是ground truth 和 default box 间的关系)
参考链接:http://blog.csdn.net/u013989576/article/details/73439202
在训练时,我们需要建立真实标签和默认框之间的对应关系。请注意,对于每个真实标签框,我们从默认框中进行选择,这些默认框随位置、纵横比和比例而变化。起始时,我们匹配每个真实标签框与默认框最好的jaccard重叠(也即对应最大jaccord值的那个默认框)。这是原始MultiBox
[7]使用的匹配方法,它确保每个真实标签框有一个匹配的默认框。另一种是:匹配默认框与真实标签jaccard重叠高于阈值(0.5)的默认框。添加这些匹配简化了学习问题:它使得有多个重叠默认框时网络预测获得高置信度,而不是要求它选择具有最大重叠的那个。
四、Loss
训练过程提出了Smooth L1 loss + softmax loss,将位置定位的准确度值和得分置信度融合起来,从而使得对目标物的检测和识别都表现出state-of-the-art的效果。
要算的4个偏移量:
文中还提到了感受野,给一个感受野的计算链接: http://blog.csdn.net/kuaitoukid/article/details/46829355
五、为default选取尺寸和长宽比:
这一段比较“难”理解:不同scale的feature map,我们对应给出不同scale的default boxes。default boxes的scale计算公式是 上图中的(4)。令m=5,我算了一下,sk:0.2 0.375 0.55 0.725 0.9 (我的理解是:这5个计算出的小数,是要分别乘到他们对应的feature map尺寸值上的... 即对于第一张map,8x8大小,则它的default box的基础值就是8*0.2,然后结合ar可求出w h:w=8*0.2*sqart(ar), h=8*0.2/sqart(ar)
对于第二张map,尺寸是6x6的话,则6*0.375,然后类似第一张那样去操作......)。
然后是设定default box的长宽比:1,2,3,1/2,1/3。这就有5个了。对于rate=1的情况,再多给个sk':sk'=sqart(sk*sk+1),sk'*size(map), 这个值再去与ar计算,可得到w h 值,即又一个default box了.....
六、控制正负样本比例:
七、测试test推理部分
首先是把阈值设置为0.01,很大部分的proposal可以被去除,然后再使用nms...
表示这里没看懂...这个nms怎么操作? overlap=0.45 top200?
待续......
http://blog.csdn.net/standing_on_giant/article/details/60333329
http://blog.csdn.net/myarrow/article/details/51878004#t19
这里解释下map这个评价指标哈,ap是:召回率和准确率 roc(recall
and precision)曲线下的面积,map是是mean ap,用在多类别情况,取一个mean。
还有一张我很喜欢的图:很精髓哈。
接下来说一下SSD:
论文链接:https://arxiv.org/pdf/1311.2524.pdf
参考的博客: http://blog.csdn.net/u010167269/article/details/52563573
http://blog.csdn.net/qq_14845119/article/details/53331581
论文的翻译链接:http://lib.csdn.net/article/deeplearning/53059
SSD产生:offests and scores... 产生类别的分数或相对于默认框的坐标偏移
一、default box就是下面的一个个小的虚线框,feature map cell是以下将会提到的 multiscale feature maps。
给出的参考博文关于feature map cell的有点不太清楚,feature map cell是指后面会用到的multiscale feature map,然后对这些maps进行prediction。
二、SSD的框架:
边界框偏移输出值是相对于默认框测量,默认框位置则相对于特征图。
这里解释下classifier:3x3x(4×(classes + 4))是什么意思,我的理解是:3×3是使用的卷积核的尺寸;(classes
+ 4)是因为,上面提到了SSD会产生框的坐标信息和各个类别score向量. classes就是score向量的长度(也就是总类别数),+4是坐标偏移信息(边界框的中心和其宽度和高度的偏移,后文会更详细的介绍);至于剩下的那个4×,我认为是feature
map cell里的different aspect ratios boxes个数,3x3x(6x(classes
+ 4))同理,即 feature map cell 里面有6个boxes。
你看这不是4个虚线框嘛(两黑两篮)
三、匹配策略matching strategy:(也就是ground truth 和 default box 间的关系)
参考链接:http://blog.csdn.net/u013989576/article/details/73439202
在训练时,我们需要建立真实标签和默认框之间的对应关系。请注意,对于每个真实标签框,我们从默认框中进行选择,这些默认框随位置、纵横比和比例而变化。起始时,我们匹配每个真实标签框与默认框最好的jaccard重叠(也即对应最大jaccord值的那个默认框)。这是原始MultiBox
[7]使用的匹配方法,它确保每个真实标签框有一个匹配的默认框。另一种是:匹配默认框与真实标签jaccard重叠高于阈值(0.5)的默认框。添加这些匹配简化了学习问题:它使得有多个重叠默认框时网络预测获得高置信度,而不是要求它选择具有最大重叠的那个。
四、Loss
训练过程提出了Smooth L1 loss + softmax loss,将位置定位的准确度值和得分置信度融合起来,从而使得对目标物的检测和识别都表现出state-of-the-art的效果。
要算的4个偏移量:
文中还提到了感受野,给一个感受野的计算链接: http://blog.csdn.net/kuaitoukid/article/details/46829355
五、为default选取尺寸和长宽比:
这一段比较“难”理解:不同scale的feature map,我们对应给出不同scale的default boxes。default boxes的scale计算公式是 上图中的(4)。令m=5,我算了一下,sk:0.2 0.375 0.55 0.725 0.9 (我的理解是:这5个计算出的小数,是要分别乘到他们对应的feature map尺寸值上的... 即对于第一张map,8x8大小,则它的default box的基础值就是8*0.2,然后结合ar可求出w h:w=8*0.2*sqart(ar), h=8*0.2/sqart(ar)
对于第二张map,尺寸是6x6的话,则6*0.375,然后类似第一张那样去操作......)。
然后是设定default box的长宽比:1,2,3,1/2,1/3。这就有5个了。对于rate=1的情况,再多给个sk':sk'=sqart(sk*sk+1),sk'*size(map), 这个值再去与ar计算,可得到w h 值,即又一个default box了.....
六、控制正负样本比例:
七、测试test推理部分
首先是把阈值设置为0.01,很大部分的proposal可以被去除,然后再使用nms...
表示这里没看懂...这个nms怎么操作? overlap=0.45 top200?
待续......
相关文章推荐
- 卷积神经网络—目标检测 学习笔记(下)
- 多视图3D目标检测学习笔记
- 卷积神经网络—目标检测 学习笔记(上)
- 吴恩达深度学习笔记之卷积神经网络(目标检测)
- 【深度学习:目标检测】RCNN学习笔记(7):Faster R-CNN 英文论文翻译笔记
- 目标检测RCNN系列算法学习笔记
- DeepLearning.ai学习笔记(四)卷积神经网络 -- week3 目标检测
- 卷积神经网络—目标检测 学习笔记(中)
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
- 吴恩达深度学习笔记四:卷积神经网络 基础和目标检测部分
- 深度学习笔记之目标检测算法系列(包括RCNN、Fast RCNN、Faster RCNN和SSD)
- 深度学习:目标检测-RCNN学习笔记:SSD:Single Shot MultiBox Detector
- 图像目标检测与跟踪学习笔记(四)
- 目标检测经典模型学习笔记(二)VGG
- 《OpenCV 3计算机视觉:Python语言实现》学习笔记——目标跟踪中基本运动检测的思考
- 吴恩达深度学习笔记 course4 week3 目标检测
- 目标检测系列学习笔记(RCNN系列+YOLO系列)
- 吴恩达深度学习笔记 course4 week3 目标检测
- 深度学习笔记之使用Faster-Rcnn进行目标检测 (实践篇)
- 我的OpenCV学习笔记(3):基于混合高斯模型GMM的运动目标检测