天天看點

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

作者:小小cv筆記
ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

論文題目:

H2RBOX: HORIZONTAL BOX ANNOTATION IS ALL YOU NEED FOR ORIENTED OBJECT DETECTION

摘要

從航空圖像到自動駕駛,定向目标檢測出現在許多應用中,而許多現有的檢測基準僅使用水準邊界框進行标注,這也比細粒度旋轉框的成本低,導緻現成的訓練語料庫與不斷增長的定向目标檢測需求之間存在差距。本文提出了一種簡單而有效的定向對象檢測方法H2RBox,該方法僅使用水準框注釋進行弱監督訓練,它縮小了上述差距,并且即使與使用旋轉框訓練的對象相比,也顯示出具有競争力的性能。該方法的核心是弱監督和自監督學習,它通過學習兩個不同視圖的一緻性來預測物體的角度。據我們所知,H2RBox是第一個基于水準框注釋的定向對象檢測器。與另一種方法相比,即水準盒監督執行個體分割與我們的定向對象檢測後适應,我們的方法不受掩碼預測品質的影響,并且在包含大量密集對象和異常值的複雜場景中可以執行得更穩健。實驗結果表明,與水準盒監督執行個體分割方法相比,H2RBox具有顯著的性能和速度優勢,并且對記憶體的要求更低。而與旋轉盒監督定向目标檢測器相比,我們的方法表現出非常接近的性能和速度。源代碼可在基于pytorch的MMRotate和基于jittor的JDet中獲得。

1介紹

除了相對成熟的水準目标檢測領域外,定向目标檢測也受到了廣泛關注,特别是對于複雜場景,需要細粒邊界框(如旋轉/四邊形邊界框),例如航空圖像、場景文本、零售場景等。盡管面向對象檢測越來越受歡迎,但許多現有的資料集都用水準框(HBox)注釋,這可能不相容(至少在表面上)用于訓練面向的檢測器。是以,對現有的水準注釋資料集執行了勞動密集型的重新注釋。例如,DIOR- r和SKU110K- r 分别是航空圖像資料集DIOR (192K執行個體)和零售場景SKU110K (1733k執行個體)的旋轉框(RBox)注釋。

一個有吸引力的問題出現了,如果一個人可以實作弱監督學習定向對象檢測隻使用(更容易獲得的)HBox注解而不是RBox注解。在我們的實驗中,一個潛在的和經過驗證的技術是hbox監督的執行個體分割,涉及BoxInst ,BoxLevelSet 等。基于分割掩碼方法,本文将上述過程稱為HBox-Mask-RBox樣式的方法,即BoxInst-RBox和BoxLevelSet-RBox。然而,它實際上涉及一個潛在的更具挑戰性的任務,即執行個體分割,其品質對背景噪聲很敏感,對後續的RBox檢測步驟影響很大,特别是在複雜場景(圖1(a))和對象擁擠(圖1(b))的情況下。此外,涉及分割通常需要更多的計算成本,整個過程可能很耗時(見表1-2)。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

在本文中,我們提出了一種簡單而有效的方法,稱為HBox-to-RBox (H2RBox),其性能接近RBox注釋監督方法,僅使用HBox注釋,甚至在相當多的情況下優于我們的實驗。我們方法的核心是弱監督和自監督學習,它通過學習兩個不同視圖之間的強制一緻性來預測對象的角度。具體來說,我們在WS分支(見圖2左)中基于FCOS的回歸子網絡中預測了5個偏移量,進而最終解碼輸出為rbox。由于我們隻有水準框注釋,是以在計算回歸損失時,我們使用預測RBox的水準限定矩形。理想情況下,預測rbox和相應的ground truth (GT) rbox(未标記)具有高度重疊的水準限定矩形。在SS分支中(見圖2右),我們将輸入圖像随機旋轉一個角度,并通過回歸子網絡預測相應的RBox。然後,學習兩個分支之間rbox的一緻性,包括尺度一緻性和空間位置一緻性,以消除不希望出現的情況,保證WS分支的可靠性。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

我們的主要貢獻如下:

1)據我們所知,我們提出了第一個基于HBox注釋的面向對象檢測器。具體來說,設計了一個弱監督和自監督的角度學習範式,它縮小了HBox訓練和RBox測試之間的差距,并且可以作為現有檢測器的插件。

2)我們通過幾何方程證明,在我們設計的管道和一緻性損失下,預測的RBox是正确的GT RBox,并且不依賴于未完全驗證的/特别的假設,例如BoxInst中的顔色對親和性或其他無法保證品質的中間結果,例如許多弱監督方法使用的特征映射。

3)與潛在的替代方案(例如hbox -掩碼- rbox,其執行個體分割部分由最先進的BoxInst完成)相比,我們的H2RBox在DOTA-v1.0資料集上的性能比mAP高出約14%(67.90%對53.59%),隻需要其三分之一的計算資源(6.25 GB對19.93 GB),并且在推理方面快了大約12倍(31.6 fps對2.7 fps)。

4)與完全RBox注釋監督的旋轉檢測器FCOS相比,H2RBox在DOTA-v1.0和DIOR-R上分别僅落後0.91%(74.40%比75.31%)和1.01%(33.15%比34.16%)。此外,我們沒有在推理階段增加額外的計算,進而保持了相當的檢測速度,大約是29.1 FPS與DOTA-v1.0上的29.5 FPS。

2相關工作

rbox監督的定向對象檢測 視覺圖像中的定向目标檢測越來越受到不同領域的關注,例如航空圖像,場景文本,零售等。早期的方法包括RRPN 、ROI-Transformer和ReDet 直接進行角度回歸。為了解決由于角度周期性導緻的損失不連續和回歸不一緻問題,後續工作将旋轉邊界框的參數化轉化為二維高斯分布或将角度回歸轉化為分類。

hbox監督的執行個體分割及其面向對象檢測的潛力 純粹使用hbox注釋來訓練旋轉對象檢測器的大膽想法很有吸引力,但在文獻中仍然很少研究,這可以被視為面向對象檢測的弱監督(WS)學習範式。一個相關且研究得更好的技術是HBox監督的執行個體分割,它嘗試基于HBox注釋對執行個體進行分割,用于WS訓練。例如,SDI 依賴于MCG (Pont-Tuset)生成的區域建議并使用疊代訓練過程來細化分割。BBTP 将hbox監督下的執行個體分割,制定為基于Mask R-CNN的多執行個體學習問題。BoxInst 在有效的RoI-free條件下使用帶有box限制的顔色對親和。BoxLevelSet 引入了一個能量函數來預測作為水準集的執行個體感覺掩碼。

盡管我們可以從上述執行個體分割方法中通過一定的方法基于分割掩碼獲得最終的對象方向,例如通過找到最小的被限制矩形,但我們在實驗中證明,這種HBox-Mask-RBox管道可能很複雜(分割甚至比旋轉檢測更難—見圖1),并且在存在密集對象和背景噪聲的情況下成本很高。是以,我們的目标是跳過分割步驟,并建立一個hbox到rbox的範式,這是我們所知的以前沒有研究過的。

3 .建議方法

H2RBox的總體結構如圖2所示,生成了兩個增強視圖,避免了訓練過拟合的資訊洩漏。有兩個分支。其中一個分支用于弱監督(WS)學習,監督是來自訓練資料的GT HBox,并計算由該分支預測的RBox得到的限定HBox與GT HBox之間的回歸損失。另一個分支通過自監督(SS)學習進行訓練,該學習涉及原始輸入圖像的兩個增強視圖,這有助于在兩個視圖之間獲得一緻的RBox預測,最後的損失是WS損失和SS損失的權重和。注意,測試階段預測隻與WS分支有關。

3.1增強視圖生成

根據資料增強自監督學習的一般思想,給定輸入圖像,我們在保持視圖1與輸入圖像一緻的情況下,進行随機旋轉生成視圖2,如圖2所示。然而,旋轉變換會在幾何上不可避免地引入人工黑色邊框區域,并導緻GT角資訊洩露的風險。我們提供了兩種可用的技術來解決這個問題:

1)中心區域裁剪:裁剪圖像中心的a√2/2 s ×√2/2 s區域a。

2)反射填充:用反射填充填充黑色邊緣區域。

如果在視圖2中使用了Center Region crop,則視圖1也需要執行相同的操作并過濾相應的ground truth。相反,反射填充比中心區域裁剪效果更好,因為它保留了盡可能多的區域,同時保持了更高的圖像分辨率。圖3(a)和圖3(b)比較了零填充和反射填充。請注意,黑色邊界區域不參與SS分支的回歸損失計算,是以通過反射填充填充未标記的前景對象并不重要。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

3.2弱監督(ws)分支

将生成的兩個視圖(View 1和View 2)分别饋送到具有參數共享主幹和頸部的兩個分支,指定為ResNet 和FPN ,如圖2所示。這裡的WS分支由基于fcos的旋轉對象檢測器指定,用于訓練和推理。該分支包含回歸和分類子網絡,用于預測RBox、類别和中心度。回想一下,我們不能使用預測的RBox直接計算最終回歸,因為沒有RBox注釋,隻有HBox。是以,我們首先将預測的RBox轉換為相應的最小水準限定矩形,以計算導出的HBox和GT HBox注釋之間的回歸損失(我們将損失公式的細節推遲到第3.5節)。随着網絡訓練的更好,預測RBox和未标記的GT RBox之間會産生間接連接配接(水準限定矩形限制):無論物體如何旋轉,它們對應的水準限定矩形總是高度重疊的。然而,如圖4(a)所示,僅使用WS損失隻能對目标進行局部定位,對于精确的旋轉估計仍然不夠有效。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

3.3自監管(ss)分支

作為WS損失的補充,我們進一步引入SS損失。SS分支隻包含一個用于預測旋轉視圖2中的RBox的回歸子網絡。給定View 2中采用的(随機)旋轉變換R(度為∆θ),則View 1在WS分支中的位置(x, y)與View 2在SS分支中旋轉R的位置(x∗,y∗)的關系為:

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

其中(xc, yc)為旋轉中心(即圖像中心)。回想一下,SS分支黑色邊框區域(圖3)的标簽設定為無效負樣本,不參與下文設計的後續損失。

具體來說,一個尺度損失Lwh解釋了尺度一緻性,以增強上述的間接聯系:對于通過不同旋轉從同一物體獲得的增強物體,檢測器預測一組相同尺度的rbox,這些預測的rbox與對應的GT rbox(未标記)具有高度重疊的水準邊界矩形。用這種增強的間接連接配接,包括水準限定矩形,我們可以将預測結果限制在有限數量的可行情況下,解釋如下:圖5顯示了基于上述增強間接連接配接的兩種情況,并列出了四個變量(w, h, θ, ϕ)的四種不同表達式。由于角度的周期性,在角度定義内,這四個方程隻有兩個可行解,即綠色的GT RBox和橙色的對稱RBox。也就是說,在這種強化的間接聯系下,預測RBox與GT RBox之間的關系是重合的Bc(w, h, θ)或圍繞物體的中心對稱的b (w, h, π−θ)。從圖4(a)中可以看出,使用Lwh後,仍然存在很多角度極不準确的不良情況。有趣的是,如果我們對這些糟糕的情況和它們的中心點做一個對稱變換,結果會好很多。在生成視圖時,可以得到一個幾何先驗,即兩個視圖之間的空間變換關系,在式1中表示為R。由此,我們可以得到兩個分支之間的變換關系,記為T<Bws, Bss>:

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

其中Bcws和Bsss分别表示WS分支預測的重合邊界框和SS分支預測的對稱邊界框。這裡S表示對稱變換。以T<Bws, Bss>= {R, S}為例,表示Bsss = S(R·Bcws)。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

是以,消除對稱情況的有效方法是讓模型知道兩個分支預測的rbox之間的關系隻能是R,受上述分析的啟發,利用空間位置損失來建構兩個分支預測的rbox的空間變換關系R。具體來說,先對WS支路預測的RBox進行R變換,然後利用中心點損失Lxy、角度損失Lθ等幾種損耗來衡量其與SS支路預測的RBox的位置一緻性。實際上,空間位置一緻性,特别是角度損失,提供了第5個角度限制方程(φ−θ =∆θ 6= 0),使得圖5中的方程組具有非嚴格證明的唯一解(即預測的RBox是GT RBox),因為方程組是非線性的。

最終的SS學習包括尺度一緻性學習和空間位置一緻性學習:

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

圖4(b)顯示了使用SS損失的可視化,并進行了準确的預測。附錄顯示了不同限制組合的可行解的可視化。

3.4标簽重指派器

由于需要計算兩個分支的預測結果的一緻性,是以需要在SS分支中重新配置設定标簽。具體來說,SS分支位置(x∗,y∗)上的标記,包括中心性(cn∗)、目标類别(c∗)和目标GT HBox (gtboxh∗),與WS分支位置(x, y)上的标記相同。此外,我們還需要将WS分支預測的rboxws(xws, yws, wws, hws, θws)作為SS分支的目标RBox來計算SS損失。我們提出了兩種重新配置設定政策:

1)一對一(O2O)配置設定:使用cn, c和gtboxh,将WS分支中位置(x, y)預測的rboxws用作SS分支(x∗,y∗)的目标RBox(見圖3(a))。

2)一對多(O2M)指派:在SS支路位置(x∗,y∗),使用最接近gtboxh(x,y)中心點的rboxs作為目标RBox,如圖3(b)所示。

圖3(c)顯示了兩種重新配置設定政策之間的差異。重新指派後,我們需要對rboxws進行旋轉變換,得到用于計算SS損失的rboxws∗(x∗ws, y∗ws, w∗ws, h∗ws, θ∗ws),根據公式3:(x∗ws, y∗ws) = (xws−xc, yws−yc)R> + (xc, yc), (w∗ws, h∗ws) = (wws, hws), θ∗ws = θws +∆θ(4)圖3中可視化的标簽指派進一步表明SS損失有效地消除了對不期望情況的預測。不同檢測器的标簽重新配置設定可能需要不同的政策。關鍵是為兩種視圖的預測結果設計合适的比對政策,使網絡能夠更好地學習到一緻性。

3.5結合ws和ss損失計算總損失

由于WS分支是基于FCOS的旋轉目标檢測器,是以這部分的損失主要包括回歸Lreg、分類lcl和中心Lcn。我們将WS分支中的WS損失定義如下:

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

其中Lcls為焦點損失, Lcn為交叉熵損失,Lreg為IoU損失,Npos為陽性樣本數。p和c表示由Sigmoid函數和目标類别計算的各類的機率分布。rboxws和gtboxh分别表示WS分支和水準GT盒中的預測RBox。Cn 0和Cn表示預測中心度和目标中心度。1{c(x,y)>0}是訓示函數,當c(x,y)>0時為1,否則為0。r2h(·)函數将RBox轉換為相應的水準限定矩形。我們預設設定了超參數µ1 = 1,µ2 = 1和µ3 = 1。

則由SS分支預測的rboxss(x∗ws, y∗ws, w∗ws, h∗ws, θ∗ws)與rboxss(xss, yss, wss, hss, θ SS)之間的SS損損失為:

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

其中Bws(- w∗ws, - h∗ws, w∗ws, h∗ws), B1ss(- wss, - hss, wss, hss)和B2ss(- hss, - wss, hss, wss)。我們預設設定γ1 = 0.15和γ2 = 1。Lwhθ考慮了邊界問題(Y ang et al, 2021c)引起的損失不連續,如角度的周期性和邊的互換性。總損失是WS損失和SS損失的權重和,其中我們預設設定λ = 0.4。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

4實驗

4.1資料集和實作細節

DOTA-v1.0 是航空圖像中面向目标檢測的最大資料集之一,其中包含大規模密集場景和複雜背景等具有挑戰性的情況。它包含15個類别,2806張圖檔,188282個執行個體,RBox和HBox都有注釋,後者直接來源于前者。訓練集、驗證集、測試集的比例分别為1/2、1/6、1/3。對于訓練和測試,我們遵循标準協定,将圖像裁剪成1,024×1,024塊,步幅為824。

DIOR- r 是基于水準标注版本DIOR的RBoxes标注的航拍圖像資料集。總共有23,463個圖像和190,288個執行個體,涵蓋20個對象類。DIOR-R在空間分辨率以及類間和類内的對象大小變化方面都具有很高的對象大小變化。不同的成像條件,天氣,季節,圖像品質是DIOR-R的主要挑戰。此外,它具有較高的類間相似性和類内多樣性。

方法是在基于開源PyTorch的架構MMRotate下實作的,該架構是為旋轉檢測量身定制的。我們采用FCOS和ResNet50主幹和FPN頸部作為基線方法和建構塊,在此基礎上我們開發了我們的方法(見圖1)。為了實作弱監督的HBox- mask - rbox替代方案進行比較,我們使用了兩種基于HBox注釋的強執行個體分割方法:BoxInst和BoxLevelSet,其次是找到其最小緊湊周邊矩形作為檢測到的RBox,分别命名為boxxinstrbox和BoxLevelSet-RBox。所有模型都在GeForce RTX 3090 GPU上使用AdamW進行訓練,除了BoxLevelSet,它需要具有更大記憶體的NVIDIA V100。初始學習率為10−4,每個mini-batch有2張圖像,權重衰減為0.05。此外,我們對500次疊代采用學習率預熱,并且在每個衰減步驟中學習率除以10。采用随機翻轉避免過拟合,無其他技巧

4.2主要結果

我們比較了RBox和hbox監督的旋轉檢測器,預設AP為旋轉檢測文獻中符合标準協定的AP50:95。

DOTA-v1.0的結果 如表1所示,我們的方法在AP50方面分别顯著優于BoxInst-RBox和BoxLevelSet-RBox,分别高出14.31%和11.46%。此外,我們的方法還具有更高的記憶體和推理效率。具體來說,與BoxInst相比,我們隻需要不到其記憶體的三分之一(6.25 GB vs. 19.93 GB),速度優勢約為12倍(31.6 fps vs. 2.7 fps)。與BoxLevelSet相比,我們的記憶體成本僅為其記憶體的四分之一(6.25 GB vs. 26.81 GB),并且推理速度快了7倍(31.6 fps vs. 4.7 fps)。事實上,-RBox方法的主要成本來自于在我們的實作中通過調用OpenCV函數來完成的尋找緊湊的RBox周圍盒的昂貴後處理步驟。即使與rbox監督的方法相比,我們的方法也優于一些方法,如RepPoints和RetinaNet。在“1x”和“3x”訓練計劃下,我們的方法略微落後于基線方法,即FCOS(記住它是rbox監督的),分别為2.96%和1.81%。使用多尺度訓練和測試後,差距僅為0.91% (75.31% vs. 74.40%)。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

DIOR-R結果 請注意,該資料集中的一些類别,包括煙囪,風車,機場,高爾夫球場,雖然對象不是完全水準的,但都被水準框強制注釋,這可能會影響學習和最終結果。如表2所示,與DOTA-v1.0相比,DIOR-R對執行個體分割方法的挑戰更小。這也許可以解釋H2RBox和BoxInst-RBox在AP50上的性能接近的現象。對于高精度檢測,即需要更準确分割的高AP75, H2RBox在AP75上比BoxLevelSet-RBox和BoxInst-RBox分别高出8.24%(32.6%對24.36%)和4.50%(32.6%對28.10%),并且具有更低的記憶體和更高的推理速度。同樣,H2RBox的性能略低于rbox監督的FCOS,分别為33.15%和34.16%。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

4.3消融研究

在H2RBox上進行了12個訓練周期的消融研究。

消除視圖生成的邊框效果 表3研究了不同的邊框效果消除政策對視圖生成的影響,包括填充和/或裁剪(見3.1節)。這些技術對于避免地真角資訊洩漏是必不可少的,否則模型會出現過拟合,導緻性能顯著下降,如表第一行所示。請注意,與僅使用反射填充相比,當同時應用反射填充和裁剪時,AP從35.92%略微下降到33.60%。其原因可能是由于通過裁剪減少了輸入圖像的大小。是以,在所有其他實驗中,我們總是單獨使用反射填充。

ICLR2023:H2rbox:水準框注釋是所有你需要的定向目标檢測

标簽re-assignment 表4顯示了一對一政策優于一對多政策,處理各向同性圓形對象類的政策。對于像Storage Tank (ST)和Roundabout (RA)這樣的圓形物體,自監督損失由于對各向同性資訊不敏感而不起作用。我們采用兩種處理方法來處理這種圓形對象。S1:對于訓練,我們屏蔽了循環類别的SS損失。S2:測試時,取圓形類别的水準限界矩形作為最終輸出。從表5可以看出,當使用其中一種或兩種政策時,性能都可以得到很大的提高,在ST上約提高15%,在RA上約提高25%。

Self-supervised損失 表6顯示,在不使用SS損耗的情況下,我們的方法在DOTA-v1.0和DIOR-R上的準确率分别隻有12.63%和15.27%。相反,使用SS損耗導緻整體性能大幅提升,分别達到35.92%和33.15%。圖4(b)也可以看出,SS損失可以有效地幫助模型學習到正确的物體角度資訊。

5結論

本文介紹了H2RBox,這是第一個(據我們所知)hbox監督的面向對象檢測器。H2RBox通過自監督學習來學習旋轉,其損失衡量了兩個不同視角下預測角度的一緻性。與其他hbox監督的執行個體分割方法相比,H2RBox實作了更高的檢測精度,特别是對于複雜場景,但記憶體更低,速度更快。與完全rbox監督的算法相比,我們的方法仍然具有競争力。

繼續閱讀