YOLOV3论文阅读(学习笔记三)

cv小白的yolov3学习笔记总结

3.How We Do

部分原文:
yolov3在COCO奇怪的[email protected]:0.95上和ssd效果是差不多的,在另一个指标上比ssd快三倍。不过yolov3仍然落后于在这个指标上像RetinaNet的其他网络。
然而在IOU=0.5(或图表中的AP50)时,yolov3的效果是非常好的,几乎可以和RetinaNet相媲美,,并且显著超过了SSD变种。这表明YOLOv3在低IOU阈值下的性能是非常好的。然而随着IOU阈值的增加,性能显著下降,这表明YOLOv3在高IOU阈值条件下的表现是不尽人意的。
在过去yolov在小物体检测上效果并不是很好,然而现在情况已经反转。随着新的多尺度预测,我们看到yolov3有更好的APs性能
YOLOV3论文阅读(学习笔记三)_第1张图片
笔记:
由图表可知,yolov3在AP50时效果是比较好的(红色框),在AP和AP75条件下效果并不好(绿色框)

S:小物体,area(框大小)<32×32
M:中物体,32×32 L:大物体,96×96 APs:小目标的AP(剩下两个同理)
我们可以从表右下角得知,在小目标上的性能(18.3)是很好的,在中物体和大物体上的性能并不好(分别为35.4和41.9)
yolov3之前版本在小目标和密集目标检测上效果较差,以yolov1为例,yolov1将每张图像划分为7×7个grid cell,每一个grid cell只能预测出一个物体,即整张图最多只能预测出49个物体,一旦物体个数超过49个,yolov1就难以预测;并且如果两个物离得很近,密集目标也无法预测。

yolov3在小目标\密集目标的改进:
1.grid cell个数增加,yolov1(7×7),yolov2(13×13),yolov3(13×13+26×26+52×52)
2.yolov2和yolov3可以输入任意大小的图片,输入图片越大,产生的grid cell越多,产生的预测框也就越多
3.专门小目标预先设置了一些固定长宽比的anchor,直接生成小目标的预测框是比较难的,但是在小预测框基础上再生成小目标的预测框是比较容易的
4.多尺度预测(借鉴了FPN),既发挥了深层网络的特化语义特征,又整合了浅层网络的细腻度的像素结构信息
5.对于小目标而言,边缘轮廓是非常重要的,即浅层网络的边缘信息。在损失函数中有着惩罚小框项
6.网络结构:骨干网络加了跨层连接和残差连接(shortcut connection),这样可以整合各个层的特征,这样使得骨干网络本身的特征提取能力变好了

4.Things We Tried That Didn’t Work

部分原文:
在开发 YOLOv3 时,我们尝试了很多东西。很多都没有奏效。以下这些是我们记下来的一些东西。
锚框 x, y 偏移预测。我们尝试使用正常的锚框预测机制,使用x、y 线性偏移量预测为框宽度或高度的倍数。我们发现这种方式降低了模型的稳定性并且效果不佳。(预测相对于初始Anchor宽高倍数作为偏移量,预测框不受约束)
直接使用 x, y线性回归偏移量预测而不用sigmoid函数。我们尝试使用线性激活来直接预测 x,y 偏移而不是逻辑激活。这导致mAP下降了几个点。
Focal loss。我们尝试使用Focal loss。它使我们的mAP下降了大约 2 个点。 YOLOv3 可能已经对焦点损失试图解决的问题具有鲁棒性,因为yolov3采用了分离的置信度和条件类别概率。对于大多数例子来说,具体是什么原因,我们并不完全确定。
双IOU阈值和真值分配。 Faster RCNN在训练期间采用了两个IOU阈值。对于所有地面实况对象而言,如果IOU阈值大于0.7判定为正样本,小于0.3则为负样本,在0.7和0.3之间的被忽略。在yolov3中我们尝试了类似的方法,但没有得到好的结果。
我们非常喜欢我们目前的表述,它似乎至少处于局部最优状态。其中一些技术可能最终会产生良好的结果,也许它们只需要一些调整来稳定训练。

笔记:
Focal loss解决的是单阶段目标检测(ssd,yolov,RetinaNet等)正负样本不均衡,真正有用的负样本少的问题。相当于是某种程度的难例挖掘
yolov3中负样本的IOU阈值设置的过高(0.5),导致负样本中混入了正样本。正样本就会被赋予label noise,而Focal loss又会给label noise赋予更大的权重值,因此效果不好

RetinaNet的论文指出:单阶段目标检测不缺正样本,缺的是高质量的负样本。使用双IOU阈值只能增加正样本的个数,而负样本还是按照小于某个IOU阈值的方法去筛选。

5.What This All Means

第五部分是作者对未来的展望

以上笔记结束

你可能感兴趣的:(YOLO学习,tensorflow,github,python)