點擊下方卡片,關注「CVer」公眾號
AI/CV重磅乾貨,第一時間送達
轉載自:集智書童

Sparse R-CNN是最近的一種強目標檢測Baseline,通過對稀疏的、可學習的proposal boxes和proposal features進行集合預測。在這項工作中提出了2個動態設計來改進Sparse R-CNN。
首先,Sparse R-CNN採用一對一標籤分配方案,其中匈牙利算法對每個Ground truth只匹配一個正樣本。這種一對一標籤分配對於學習到的proposal boxes和Ground truth之間的匹配可能不是最佳的。為了解決這一問題,作者提出了基於最優傳輸算法的動態標籤分配(DLA),在Sparse R-CNN的迭代訓練階段分配遞增的正樣本。隨着後續階段產生精度更高的精細化proposal boxes,在後續階段對匹配進行約束,使其逐漸鬆散。
其次,在Sparse R-CNN的推理過程中,對於不同的圖像,學習到的proposal boxes和proposal features保持固定。在動態卷積的驅動下提出了Dynamic Proposal Generation(DPG)來動態組合多個Proposal Experts,為連續的訓練階段提供更好的初始proposal boxes和proposal features。因此,DPG可以導出與樣本相關的proposal boxes和proposal features來進行判斷。
實驗表明,Dynamic Sparse R-CNN可以增強具有不同Backbone的強Sparse R-CNN Baseline。特別是,Dynamic Sparse R-CNN在COCO 2017驗證集上達到了最先進的47.2% AP,在相同的ResNet-50 Baseline下比Sparse R-CNN高出2.2% AP。
1簡介近年來,目標檢測得到了快速的發展,從卷積神經網絡(CNN)到Transformer,特徵提取的Backbone各不相同,檢測Pipeline的設計也各不相同。根據回歸次數的不同,檢測器主要可分為One-Stage、Two-Stage和Multi-Stage。
One-Stage檢測器直接預測給定圖像中的回歸目標和類別,而不需要進行細化步驟。Two-Stage檢測器首先生成有限數量的前景候選proposal(例如,區域建議網絡(RPN)),然後將proposal傳遞到檢測網絡以細化位置和類別。Multi-Stage檢測器可以多次細化位置和類別,從而提高性能,但通常需要大量的計算開銷。
One-Stage檢測方法一般可分為Anchor-Base檢測器和Anchor-Free檢測器。Anchor-Base檢測器在圖像中設計密集的預定義Anchor,然後直接預測類別並細化Anchor的坐標。然而,手動Anchor配置可能不是最終性能的最佳選擇。為了克服這一問題,提出了Anchor-Free檢測器。Anchor-Free檢測器通常使用中心點或區域內的Ground truth來定義正樣本的proposal和預測偏移,以獲得最終的邊界框。
最近,基於Transformer的檢測器被提出,通過使用Transformer編碼器和解碼器架構將目標檢測定義為一個集合預測問題。這些方法用少量可學習的目標查詢代替Anchor機制,可以對目標和全局圖像上下文之間的關係建模,輸出最終的預測結果。匈牙利算法是一種基於分類和回歸的組合損失,用於尋找Ground truth和預測之間的匹配。但是這些檢測器中的標籤分配是一對一的方式,在訓練期間只有一個單一的檢測器匹配一個Ground truth。

現有的基於CNN的方法,使用多對一的標籤分配方案,假設分配多個陽性的Ground truth可以更有效地優化proposal,可以促進檢測器得到更好的性能。
因此,針對Sparse R-CNN的強Baseline,提出了基於最優傳輸算法的多對一的動態標籤分配(DLA)。在Sparse R-CNN的迭代階段,也採用了逐漸增加的正樣本分配給GTs。由於每個階段都會為下一個階段產生精細化的proposal boxes和proposal features,作者希望限制Ground truth和預測框之間的匹配,在前期階段更嚴格,在後期階段更寬鬆,因為在後續階段的預測精度越來越高。
此外,在Sparse R-CNN中,目標查詢(即proposal boxes和proposal features)在訓練過程中是可學習的,但在推理過程中對不同的圖像保持固定。在動態卷積的驅動下提出了動態proposal生成(DPG),以在第一個迭代階段提供更好的初始proposal boxes和proposal features。與固定proposal相比,DPG可以聚合多個與樣本相關的並行Proposal Experts,輸出動態proposal進行推理。作者將該方法命名為Dynamic Sparse R-CNN,Dynamic Sparse R-CNN在COCO 2017驗證集上達到了最先進的47.2% AP,在相同的ResNet-50 Backbone下相對Sparse R-CNN提升了2.2% AP。
主要貢獻:基於CNN的檢測器由於各種特徵提取Backbone和Pipeline設計的發展而取得了很大的進展。
One-Stage檢測器可以直接預測給定圖像中物體的位置和相關類別,而不需要區域建議和細化組件,包括Anchor-Base檢測器和Anchor-Free檢測器。
Two-Stage檢測器首先用區域建議網絡(RPN)生成固定數量的前景proposal,然後將proposal傳遞給檢測網絡,以細化目標的位置和類別。
最近,基於Transformer的檢測器利用Transformer編碼器和解碼器的體系結構,將目標檢測重新表述為一個集合預測問題。他們設計了少量的可學習的目標查詢來建模目標和全局圖像上下文之間的關係,並得到了很好的性能。解碼器中的目標查詢是DETR的必需組件。條件DETR提出了一種快速訓練收斂的條件空間查詢方法。AnchorDETR提出了一種基於Anchor的查詢設計,並以較少的訓練時間實現了接近於DETR的性能。Sparse R-CNN提出R-CNN中可學習的建議框和建議特徵,並將特徵圖上提取的RoI特徵和相關的建議特徵傳遞到迭代結構(即動態頭)進行預測。
2.2 Label Assignment標籤分配在目標檢測器中占有重要地位。Anchor檢測器通常採用一定閾值的IoU作為賦值標準。例如,RetinaNet將IoU得分高於0.5的Anchor定義為正樣本,其他定義為負樣本。YOLO只採用與Ground truth相關聯的最大IoU得分的Anchor作為正樣本,這種標籤分配是一種一對一匹配的方法。
Anchor-Free檢測器將Ground truth中心點或縮小的中心區域定義為正的,將其他區域定義為負的。ATSS表明,Anchor-base檢測器與菲Anchor-base檢測器的本質區別在於標籤分配,於是提出了一種自適應訓練樣本選擇方法,根據目標的統計特徵劃分正樣本和負樣本。PAA提出了一種基於正、負樣本聯合損失分布為高斯分布的概率Anchor分配方法。OTA通過定義Ground truth和background為供應者,定義Anchor為需求者,將標籤分配定義為一個最優運輸問題,然後利用Sinkhorn-Knopp迭代對問題進行高效優化。
基於Transformer的檢測器將目標檢測視為集合預測問題,並將Ground truth和目標查詢之間的標籤分配視為雙邊匹配。匈牙利算法通過最小化全局損失來優化Ground truth與目標查詢之間的一對一匹配。在本文中,假設了基於Transformer的檢測器中一對一的標籤分配是次優的,並探索了一種基於OTA的Sparse R-CNN的多對一匹配的動態標籤分配。
2.3 Dynamic Convolution動態卷積是一種動態結合多個卷積核與可學習的樣本相關權值的技術,以增強模型表示能力的技術。Softmax中的Temperature annealing有助於提高訓練效率和最終性能。CondConv提出了有條件的參數化卷積,它為每個輸入圖像學習專門的卷積核。它將多個卷積核與子網生成的權值相結合,構造了一個圖像指定的卷積核。DyNet設計了幾種基於動態卷積的動態卷積神經網絡,包括Dy-MobileNet、Dy-ShuffleNet和Dy-ResNet網絡等。
在本工作中,分析了Sparse R-CNN中對推理過程中不同輸入的固定建議框和特徵是次優的和不靈活的。基於動態卷積,通過在推理過程中生成動態樣本相關的建議來改進Sparse R-CNN。
3Dynamic Sparse R-CNN3.1 回顧Sparse R-CNNSparse R-CNN是一個比較強的目標檢測Baseline,通過對稀疏可學習目標建議進行預測,然後再使用一個迭代結構(即dynamic head)來逐步完善預測。每個迭代階段的輸入由3個部分組成:
將一個階段輸出的預測框和目標特徵分別用作下一階段的改進Proposal Boxes和Proposal Features。Proposal Boxes是一組固定的區域建議(Np×4),指定目標的潛在位置。Proposal Features是潛在向量(Np×C),以編碼實例特徵(例如,姿態和形狀)。
在Sparse R-CNN中,Proposal Boxes在訓練期間學習並固定用於推理。Proposal Boxes應用基於Set的損失對預測和Ground truth進行雙邊匹配,與匈牙利算法的一對一匹配。圖2(a)說明了Sparse R-CNN的設計。

作者分析了Sparse R-CNN的2個主要局限性:
首先,Sparse R-CNN採用檢測預測與Ground truth一對一匹配的方法,這種方法容易出現次優,訓練效率低。
其次,Ground truth中學習到的Proposal Boxes和Proposal Features代表了訓練集的統計量,它們對特定的測試圖像不具有自適應性。
在本文的工作中,設計了2個方案來改進Sparse R-CNN。分別是:
在Sparse R-CNN中,使用匈牙利算法進行一對一匹配,即每個Ground truth與一個預測框匹配。假設這種一對一匹配可能不是最優的。給Ground truth分配多個預測框可以更有效地優化Proposal,促進檢測器的訓練。
為了實現多對一匹配,遵循基於CNN的方法,並將最優傳輸分配(OTA)應用於Transformer。具體來說,OTA是一個探索如何將檢測框與Ground truth相匹配的公式。該公式將Ground truth作為供應者提供分配配額,將檢測框作為需求方尋求分配。背景類也被定義為提供默認賦值的供應者。
數學上,假設在一幅圖像中有m個Ground truth,每個Ground truth都提供了的賦值,這些賦值稱為units。n個檢測框中的每一個嘗試得到一個units,成功的匹配稱為positive assignment。背景提供了 units來滿足沒有分配任何Ground truth的檢測框,這稱為negative assignments。優化目標可定義為:

其中,i是Ground truth的指數,j是檢測框的指數(j=1,…n),α是一個平衡分類和回歸損失的係數。每個positive assignment的代價是分類損失和回歸損失的總和,而每個negative assignments的代價只是分類損失。表示Ground truth i和檢測框 j之間需要優化的匹配結果。
每個供應者提供的units數量k可以是固定的或動態的。根據OTA中的動態k估計方法,本文的工作基於預測和Ground truth之間的IoU動態估計k值。在該策略中,選擇每個Ground truth的Top-q IoU值,並將其求和作為k值的估計。
基於標籤分配的最優傳輸理論(),每個Proposal(即需求方)只需要Ground truth(即供應方)提供的一個units標籤單元。
因此,一個Proposal將不會被分配給不同的Ground truth。動態<估計方法一般適用於$k<q$。假設m是Ground truth的數量,是總Proposal的數量,如果,將為每個Ground truth減少k個相同的比例因子,以確保至少有20%的positive assignment。</q$。假設m是
units增加策略Sparse R-CNN採用了迭代架構,逐步提高預測精度。作者提出了一種簡單的units遞增策略來促進迭代結構的訓練。當前期Dynamic head的預測不夠準確時,希望供應方(Ground truth)提供少量的units,這使得匹配更加嚴格。當後期Dynamic head的預測越來越準確時,逐漸放鬆約束,讓供應方(Ground truth)提供更多的units進行匹配。
簡單的units增加策略可以定義如下:

在本文中使用默認的迭代階段數(T=6)。
3.3 Dynamic Proposal Generation在Sparse R-CNN中,將一組Proposal Boxes和Proposal Features連同從FPN Backbone(到)所提取的特徵一起送入Dynamic head。這些Proposal在訓練期間是可學習的,但在推斷期間是固定的。在動態卷積的驅動下,針對輸入圖像生成Proposal Boxes和Proposal Features可以提高檢測的性能。

在圖3(a),Proposal Boxes和Proposal Features是不同的Proposal Boxes和Proposal Features集的線性組合,每個集合被稱為一個Experts。由Experts權重生成網絡生成組合Experts的係數(稱為expert weight)(圖3(b))。DPG模塊可以制定如下。

其中為輸出的Dynamic Proposal Boxes,為輸出的Dynamic Proposal Features,為expert weight生成網絡學習到的Proposal expert weight,為從FPN Backbone(到)所提取的特徵。
Staircase Structureexpert weight生成網絡遵循動態卷積結構的基本設計,如圖3(b)所示還使用了softmax中的temperature annealing operation (tao)來控制expert weight,使訓練過程更加有效。
作者還構造了一個Staircase Structure來聚集來自不同金字塔層的特徵。到的特徵在尺度上是依次下降的:的寬和高是的1/2。
最後,將連接的數據插值到一個4C×30×30特徵圖(每個金字塔層的C=256)中。然後,將4C通道通過求和進行融合,得到的30×30特徵圖被Flatten到2個FC層。第1個FC的尺寸是900×1500,第2個的尺寸是1500×()。這裡作者構建了(expert數量),(Proposal Boxes和Proposal Features數量)。
4實驗4.1 消融實驗

如表3所示,具有固定k值(k=2,3)的OTA匹配器與Baseline相比,AP的提升率為0.9% AP。在動態k估計中使用q=8的OTA匹配器增加了1.1% AP,這證明了使用動態k的有效性。
units增加策略進一步將AP提高到46.7% AP,說明這種簡單的設計是有效的。
此外,具有q=8和units增加策略的OTA匹配器 AP75和APs都增加了近3個百分點。可見動態多對一匹配方案產生了更多樣化的預測框選項,以匹配Ground truth。該方案特別適用於對小物體的檢測。
2、q的影響
如表4所示,在Dynamic k Estimation中嘗試了q的不同選擇,發現q=8效果最好。值得注意的是,表4中的所有結果都優於一對一匹配(45.0%),這驗證了動態多對一匹配方案的有效性。
3、Experts數量的影響
如表5所示嘗試了不同數量的Experts,並在該方法中使用4個Experts作為默認值可以得到最好的性能。
4、可視化
圖4可視化了通過Dynamic Sparse R-CNN進行的採樣檢測結果。Dynamic Sparse R-CNN可以正確地檢測不同尺度、外觀等的目標。
4.2 SOTA對比
ICCV和CVPR 2021論文和代碼下載
後台回覆:CVPR2021,即可下載CVPR 2021論文和代碼開源的論文合集
後台回覆:ICCV2021,即可下載ICCV2021論文和代碼開源的論文合集
後台回覆:Transformer綜述,即可下載最新的3篇Transformer綜述PDF
目標檢測和Transformer交流群成立
掃描下方二維碼,或者添加微信:CVer6666,即可添加CVer小助手微信,便可申請加入CVer-目標檢測或者Transformer微信交流群。另外其他垂直方向已涵蓋:目標檢測、圖像分割、目標跟蹤、人臉檢測&識別、OCR、姿態估計、超分辨率、SLAM、醫療影像、Re-ID、GAN、NAS、深度估計、自動駕駛、強化學習、車道線檢測、模型剪枝&壓縮、去噪、去霧、去雨、風格遷移、遙感圖像、行為識別、視頻理解、圖像融合、圖像檢索、論文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要備註:研究方向+地點+學校/公司+暱稱(如目標檢測或者Transformer+上海+上交+卡卡),根據格式備註,可更快被通過且邀請進群
▲掃碼或加微信: CVer6666,進交流群
CVer學術交流群(知識星球)來了!想要了解最新最快最好的CV/DL/ML論文速遞、優質開源項目、學習教程和實戰訓練等資料,歡迎掃描下方二維碼,加入CVer學術交流群,已匯集數千人!
▲掃碼進群
▲點擊上方卡片,關注CVer公眾號
整理不易,請點讚和在看