天天看點

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介紹

繼續閱讀