作者除去了YOLO中的FC layers,使用anchor boxes预测bounding box。首先除去了一个pooling layer从而使网络卷积层输出高分辨率。作者收缩网络使其在运行在416x416而不是448x448的输入图片上,因为检测的目标,尤其是一些大的目标多是占据在图片的中心位置,因此在feature map上有奇数个定位方便找到中心点。YOLO的卷积层采用32这个值进行下采样因而作者使用416x416的输入图片这样就能得到一个13x13的输出feature map。
在使用anchor boxes的同时作者去掉了空间坐标类别预测的机制而是对每个anchor box预测类别和物体。在YOLO的基础上,目标检测依然预测IOU、proposed box以及已知目标预测其类别的条件概率。
使用anchor boxes让准确率稍微下降了些。每个图片,YOLO只能预测98个box,而使用anchor box就能超过1000个。之前的模型效果是69.5Map,81%的recall,而改进的模型69.2mAP,88%的recall,说明模型还有提升的空间。
Dimension Clusters:在YOLO中采用anchor box的时候作者遇见了两个问题。第一个是box的维度值需要手动决定。网络可以自己学习调整box的值但是一个较好的先验值可以使得网络学习更简单,结果也更好。
作者没有手动选择box的先验值,而是在训练集上运行k均值聚类算法。如果使用标准的k均值算法的话采用的是欧几里得距离,但是较大的box比较小的box会有更多的错误。(大概是因为大的box各个点之间的欧几里得距离较大,采用开方运算容易有更多的误差吧)为了有更好的IOU得分的结果,作者采用如下公式计算距离:
作者做了很多实验画了一个平均IOU得分和k值之间关系的图。最终在模型复杂度和高recall之间权衡下令k=5。作者还比较了自己的聚类策略的最接近先验值的平均IOU和手选的anchor boxes(表1),说明效果还是可以的。
??
Direct location prediction:第二个问题就是模型的稳定性尤其是在迭代的过程中的稳定性。模型中的大多数不稳定性都来自给box预测(x,y)坐标值的时候。在RPN中网络是自己预测tx和ty的,然后用下述公式计算(x,y)的值。

这个公式是没有限制的,因此任何一个anchor box都可能在图片中的任何一个位置,而跟box的预测值没有关系。参数随机初始化就会导致模型花费很长一段时间稳定预测的偏置值。
作者没有让模型自己预测偏置值而是继续采用YOLO中的方法:预测单元格(cell)相关的位置的坐标。两个坐标中心点这就限制了ground truth的范围到0-1,并且使用一个logistic activation把网络的预测值限制到这个范围。
网络对每个cell在feature map中预测5个bounding boxes的值。每个bounding box给出5个坐标值tx,ty,tw,th,和to。如果cell相对于图片左上角的偏移量值cx和cy,bounding box先验值的宽和高分别是pw,ph,预测结果就是:
使用dimension clusters、directly predicting the bounding box center location提高了YOLO 5%的性能。
Fine-Grained Features:修改后的YOLO是在13x13的feature map上预测结果。尽管这对大目标来说已经够用了,但是模型还可以在更精细的粒度上进行优化,主要是为了定位一些更小的物体。Faster R-CNN和SSD都是在各样的feature map上运行他们的proposal networks以得到分辨率的一个范围。作者没有采取这种方式而是增加了一个passthrough layer。Passthrough layer的作用就是通过把相邻的特征叠加到不同的通道上而让高分辨率的特征和低分辨率的特征相关联,和Res Net中的identity mappings相似。这样,26x26x512的feature map就变成了13x13x2048。检测器在这个expanded feature map上运行,座椅可以得到细粒度的特征信息,这样性能提高了1%。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-70848-2.html
我们私了
台湾如果敢宣布独立