原文地址:https://zhuanlan.zhihu.com/p/...

YOLO V3网络架构

backbone:Darknet-53

网络结构解析:

  1. Yolov3中,只有卷积层,通过调节卷积步长管制输入特色图的尺寸。所以对于输出图片尺寸没有特地限度。流程图中,输出图片以256*256作为样例。
  2. Yolov3借鉴了金字塔特色图思维,小尺寸特色图用于检测大尺寸物体,而大尺寸特色图检测小尺寸物体。特色图的输入维度为 NxNx[3x(4+1+80)], NxN 为输入特色图格点数,一共3个Anchor框,每个框有4维预测框数值 tx,ty,tw,th ,1维预测框置信度,80维物体类别数。所以第一层特色图的输入维度为 8x8x255 。
  3. Yolov3总共输入3个特色图,第一个特色图下采样32倍,第二个特色图下采样16倍,第三个下采样8倍。输出图像通过Darknet-53(无全连贯层),再通过Yoloblock生成的特色图被当作两用,第一用为通过33卷积层、11卷积之后生成特色图一,第二用为通过1*1卷积层加上采样层,与Darnet-53网络的中间层输入后果进行拼接,产生特色图二。同样的循环之后产生特色图三。
  4. concat操作与加和操作的区别:加和操作来源于ResNet思维,将输出的特色图,与输入特色图对应维度进行相加,即 y=f(x)+x;而concat操作源于DenseNet网络的设计思路,将特色图依照通道维度间接进行拼接,例如8816的特色图与8816的特色图拼接后生成8832的特色图。
  5. 上采样层(upsample):作用是将小尺寸特色图通过插值等办法,生成大尺寸图像。例如应用最近邻插值算法,将88的图像变换为1616。上采样层不扭转特色图的通道数。
    Yolo的整个网络,汲取了Resnet、Densenet、FPN的精华,能够说是交融了指标检测以后业界最无效的全副技巧。

Loss函数

  1. \( \lambda \)为权重常数,管制检测框Loss、obj置信度Loss、noobj置信度Loss之间的比例,通常负例的个数是正例的几十倍以上,能够通过权重超参管制检测成果。
  2. \( 1^{obj}_{ij} \)若是正例则输入1,否则为0; \( 1^{obj}_{ij} \) 若是负例则输入1,否则为0;疏忽样例都输入0。
  3. x、y、w、h应用MSE作为损失函数,也能够应用smooth L1 loss(出自Faster R-CNN)作为损失函数。smooth L1能够使训练更加平滑。置信度、类别标签因为是0,1二分类,所以应用穿插熵作为损失函数。