【目标检测】各种方法中比较难理解的地方

1.评价指标mAP

全网最清楚的解释!!!,强推~!
原文链接:http://blog.sina.com.cn/s/blog_9db078090102whzw.html
理解的关键点在于每一次的precision和recall计算都是在top_X的基础上计算的!!一定要先搞清楚在目标识别中由于经常都是取top_N(N一般为5)进行输出的,所以precision和recall的定义与二分类时是不相同的!!!
这里写图片描述

2.YOLO中confidence的理解

参考博客:CNN目标检测与分割(二)YOLO: http://www.360doc.com/content/17/1013/16/42392246_694639199.shtml
这里写图片描述
理解的关键点在于
confidence的计算表达了这个框中存在object的置信度并且乘上IOU,表达了边界框(x,y,w,h)预测的准确度
后面针对于特定类的confidence(也就是每个框每个anchor最后输出的结果中代表类别的那C个位置上的值)的计算只需要用P(Classi|Object)*confidence
这是因为在训练时我们有Ground Truth,可以训练confidence,于是在测试时我们没有Ground Truth,但是我们有预测出来的confidence,于是还是可以预测针对于特定类的confidence,从而给出最终结果
所以confidence必须存在于标签中,而且confidence低的点也就相当于被分类了其他类/背景

另一个需要解释的地方是,YOLO在进行类比诶预测时十分简单粗暴,从每个网格的输出大小为(5×B+C)可以看出,对于每一个网格,YOLO忽略了5个bounding boxes每个网格只判断了一次类别,所以不是B×(5+C)
【为什么可以如此简单粗暴呢?因为对每一个类别分别进行了NMS,而相同类别的物体如果重合率很高也没必要非要区分出来是两个物体吧】

所以可以断定Pr(Class_i|Object)的为维度为C*B
confidence = Pr(object) · IOU 的维度为B*1
最后输出类别的维度为C×1,是B个bounding boxes综合后的结果

3.1*1卷积网络的妙用,为什么说用卷积可以减少滑动窗口的重复计算

图片来源于吴恩达deeplearning.ai
很神奇吧,卷积到最后剩下的n×n结果,就是n*n个滑动窗口的结果!!!!而不需要在一开始的时候分别将图片的每一个窗口滑动过的部分分别输入卷积网络,从而减少了大量的重复计算。

4.IOU && NMS

这里写图片描述
yolo中对于所有的s*s个各自产生的结果,先利用confidence(也就是预测出来的Pr(Object)*IOU<=0.6)抛弃一部分格子,再利用nms,将最终的C_confidence最大的格子与其他格子做IOU,并抛弃掉IOU>0.5的格子。
通过这两步,应该就可以得出最终的目标识别结果了

对于多分类问题,需要对于每一类单独进行NMS!!!!

猜你喜欢

转载自blog.csdn.net/qq_23269761/article/details/80707325
今日推荐