解析目標檢測全流程!附代碼數據

點擊下方AI算法與圖像處理”,一起進步!

重磅乾貨,第一時間送達

作者:王程偉,算法工程師,Datawhale成員

在計算機視覺中,紅外弱小目標檢測是一個重要的方向,但直到近一兩年,纔開始運用一些深度學習的方法。深度學習自2012年就開始大火,爲何近一兩年才更多被應用於弱小目標檢測?

個人認爲主要是由於數據集的制約。紅外弱小目標成像特殊,一般獲得海量的真實數據非常困難(很多實驗數據由人工合成);另一方面多被應用於軍事領域,即使擁有大量真實數據也不被輕易公開。至今,仍然鮮有公開的可供應用和研究的標準紅外弱小目標數據集。

本文將從傳統圖像方法+機器學習的角度來說明如何進行紅外弱小目標檢測,所用數據集(MSDIT)均爲自己拍攝和標註,部分數據已上傳至開源數據平臺Graviti,供感興趣的同學學習和研究。

紅外弱小目標數據集

我們構建了一個多場景紅外弱小目標數據集(MSIDT)。MSIDT 共計 6267 張圖像,包含約 6625 個紅外弱小目標,包含建築背景、淨空背景、複雜雲背景、連續雲背景、樹木背景及其他(海面、海天)背景 6 種通用場景。

MSIDT中96%+數據採用紅外熱像儀實際拍攝

下圖顯示了 MSIDT 的一些統計特性,MSIDT 涵蓋了紅外弱小目標所有尺寸的變化範圍,其中 3*3 以內的點目標占一半以上,另外,9*9 左右的面目標約佔 2%。MSIDT 具有成像真實(非理論合成)、目標尺寸豐富、場景多樣的特性,且對所有目標均進行了標註。

俗話說,知己知彼百戰百戰不殆,我們接下來通過觀察分析一下紅外弱小目標成像究竟有何特性:

  • 目標像素個數佔整個圖像的比例非常少,根據 SPIE 對弱小目標的定義,"小"體現在:對於一幅 256×256 的紅外圖像,弱小目標所佔的面積一般在 81個像素以內,僅佔整幅圖像的 0.12%;

  • 缺失顏色特徵、紋理特徵和結構特徵,且容易和圖像中其他物體混淆,容易被噪聲淹沒。

  • 在局部鄰域內,目標的灰度強度較高,表現爲峯值;

  • 目標的灰度與相鄰的局部背景存在異質性和對比性;

  • 在局部鄰域內,目標具有孤立性,梯度和灰度在水平和垂直方向均有較大的變化。

  • 目標通常近似圓形或橢圓形,呈中心對稱狀,灰度從中心向四周彌散, 可利用二維高斯函數對其進行建模。

總體而言,做到精確地檢測紅外弱小目標具有一定挑戰性,接下來,我們將根據紅外弱小目標的成像特性設計算法進行檢測工作。

紅外弱小目標檢測過程

1. 計算顯著性圖和目標尺寸

我們首先利用灰度分佈計算得到一幅顯著性圖,以該顯著性圖爲基礎進行角點檢測以提取候選目標。

另外,雖然弱小目標很小,但其尺寸是變化的,要較準確地對其特徵進行提取,就需要能自適應地估計目標的尺寸。

我們將目標尺寸量化爲3x3、5x5、7x7、9x9的規則尺寸,在紅外圖像的局部鄰域內(如5x5的範圍內),弱小目標區域亮度通常高於其周圍背景區域,且背景區域的灰度變化較爲平緩,所以我們可以利用多尺度灰度差分獲取顯著圖:即對於某一像素,用其不同尺寸鄰域內的灰度均值差分的最大值表示其顯著性,簡單來說是分別使用3x3、5x5、7x7、9x9和11x11的濾波尺寸對圖像進行均值濾波,然後3x3、5x5、7x7、9x9的濾波結果分別減11x11的濾波結果,取最大值作爲顯著圖。

另一方面,我們觀察到,弱小目標通常呈現爲近似橢圓的形狀,灰度向四周彌散,與二維高斯函數類似,二維高斯函數有一個特性,就是以其頂點爲中心,隨着局部窗口的增大, 其中心區域的局部均值差分通常逐漸減小,而局部方差通常逐漸增大,局部均值差分與局部方差結合起來就可以對目標的尺寸(二維高斯模板的尺寸)進行估計:

表示計算顯著圖時不同濾波尺寸的局部方差, 表示第K個尺度的局部方差,這裏的尺度就是3x3、5x5、7x7、9x9大小的窗口。

最後取上式中最大值所對應的尺度作爲最優目標尺寸。對整個紅外圖像完成多尺度灰度-方差估計後,即可獲得顯著圖和每個像素位置對應的最優目標尺寸(最優目標尺寸索引圖)。

2. 提取候選目標ROI及NMS

在顯著圖中,紅外弱小目標在水平和垂直方向的梯度變化均較爲劇烈,這與角點的特徵一致。所以我們可以將顯著圖中的紅外弱小目標視爲角點,並利用具有速度優勢的 FAST 角點檢測定位視覺焦點以提取 ROI,且後續僅對這些 ROI 進行特徵提取避免了遍歷計算,可以提升檢測速度。

FAST角點檢測算法非常著名,在所有角點檢測算法中以速度極快著稱,其具體原理非常簡單,這裏不作贅述。這裏角點檢測會有一個問題:FAST 角點檢測同樣會將目標邊緣像素判斷爲角點,所以,在 真實目標周圍會產生一些冗餘的檢測結果(下方右上圖密集的紅點),所以我們還需要做NMS。

我們進行NMS的處理方式非常簡單,主要思想是利用紅外弱小目標中心區域的亮度平均要高於其邊緣區域這一特性,以候選角點爲中心,計算原圖中其最優尺寸區域內的亮度平均,在一定鄰域內刪除亮度平均較低的角點,保留該鄰域內平均最高的角點。經過NMS處理後會剔除所有目標邊緣的角點,而僅保留一個靠近目標中心的角點(上方右下圖只有一個紅點),後續將以該角點作爲目標中心點,由於紅外弱小目標的尺寸通常在 9*9 以內,爲了保留其周圍背景信息便於特徵提取,筆者以角點爲中心 21*21 的區域作爲ROI,並畫出檢測框。

3. 手工構建特徵集

實現紅外弱小目標準確的識別與其特徵描述的合理性和準確性密切相關。根據弱小目標的成像特性,我們構建了一個包含 6 個特徵的特徵集對紅外弱小目標進行描述,並根據前文所述的最優目標尺寸進行特徵提取。

  • 目標區域灰度最大值

  • 目標區域灰度平均值

  • 梯度特徵

如下圖,紅外弱小目標的梯度矢量場圍繞着目標大致指向區域中心,可以先對 ROI 內每 個像素求梯度幅值和梯度方向,然後以 ROI 中心爲原點將其劃分爲 4 個象限,對每個象限中滿足梯度方向條件的像素求其梯度幅值的均方值,將4 個象限中梯度幅值均方值的最小值和最大值的比值作爲梯度特徵。

  • 對比度
  • 顯著度
  • 方差特徵

考慮到出現目標的區域會存在劇烈的灰度變化,而其周圍背景一般相對較平滑,所以使用了方差特徵,將ROI區域分成如下3個子塊,分別爲BL、T1、BR和BU、T2、BD。S=21(當然也可以自己設定),TS爲目標最優尺寸,可以想象,當目標存在於T1和T2時,T1和T2的方差勢必會相對很大,而周圍BL、BR、BU、BD子塊爲背景,方差相對較小。

所以方差特徵就可以表示爲T1和T2方差的均值除以周圍BL、BR、BU、BD子塊方差的均值。

4. SOFT-FATR網絡

接下來,我們就用傳統的神經網絡進行訓練了。這裏我們選擇了FART(Fuzzy Adaptive Resonance Theory),這個網絡大家可能沒怎麼聽過,FART是ART網絡的衍生,ART網絡在西瓜書的第5章有簡略的描述,他們屬於競爭型學習的神經網絡,網絡的輸出神經元相互競爭,每一時刻僅僅允許有一個獲勝神經元被激活,其他神經元則被抑制,這類神經網路遵循這種"勝者通喫"的機制。

那麼爲什麼我們選擇這個網絡呢?高顯著性物體尤其某些形態類似於弱小目標的物體(如路燈)對檢測任務會產生較大幹擾,這種情況下將很難分類或界定真實目標和背景。這一問題可以視爲不確定性問題或不精確性問題,而模糊神經網絡能有效地解決這類問題,所以對於弱小目標檢測,我們選擇嘗試一下FART網絡。

另外,我們對FART做了一些小小的改進,原因是FART 網絡採用僅允許一個獲勝節點進行更新學習的硬競爭機制,浪費了神經節點的信息。在實際競爭中,往往存在多個滿足警戒條件的獲勝神經節點,而多個神經節 點之間存在相互抑制的現象。所以利用生物側抑制理論,並與餘弦相似度結合設計了軟競爭模糊自適應共振網絡(Soft-FART),Soft-FART 網絡允許對所有滿足警戒條件的獲勝神經節點進行學習更新,可以提高神經節點信息的利用率,以克服傳統 FART 網絡硬競爭機制的不足。

Soft-FART 網絡的輸入層 F0、比較層 F1 和識別層 F2 即爲傳統 FART 網絡。與傳統 FART 網絡不同的是,Soft-FART 網絡將競爭中所有滿足警戒條件的獲勝 神經節點組成勝出層 F3 和抑制層 F4。

當輸入矢量 I 傳遞給 F1 層時,F1 層對 F2 層各個神經節點均產生一個選擇 信號 ,同時 F2 層給 F1 層傳遞一個反饋信號 ,篩選出所有滿足警戒條件的 獲勝神經節點,而非僅允許一個神經節點勝出。

然後,在抑制層利用側抑制理論計算各獲勝神經節點之間的側抑制係數 並傳遞至勝出層;同時在勝出層計算出各獲勝節點與輸入矢量的餘弦相似度 作 爲各獲勝節點未受抑制時的初始興奮信號;最後勝出層結合側抑制係數 和初始興奮信號 計算出各獲勝節點的實際興奮信號 ,並將該信號反饋至 F2 層對 所有獲勝節點進行權值更新。每次競爭學習完成後,將本次勝出層和抑制層的神 經節點清除,下一次競爭出的獲勝神經節點將重新組成勝出層和抑制層。

採用 Soft-FART 對紅外弱小目標數據進行訓練時:相似環境下(特徵相似, 滿足警戒引起共振)的弱小目標數據會被歸爲同一"類",然後對特徵權重進行學習修正,以更泛化地描述該環境下的弱小目標;對於新環境下(特徵有一定區別,無法引起共振)的弱小目標數據,網絡通則產生新的神經節點以對該新環境下的弱小目標進行記憶;最後通過網絡的迭代學習,當特徵 權重趨於穩定或不再變化時即停止學習生成訓練模型。

5. 檢測流程

檢測效果

這個方法在MSIDT數據集上的準確率爲98%,召回率88%,F1是0.925,還有很大的提升空間。

代碼和數據

1.代碼 (PC端Graviti討論區也可查看) :

https://github.com/2209520576/Infrared-Dim-Target-Detection-Based-on-Human-Visual-Mechanism

2.數據:

https://gas.graviti.cn/dataset/datawhale/MSIDT

# 主要數據已上傳開源數據平臺Graviti


努力分享優質的計算機視覺相關內容,歡迎關注:
     
         
         
         
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載1:何愷明頂會分享


AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析


下載2:終身受益的編程指南:Google編程風格指南


AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!



   
       
       
       
下載3 CVPR2021

AI算法與圖像處公衆號後臺回覆: CVPR 即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文




本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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