坑梓网站建设信息,用vuejs做的网站,网站风格的设计,wordpress进不去设置会乱码0. 写在前面 YOLO系列博客#xff0c;紧接上一篇Yolo系列算法-理论部分-YOLOv2-CSDN博客
1. YOLOv3-定型之作 2018年#xff0c;Redmon团队推出YOLOv3的网络模型#xff0c;将骨干网络#xff08;backbone#xff09;由darknet-19替换成darknet-53网络#xff0c;加入特…0. 写在前面 YOLO系列博客紧接上一篇Yolo系列算法-理论部分-YOLOv2-CSDN博客
1. YOLOv3-定型之作 2018年Redmon团队推出YOLOv3的网络模型将骨干网络backbone由darknet-19替换成darknet-53网络加入特征金字塔网络结构解决多尺度检测的问题在分类模块中使用逻辑回归代替了softmax在兼顾实时性的基础上还保证目标检测的准确性。 同时作者也提供了轻量级tiny-darknetYOLO系列开始走向工程化的路线轻量化的模型让目标检测算法在计算性能弱一些的芯片中运行成为了可能。
2. 网络结构 YOLOv3的骨干网络有了较大的升级将ResNet残差网络思想将darknet-19改进为darknet-53卷积层主要使用1×1和3×3的卷积核每个卷积层之后都会加上批量归一化和Leaky ReLU主要是为了防止过拟合。卷积层、批量归一化层以及Leaky ReLU共同组成darknet-53中的基本卷积单元DBL其中包含53个DBL网络结构细节如下图所示。 说明 DBL:Conv(卷积)BN(批量归一化)LeakyReLU组成基本卷积单元res unit:输入通过两个DBL后再与原输入进行add常规的残差单元目的是为了让网络可以提取更深层的特征同时避免出现梯度消失或爆炸resnn表示n个res unit所以resn Zero Padding DBL n × res unitconcat将darknet-53的中间层和后面的某一层的上采样进行张量拼接达到多尺度特征融合的目的。这与残差层的add操作不一样拼接会扩充张量的维度而add直接相加不改变张量维度Y1、Y2、Y3分别表示YOLOv3三种尺度的输出。 改进
没有采用最大池化层转而采用步长为2的卷积层进行下采样为了防止过拟合在每个卷积层之后加入BNLeaky ReLU引入残差网络的思想让网络可以提取深层的特征同时避免出现梯度消失或爆炸网络的中间层和后面某一层的上采样进行张量拼接实现多尺度特征融合的功能。
3. 核心提升详解 1. 多尺度Anchors YOLOv3选择三种不同shape的Anchors同时每种Anchors具有三种不同的尺度一共9种不同大小的Anchors10×13、16×30、33×23、30×61、62×45、59×119、116×90、156×198、373×326。 借助特征金字塔的思想三种不同尺度的网络输出Y1、Y2和Y3目的是预测不同尺度的目标由于在每一个尺度网格都负责预测3个边界框且COCO数据集有80个类所以网络输出的张量应该是N×N×[3 × (4 1 80)]。由下采样次数不同得到的N不同最终Y1、Y2和Y3的shape分别为[13,13,255]、[26,26,255]和[52,52,255]。 2.损失函数 损失函数中位置损失部分并没有改变置信度损失和类别预测损失改为了交叉熵的损失计算方法。 3. 多标签分类 将YOLOv2网络结构中用于分类的softmax层修改为逻辑分类器v2中算法认定一个目标只会从属于一个类别根据网络输出类别得分最大值将其归为某一类。然而在一些复杂场景中单一目标可能从属于多个类别。 例如在交通场景中目标既是汽车又是卡车单标签分类的方法就满足不了要求。 逻辑分类器是对每一个类别都进行二分类使用sigmoid函数将其约束到0-1如果某一个特征图输出经过该函数处理后的值大于设定的阈值那么就认定目标框所对应的目标属于该类。
4. 性能表现 YOLOv3在COCO数据集上测试结果在满足检测精度差不多的情况下有着更快的推理速度。