本文转载自AI深度视线。
精彩内容
YOLOv3改进版来了!与YOLOv3相比,Poly-YOLO的训练参数只有其60%,但mAP却提高了40%!并提出更轻量的Poly-YOLO Lite,还扩展到了实例分割上!通读完这篇文章,结合自己使用YOLOV3的经验,觉得这篇改进确实良心之作,改在点上,多边形实例分割也极具创新。
代码刚刚开源:
https://gitlab.com/irafm-ai/poly-yolo
作者团队:奥斯特拉发大学
1
Introduction 摘要
本文提出了性能更好的YOLOv3新版本,并扩展了名为Poly-YOLO的实例分割。Poly-YOLO建立在YOLOv3的原始思想的基础上,并消除了它的两个弱点:
大量重写的标签 && 无效的anchor分配
Poly-YOLO通过使用stairstep上采样通过hypercolumn技术聚合轻型SE-Darknet-53骨干网中的特征来减少问题,并产生高分辨率的单尺度输出。与YOLOv3相比:
Poly-YOLO的可训练参数只有60%,但mAP却提高了40%。
更少参数和更低输出分辨率的Poly-YOLO Lite,具有与YOLOv3相同的精度,但体积小三倍,速度快两倍,更适用于嵌入式设备
最后,Poly-YOLO使用边界多边形执行实例分割。训练网络以检测在极坐标网格上定义的尺寸无关的多边形。预测每个多边形的顶点具有可信度,因此Poly-YOLO生成具有不同数量顶点的多边形。
2
YOLOv3 problem
YOLOv3在设计时,遇到了两个我们发现的问题,而这两个问题在原始论文中没有描述:重写标签和在输出尺度上不平衡的锚点分布。解决这些问题对于提高YOLO的性能至关重要。
2.1 Label rewriting
由于YOLO系列都是基于图像cell栅格作为单元进行检测,以416*416大小的图像为例,在图像分辨率随着卷积下降到13*13的特征图大小时,这时候特征图一个像素点的感受野是32*32大小的图像patch。而YOLOV3在训练时候,如果出现相同两个目标的中心位于同一个cell,那么前面一个目标就会被后面目标重写,也就是说两个目标由于中心距离太近以至于在特征图上将采样成为同一个像素点的时候,这时候其中有个目标会被重写而无法进行到训练当中。如下图所示,红色目标为因为重写而没有加入到训练中的目标,可以看到,在这样一个特征图上,重写的目标数量还不少,27个目标里有10个都被重写,特别是比较稠密的地方。
作者在不同数据集上对重写的标签率进行了统计和比较