YOLO_v3详解

文章目录

  • 一:YOLO_v3改进
  • 二:网络模型
  • 三:细节描述
        • 【Darknet-53】
        • 【多尺度预测】
        • 【softmax改进】
  • 三:总结

一:YOLO_v3改进

相对于YOLO_v2的缺陷,v3版本又进一步升级,更适合小目标检测了,同时还有其他的改进,想了解v2版本的话可以看看本人写的另一篇YOLO_v2详解,下面列出v3中几处改进:

  • Darknet-53的提出
  • 多尺度预测
  • softmax改进,适合多标签任务

二:网络模型

YOLO_v3详解_第1张图片
YOLO v3的模型比之前的模型复杂了不少,仅使用卷积层,使其成为一个全卷积网络(FCN),可以通过改变模型结构的大小来权衡速度与精度。下面我对网络细节进行讲解。

三:细节描述

【Darknet-53】

作者提出一个新的特征提取网络,Darknet-53(类ResNet)。正如其名,它包含53个卷积层,每个后面跟随着batch normalization层和leaky ReLU层。没有池化层,使用步幅为2的卷积层替代池化层进行特征图的降采样过程,这样可以有效阻止由于池化层导致的低层级特征的损失。

【多尺度预测】

其实就是把三种尺寸大小的anchor分配给三种大小的特征图,这样可以很好的针对性检测出不同尺寸大小的物体,其实就是上图中的右侧部分,具体方法如下:
YOLO_v3详解_第2张图片

YOLO_v3详解_第3张图片
YOLO v3的Bounding Box由YOLOV2又做出了更好的改进。在yolo_v2和yolo_v3中,都采用了对图像中的object采用k-means聚类。feature map中的每一个cell都会预测3个边界框(bounding box)。

三次检测,每次对应的感受野不同,32倍降采样的感受野最大,适合检测大的目标,所以在输入为416×416时,每个cell的三个anchor box为(116 ,90); (156 ,198); (373 ,326)。16倍适合一般大小的物体,anchor box为(30,61); (62,45); (59,119)。8倍的感受野最小,适合检测小目标,因此anchor box为(10,13); (16,30); (33,23)。所以当输入为416×416时,实际总共有(52×52+26×26+13×13)×3=10647个proposal box。
在这里插入图片描述

【softmax改进】

物体分数表示一个边界框包含一个物体的概率,对于红色框和其周围的框几乎都为1,但边角的框可能几乎都为0。物体分数也通过一个sigmoid函数,表示概率值。

类置信度表示检测到的物体属于一个具体类的概率值,以前的YOLO版本使用softmax将类分数转化为类概率(训练时是MSE,这里说的是实际测试时)。在YOLOv3中作者决定使用sigmoid函数取代,原因是softmax假设类之间都是互斥的,例如属于“Person”就不能表示属于“Woman”,然而很多情况是这个物体既是“Person”也是“Woman”。

三:总结

YOLO系列到V3版本,其实已经很完善了,对于后面的v4和v5版本,其实都是缝合怪,后面还会持续更新YOLO系列,谢谢。


  至此我对YOLO_v3的原理,进行了简单讲解,希望对大家有所帮助,有不懂的地方或者建议,欢迎大家在下方留言评论。

我是努力在CV泥潭中摸爬滚打的江南咸鱼,我们一起努力,不留遗憾!

你可能感兴趣的:(CNN检测系列,#,yolo系列,深度学习,人工智能,图像处理)