最近在搞深度学习,总结归纳一下看过的论文,也希望有不对的地方请大佬指正!!!!
★★★由于YOLOv3是一篇技术报告,内容相对较少,因此本文直接总结YOLOv3较前两个版本的创新点
一、backbone
- YOLOv1:作者自己设计的,未命名
448 * 448的图像输入,7 * 7 * 30张量(7 * 7对应为grid cell,30为两个bounding box的2 * 5个参数与20个标签类别)输出,通过卷积池化操作最终再通过两个全连接层输出,实现较为基础的特征提取网络。
- YOLOv2:Darknet-19
左图为分类网络,右图为完整的特征提取网络,Darknet-19在大小为26 * 26 * 512处增加一个直通层,并通过1 * 1卷积将其变为4个13 * 13,拼接在深层特征之后。该方法将深层与浅层特征融合,提取到更细粒的特征信息,有利于小目标的识别定位。同时,Darknet-19首次加入了BN层,BN层有利于加速收敛,正则模型防止过拟合。
- YOLOv3:Darknet-53
Darknet-53同样采取深层语义信息与浅层特征融合的方法,其将深层特征上采样后与上一层特征进行拼接操作(沿通道方向相加)。Darknet-53最终输出有三个尺度,在预测时计算ground truth与所有尺度中所有anchor的IOU,选择最大IOU的anchor所在尺度进行预测。
二、loss(参考B站同济自豪兄)
- YOLOv1:
YOLOv1将损失函数分为5个部分,详细看图中介绍
- YOLOv2:
YOLOv2将损失计算分为3个部分,详细看图中介绍
- YOLOv3:
YOLOv3将损失分为3个部分,详细看图中介绍