作者主頁(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文網址:[YOLO專題-27]:YOLO V5 小目標檢測遇到的問題與常見解決辦法_文火冰糖(王文兵)的博客-CSDN博客
目錄
第1章 前言:
第2章 小目標檢測常見問題
2.1 大小目標混合的場合
2.2 只有小目標的場合
第3章 小目標檢測困難的原因
3.1 模型對小目標總數的支持不夠
3.2 小目標漏檢率太高
3.3 解決問題的基本思路
第4章 小目標檢測可能的解決之道:輸入圖片
4.1 目標數量超標
4.2 目標像素太少
第5章 小目標檢測可能的解決之道:預測模型
5.1 針對目標數量超標的問題
5.2 針對目標像素太少的問題:統一模型
5.3 針對目標像素太少的問題:分離模型
第1章 前言:
在實際應用中,有時候,在一張圖片中有大目標,也有小目標,且小目標的數量可能遠遠大于大目標的數量,同一個模型要檢測大目標和小目標時,對小目標的檢測效果往往不盡如人意,
本文就是探討小目標檢測的問題以及可能的解決辦法,
第2章 小目標檢測常見問題
2.1 大小目標混合的場合
在這種場合中,一張圖片上有少數的大目標,有小目標,
常見的問題有:
(1)能夠準確地檢測到大目標,但檢測不到小目標
(2)小目標的recall 率很低,大量的小目標檢測不到,被遺漏
(3)小目標的數量太多,模型對小目標總是的支持不夠
2.2 只有小目標的場合
在這種場合中,一張圖片上全是小目標,
(1)小目標的recall 率很低,大量的小目標檢測不到,被遺漏
(2)小目標的數量太多,模型對小目標總數的支持不夠
第3章 小目標檢測困難的原因
在找到或提供解決辦法之前,首先弄清楚不同問題原因,
3.1 模型對小目標總數的支持不夠
這種情況來自兩個主要方面的原因:
(1)圖片本身:單張圖片的目標太多
有時候,單張圖片中小目標的數量太多,比如細胞的圖片,一張圖片中,包含了上百萬個細胞,這就不是模型本身的問題了,而是圖片的問題,
(2)模型本身:模型設計的限制
模型對單張圖片支持的目標的數量受限于模型本身的設計,如果圖片中目標的數量超出了模型支持的最大數量,自然會出現模型對小目標總數支持不夠的問題,
3.2 小目標漏檢率太高
這種情況,單張圖片中小目標的數量完全滿足模型設計的要求,這時候,依然會出現大量小目標檢測不到的情況,這里也分為兩種原因:
(1)圖片本身
小目標包含的像素少,比如,一張尺寸為640 * 640的圖片, 大目標的像素通常大于 100 * 100,這種情形下,而小目標的像素通常只有10*10個像素點,甚至更少,

從上圖中可以看出,小目標與大目標在長度和寬度尺寸上相差超過10倍以上,像素點(面積)相差上百倍,
像素點越少,目標圖片,經過卷積后的特征就更少了,那么用于目標檢測和分類的特征就更少了,
能夠提供的原始資訊越少,則被漏檢的可能性就越大,
(2)模型本身
通常情況下,模型是通過卷積來提取原始圖片像素中包含的特征的,感受野就反應了單個高層特征的資訊與原始像素之間的對應關系,在網路卷積核確定的情況下,隨著網路層數的增加,單個高層特征反應原始圖片像素的范圍就越大,視野就越寬,高層資訊越是能夠反應原始圖片中物體的宏觀輪廓,如下圖所示:


然后,隨著網路層數的增加和感受野的變大,微觀的資訊就會丟失, 這樣對于小目標的資訊就會聚合到一個點,小目標原本包含的像素就少,隨著感受野的增加,聚合后的特征就更少了,比如10*10像素的小目標,經過卷積后的特征可能就只有1*1,甚至出現多個10*10像素的小目標,經過多次卷積核,合并成了一個特征,這樣,小目標就無法識別,
因此,深層的多次卷積,對于小目標的微觀特征實際上是不利的,
3.3 解決問題的基本思路
綜上所述,要解決小目標檢測問題,需要從兩個角度來解決
(1)輸入圖片
(2)預測模型
第4章 小目標檢測可能的解決之道:輸入圖片
4.1 目標數量超標
(1)先把圖片切分成多張圖片,然后對每張圖片單獨進行檢測,最后進行匯總
這種方法的難點是:需要處理好圖片與圖片之間的切割線上的目標,因此需要通過一定的重疊區來解決,
4.2 目標像素太少
(1)區域放大
通剪切的方式獲取包含小目標的一片圖片,然后對剪切后的圖片進行像素增強,最后對增強后的圖片進行目標檢測,這種方法優點類似現實生活發現小目標的方法:先聚焦聚焦,然后放大,再進行鑒別,
這種方法的難點是:如何剪切包含小目標的圖片,依據什么原則來截取大圖片的區域,計算機如何知道那片區域包含小目標?區域的大小、邊界如何確定?


(2)整體增強
- 對整張圖片進行資料增強,甚至增加圖片的尺寸
- 通過高倍的照相機獲取高解析度的圖片
這種方法的問題是:連同大目標一并進行了增強,導致整張圖片的像素變得非常大,而對于大目標而言,這種增強是沒有意義的,導致預測的時間變長,

在高解析度的情況下,小目標也具備清晰的特征和較多的像素,
(3)增加沒有目標的背景圖片
通過明確的告訴網路,什么是沒有目標的背景,什么是目標,這樣通過背景與目標的反差,就能夠區分出圖片中微小的物體,

這種地面上沒葉子的圖片就可以作為背景,以區分地面與地面上小目標:葉子,
第5章 小目標檢測可能的解決之道:預測模型
5.1 針對目標數量超標的問題
通過修改或選擇支持更多目標的模型,支持的目標越多,模型所需要的記憶體越大,
5.2 針對目標像素太少的問題:統一模型
這種方式下,大目標和小目標處于相同的圖片上,采用相同的圖片訓練同一個模型,
訓練出來的模型,同時識別大目標與小目標,
為了能夠更好的識別小目標,可以采用的方法有:
(1)降低網路的層數:避免多個小目標經過多層卷積核混合在一起,無法區分,
(2)減少卷積核的尺寸:編碼小目標的所有像素卷積成一個特征,
(3)減小步長:避免跳過部分小目標的像素提取,
總之,為了迎合小目標的識別,需要犧牲對大目標的更高層次的抽象,
5.3 針對目標像素太少的問題:分離模型
針對大目標和小目標,采用不同的模型和資料集進行訓練和預測,
(1)識別大目標時:
- 不識別小目標,小目標作為背景
- 盡可能采用大型、深層次網路提取
(2)識別小目標時:
- 不識別大目標、大目標作為背景
- 盡可能采用小型、淺層次網路提取特征
- 訓練圖片,可以是原始圖片,也可以是從原始圖片截取的包含小目標的圖片,
作者主頁(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文網址:[YOLO專題-27]:YOLO V5 小目標檢測遇到的問題與常見解決辦法_文火冰糖(王文兵)的博客-CSDN博客
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413656.html
標籤:其他
上一篇:MOCO: Momentum Contrast for Unsupervised Visual Representation Learning
