前言
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:
GIOU:Generalized IOU。
上式的C是指能包含predict box和Ground Truth box的最小box。
不過IOU和GIOU loss不能對下面這三種情況能夠區分開來,只有DIOU 和CIOU loss才能區分開來。
DIOU loss:Distance IOU loss
這裏的 是指predict box和GT box中心點的距離的平方,而是指剛好能包含predict box和GT box的最小box的對角線長度平方。
CIOU Loss:Complete IOU loss:
實際上,CIOU只是在DIOU基礎上增加了一項:。而這兩項的計算表達式如下所示:
使用
該算法模型對應的代碼已經開源(https://github.com/Zzh-tju/DIoU-darknet)。它也是基於官方darknet框架代碼進行loss代碼修改。你可以像編譯darknet框架一樣來編譯該項目,也可以將該項目的代碼merge到darknet框架中去再編譯。 每一個yolo層都增加了一些配置選項,如下所示,關於iou_loss可以選擇diou也可以選擇ciou。此外,nms_kind也有兩個選項供選擇:greedynms和diounms。