yolov3的anchor机制与损失函数详解
一、yolov3的anchor机制
网络实际的预测值为tx、ty、tw、th,根据上图中的四个公式计算得到预测框的中心点坐标和宽高bx、 by、 bw、 bh。其中,cx、 cy为当前grid相对于左上角grid偏移的grid数量。 σ()函数为logistic函数,将坐标归一化到0-1之间。最终得到的bx,by为归一化后的相对于grid cell的值。pw、 ph为与groundtruth重合度最大的anchor框的宽和高。实际在使用中,作者为了将bw,bh也归一化到0-1,实际程序中的 pw,ph为anchor的宽,高和featuremap的宽,高的比值。最终得到的bw,bh为归一化后相对于anchor的值。
二、yolov3的损失函数
yolov3的损失函数采用误差的平方和整合了预测框定位误差与有无目标的IOU误差以及分类误差,如下图所示:
值得注意的是,上述图片中,定位误差项的权重一般较大,设为5.为了体现有没有目标的区别,在IOU误差项中,有目标box的权重为1,而没有目标的box的权重为0.5.最后的分类误差项的系数固定为1,若不含有目标,则为0,相当于不参与计算分类损失值。