AI大視覺(二十) | 小目標檢測的tricks匯總


  本文來自公眾號“每日一醒”

 

在計算機視覺中,檢測小目標是最有挑戰的問題之一。

本文匯總了一些有效的策略。

 

為何小目標

(1)基於相對尺度

物體寬高是原圖寬高的1/10以下的可以視為小目標。

目標邊界框面積與圖像面積的比值開方小於一定值(較為通用的值為0.03)的可以視為小目標。

(2)基於絕對尺度

通常認為絕對尺寸小於32×32的物體可以視為小目標。

 

小目標為什么難檢測?

(1) 可利用特征少

低分辨率的小目標可視化信息少,難以提取到具有鑒別力的特征,並且極易受到環境因素的干擾,進而導致了檢測模型難以精准定位和識別小目標。

(2) 定位精度要求高

小目標由於在圖像中覆蓋面積小,因此其邊界框的定位相對於大/中尺度尺寸目標具有更大的挑戰性。

在預測過程中,預測邊界框框偏移一個像素點,對小目標的誤差影響遠高於大/中尺度目標。

(3) 現有數據集中小目標占比少

(4) 樣本不均衡問題

在訓練的過程中,通過設定固定的閾值來判斷錨框屬於正樣本還是負樣本。

這種方式導致了模型訓練過程中不同尺寸目標的正樣本不均衡問題。

當人工設定的錨框與小目標的真實邊界框差異較大時,小目標的訓練正樣本將遠遠小於大/中尺度目標的正樣本,這將導致訓練的模型更加關注大/中尺度目標的檢測,而忽略小目標的檢測。

(5) 小目標聚集問題

相對於大/中尺度目標,小目標具有更大概率產生聚集現象。

當小目標聚集出現時,聚集區域相鄰的小目標通過多次降采樣后,反應到深層特征圖上將聚合成一個點,導致檢測模型無法區分。

當同類小目標密集出現時,預測的邊界框還可能會因后處理的非極大值抑制操作將大量正確預測的邊界框過濾,從而導致漏檢情況。

另外,聚集區域的小目標之間邊界框距離過近,還將導致邊界框難以回歸,模型難以收斂。

 

如何改進?

1、高分辨率圖像采集(圖像源頭)(小目標變大系列)

2、高分辨率圖像模型輸入(模型源頭)(小目標變大系列)

3、圖像分塊(小目標變大系列)

訓練的時候分塊訓練,預測的時候也分塊訓練。

比如一張大圖像分成8塊,相當於一個batch size。

問題在於如何規避分塊時將目標分成兩部分。

4、Context信息(打標技巧)

標的大點添加周邊的信息輔助訓練。

上下文Context信息,那么目標就相當於變大了一些,上下文信息加上檢測也就更容易了。

5、數據增強

復制並粘貼每個圖像中的小目標多次。

從而讓模型在訓練的過程中,也能夠有機會得到更多的小目標訓練樣本。

6、特征提取

不同尺度的特征融合,在擴大感受野的同時,也融合多個尺度的特征,增強了模型對於小目標的檢測能力

7、損失函數

在bounding bbox損失上加一個針對小物體的權重2-w*h。

8、僅對小目標不設置過於嚴格的iou閾值

對小目標的Anchor使用比較寬松的匹配策略,盡量多的留下小目標。

9、小目標的過采樣

過采樣OverSampling策略。

對於數據集中含有小目標圖片較少的情況,使用過度采樣(oversample)的方式,即多次訓練這類樣本。

10、網絡模型

降低下采樣率與空洞卷積,減少小物體特征損失,同時在不改變網絡分辨率的前提下增加網絡的感受野,減小對大物體檢測性能的損失。

11、 優化Anchor尺寸設計

利用邊框聚類進行anchor尺寸設計,邊框聚類時通常使用K-Means算法,這也是YOLO采用的Anchor聚類方法,設計更好的Anchor可以有效提升Proposal的質量,設計貼近小物體尺寸的anchor能有效減小回歸量的variance,降低網絡的學習難度,提高recall。

 

總結

另外,由於anchor free里面樣本定位關系,小目標檢測會略好於anchor base的模型。

 

 

 

 

   

 

 ——————

淺談則止,細致入微AI大道理

掃描下方“每日一醒”,選擇“關注”公眾號

————————————————————— 

 

 

—————————————————————

投稿吧   | 留言吧

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM