目標檢測主要完成“what”和“where”任務,即識別一張圖像的哪些位置有哪些目標,通常的模型損失包含兩部分:分類損失(classification loss)和迴歸損失(bounding box regression loss)。其中分類損失函數完成分類任務,常用交叉熵作爲loss,在圖像分類任務中已經達到了較好的效果,目標檢測領域在構建損失模型時更多的關注於迴歸損失,即解決“where”的問題。
迴歸損失之一:smooth L1 loss
論文地址:Fast R-CNN
設爲GT的座標位置, 爲預測座標,定義bounding box loss:
smooth L1 loss的優點:
- 由於L1loss的導數等於±1,訓練後期學習率較小,損失函數更新遲緩,容易在局部波動,難以收斂到更高精度。L2損失訓練初期的導數較大,可能會出現梯度爆炸,訓練不穩定,smoothL1避免了L2損失的不穩定性,一定程度上緩解了L1損失後期梯度不變的問題;
smooth L1 loss的不足:
- 對bounding box的評價指標爲IoU,二者並不等價,優化IoU更直接有效。
迴歸損失之二:IoU loss
論文地址:UnitBox: An Advanced Object Detection Network
IoU loss的優點:
- 三組框具有相同的L1/L2 Loss,但IoU 同樣差異很大說明L1,L2這些Loss用於迴歸任務時,不能等價於最後用於評測檢測的IoU,直接計算IoU loss更加有效
IoU loss的不足:
- 當預測框和目標框不相交時,IoU(A,B)=0時,不能反映A,B距離的遠近,此時損失函數不可導,IoU Loss 無法優化兩個框不相交的情況
- 假設預測框和目標框的大小都確定,只要兩個框的相交值是確定的,其IoU值是相同時,IoU值不能反映兩個框是如何相交的
迴歸損失之三:GIoU loss
論文地址:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression
GIoU loss的優點:
- 具有尺度不變性
GIoU loss的不足:
- 當目標框完全包裹預測框的時候,IoU和GIoU的值都一樣,此時GIoU退化爲IoU, 無法區分其相對位置關係
迴歸損失之四:DIoU loss / CIoU loss
論文地址:Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression
DIoU/CIoU loss的優點:
- 具有尺度不變性
- DIoU Loss可以直接優化2個框直接的距離,比GIoU Loss收斂速度更快
- CIoU的懲罰項是在DIoU的懲罰項基礎上加了一個影響因子,這個因子把預測框長寬比擬合目標框的長寬比考慮進去
總結:IoU loss對比: