《Imbalance problems in object detection: A review》筆記

簡介

論文《Imbalance problems in object detection: A review》對目標檢測中的不平衡問題做了綜合的敘述。該論文對目標檢測的不平衡問題做了系統性的分類,根據相關的輸入屬性,把不平衡問題劃分成4大類,8個小類。

目標檢測的不平衡問題分類

與類別的不平衡問題相關的輸入屬性是不同類別的輸入的邊框數量,這也是這個類別的分類依據。前景類和背景類的邊框數不同導致了前景-背景類別不平衡問題。而前景類中不同類別的邊框數不同導致了前景-前景類別不平衡問題。

對象/邊框的尺度不平衡問題的劃分依據的是輸入圖片和真實邊框的尺度。不同對象/邊框具有不同的尺度,這些尺度分佈得不均勻,造成了對象/邊框的尺度不平衡問題。

特徵不平衡問題劃分依據是骨架網絡的不同抽象層對特徵層的貢獻。這句話用一個例子來解釋,例如低級細節特徵和高級語義特徵對特徵層的貢獻度不同。R-CNN使用的RoI特徵一般來自骨幹網絡的最後一層特徵層,該層主要包含高級語義特徵,幾乎不含低級細節特徵。低級特徵和高級特徵含量的不同會影響檢測的效果。

迴歸損失的不平衡問題的劃分依據是單獨樣本對迴歸損失的貢獻。不同的樣本會產生不同的迴歸損失,離羣點(outlier)會產生很大的損失,佔據總迴歸損失的很大一部分,影響迴歸器的訓練。

IoU分佈不平衡問題的劃分依據是正樣本的邊框的IoU分佈。正樣本的IoU分佈有很大的偏向性,比如偏向IoU=0.5,影響檢測器的檢測效果。

對象位置不平衡問題的劃分依據是對象在圖片中的位置。在實際情況下,對象不可能均勻地落在圖片的各個位置。

目標不平衡問題的劃分依據是不同任務對總損失的貢獻。目標檢測是一個多目標任務,包括分類和迴歸。分類損失和迴歸損失的不平衡會影響各自的優化。

在目標檢測訓練流程中,每個階段都會出現1個或者多個不平衡問題,下圖顯示了每個流程出現的其中一個不平衡問題,(a)是目標檢測的訓練流程,(b)是出現的不平衡問題。

目標檢測訓練流程和不平衡問題

下面我會詳細地描述不同不平衡問題和相關的解決方法。

類別不平衡

類別的不平衡可以通過下圖類別統計直方圖直觀地表現出來。
類別統計直方圖

前景-背景類別不平衡

定義 在前景-背景類不平衡問題中,代表過多的類和代表不足的類分別是背景類和前景類。這種類型的問題是不可避免的,因爲如上圖所示,大多數邊框被標記爲背景(即負)類。前景-背景不平衡問題是在訓練期間發生的,它不取決於數據集中每個類的例子數,因爲它們在背景上不包含任何註釋。

解決方法包括hard sampling methods、soft sampling methods、sampling-free methods和generative methods。

採樣的方法科學的描述是,每個樣本對分類損失都有一個貢獻度,或者說權重。hard sampling methods 的每個樣本的權重取值範圍是{0,1}\{0,1\},所以說是hard,而soft sampling methods的每個樣本的權重取值範圍是[0,1][0,1],所以說是soft。

hard sampling methods最直接的方法是隨機採樣,比如R-CNN系列方法就是隨機採樣,保證前景類別和背景類別的樣本比例保持恆定。其他方法有Hard-example mining methods,目的是找到難樣本,SSD就是這樣做的。其他類似的方法有Online Hard Example Mining(OHEM)。還有其他方法限制樣本的搜索範圍,比如Fast R-CNN設置RoI負樣本的IoU下邊界是0.1,而不是0。

soft sampling methods 根據每個樣本的損失或梯度調整權重。最直接的方法是把權重設置成一個常量,把背景類的樣本的權重設置低一點,比如0.5。Focal loss把權重設置成(1ps)y(1-p_s)^y,減輕容易學習的樣本的損失。Gradient Harmonizing Mechanism根據樣本產生的梯度調整樣本的權重。

sampling-free methods 不需要人工地設計採樣的方式。Chen等人提出的方法加了一個對象分支,用於預測residual objectness scores,分類分支只處理對象分支預測爲前景類的樣本。在推理時,分類分數等於分類分支輸出乘對象分支的輸出。

generative methods包括對抗訓練方法和GAN方法。Adversarial-Fast-RCNN 在RoI pooling時對特徵進行遮蓋和空間變換,使得樣本更難。Task Aware Data Synthesis 用GAN方法,給定一個前景掩膜,在圖片相應位置生產難樣本。

前景-前景類別不平衡

定義 在前景-前景類別不平衡中,代表過多的類和代表不足的類都是前景類。根據問題的來源將其分爲兩類:(i)數據集級別和(ii)批處理級別。

數據集級別上的類別不平衡問題的解決方法有generative methods,和上述的一樣,生成正樣本補充數據集。另外一種方法是根據類別的特徵對類別進行聚類,把類別組成多個大類,首先對大類進行分類,再分小類。

批處理級別的類別不平衡是在一個數據批次中類別不平衡。解決方法有Online Foreground Balanced sampling,它的具體操作是爲每個邊框分配一個採樣概率,保證採樣後的前景類別樣本數量保持平衡。

尺度不平衡

尺度不平衡包括兩個方面,一是對象或邊框的尺度不平衡,另一方面是特徵金字塔中特徵不平衡。

對象/邊框的尺度不平衡

定義 當某些大小的對象或輸入邊框在數據集中過多表示時,會發生比例不平衡。研究表明,這會影響估計RoI的尺度和整體檢測性能。下圖顯示了MS-COCO數據集中的對象的相對寬度,高度和麪積。可以觀察到分佈偏斜。
MS-COCO數據集中的對象的相對寬度,高度和麪積

解決方法:圖片金字塔和特徵金字塔。常用的金字塔方法包括下圖顯示的幾種,其中最常用的是特徵金字塔FPN(c)
圖片金字塔和特徵金字塔

特徵不平衡

定義 特徵層中的低級特徵和高級特徵應該保持平衡。低級細節特徵有助於邊框的迴歸預測,高級語義特徵有助於分類預測。下圖是特徵金字塔低級和高級特徵的分佈,P2-P5用於提取RoI特徵,可以看出P2-P5含有的低級和高級特徵不平衡,P5幾乎不含低級特徵。

特徵金字塔低級和高級特徵的分佈

爲了平衡P2-P5中低級和高級特徵,許多方法研究如何組合骨幹網絡的各個層級的特徵,已有的方法和相應的操作如下圖所示
特徵金字塔改進

空間不平衡

空間不平衡是邊框大小形狀位置和IoU的分佈不平衡。

迴歸損失的不平衡

定義 這個不平衡問題與不同個體樣本對迴歸損失的不均衡貢獻有關。下圖說明了使用L1和L2損失的問題,其中最困難的示例(即IoU低的那個黃色框)主導了L2損失,而L1損失則爲所有示例分配了相對更平衡的誤差。

迴歸損失的不平衡

解決方法是使用其他迴歸損失函數。被提出的邊框預測迴歸損失函數如下圖所示
邊框預測迴歸損失函數列表

IoU分佈不平衡

定義 當輸入邊界框的IoU分佈偏斜時,會觀察到IoU分佈不平衡。RetinaNet的anchor的IoU主要分佈在0.5。IoU偏低,影響性能指標。

解決方法有Cascade R-CNN。通過級聯的方法,每個階段提高IoU閾值,比如0.5,0.6,0.7,這樣做提高了檢測器的性能指標。

對象位置不平衡

定義 由於當前的深度物體檢測器採用密集採樣的錨點作爲滑動窗口分類器,因此物體在整個圖像中的分佈很重要。對於大多數方法,錨點均勻分佈在圖像中,因此,圖像中的每個部分都具有相同的重要性級別。另一方面,圖像中的對象不遵循均勻分佈(如下圖),即,對象位置不平衡。

圖像中的對象不遵循均勻分佈

解決方法:Wang等提出的方法添加兩個分支,錨點位置預測分支預測每個位置是否有對象的概率,設置一個閾值確定該位置是否啓用錨點;錨點形狀預測分支生產每個位置的錨點的形狀。其他方法還有 free anchor。

目標不平衡

定義 目標失衡與訓練過程中最小化的目標(損失)函數有關。通過定義,目標檢測需要多任務損失才能同時解決分類和迴歸任務。但是,由於以下差異,不同的任務可能會導致失衡:(i)對於這些任務,梯度的範數可能會有所不同,並且一項任務可能會主導訓練。(ii)來自不同任務的損失函數的範圍可以不同,這會妨礙任務的一致和均衡的優化。(iii)任務的難度可以有所不同,這會影響任務學習的速度,從而阻礙了訓練過程。

下圖表示隨着迭代的次數增多,分類損失和迴歸損失不斷地變化。訓練初期的分類損失佔總損失的比重非常大。

解決方法有Task Weighting,它通過權重因子平衡各個損失項。另一個問題是每個損失項的取值範圍不同,比如smooth L1的取值範圍是[0,)[0,\infty),通過更換回歸損失函數,可以更改損失取值範圍,比如GIoU損失的取值範圍是[1,1][-1,1]。Classification-Aware Regression Loss (CARL) 組合分類和迴歸任務,它假設分類和迴歸任務是相關的。CARL的迴歸損失函數是ciL1smooth(x)c'_i L1_{smooth}(x)。其中cic'_i是一個基於分類預測值pip_i的因子。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章