yolov3损失函数改进_yolov3 损失函数

YOLOv3 损失函数主要分为loss_xy,loss_wh,loss_confidence,loss_class

loss_xy:   darknet与kreas稍有不同。

darknet是sse,kreas是二值交叉熵。一种解释如下:bounding box回归是Square Error Loss,分类 and object confidence都是交叉熵 我的理解:作者使用(包括bounding box的位置回归和Logistic 二分类)delta的平方。注意的是,对于Logistic回归,正好方差损失和交叉熵损失的求导形式是一样的,都是output - label的形式。也就是说,本来我们这里应该用(二元分类的)交叉损失熵的,不过作者这里直接用方差损失代替了,因为数值趋势上是一样的。

loss_wh:基本一致,主要联合上面的对小物体回归损失乘了一个系数,scale=2-w*h,越小的物体,回归损失越大,有利于模型更好的检测小物体。

loss_confidence: 分为obj和no_obj两种情况计算。对于obj(该检测框有对应的真实框),二值交叉熵;对于no_obj(该检测框无对应的真实框),当检测框和真实框的iou低于0.5,需要计算no_obj_confidence_loss,也是二值交叉熵。

loss_class:二值交叉熵

主要参考以上两篇文章

你可能感兴趣的:(yolov3损失函数改进)