唐 彬 ,劉政怡, 張志立, 檀亞誠
(1.合肥學院 人工智能與大數(shù)據(jù)學院,合肥 230601;2.安徽大學.a多模態(tài)認知計算安徽省重點實驗室;b計算機科學與技術學院,合肥 230601)
偽裝是自然界廣泛存在的一種生物現(xiàn)象。生物學家發(fā)現(xiàn),自然界的生物經(jīng)常利用自己的結(jié)構(gòu)和生理特征來躲避捕食者。例如,變色龍可以隨著環(huán)境的變化而改變身體的顏色;螃蟹通常會找到與其外表相似的棲息地隱藏起來。這種通過改變自身顏色、形態(tài)而完美地融入周圍環(huán)境的偽裝能力通過欺騙觀察者的視覺感知系統(tǒng)而成為保護動物的武器。如圖 1所示的偽裝物體幾乎很難被人類肉眼識別。
圖 1 偽裝示例圖(第一行是圖像,第二行是偽裝物體真值)
對偽裝的最早研究可以追溯到上個世紀,Thayer 等人[1]在1918年系統(tǒng)地研究了偽裝現(xiàn)象。一百多年過去了,生物學家們?nèi)詫ρ芯窟@一重要的自然現(xiàn)象保持著熱情。Cuthill等人[2]提出有效的偽裝包括兩種機制:背景模式匹配,即自身顏色與周圍環(huán)境相似;混隱色,即與邊緣環(huán)境相似的顏色,使帶有迷彩標記的物體和背景之間的邊界不明顯。Pike等人[3]結(jié)合了幾個顯著的視覺來量化偽裝,以模擬捕食者的視覺機制。Pan等人[4]提出一種基于三維凸包的偽裝物體檢測框架。Zhang等人[5]提出一種檢測運動偽裝物體的貝葉斯方法。除了這些傳統(tǒng)方法之外,目前已有許多基于深度學習的偽裝物體檢測算法。Le等人[6]設計了一個通用的端到端網(wǎng)絡用于偽裝物體分割,將分類信息集成到像素級分割中;Yan等人[7]提出了一種以翻轉(zhuǎn)圖像為輸入的對抗分割流,以增強主分割流對偽裝物體檢測的識別能力;Fan等人[8]提出了一個偽裝物體檢測數(shù)據(jù)集COD10K和一個偽裝物體檢測框架,將偽裝物體檢測研究提升到一個新的水平;之后,F(xiàn)an等人[9]、Mei等人[10]和Xu等人[11]都基于模擬人類視覺機制的兩階段檢測過程提出了偽裝物體檢測框架;Ren等人[12]、Zhang等人[13]、Li等人[14]和Liu等人[15]通過放大細微紋理差異、估計深度信息、聯(lián)合訓練顯著目標檢測任務和度量置信度來識別偽裝物體;Sun等人[16]提出了一種上下文感知交叉融合網(wǎng)絡用于偽裝物體檢測;Dong等人[17]提出一個集成了大感受野和有效的特征融合的統(tǒng)一框架;Lv等人[18]提出了一個基于排序的偽裝物體檢測網(wǎng)絡,可以同時對偽裝對象進行定位、分割和排序;Zhai等人[19]設計了一種交互的圖學習模型用于偽裝物體檢測,將傳統(tǒng)的學習思想從規(guī)則網(wǎng)格推廣到圖域;Yang等人[20]設計了概率表征模型,結(jié)合注意力機制,推斷不確定區(qū)域,有效實現(xiàn)確定和不確定區(qū)域的共同推演;Ji等人[21]引入邊緣檢測加強偽裝物體檢測效果。這些仿生模型背后的共同想法是,探索和整合額外的線索到表征學習中,大大優(yōu)于傳統(tǒng)的方法。
近年來,Transformer在自然語言處理和計算機視覺圖像領域大放異彩,刷新了許多研究任務的最高水平。相比于卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN),基于Transformer的模型可以建模長程依賴,具有更好的全局特征。因此,本文借助Transformer實現(xiàn)偽裝物體檢測,發(fā)揮Transformer抽取特征的優(yōu)勢,實現(xiàn)偽裝物體檢測精度的提升。
基于Transformer的偽裝物體檢測模型的總體框架如圖 2所示,它是由一個Transformer主干編碼器、一個特征增強模塊、一個解碼模塊組成。其中特征增強模塊包括高層的上下文探索模塊和低層的細節(jié)注意力提升模塊,解碼模塊也相應地包括高層解碼塊和低層解碼塊。
圖 2 偽裝物體檢測模型
近年來提出的一些Transformer主干展示了強大的特征表示能力和對輸入干擾的魯棒性,特別是相比于ResNet等CNN主干,Transformer主干提取的特征表征能力更強。PVT[22]就是其中一種具有影響力的主干編碼器。它在原有ViT[23]的基礎上進行了一些改進,采用漸進式收縮策略產(chǎn)生類似CNN的多尺度特征圖,利用空間裁剪注意力層降低計算代價。升級版本PVTv2[24]利用重疊切塊,保證局部連續(xù)性;引入零填充位置編碼,以深度感知卷積適應不同分辨率輸入;改進空間裁剪注意力層為線性版本,進一步降低多頭自注意力的計算成本。這些改進都保證了主干編碼器抽取的特征兼具全局和局部特性,表達能力更強。
具體做法如下:PVTv2首先將輸入的圖像分割成重疊的塊,然后將這些塊送入多階段Transformer編碼塊,其中的多頭自注意力和前饋網(wǎng)絡對塊之間的關系進行建模。隨著網(wǎng)絡深度的增加,塊的數(shù)量逐漸減少以產(chǎn)生層次的特征表示??紤]到計算代價和效率,采用了B2版本。[24]
主干網(wǎng)絡提取的層次特征中的高層特征包含豐富語義信息,低層特征保留了更多的細節(jié)信息。而偽裝物體最大的特點就是與背景極其相似,因此在高層特征定位偽裝物體時,應嘗試多種尺度,提高感受野的豐富程度,確保產(chǎn)生正確的位置信息;在低層特征補充細節(jié)時,應盡量過濾低層特征的噪聲。因此,在特征增強模塊,采用分而治之的策略。對于高三層,設計了上下文探索模塊,嘗試盡可能多的感受野,以確保準確定位偽裝物體;對于低一層,設計了細節(jié)注意力提升模塊,在通道和空間上賦予重要的特征以更多的權重,以有效過濾噪聲。下面分別介紹上下文探索模塊和細節(jié)注意力提升模塊。
1.3.1 上下文探索模塊
上下文探索模塊如圖 3所示,其主要作用就是豐富高層語義信息的感受野,確保準確定位偽裝物體。
圖 3 上下文探索模塊
它由四個分支組成,每個分支上,首先利用1×1的卷積將特征的通道數(shù)降為64,然后在第k(k=2,3,4)個分支上分別運用膨脹率為1、卷積核為2k-1的膨脹卷積,再次運用膨脹率為2k-1、卷積核為3×3膨脹卷積。注意,每個膨脹卷積后跟批歸一化和ReLU激活函數(shù)。接著,四個分支被級聯(lián)在一起,再利用一個3×3的卷積將通道數(shù)降為64。最后,級聯(lián)的特征與原始特征做一個殘差連接,以保持更多的原始信息。具體公式如下:
(1)
1.3.2 細節(jié)注意力提升模塊
細節(jié)注意力提升模塊如圖 4所示,其主要作用就是消除低層特征中的噪聲,確保細節(jié)無干擾。它由通道注意力和空間注意力組成,通道注意力利用最大池化和平均池化壓縮空間位置獲得通道上的全局信息,再經(jīng)過一個共享的兩層感知機,分享各自的優(yōu)勢,形成兩個維度上的通道注意力,最后二者相加,經(jīng)過一個Sigmoid激活函數(shù),生成通道注意力圖Mc。空間注意力圖的產(chǎn)生,則是對通道做最大池化和平均池化,然后通過卷積和Sigmoid激活函數(shù),產(chǎn)生空間注意力圖Ms。形成的通道注意力圖和空間注意力圖分別連續(xù)地乘到原始特征上,加強其在通道和空間方面的權重,突出有意義的通道和空間位置,弱化其余部分,以此消除噪聲。具體公式如下:
(2)
(3)
圖 4 細節(jié)注意力提升模塊
偽裝物體檢測屬于像素級別的分割任務,所以需要解碼器進行解碼,恢復圖像分辨率。鑒于高層特征與低層特征各自的優(yōu)勢,在解碼階段,依然采取分而治之的策略。高層解碼塊利用乘法操作取交集,然后從最高層開始逐步級聯(lián)、上采樣、卷積,最后形成最優(yōu)的高層特征。低層解碼塊則對高層的解碼特征在邊緣細節(jié)上加以優(yōu)化,具體利用高層和低層的差異產(chǎn)生偽裝物體邊緣信息,再與高層特征產(chǎn)生的偽裝背景圖求交集,增強邊緣線索,最后通過殘差的方式加到高層解碼特征上。下面分別介紹這兩部分解碼過程的具體細節(jié)。
1.4.1 高層解碼塊
(4)
其中,Up為上采樣操作。
接著,遞進地級聯(lián)上采樣進行高層解碼,具體表示為:
(5)
1.4.2 低層解碼塊
低層特征雖然包含一些噪聲,但是對于空間方面的細節(jié)信息描述得比較全面。因此,低層特征可以用來增強高層解碼后的邊緣信息。
首先,利用第一層特征與第四層特征的差異得到邊緣信息
(6)
(7)
最后,將增強的邊緣信息補充到高層解碼特征上,這一步利用殘差連接實現(xiàn)
(8)
解碼完成后,通過1×1卷積和四倍上采樣操作,產(chǎn)生偽裝結(jié)果
(9)
數(shù)據(jù)集包括CAMO[6]、CHAMELEON[8]、COD10K[8,9]和NC4K[18]。CAMO含有8個類別1,250張偽裝圖像,其中1,000張用于訓練,250張用于測試。CHAMELEON是76張從互聯(lián)網(wǎng)下載的圖像,僅用于測試。COD10K包含從多個攝影網(wǎng)站下載的5,066張偽裝圖像,涵蓋5個超類、69個子類,其中3,040張用于訓練,2,026張用于測試。NC4K提供了4,121張圖像,組成了目前最大的測試集。本文采用與SINetV2[9]一樣的訓練集,共計4,040張圖像,是由CAMO 和COD10K的訓練集組成,剩余圖像用于測試。在訓練和測試階段,輸入的圖像被調(diào)整為352×352大小。評價指標包括PR曲線、S-measure、F-measure、E-measure和MAE。具體詳見[9]。對比算法包括SINet[8]、ERRNet[21]、C2F-Net[16]、Rank-Net[18]、MGL[19]、JCOD[14]、PFNet[10]、SINet-V2[9]、UGTR[20],它們出自近兩年的一些重要會議和期刊,如CVPR、ICCV、IJCAI、PAMI、PR。損失函數(shù)采用的是像素位置感知損失。[25]
圖 5顯示了四個數(shù)據(jù)集上的PR曲線的對比。表1給出了四個數(shù)據(jù)集上評價指標的定量比較結(jié)果。PR曲線對比圖清楚地表明本文設計的模型的曲線非常高,這意味著本文方法明顯優(yōu)于其他方法。此外,評價指標對比表也一致性地表明提出的模型的所有指標在四個數(shù)據(jù)集上的提升都較為明顯,從而證明本文所提模型的有效性。這主要得益于Transformer主干的優(yōu)勢。
(a) CAMO
(b) CHAMELEON
(c) COD10K
(d) NC4K圖5 不同模型在四個數(shù)據(jù)集上的P-R曲線對比
表1 不同模型在四個數(shù)據(jù)集上的S-measure、加權 F-measure、均值 E-measure、MAE指標對比
(1)驗證主干編碼器的有效性。本文模型的主干編碼器采用的是PVTv2。為了驗證其有效性,采用ResNet50[26]作為主干編碼器去代替PVTv2。從表2的對比結(jié)果可以看出,PVTv2的模型表現(xiàn)較ResNet50有大幅度提升。這也是本文模塊在性能上全面超過目前已有的偽裝物體檢測模型的主要原因。
表2 主干編碼器的有效性分析
(2)驗證特征增強模塊的有效性。特征增強模塊包括高層的上下文探索模塊(M1)和低層的細節(jié)注意力提升模塊(M2)。表3展示了去掉這兩個模塊后的對比。從對比結(jié)果發(fā)現(xiàn),模型的四項指標在CAMO、COD10K、NC4K數(shù)據(jù)集上都有小幅下降,從而驗證了這兩個模塊的有效性。不過也發(fā)現(xiàn)CHAMELEON數(shù)據(jù)集上的結(jié)果存在一些偏差,這可能是因為這個數(shù)據(jù)集規(guī)模太小、僅有76張圖像的原因。
表3 特征增強模塊有效性分析
(3)驗證解碼的有效性。解碼包含高層的遞進解碼(D1)和低層的邊緣增強解碼(D2)。表4展示了使用普通的逐層上采樣、級聯(lián)、卷積解碼代替D1和D2的對比結(jié)果。從對比結(jié)果發(fā)現(xiàn),模型的四項指標都有小幅下降,從而驗證了這兩個模塊的有效性。其中CHAMELEON數(shù)據(jù)集依然存在一定的偏差,與其他三個數(shù)據(jù)集不一致,可能是該數(shù)據(jù)集數(shù)據(jù)較少引起的。
表4 解碼的有效性分析
論文提出一種基于Transformer的偽裝物體檢測模型,該模型充分利用Transformer主干編碼器的優(yōu)勢,提取更具判別性的特征。同時為了滿足偽裝物體檢測的像素級預測任務,本文設計了特征增強模塊,對于高層特征設計了上下文探索模塊,提升高層特征感受野的豐富程度,對于低層特征設計了細節(jié)注意力提升模塊,利用注意力機制過濾空間細節(jié)噪聲。同時,本文也設計了分別針對高層和低層的解碼器,高層部分實現(xiàn)了逐級相乘級聯(lián)的解碼過程,低層部分通過引入邊緣增強優(yōu)化物體邊緣。整個模型在四個數(shù)據(jù)集上的整體表現(xiàn)優(yōu)異,明顯強于目前已有的基于卷積神經(jīng)網(wǎng)絡的偽裝物體檢測模型,從而驗證了模型的整體有效性;同時,消融實驗中,通過主干對比、各模塊消除或替換也驗證了模型中各個模塊的有效性。