在目标检测的落地项目中,实时性和精确性的trade-off至关重要,而YOLOv3是目前为止在这方面做得最好的算法。本文通过高斯分布的特性,改进YOLOv3使得网络能够输出每个检测框的不确定性,从而提升了网络的精度。
1.YOLOv3简介
如下图a所示,为YOLOv3的网络架构。
YOLOv3使用了skip shotcut的操作方式网络过深而引起的梯度消散。
YOLOv3使用了up-sample操作,并将大特征图和小特征图upsample后的特征图进行concat,使网络能够拥有既包含丰富的高层抽象特征和精确的位置信息特征的融合特征层。
YOLOv3使用了特征金字塔结构,使得网络能够在三个不同的尺度特征下做目标检测,能够适应与多种不同大小的目标检测任务。
如下图b所示,为利用YOLOv3进行目标检测时的网络输出。
RGB图像作为YOLOv3网络的输入,检测结果会在三个不同的尺度分别输出,包含了目标的坐标位置,目标是正样本还是负样本,目标属于那个类别的置信度,对于每个尺度的分支而言,会在每个grid中会预测出三个结果(因为每个尺度下会有三个anchor)。最终将三个尺度的结果合并,进行非极大值抑制(NMS)后,输出最终的检测结果。
正如YOLOv3的输出结果所述,目标类别是有概率值的,但目标框只有位置而没有概率值,也就是从结果中无法预知当前目标框的可靠性。基于此本文利用Guassian模型来对网络输出进行建模,在基本不改变YOLOv3结构和计