重新思考單階段3D目標(biāo)檢測(cè)中的IoU優(yōu)化
論文題目
論文題目: Rethinking IoU-based Optimization for Single-stage 3D Object Detection
發(fā)表:ECCV 2022
論文地址:https://arxiv.org/abs/2207.09332
代碼地址:https://github.com/hlsheng1/RDIoU
提出問題
3D目標(biāo)檢測(cè)中,IoU依然是重要的性能評(píng)價(jià)標(biāo)準(zhǔn)。那么類似2D目標(biāo)檢測(cè),3D IoU也能作為損失函數(shù)一致的訓(xùn)練和評(píng)估過程。作者認(rèn)為3D IoU存在兩個(gè)重要的問題:
計(jì)算比較復(fù)雜,開銷大 旋轉(zhuǎn)角度的引入會(huì)導(dǎo)致3D IoU優(yōu)化的不穩(wěn)定性和次優(yōu)問題
問題分析
本文主要關(guān)注的是第二個(gè)問題,并做了細(xì)致討論,作者認(rèn)為:將旋轉(zhuǎn)角與3D物體的中心點(diǎn)和形狀進(jìn)行耦合不利于3D IoU的優(yōu)化。如下圖所示:
?
最左邊的圖中,3D IoU loss會(huì)傾向于先旋轉(zhuǎn)pbox來獲得更大的IoU,但是這會(huì)導(dǎo)致角度預(yù)測(cè)偏移更大。中間和右邊的圖例分別展示了中心點(diǎn)的x和y預(yù)測(cè)過程中類似的情況。
此外,3D IoU和2D的旋轉(zhuǎn)IoU一樣,都是不可微的。3D IoU的overlap也是采用三角分割的方法計(jì)算的,因而結(jié)果和兩個(gè)bbox的相交點(diǎn)個(gè)數(shù)有關(guān),在交點(diǎn)個(gè)數(shù)的變化邊緣附近會(huì)出現(xiàn)梯度跳變。
提出方法
作者提出了一種旋轉(zhuǎn)解碼的Rotation-Decoupled IoU (RDIoU)來實(shí)現(xiàn)可微且訓(xùn)練與預(yù)測(cè)一致的結(jié)果。接著,將提出的RDIoU結(jié)合2D目標(biāo)檢測(cè)中的DIoU,GFIoU構(gòu)造新的損失函數(shù);最后,將提出的基于IoU的損失應(yīng)用到不同的模型上取得性能提升,印證方法的有效性。本文重點(diǎn)在于DRIoU的構(gòu)建方法,下面進(jìn)行詳細(xì)介紹。
相關(guān)定義
首先給定物體的GT標(biāo)注,及其預(yù)測(cè)結(jié)果?;貧w的target根據(jù)輸入anchor信息進(jìn)行編碼如下:
?
其中d是anchor在2D平面上的對(duì)角線長(zhǎng)。ps: 實(shí)際上很多方法,包括作者的實(shí)現(xiàn)代碼使用的并不是這種做法,而是類似2D通用檢測(cè)的anchor offset encoding(參考Faster RCNN)。
RDIoU構(gòu)建
作者為了解耦角度對(duì)IoU的影響,比較有趣地引入了第四維度地概念,將角度視作類似于3維bbox中長(zhǎng)寬高之外的第四維度,然后重新計(jì)算四維空間的“IoU”。3D box表征由中心和形狀組成,變成四維就是中心和形狀。
對(duì)于這個(gè)4D的表征,個(gè)人感覺可以理解成四維空間的的“水平包圍框”,從而不難理解作者的IoU計(jì)算方式了。IoU表達(dá)式很簡(jiǎn)單:

其中,和分別為預(yù)測(cè)結(jié)果和GT的體積,從2D和3D的cases中不難歸納演繹出4D中的水平bbox的提及計(jì)算方法:

類似地,我們可以推導(dǎo)出兩個(gè)4D box的交集公式:

其中:

這個(gè)也很好理解,類比2D HBBs之間的overlap計(jì)算方法就能得到。
那么問題就落在怎么確定第四維度的和上。作者的做法是,直接取,而令??梢钥吹剑霭l(fā)點(diǎn)很有趣,落腳點(diǎn)其實(shí)相對(duì)簡(jiǎn)單的。但是這會(huì)帶來一個(gè)直觀問題:這個(gè)所謂的4D IoU不再能表征3D IoU,有可能導(dǎo)致?lián)p失和評(píng)估的不一致。
作者通過下面的實(shí)驗(yàn)證明了提出的RDIoU的有效性:

圖a展示了中心重合的情況下,不同值對(duì)RDIoU曲線的影響,通過調(diào)試能獲得和3D IoU較為一致的性能評(píng)估結(jié)果。同時(shí),時(shí),RDIoU對(duì)旋轉(zhuǎn)角度更加敏感,能獲得更好的性能;圖b可見此時(shí)的梯度變化較為一致,而且更加平滑可微。
圖c顯示中心存在一定偏移的case,此時(shí)3D IoU并不能很好地敏感角度變化,而RDIoU反而有更好的效果;圖d中顯示,此時(shí)3D IoU甚至出現(xiàn)正梯度,導(dǎo)致角度優(yōu)化更差,而RDIoU則能保持較好的優(yōu)化性能。
后面利用構(gòu)造好的RDIoU,引進(jìn)了DIoU,和GFIoU就沒什么好說的,直接代換就行。
實(shí)驗(yàn)結(jié)果
下面是一些直觀的性能比較,可見RDIoU能實(shí)現(xiàn)更加快速收斂和高性能的檢測(cè)精度。

最后是在KITTI數(shù)據(jù)集上的性能:


以及在Waymo上的結(jié)果:

還有一些ablations就不多說了,結(jié)果而言都是高于現(xiàn)有的IoU-based方法,例如DIoU,CIoU等。
最后這里有幾個(gè)問題還值得討論:
公式來看,對(duì)RDIoU曲線的調(diào)節(jié)是非線性的,這個(gè)參數(shù)的優(yōu)化值得進(jìn)一步討論 IoU損失的尺度不變性在RDIoU中能否得到體現(xiàn)? 定性實(shí)驗(yàn)只有兩個(gè)特殊case,實(shí)際上對(duì)于旋轉(zhuǎn)目標(biāo)而言IoU敏感很多其他因素,考慮不夠全面 3D IoU本身就是target,部分param暫時(shí)的偏移不當(dāng)一定程度上是能夠容忍的,RDIoU起作用的原因可能還有其他。

