前两篇博文介绍了两阶段检测网络中的经典算法RCNN系列综述和RCNN优化策略,这篇博文介绍单阶段检测网络中的经典算法yolov3。
说明
这篇博文是学习了百度飞桨目标检测7日打卡训练营后写的笔记,百度飞桨学习链接:https://aistudio.baidu.com/aistudio/education/group/info/1617
yolo发展历程
You Only Look Once
问题
1.为什么只用看一次就能解决目标检测问题?
2.什么是anchor,为什么要使用anchor?
3.如何从anchor到预测框?
4.从anchor到预测框的坐标变换,中心点坐标与宽度和高度的变换方式为何不同?
yolov1&yolov2
为了说明只用看一次就可以解决目标检测问题,得从yolov1和yolov2说起
yolov1详细介绍
https://blog.csdn.net/u014380165/article/details/72616238
yolov2详细介绍
https://blog.csdn.net/u014380165/article/details/77961414
anchor
anchor(锚框)是预测框的初始值,通过网络训练,对其进行微调,得到最终的预测框。
yolov3
yolov3网络结构
yolov3输入输出
从anchor到预测框
坐标变换
anchor的初始中心点坐标为网格的左上角坐标,通过对回归坐标中心点进行偏移,宽高进行缩放,得到最终的预测框。
因为每个anchor的中心点偏移范围是一个网格,古中心点偏移范围为(0,1),sigmoid正好具备这个特性;anchor的缩放倍数应该是正值,故选择exp函数对其进行变换。
yolov3优缺点