天天看點

單階段檢測算法主流的标簽配置設定方法總結

作者:極市平台

作者丨Mr.Felix

編輯丨極市平台

目前主流的輕量化目标檢測算法,基本都是(Anthor-base或Anthor -free)單階段結構。主體結構主要包括Backbone、Neck、Head以及Loss。

其中受限于硬體資源,Backbone主要選取輕量化的主幹網絡,如MobileNet系列、ShuffleNet系列等;Neck主要基于FPN的變種,意在增強深層和淺層特征的更好融合;Head主要是對Backbone提取到的特征進行解碼得到預測結果,具體就是将分類和回歸分支單獨使用少量卷積解碼到指定通道數;Loss隻存在于訓練階段,用于告訴網絡預測結果是否接近标簽值,并給出對應懲罰(Loss)通過反向傳播指導網絡向預期(Loss減小)的方向收斂。 其中Loss的計算就涉及到正負樣本的配置設定,合适的正負樣本對最終檢測效果的影響很大(詳見ATSS論文分析)。

目前的标簽配置設定方法根據标簽是否非負即正分為硬标簽配置設定(Hard LA)和軟标簽配置設定(Soft LA)兩大類。

硬标簽配置設定方法主要利用預設框或預測框與GT框比較的結果區分正負樣本,樣本非負即正。根據正負樣本門檻值是否會動态變化,硬标簽配置設定方法又細分為靜态和動态兩類。靜态标簽配置設定方法主要基于距離、IOU等先驗知識設定固定門檻值去區分正負樣本,如FCOS、兩階段标檢測算法、RFLA等;動态标簽配置設定方法則根據不同政策動态設定門檻值選擇正負樣本,如ATSS、PAA、OTA、DSL、SimOTA等。硬标簽配置設定本質上不區分訓練過程中不同品質的預測框,即樣本非負即正。

軟标簽配置設定方法會基于預測結果與真實框計算軟标簽和正負權重,在候選正樣本(一般為落在GT内點)的基礎上根據正負權重潛在配置設定正負樣本和計算損失,且會在訓練過程中動态調整軟标簽和正負權重,如GFL、VFL、TOOD、DW等。

單階段檢測算法主流的标簽配置設定方法總結

按照本人淺顯的看法,根據是否有預測結果參與,标簽配置設定方法又可以分為基于先驗和基于預測兩類。

基于先驗的方法僅利用訓練前就已知的先驗資訊(距離、IOU等)去進行标簽配置設定,本質上當網絡結構和資料集确定後,正負樣本的配置設定就已經确定且不會在訓練過程改變,包括靜态标簽配置設定和部分動态标簽配置設定方法,如FCOS、ATSS等。

基于預測的方法則會根據模型預測結果和GT框的耦合結果去動态比對正負樣本,正負樣本會跟随訓練過程動态變化,理論上隻要模型預測的越準确,比對算法求得的結果也會更優秀,包括部分動态标簽配置設定方法和軟标簽配置設定方法,如DSL、SimOTA、GFL、VFL、TOOD、DW。這裡就會存在一個訓練冷啟動的問題,正如RangiLyu在NanoDet-Plus知乎文章中提到的,神經網絡在随機初始化情況下具備一定抗噪能力,會自動學習到最容易的特征,一些算法也會在損失計算中引入中心先驗資訊(center prior)來解決冷啟動問題,如Autoassign、DW等。

另外,硬标簽配置設定方法其實是可以和軟标簽配置設定方法同時使用,典型的如NanoDet使用了ATSS和GFL,NanoDet-Plus使用了DSL和GFL。當兩者聯合使用時,硬标簽配置設定方法就相當于給軟标簽配置設定方法提供了候選正樣本,否則軟标簽配置設定方法将直接使用GT框内樣本作為候選正樣本。但是聯合使用可能會導緻對小目标檢測不夠友好。

對于小目标,本身落在下采樣特征圖GT框内的正樣本就較少,尤其在基于預測的硬标簽配置設定方法階段,模型初始化訓練效果較差很容易導緻配置設定給小目标的正樣本不夠,之後在計算損失函數時又引入軟标簽,進一步對這些正樣本區分正負權重,導緻最終用于監督訓練的正樣本損失信号較弱,影響最終的訓練和檢測效果,這部分在DW論文最後也有提及。但是這樣聯合使用對于大模型(抗噪和收斂能力強)和中大尺寸物體的檢測還是有幫助。

單階段檢測算法主流的标簽配置設定方法總結

ATSS

原理: 基于L2距離和IOU等先驗資訊自适應計算正負樣本門檻值。

步驟:

  1. 對于圖像上每個真實框(GT),在不同層級特征圖上選取L2距離最近的前k(預設為9)個預設框作為候選正樣本;
  2. 針對每個真實框(GT),計算所有層級特征圖上候選正樣本與真實框的交并比(IOU),并求取均值和方差;
  3. 以均值和方差之和作為IOU門檻值,大于門檻值的候選正樣本為最終正樣本(配置設定到多個GT框時選擇最大的),剩餘為負樣本;

RFLA

原理: 基于距離和IOU來進行标簽配置設定,對于小目标來說,容易出現當真實框内不包含任何特征點或IOU=0時,導緻配置設定不到足夠的正樣本。另外,根據文獻1結論,特征點對應原圖的感受野符合高斯分布,是以将預設框模組化為高斯分布并計算與真實框的KL散度相比基于框或點的先驗更加合适。

步驟:

  1. 根據各層特征圖的步長及感受野計算公式得到每個特征點對應預設框;
  2. 将所有預設框預設配置設定為背景;
  3. 對于每個預設框,與所有真實框的KL散度(與IOU作用相同)小于負樣本門檻值(預設0.8)為負樣本;
  4. 對于每個真實框,選取KL散度最大的前k(預設為3)個預設框作為正樣本;
  5. 對預設框長寬進行放縮,之後重複步驟4(注意此步驟k會适當減小,一般取1);
  6. 對步驟4和步驟5得到的正樣本求交集得到最終正樣本;

SimOTA & DSL

原理: 通過計算模型輸出與真實框的代價矩陣和IOU,在訓練過程中根據預測結果動态配置設定預設框。

步驟:

  1. 将落在真實框内的特征點作為候選正樣本;
  2. 将模型輸出的候選正樣本預測結果與真實框(GT)計算代價矩陣,代價矩陣包括關于分類的交叉熵損失和關于回歸的IOU損失;
  3. 對于每個真實框(GT),選取IOU最大的前k1(預設為16)個模型輸出的候選正樣本預測框,并對這k1個IOU值求和作為各個真實框最終的動态k2,即對于每個真實框,最終選取代價矩陣最小的前k2個候選正樣本預測框作為正樣本,其他作為負樣本,配置設定到多個GT的預測框取代價最小的GT;

這種政策與之前的ATSS最大的不同就是,它不再隻依賴先驗的靜态的資訊,而是使用目前的預測結果去動态尋找最優的比對,隻要模型預測的越準确,比對算法求得的結果也會更優秀。

AutoAssign

原理: 将落在真實框内的點區分前後景,并根據IOU、分類得分以及中心先驗分别計算正負權重,實作對真實框内物體形狀的自适應(區分前背景)和對不同FPN上正負樣本的自動劃分,并引入ImpObj分支輸出前背景得分。

步驟:

  1. 所有FPN層的特征點落在GT框内的作為候選正樣本,其他為負樣本;
  2. 針對候選正樣本,根據其與GT框的IOU計算負權重,針對GT框外的負樣本,負權重固定為1;
  3. 負權重與所有樣本的負置信度(分類得分*前後景得分)相乘後計算交叉熵得到所有樣本的負權重損失;
  4. 針對候選正樣本,結合分類得分、前後景得分、回歸損失得到正置信度,并根據正置信度和基于高斯分布的中心先驗得到正權重,與正置信度相乘計算交叉熵得到候選正樣本的正權重損失;
  5. Loss = 所有樣本的負權重損失 + 候選正樣本的正權重損失

TOOD

原理: 針對分類回歸任務解耦頭帶來的不對齊問題,根據正樣本要高得分準确框、負樣本要低得分的預期,設定了融合分類得分和框IOU的度量方式區分正負樣本。

步驟:

  1. 所有FPN層的特征點落在GT框内的作為候選正樣本,其他為負樣本;
  2. 計算預測框與真實框的IOU,并根據計算得到度量t作為分類标簽;
  3. 根據t排序并選擇前k個預測框作為正樣本;
  4. 如果一個預測框配置設定到多個GT,則選擇IOU最大的那個作為唯一GT;
  5. 計算預測框分數與對應度量t的交叉熵分類損失和回歸損失。

DW

原理: 針對軟标簽配置設定方法中關于正樣本正負權重耦合導緻無法有效區分部分候選正樣本問題,提出針對正負權重解耦的計算方式,并引入Box Refine子產品獲得更加精準的坐标回歸。

步驟:

  1. 所有FPN層的特征點落在GT框内的作為候選正樣本,其他為負樣本;
  2. 針對候選正樣本,根據與GT框IOU計算分段負置信度,并與分類得分(centerness)耦合得到負權重,針對GT框外負樣本的負權重固定為1;
  3. 負權重與分類得分(centerness)的交叉熵相乘得到所有樣本的負權重損失;
  4. 針對候選正樣本,根據分類得分(centerness)、IOU(實際代碼使用回歸損失)和基于高斯分布的中心先驗耦合得到正權重,與分類得分(centerness)的交叉熵相乘得到候選正樣本的正權重損失;
  5. 針對候選正樣本計算GIOU損失,并乘以正權重;
  6. Loss = 所有樣本的負權重損失 + 候選正樣本的正權重損失 + GIOU損失

其他思考:

DW的很多思想和實作與Autoassign相似,具體的:

相同:

  1. 都針對GT框内候選正樣本進行正負權重計算,區分前背景;
  2. 針對GT框外負樣本的負權重均為1;
  3. 針對GT框内候選正樣本的正權重計算都采用分類得分、回歸損失、基于高斯分布的中心先驗;

差別:

  1. Autoassign引入ImpObj分支輸出前背景得分(0.9AP),DW保留centerness分支(可被基于高斯分布的中心先驗替代?),并增加Box Refine子產品獲得更加精準的坐标回歸(0.7AP);
  2. 針對GT框内候選正樣本的負權重計算,Autoassign采用關于IOU的單調函數,DW采用基于IOU的分段函數和分類得分;
  3. 交叉熵的計算,Autoassign将權重和置信度相乘後求交叉熵,DW則将權重放在置信度的交叉熵外;
  4. Autoassign沒有單獨設定回歸損失,DW則在正負權重損失之外保留了GIOU回歸損失;
  5. 正置信度的計算,Autoassign采用分類得分、前後景得分、回歸損失的耦合,DW則隻采用分類得分和centerness得分;

DW與GFL對比:

GFL主要解決訓練時品質分支隻針對正樣本有監督,但是在預測時正負樣本均會輸出品質分數并與分類得分相乘作為最終得分,負樣本的品質分數在訓練時沒有監督信号就可能在推理時輸出随機的高品質分數,導緻最終得分排在前面損害檢測精度的問題,為此引入QFL,将品質分支和分類分支合并并監督所有正負樣本。

相同:

  1. 看似解決問題不同,但都引入預測框與GT框的IOU作為候選正樣本監督信号或軟标簽,本質思想都源于Autoassign區分GT框内前背景特征點并計算正負權重的思想;
  2. 分類分支的計算本質都是交叉熵損失;

不同:

  1. GFL的候選正樣本為經過ATSS等标簽配置設定方法擷取,DW則為落在GT框内所有特征點;
  2. GFL的正負權重隻引入了分類得分和IOU且正負權重存在耦合,DW則引入了分類得分、IOU和中心先驗分開計算正負權重,且正負權重具體的計算公式存在差異;

參考文獻:

1、Shifeng Zhang, Cheng Chi, Yongqiang Yao, Zhen Lei, and Stan Z Li. Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection.

2、Xu C, Wang J, Yang W, et al. RFLA: Gaussian receptive field based label assignment for tiny object detection[C]//European Conference on Computer Vision. Springer, Cham, 2022: 526-543.

3、Luo, W., Li, Y., Urtasun, R., Zemel, R.: Understanding the effective receptive field in deep convolutional neural networks. Advances in Neural Information Processing Systems 29 (2016)

4、Ge Z, Liu S, Wang F, et al. Yolox: Exceeding yolo series in 2021[J]. arXiv preprint arXiv:2107.08430, 2021.

5、Xiang Li, Wenhai Wang, Lijun Wu, Shuo Chen, Xiaolin Hu, Jun Li, Jinhui Tang, and Jian Yang. Generalized focal loss: Learning qualified and distributed bounding boxes for dense object detection.

6、Benjin Zhu, Jianfeng Wang, Zhengkai Jiang, Fuhang Zong,Songtao Liu, Zeming Li, and Jian Sun. Autoassign: Differentiable label assignment for dense object detection.

7、Li S, He C, Li R, et al. A Dual Weighting Label Assignment Scheme for Object Detection[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 9387-9396.

8、https://zhuanlan.zhihu.com/p/158218797

9、https://zhuanlan.zhihu.com/p/449912627

繼續閱讀