YOLOv3
关键词
1、Residual Block
2、FPN思想
3、anchors按需分配。
4、激活函数最后一层:logistics换softmax
5、边框回归
前言
参考文章
目前最新的YOLO V3版本不论速度和精度上都有了很大进步,yolo算法在实际应用中能很好平衡精度和速度,所以我们在实际应用中使用的还是比较多的.
一、YOLO的原理
YOLO的思路:
Yolo算法很好的解决了这个问题,它不再是窗口滑动了,而是直接将原始图片分割成互不重合的小方块,然后通过卷积最后生产这样大小的特征图,基于上面的分析,可以认为特征图的每个元素也是对应原始图片的一个小方块,然后用每个元素来可以预测那些中心点在该小方格内的目标,这就是Yolo算法的朴素思想。
Yolo将输入的图片分割成 m*m 网格,然后每个单元格负责去检测那些中心点落在该格子内的目标.
可视化理解:
找到锚点:
非极大值抑制算法(non maximum suppression, NMS),去掉重复的box.
二、YOLOv3的结构
YOLOv3的paper中描述的是基于backbone:Darknet-53的网络。
网络模型的输入为:( 416, 416, 3)就是一个416*416的彩色图片.
输出为:包含box和类型的列表,表示图片中识别到的目标. (𝑝𝑐,𝑏𝑥,𝑏𝑦,𝑏ℎ,𝑏𝑤,𝑐).
backbone部分由Yolov2时期的Darknet-19进化至Darknet-53,加深了网络层数,引入了Resnet中的跨层加和操作。原文列举了Darknet-53与其他网络的对比:
Darknet-53处理速度每秒78张图,比Darknet-19慢不少,但是比同精度的ResNet快很多。Yolov3依然保持了高性能。
(这里解释一下Top1和Top5:模型在ImageNet数据集上进行推理,按照置信度排序总共生成5个标签。按照第一个标签预测计算正确率,即为Top1正确率;前五个标签中只要有一个是正确的标签,则视为正确预测,称为Top5正确率)