Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression
一、動機:
在目標檢測任務中,迴歸loss相同的情況下,IoU卻可能大不相同。
如下圖(a)所示:三張圖有一樣的L2距離,但是IoU值卻完全不同。座標表示方法爲(x1,y1,x2,y2)。
圖(b)爲L1距離。座標表示方法爲(x,y,w,h),x,y爲中心點座標。
IoU有尺度不變性的優點,但是將其作爲損失函數,由於某些方面的問題,無法直接使用。
二、IoU的優點:
- IoU作爲距離時(比如:),是一個度量。因爲它包含了作爲度量的所有屬性,比如:非負性,不確定性對稱性和三角不等性。
- IoU有尺度不變性,這意味着任意兩個方框A和B的相似性與他們的空間尺度的無關。
三、IoU同時作爲度量和損失函數時,存在兩個問題:
- 如果兩個目標沒有重疊,IoU將會爲0,並且不會反應兩個目標之間的距離,在這種無重疊目標的情況下,如果IoU用作於損失函數,梯度爲0,無法優化。
- IoU無法區分兩個對象之間不同的對齊方式。更確切地講,不同方向上有相同交叉級別的兩個重疊對象的IoU會完全相等。
四、本文的主要貢獻:
- 將GIoU作爲比較任意兩個邊框的度量。
- 使用GIoU作爲兩個軸對齊矩形的的損失,並提供瞭解析解。
- 把GIoU損失加入到最流行的目標檢測算法中(例如:Faster R-CNN,Mask R-CNN和YOLO v3),並且展示了他們在標準目標檢測基準中提高的性能。
五、GIoU:
對於任意的兩個A、B框,首先找到一個能夠包住它們的最小方框C。然後計算C \ (A ∪ B) 的面積與C的面積的比值,注:C \ (A ∪ B) 的面積爲C的面積減去A∪B的面積。再用A、B的IoU值減去這個比值得到GIoU。
GIoU作爲度量時的性能:
- GIoU作爲距離時,,非負性,不確定性,對稱性以及三角不等性。
- 尺度不變性。
- GIoU始終是IoU的下限,即GIoU(A,B) <= IoU(A,B)。當A,B形狀相似,並且接近時,.
- -1 ≤ GIoU(A,B) ≤ 1。A,B完全重合時,GIoU(A,B) = IoU(A,B) = 1. (A∪B)/C→0 時,也就是A∪B的面積相對於C可很小很小時,GIoU收斂於-1.
- GIoU考慮到了 IoU 沒有考慮到的非重疊區域,能夠反應出 A,B 重疊的方式。
GIoU:
IoU和GIoU做爲邊框損失函數時的算法流程:
:預測框 :ground truth :最小包圍框
:預測框面積 :ground truth面積
- 輸入預測框的和 ground truth 的值。
- 將預測值排序:使得 。
- 分別計算預測框的面積和 ground truth 的面積。
- 計算兩者交集的面積 I .
- 找出最小包圍框.
- 計算IoU,GIoU
- 計算,
六、實驗結果
所有對比實驗中(網絡:Faster R-CNN,Mask R-CNN and YOLOv3 / 數據集:PASCAL VOC, MS COCO),加過IoU損失和GIoU損失的mAP都在原來的基礎得到了提升,在此不一一分析。下圖爲檢測效果圖,從左往右分別爲, ,網絡原來的損失函數。實線爲ground truth,虛線爲預測框。