譚道強(qiáng),曾 誠,2,3*,喬金霞,張 俊
(1.湖北大學(xué)計算機(jī)與信息工程學(xué)院,武漢 430062;2.湖北省軟件工程工程技術(shù)研究中心(湖北大學(xué)),武漢 430062;3.智慧政務(wù)與人工智能應(yīng)用湖北省工程研究中心(湖北大學(xué)),武漢 430062)
因光源遮擋,陰影廣泛存在于日常生活中。一方面,陰影雖會導(dǎo)致圖像內(nèi)容不完整,從而降低目標(biāo)識別、目標(biāo)跟蹤、視頻監(jiān)控、自動駕駛等任務(wù)的準(zhǔn)確性,但其存在也能為光照光向預(yù)估、物體的幾何形狀預(yù)測等視覺研究提供相應(yīng)的依據(jù)。所以研究陰影檢測算法,并將其用作計算機(jī)視覺任務(wù)的預(yù)處理步驟,提前標(biāo)注出陰影區(qū)域的位置,避免其與待處理目標(biāo)的混淆,可提高計算機(jī)視覺算法的魯棒性。
傳統(tǒng)的陰影檢測算法通過顏色空間或者光照不變性等物理模型,使用自定義特征,例如顏色、光照變化等來檢測陰影,但無法適用于場景復(fù)雜的陰影[1]。近年來,深度學(xué)習(xí)算法迅速成為主流,文獻(xiàn)[2-6]中提出了完整的本征圖像理論,該理論建立在光照均勻假設(shè)的基礎(chǔ)上,利用熵值最小化方法求取灰度不變圖像,但因光照并不均勻,無法得到魯棒的檢測結(jié)果。文獻(xiàn)[7]中提出基于支持向量機(jī)(Support Vector Machine,SVM)方法分別構(gòu)建成對區(qū)域分類器,使用圖割法算法實現(xiàn)最終預(yù)測,但仍然不具備較高的運算效率。隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[8-9]的出現(xiàn),陸續(xù)提出了一些基于CNN 的陰影檢測算法。文獻(xiàn)[10]中使用CNN 進(jìn)行陰影檢測,訓(xùn)練兩個網(wǎng)絡(luò)分別用于檢測陰影區(qū)域和陰影邊緣,將檢測結(jié)果輸入條件隨機(jī)場(Conditional Random Field,CRF)得到分類結(jié)果,相比之前的算法效果有了明顯的提升。
近年來,對抗學(xué)習(xí)機(jī)制[11-12]進(jìn)一步提升了陰影檢測的準(zhǔn)確性。其中文獻(xiàn)[13]中使用條件生成式對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Network,CGAN)實現(xiàn)陰影檢測,提出了生成器和判別器的概念,兩者通過相互對抗使得生成器具備檢測圖像陰影區(qū)域的能力,也能得到較為準(zhǔn)確的陰影區(qū)域。后來,文獻(xiàn)[14]中也借鑒了CGAN 的思想,訓(xùn)練兩個CGAN 分別實現(xiàn)陰影檢測和陰影去除,多任務(wù)互相制約實現(xiàn)陰影的檢測。文獻(xiàn)[15]中采用半監(jiān)督對抗訓(xùn)練,不斷優(yōu)化生成器的陰影檢測器和編碼器實現(xiàn)陰影檢測和去除。由于CGAN 的難以訓(xùn)練和不穩(wěn)定性,文獻(xiàn)[16]中依舊采用CNN 為基礎(chǔ)[16-18],分析了陰影區(qū)域和非陰影區(qū)域之間的聯(lián)系,采用四個方向上的空間上下文特征實現(xiàn)了陰影區(qū)域的檢測,也取得了不錯的檢測結(jié)果。
現(xiàn)有的深度學(xué)習(xí)算法中,CNN 和GAN 大多數(shù)使用級聯(lián)網(wǎng)絡(luò)形式,增加了模型訓(xùn)練的難度,不能實現(xiàn)實時檢測的效果,而且預(yù)測的效果并不是很好。少數(shù)方法用了單級網(wǎng)絡(luò)和注意力機(jī)制,但是卻忽略了特征通道之間的聯(lián)系,導(dǎo)致預(yù)測結(jié)果并不準(zhǔn)確。
為了降低模型訓(xùn)練難度和提高檢測精度,本文提出一種新型的CNN 模型。以網(wǎng)絡(luò)ResNext101[19]作為特征提取模塊,采用雙向特征金字塔網(wǎng)絡(luò)[20]為構(gòu)架,結(jié)合通道注意力[21]和空間注意力[22]做融合,同時設(shè)計全新的網(wǎng)絡(luò)結(jié)構(gòu)混合注意力模型,并將其用于特征金字塔網(wǎng)絡(luò)的層與層之間的融合中,既能提高陰影區(qū)域的局部關(guān)注度,也能更好地結(jié)合不同通道之間的聯(lián)系度。最后,融合特征金字塔兩個方向的結(jié)果取得更加細(xì)化的特征,作為最終的陰影檢測結(jié)果。
本網(wǎng)絡(luò)結(jié)構(gòu)的整體流程如圖1 所示,將帶有陰影的圖像裁剪為416×416大小,作為輸入圖像輸入到神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)中使用ResNext101作為前端特征提取網(wǎng)絡(luò),將RestNext101的conv2、conv3、conv4、conv5 生成的特征圖作為模型的基本特征,特征的大小分別為104×104、52×52、26×26、13× 13。卷積過程中隨深度增加,特征圖尺寸逐步減小,所包含的語義信息越多;越低層的卷積層所包含的位置信息越多。傳統(tǒng)的特征金字塔網(wǎng)絡(luò)往往是從深層特征向低層特征做融合,由于深層特征圖通道數(shù)減小,會造成特征信息的丟失,導(dǎo)致最后的預(yù)測結(jié)果不夠準(zhǔn)確。
針對上述問題,本文提出兩個方案來減少深層特征語義信息的丟失以及克服信息的單路流動的局限性。一是信息補(bǔ)償機(jī)制,用來減少conv5 在向上層特征做融合時導(dǎo)致的語義信息丟失,將信息補(bǔ)償后的特征圖作為深層特征,再向頂層做融合;二是采用雙向結(jié)構(gòu)實現(xiàn)信息的雙路流動性,在保持運行時間變化不大的同時,大幅提高陰影檢測質(zhì)量。
本文還提出了一個混合注意力模型,用來捕捉陰影區(qū)域和非陰影區(qū)域的特征差異。注意力機(jī)制[22-23]在圖像處理上已得到廣泛的使用,但傳統(tǒng)的自注意力模型往往只關(guān)注空間上的特征權(quán)重分布,根據(jù)生成的Attention Map[22]來區(qū)分哪些屬于重要信息,忽略了特征通道之間的聯(lián)系。針對此問題,在特征之間融合之前,先分別經(jīng)過通道注意力模塊生成一組特征通道權(quán)重,來給不同的特征通道賦值,標(biāo)明這些特征通道屬于重要特征或次要特征,將賦值后的特征圖融合后再通過空間注意力模塊,得到兩個相鄰特征層融合后的特征。
混合注意力模型作為各個基本特征之間融合的橋梁,穿插在兩個方向上的特征金字塔網(wǎng)絡(luò)上。最后將由深到淺和由淺到深兩個方向上生成的特征圖做特征融合,獲得更加細(xì)化的陰影檢測結(jié)果,并以此作為最后的預(yù)測結(jié)果。
因為淺層特征圖尺度大,包含的空間信息較多,而深層特征圖尺度小,包含的語義信息豐富,因此傳統(tǒng)的金字塔模型由深層特征圖向淺層特征圖做融合時,先將深層特征圖降維,將深層特征圖語義信息與淺層特征圖空間信息進(jìn)行融合,從而得到既有良好空間信息又有較強(qiáng)語義信息的特征圖。但在降維過程中,深層特征圖通道數(shù)會減小,導(dǎo)致語義信息損失嚴(yán)重,因此本文設(shè)計了一個信息補(bǔ)償機(jī)制[24-25]來減少深層特征圖由于通道數(shù)減小帶來的語義信息損失。
如圖2 所示,將深層特征圖C4降采樣成3 份。這里的降采樣包括兩部分:一個是將C4池化分別降采樣成α×C4、β×C4、γ×C4的寬高的特征,實際使用中α、β、γ分別為0.1、0.2、0.3;另一個是將池化后的結(jié)果通過1×1 的卷積,將每份降采樣的通道變成32,再將這三個不同尺度降采樣的結(jié)果統(tǒng)一上采樣到C4大小,并把這三者進(jìn)行合并,通過1× 1、3× 3卷積層方式進(jìn)行融合,最終得到三個空間補(bǔ)償信息,將這三個空間補(bǔ)償信息分別應(yīng)用于三個上采樣的特征圖。將通過信息補(bǔ)償?shù)奶卣髋cC4做融合得到C5,用C5代替C4,以減少原本C4向上層做融合造成的信息損失。該過程可表示為:
圖2 信息補(bǔ)償結(jié)構(gòu)Fig.2 Architecture of information compensation
其中:C4、C5表示卷積層特征;Conv 表示卷積操作;Cat代表特征拼接。
為了驗證信息補(bǔ)償機(jī)制的有效性,分別在網(wǎng)絡(luò)中使用信息補(bǔ)償機(jī)制和不使用信息補(bǔ)償機(jī)制進(jìn)行對比實驗,實驗預(yù)測結(jié)果如圖3 所示。在圖中可以看出帶有信息補(bǔ)償機(jī)制的網(wǎng)絡(luò)在對于陰影區(qū)域的邊緣細(xì)節(jié)預(yù)測上效果表現(xiàn)更好。
圖3 信息補(bǔ)償實驗結(jié)果Fig.3 Experimental results of information compensation
注意力機(jī)制是一種資源分配機(jī)制,是對于原本平均分配的資源根據(jù)注意力對象的重要程度重新分配資源,重要的單位就多分一點,不重要或者不好的單位就少分一點,注意力機(jī)制分配的資源就是權(quán)重。但傳統(tǒng)的注意力機(jī)制往往只關(guān)注單通道上的權(quán)重分布,也就是空間信息的分布,往往忽略了特征通道之間的關(guān)系,導(dǎo)致預(yù)測效果不佳。
為了加強(qiáng)特征通道之間的內(nèi)在聯(lián)系,提升預(yù)測精度,本文在做不同尺度的特征融合時引入混合注意力模塊。如圖4 所示:特征融合之前,先將相鄰的兩個特征圖分別輸入通道注意力模塊,給不同尺度的特征分配通道權(quán)重,標(biāo)記出各個特征通道之間的重要程度,再進(jìn)行特征融合;將融合后的特征圖輸入空間注意力模塊,得到對應(yīng)的空間特征權(quán)重圖,進(jìn)行點乘操作,得到融合后的特征圖。該過程可表示為:
圖4 混合注意力模塊結(jié)構(gòu)Fig.4 Architecture of hybrid attention module
其中:Cn表示融合后特征;Ci表示卷積層特征;S()表示通道注意力融合,A()表示空間注意力融合;Cat、Conv 分別代表特征拼接和卷積操作。
對在網(wǎng)絡(luò)分別使用混合注意力機(jī)制和不使用混合注意力機(jī)制進(jìn)行對比實驗,結(jié)果如圖5 所示??梢钥闯?,在網(wǎng)絡(luò)中加入混合注意力模塊能夠更好地理解圖像的全局上下文信息,區(qū)分陰影區(qū)域和非陰影區(qū)域差異。
圖5 混合注意力模塊實驗結(jié)果Fig.5 Experimental results of hybrid attention module
1.2.1 通道注意力生成模塊
通道注意力模塊首先對卷積得到的特征圖進(jìn)行全局池化操作,再通過全連接得到通道間的全局特征,然后對全局特征進(jìn)行激勵操作,學(xué)習(xí)各個通道間的關(guān)系,也得到不同通道的權(quán)重,最后乘以原來的特征圖得到最終特征。本質(zhì)上,通道注意力模塊是在通道維度上做注意力操作,這種注意力機(jī)制讓模型可以更加關(guān)注信息量最大的通道特征,而抑制那些不重要的通道特征。圖6是通道注意力模塊的具體結(jié)構(gòu)。
圖6 通道注意力模塊結(jié)構(gòu)Fig.6 Architecture of channel attention module
1.2.2 空間注意力生成模塊
空間注意力生成模型是將相鄰兩層特征圖經(jīng)過通道注意力生成模塊后特征進(jìn)行拼接,再進(jìn)行空間注意力生成融合。該模塊采用3 個殘差塊,每個殘差塊都使用1×1、3×3、1×1 卷積層組合的基本結(jié)構(gòu)(殘差塊中前兩個使用ReLU 激活函數(shù),第三個為Sigmoid 激活函數(shù))。輸出得到的權(quán)重圖,乘以原來的特征圖得到混合注意力模型融合后的特征。圖7 是空間注意力模塊的具體結(jié)構(gòu)。
圖7 空間注意力模塊結(jié)構(gòu)Fig.7 Architecture of spatial attention module
傳統(tǒng)的分類問題常采用交叉熵作為損失函數(shù),用來計算實際預(yù)測值與真實標(biāo)簽的接近程度,再通過反向傳播更新權(quán)重。在本網(wǎng)絡(luò)中采用雙向金字塔結(jié)構(gòu),先將每一層的預(yù)測特征圖放大至原陰影掩膜大小,然后對其施加監(jiān)督信號,以促進(jìn)有用信息向陰影區(qū)域的傳播。每一層的損失可表示為:
其中:w為權(quán)重值;yi,j為真實陰影掩膜像素(i,j)的真實值,Ci,j為預(yù)測陰影像素(i,j)的預(yù)測值。
在訓(xùn)練過程中,二進(jìn)制交叉熵?fù)p失函數(shù)用于監(jiān)督網(wǎng)絡(luò)的每個輸出。在本網(wǎng)絡(luò)中將所有的陰影預(yù)測圖像損失之和作為總損失。總損失包括所有的7個融合特征(6個相鄰特征圖經(jīng)過混合注意力模塊的融合特征和最后作為預(yù)測的融合特征Mi)和C1、C5的損失值之和,所涉及的損失函數(shù)如式(4)所示:
本網(wǎng)絡(luò)訓(xùn)練以Python3.6 和PyTorch1.0 來建立深度學(xué)習(xí)模型,使用NVIDIATeslaV100 32 GB 顯卡進(jìn)行模型訓(xùn)練。在網(wǎng)絡(luò)訓(xùn)練中使用SBU[7]和UCF[10]陰影檢測數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)集:SBU 數(shù)據(jù)集包含4 089 張訓(xùn)練圖像和638 張測試圖像,UCF 包含110 張訓(xùn)練圖像和110 張測試圖像。將原始圖像縮放為416×416大小,并以0.5的概率對調(diào)整后的圖像水平翻轉(zhuǎn)做預(yù)處理。前端特征提取網(wǎng)絡(luò)使用ResNext101,直接使用ImageNet 數(shù)據(jù)上訓(xùn)練得到的模型參數(shù)初始化前端特征提取模塊。
實驗的一些其他超參數(shù)包括:學(xué)習(xí)率為0.005,衰減系數(shù)為0.9;動量為0.9;權(quán)重衰減系數(shù)0.000 5;批次大小8;訓(xùn)練迭代期6 000;優(yōu)化器為隨機(jī)梯度下降(Stochastic Gradient Descent,SGD);信息補(bǔ)償機(jī)制超參α=0.1,β=0.2,γ=0.3。
本文使用SBU 數(shù)據(jù)集的測試集及整個UCF 數(shù)據(jù)集做預(yù)測,并進(jìn)行定性及定量評價。如圖8 所示為本文方法、DA[26]、DSC[17]、A+DNET[16]、ST-CGAN[14]在SBU 數(shù)據(jù)集上的陰影檢測結(jié)果。可以看出,對于容易引起混淆的困難陰影,DA、DSC、A+DNET、ST-CGAN 四種方法都出現(xiàn)了大面積的檢測錯誤,而本文方法仍然能夠作出較準(zhǔn)確的判斷。一些較為簡單的場景下,如圖8(a)的第1~3副圖像,本文方法與對比方法的預(yù)測都比較準(zhǔn)確,本文方法只表現(xiàn)出了較小的提升;但是在復(fù)雜場景下,如圖8(a)的第4、5兩幅圖像,欄桿所在位置由于光照原因產(chǎn)生了較大的陰影,其他方法在預(yù)測時都漏檢了很多陰影區(qū)域,而本文方法仍然能有效地檢測到該區(qū)域陰影。相較于其他方法,本文方法對陰影的定位更加準(zhǔn)確,同時能夠分辨真實的陰影區(qū)域和外觀類似陰影的非陰影區(qū)域,錯誤檢測的像素數(shù)目更少。這也證實了混合注意力模型對陰影檢測的正面作用。
圖8 不同方法在SBU數(shù)據(jù)集上的陰影檢測結(jié)果Fig.8 Shadow detection results of different methods on SBU dataset
如圖9 所示為本文方法、DA、DSC、A+DNET、ST-CGAN 在UCF上進(jìn)行跨數(shù)據(jù)集效果驗證的結(jié)果。
圖9 不同方法在UCF數(shù)據(jù)集上的陰影檢測結(jié)果Fig.9 Shadow detection results of different methods on UCF dataset
為了對實驗結(jié)果進(jìn)行客觀評價,采用相同的評價指標(biāo)[16-17]:陰影像素檢測錯誤因子(Shadow Error Rate,SER)、非陰影像素檢測錯誤因子(Non-shadow Error Rate,NER)、平衡誤差率(Balance Error Rate,BER)和正確率(Accuracy),定義分別如下:
其中:TP、TN、Np、Nn分別為陰影像素正確檢測數(shù)目、非陰影像素正確檢測數(shù)目、陰影像素總和、非陰影像素總和。SER、NER、BER越小,說明陰影檢測的正確率越高,分類效果越好;Accuracy 越高越好。本文將BER、Accuracy 作為最主要的指標(biāo)。
表1 展示了各個方法在SBU、UCF 數(shù)據(jù)集的客觀指標(biāo)值。相較于DSC 算法,本文方法在SBU 數(shù)據(jù)集上的BER 降低了約30%,在跨域數(shù)據(jù)集UCF 上的BER 則降低了約11%。該實驗結(jié)果也驗證了本文方法的性能。
表1 各個方法實驗結(jié)果比較Tab.1 Experimental results comparison of different methods
本文針對陰影檢測問題提出了新的檢測模型,使用ResNext101 作為前端特征提取網(wǎng)絡(luò),并結(jié)合特征金字塔網(wǎng)絡(luò)設(shè)計思想融合不同的特征層。考慮到深層特征圖在融合上采樣的過程中導(dǎo)致深層特征的語義丟失,提出了信息補(bǔ)償機(jī)制,來彌補(bǔ)上采樣過程中的信息丟失;還考慮到傳統(tǒng)的注意力機(jī)制只注重空間上的特征分布,忽略了特征通道之間的聯(lián)系,提出了混合注意力模型,以加強(qiáng)通道特征之間的聯(lián)系。在SBU、UCF 數(shù)據(jù)集上進(jìn)行的對比實驗結(jié)果顯示,本文方法優(yōu)于對比算法。在未來的工作中,將進(jìn)一步研究在某些光照條件較弱或復(fù)雜場景下,如何更高效率地結(jié)合圖像中的語義信息和空間信息,將模型應(yīng)用于陰影去除任務(wù)中。