CVPR2019 | 目标检测新文:Generalized Intersection over Union
鏈接 | https://mp.weixin.qq.com/s/6QsyYtEVjavoLfU_lQF1pw
作者 | ywsun
原文| https://zhuanlan.zhihu.com/p/57863810
如有興趣可以**點(diǎn)擊加入極市CV專業(yè)微信群**,獲取更多高質(zhì)量干貨
論文鏈接
https://arxiv.org/abs/1902.09630
1.Motivation
包圍框回歸是2D/3D 視覺任務(wù)中一個最基礎(chǔ)的模塊,不管是目標(biāo)檢測,目標(biāo)跟蹤,還是實(shí)例分割,都依賴于對bounding box進(jìn)行回歸,以獲得準(zhǔn)確的定位效果。目前基于深度學(xué)習(xí)的方法想獲得更好的檢測性能,要么是用更好的backbone,要么是設(shè)計更好的策略提取更好的feature,然而卻忽視了bounding box regression中L1、L2 loss這個可以提升的點(diǎn)。
IoU是目標(biāo)檢測中一個重要的概念,在anchor-based的方法中,他的作用不僅用來確定正樣本和負(fù)樣本,還可以用來評價輸出框(predict box)和ground-truth的距離,或者說predict box的準(zhǔn)確性。IoU有一個好的特性就是對尺度不敏感(scale invariant)。
在regression任務(wù)中,判斷predict box和gt的距離最直接的指標(biāo)就是IoU,但所采用的loss卻不適合,如圖所示,在loss相同的情況下,regression的效果卻大不相同,也就是說loss沒有體現(xiàn)出regression的效果,而IoU卻可以根據(jù)不同的情況得到不同的數(shù)值,能最直接反應(yīng)回歸效果。
2.Method
因此本文提出用IoU這個直接的指標(biāo)來指導(dǎo)回歸任務(wù)的學(xué)習(xí)。與其用一個代理的損失函數(shù)來監(jiān)督學(xué)習(xí),不如直接用指標(biāo)本身來的好。此時損失函數(shù)為:
但直接用IoU作為損失函數(shù)會出現(xiàn)兩個問題:
如果兩個框沒有相交,根據(jù)定義,IoU=0,不能反映兩者的距離大小(重合度)。同時因?yàn)閘oss=0,沒有梯度回傳,無法進(jìn)行學(xué)習(xí)訓(xùn)練。
IoU無法精確的反映兩者的重合度大小。如下圖所示,三種情況IoU都相等,但看得出來他們的重合度是不一樣的,左邊的圖回歸的效果最好,右邊的最差。
針對IoU上述兩個缺點(diǎn),本文提出一個新的指標(biāo)generalized IoU(GIoU):
GIoU的定義很簡單,就是先計算兩個框的最小閉包區(qū)域面積,再計算IoU,再計算閉包區(qū)域中不屬于兩個框的區(qū)域占閉包區(qū)域的比重,最后用IoU減去這個比重得到GIoU。GIoU有如下4個特點(diǎn):
-
與IoU相似,GIoU也是一種距離度量,作為損失函數(shù)的話,
,滿足損失函數(shù)的基本要求 -
GIoU對scale不敏感
-
GIoU是IoU的下界,在兩個框無線重合的情況下,IoU=GIoU
-
IoU取值[0,1],但GIoU有對稱區(qū)間,取值范圍[-1,1]。在兩者重合的時候取最大值1,在兩者無交集且無限遠(yuǎn)的時候取最小值-1,因此GIoU是一個非常好的距離度量指標(biāo)。
-
與IoU只關(guān)注重疊區(qū)域不同,GIoU不僅關(guān)注重疊區(qū)域,還關(guān)注其他的非重合區(qū)域,能更好的反映兩者的重合度。
其實(shí)GIoU不僅定義簡單,在2D目標(biāo)檢測中計算方式也很簡單,計算重合區(qū)域和IoU一樣,計算最小閉包區(qū)域只需要得到兩者max和min坐標(biāo),坐標(biāo)圍城的矩形就是最小閉包區(qū)域。
GIoU和IoU作為loss的算法如下所示: 
步驟:
-
分別計算gt和predict box的面積
-
計算intersection的面積
-
計算最小閉包區(qū)域面積
-
計算IoU和GIoU
-
根據(jù)公式得到loss
3.Experiments
GIoU loss可以替換掉大多數(shù)目標(biāo)檢測算法中bounding box regression,本文選取了Faster R-CNN、Mask R-CNN和YOLO v3 三個方法驗(yàn)證GIoU loss的效果。實(shí)驗(yàn)在Pascal VOC和MS COCO數(shù)據(jù)集上進(jìn)行。
實(shí)驗(yàn)效果如下:
可以看出YOLOv3在COCO上有明顯漲點(diǎn),但在其他模型下漲點(diǎn)并不明顯,作者也指出了faster rcnn和mask rcnn效果不明顯的原因是anchor很密,GIoU發(fā)揮作用的情況并不多。
總體來說,文章的motivation比較好,指出用L1、L2作為regression損失函數(shù)的缺點(diǎn),以及用直接指標(biāo)IoU作為損失函數(shù)的缺陷性,提出新的metric來代替L1、L2損失函數(shù),從而提升regression效果,想法簡單粗暴,但work的場景有很大局限性。
**相關(guān)文章**
https://blog.csdn.net/Extremevision/article/details/86681531 https://blog.csdn.net/Extremevision/article/details/87937468 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的CVPR2019 | 目标检测新文:Generalized Intersection over Union的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CVPR2019 大会信息即时跟进(附C
- 下一篇: Google又发大招:高效实时实现视频目