天天看点

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

前言

CIOU-loss yolo3是该论文《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》提出来的。该文章于2019年11月正式发表出来,文章题目是DIOU Loss,其实它提出了两个IOU Loss:DIOU和CIOU。下面就对该论文进行解读。

四个IOU loss概念

经典IOU loss:

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

GIOU:Generalized IOU。

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

上式的C是指能包含predict box和Ground Truth box的最小box。

不过IOU和GIOU loss不能对下面这三种情况能够区分开来,只有DIOU 和CIOU loss才能区分开来。

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

DIOU loss:Distance IOU loss

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

这里的

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

是指predict box和GT box中心点的距离的平方,而

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

是指刚好能包含predict box和GT box的最小box的对角线长度平方。

CIOU Loss:Complete IOU loss:

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

实际上,CIOU只是在DIOU基础上增加了一项:

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

。而这两项的计算表达式如下所示:

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍
YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

使用 

该算法模型对应的代码已经开源(https://github.com/Zzh-tju/DIoU-darknet)。它也是基于官方darknet框架代码进行loss代码修改。你可以像编译darknet框架一样来编译该项目,也可以将该项目的代码merge到darknet框架中去再编译。 每一个yolo层都增加了一些配置选项,如下所示,关于iou_loss可以选择diou也可以选择ciou。此外,nms_kind也有两个选项供选择:greedynms和diounms。 

YOLOV3模型优化系列(二)CIOU-Loss YOLOV3介绍

继续阅读