博客專欄

EEPW首頁 > 博客 > AI偽裝目標(biāo)檢測:讓變色龍現(xiàn)出原形!

AI偽裝目標(biāo)檢測:讓變色龍現(xiàn)出原形!

發(fā)布人:數(shù)據(jù)派THU 時間:2022-02-13 來源:工程師 發(fā)布文章
在自然界中許多生物都具有“偽裝”的本領(lǐng),變色龍能夠根據(jù)周遭的環(huán)境來調(diào)整自身顏色以達到其“偽裝”的目的;獅子將身體“偽裝”在草叢之中而伺機等待獵物的靠近;蝴蝶躺在與自身顏色相近的樹干上一動不動以躲過天敵的傷害。生物學(xué)家將這類偽裝方式稱為背景匹配,即動物為避免被識別,會嘗試改變其自身顏色以“完美”地融入周圍環(huán)境。


圖片
如今,隨著CV領(lǐng)域在深度學(xué)習(xí)方向上的發(fā)展,學(xué)者們把目光投向了目標(biāo)檢測這一領(lǐng)域。與通用目標(biāo)檢測以及顯著性目標(biāo)檢測不一樣,通用目標(biāo)檢測與顯著性目標(biāo)檢測中目標(biāo)與背景均有較為明顯的差異性,這種差異通常情況下通過人眼也能較容易地分辨出來。但偽裝目標(biāo)檢測中偽裝目標(biāo)與背景之間存在高度的相似性,因此關(guān)于偽裝目標(biāo)的檢測顯得更具挑戰(zhàn)性。


圖片
在我看來,偽裝目標(biāo)的檢測與通用目標(biāo)檢測有所區(qū)別,但和顯著性目標(biāo)檢測有點類似,更多的是做語義分割,但不同于語義分割,偽裝目標(biāo)里的分割時一個二分類的問題(即前景和背景的分割)顯著性目標(biāo)檢測把輸入圖像分為顯著物體和背景,偽裝目標(biāo)是分割為偽裝目標(biāo)和背景。鑒于顯著性目標(biāo)和偽裝目標(biāo)研究的相似性,于是我將顯著性目標(biāo)與偽裝目標(biāo)合在一起進行研究。特征提取網(wǎng)絡(luò)與特征融合技術(shù)是我研究的重點。
關(guān)于偽裝目標(biāo)研究可應(yīng)用的領(lǐng)域十分廣闊,除了其學(xué)術(shù)價值外,偽裝物體檢測還有助于推動諸如軍事上偽裝隱蔽目標(biāo)的搜索探測、醫(yī)學(xué)領(lǐng)域上病情的判斷以及農(nóng)業(yè)遙感中蝗蟲的入侵等等。
目前,由于缺乏規(guī)模足夠大的數(shù)據(jù)集,偽裝物體檢測的研究還不夠深入,所以目前所有的研究都是基于由南開大學(xué)團隊為COD任務(wù)專門構(gòu)建出的COD10K數(shù)據(jù)集。
圖片


本次涉及三個方法,前兩個是針對顯著性目標(biāo)檢測所提出的,分別是EGNet和PFANet;而后面的是專門針對于偽裝目標(biāo)檢測提出的SINet。


首先對EGNet進行介紹,EGNet,也稱為邊緣引導(dǎo)網(wǎng)絡(luò),顧名思義,我們知道他在保護邊緣信息上做了功夫,整個方法可以分為三個步驟,第一步是提取邊緣特征(PSFEM),第二步是將局部的邊緣信息和全局的位置信息聚合(NLSEM),最后一步則是將特征進行平衡,得到我們想要的最后的特征(O2OGM)。


圖片
下面我們來詳細看一下各個結(jié)構(gòu),首先是PSFEM。EGNet采用的結(jié)構(gòu)是U-net的結(jié)構(gòu),將六個特征層,依次進行卷積的操作,然后再經(jīng)過一個卷積層。從Conv3-3、Conv4-3、Conv5-3、Conv6-3四條路徑分別提取目標(biāo)不同層次的特征信息。其中從骨架最后一層的Conv6-3提取的特征卷積后與邊緣信息結(jié)合用于O2OGM模塊;Conv3-3、Conv4-3、Conv5-3、Conv6-3之間都一個從深層到上一淺層的連接(從Conv6-3開始,Conv3-3結(jié)束),用來豐富特征信息。


圖片
然后是NLSEM模塊,采用骨架中的Conv-2-2提取目標(biāo)的邊緣特征。不使用Conv1-2是因為其太接近輸入層(噪聲多)并且其感受野較小,不使用Conv3-3及更深的層提取邊緣特征是因為他們所得到的feature map包含的邊緣信息較少,他們更多包含的是語義信息。
圖片


最后是O2OGM模塊,將Conv6-3提取的顯著性目標(biāo)特征信息與Conv2-2提取的邊緣特征結(jié)合后的特征分別與Conv3-3、Conv4-3、Conv5-3、Conv6-3每層提取的顯著性目標(biāo)特征進行融合,即圖中FF模塊的操作。FF操作很簡單,就是將高層特征上采樣然后進行拼接的操作,就可以達到融合的效果。


圖片
PFANet的結(jié)構(gòu)相對簡單,采用VGG網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),然后將前兩層特征稱為低層特征,后三層特征稱為高層特征,對他們采用了不同的方式進行特征增強,以增強檢測效果。
圖片

首先是對于高層特征,先是采用了一個CPFE來增大感受野,然后再接一個通道注意力模塊,即完成了對高層特征的特征增強(這里的這個CPFE,其實就是ASPP)。


圖片
然后再對經(jīng)過了CPFE后的高層特征使用通道注意力(CA)。
以上即是高層特征的增強方法,而對于低層特征,處理得則更為簡單,只需要使用空間注意力模塊(SA),即可完成。
圖片


整個PFANet的網(wǎng)絡(luò)結(jié)構(gòu)很清晰,如下圖所示。


圖片

介紹完EGNet和PFANet兩種方法以后,就剩下SINet了。SINet的思路來自于19年的一篇CVPR的文章《.Cascaded partial decoder for fast and accurate salient object detection》。這篇文章里提出了CPD的這樣一個結(jié)構(gòu),具體的可以取搜索一下這篇論文,詳細了解一下。


接下來我將介紹一個用于偽裝目標(biāo)檢測的網(wǎng)絡(luò)SINet。假設(shè)你是一頭饑腸轆轆的雄獅,此刻你掃視著周圍,視線突然里出現(xiàn)了兩匹斑馬,他們就是你今天的獵物,美食。確定好了目標(biāo)之后,那么就開始你的獵殺時刻。所以整個過程是你先掃視周圍,我們稱之為搜索,然后,就是確認目標(biāo),開始獵殺,我們稱之為確認。我們的SINet就是這樣的一個結(jié)構(gòu),他分為搜索和確認兩個模塊,前者用于搜索偽裝目標(biāo),后者用于精確定位去檢測他。


圖片
我們現(xiàn)在就具體來看看我們的SINet到底是怎么一回事。首先,我們都知道低層特征有著較多的空間細節(jié),而我們的高層特征,卻有著較多的語義信息。所以低層的特征我們可以用來構(gòu)建目標(biāo)區(qū)域,而高層特征我們則可以用來進行目標(biāo)定位。我們將這樣一張圖片,經(jīng)過一個ResNet的特征提取器。按照我們剛才的說法,于是我們將前兩層稱為低層特征,最后兩層稱之為高層特征,而第三層我們稱之為中層特征。那么有了這樣的五層特征圖,東西已經(jīng)給我們了?我們該怎么去利用好這些東西呢?


圖片
首先是我們的搜索模塊,通過特征提取,我們得到了這么一些特征,我們希望能夠從這些特征中搜索到我們想要的東西。那我們想要的是什么呢?自然就是我們的偽裝線索了。所以我們需要對我們的特征們做一些增強的處理,來幫助我們完成搜索的這樣一個任務(wù)。而我們用到的方法就是RF。我們來看一下具體是怎么樣實現(xiàn)的。首先我們把整個模塊分為5個分支,這五個分支都進行了1×1的卷積降維,我們都知道,空洞卷積的提出,其目的就是為了增大感受野,所以我們對第一個分支進行空洞數(shù)為3的空洞卷積,對第二個分支進行空洞數(shù)為5的空洞卷積,對第3個分支進行空洞數(shù)為7的空洞卷積,然后將前四個分支的特征圖拼接起來,這時候,我們再采用一個1×1卷積降維的操作,與第五個分支進行相加的操作,最后輸出增強后的特征圖。
圖片
這個RF的結(jié)構(gòu)來自于ECCV2018的一篇論文《 Receptive field block net for accurate and fast object detection》,其作用就是幫助我們獲得足夠的感受野。
我們用RF對感受野增大來進行搜索,那么搜索過后,我們得到了增強后的候選特征。我們要從候選特征得到我們最后要的偽裝目標(biāo)的檢測結(jié)果,這里我們用到的方法是PDC模塊(即是部分解碼組件)。
具體操作是這樣的,所以接下來就應(yīng)該是對它們進行處理了逐元素相乘方式來減少相鄰特征之間的差距。我們把RF增強后的特征圖作為輸入,輸入到網(wǎng)絡(luò)里面。首先對低層的進行一個上采樣,然后進行3×3的卷積操作(這里面包含了卷積層,BN層還有Relu層),然后與更高一層的特征圖進行乘法的這樣一個操作,我們?yōu)槭裁词褂弥鹪叵喑四??因為逐元素相乘方式能減少相鄰特征之間的差距。然后我們再與輸入的低層特征進行拼接。
圖片
我們前面提到了,我們利用增強后的特征通過PDC得到了我們想要得到的檢測結(jié)果,但這樣的一個結(jié)果足夠精細嗎?其實,這樣得到的檢測結(jié)果是比較粗略的。這是為什么呢?這是因為我們的特征之間并不是有和偽裝檢測不相關(guān)的特征?對于這樣的多余的特征,我們要消滅掉。我們將前面得到的檢測圖稱之為  ,而我們要得到精細的結(jié)果圖  ,就得使用我們的注意力機制了。這里我們引入了搜索注意力,具體是怎么實現(xiàn)的呢?大家想一想我們前面把特征分成了低層特征、高層特征還有中層特征。我們平時一般都叫低層特征和高層特征,很少有提到中層特征的。其實我們這里這樣叫,是有打算的,我們認為中層特征他既不像低層特征那么淺顯,也不像高層特征那樣抽象,所以我們對他進行一個卷積操作(但是我們的卷積核用的是高斯核函數(shù)方差取32,核的尺寸我們?nèi)?,我們學(xué)過數(shù)字圖像處理,都知道這樣的一個操作能起到一個濾波的作用,我們的不相關(guān)特征能被過濾掉)但是有同學(xué)就會問了,那你這樣一過濾,有用的特征不也過濾掉了嗎?基于這樣的考慮,我們把過濾后的特征圖與剛才的這個  再來做一個函數(shù),什么函數(shù)呢?就是一個最大化函數(shù),這樣我們不就能來突出偽裝圖  初始的偽裝區(qū)域了嗎?圖片

SINet整體的框架如圖所示:


圖片

講了這么多,我們最后來看看實驗的效果,通過對這三篇文章的復(fù)現(xiàn),我得到了下面的這樣一些結(jié)果。


圖片


可以看出,在精度指標(biāo)的評價方面,SINet相比于其他兩種方法都有很大提升,而PFANet模型結(jié)構(gòu)雖然很簡單,但他的效果也是最差的。


下面我們再看看可視化的效果:


圖片



圖片


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

手機電池相關(guān)文章:手機電池修復(fù)




關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉