張淑萍,吳 文,萬 毅
(1. 新疆理工學(xué)院信息工程系,新疆阿克蘇843100; 2. 溫州大學(xué)電氣與電子工程學(xué)院,浙江溫州325035)
陰影廣泛存在于圖像中,它可以為圖像深度預(yù)估等計(jì)算機(jī)視覺研究工作提供諸多重要信息,但也會(huì)大幅度增加物體檢測(cè)、目標(biāo)跟蹤等任務(wù)的難度。因此,圖像陰影去除一直是圖像處理領(lǐng)域的一個(gè)研究熱點(diǎn)。陰影具有較多形狀與類型,而其類型可分為全影和半影:全影位于陰影內(nèi)部,其光源被全部遮擋,僅在環(huán)境光的影響下,其亮度較低,顏色偏黑;半影位于全影至非陰影區(qū)域之間,其光源照射逐漸恢復(fù)正常,在環(huán)境光和光源的綜合影響下,其亮度逐漸變強(qiáng),顏色逐漸恢復(fù)正常。
陰影去除方法通常先后需要進(jìn)行陰影定位和陰影去除。在陰影定位過程中,文獻(xiàn)[1-3]中使用的是陰影檢測(cè)的方法:其中文獻(xiàn)[1]的方法是基于統(tǒng)計(jì)學(xué)習(xí)的方法,但該方法過度依賴自定義的陰影特征;文獻(xiàn)[2]中基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)進(jìn)行陰影檢測(cè),但因受到數(shù)據(jù)集規(guī)模的限制與塊處理機(jī)制的影響,該方法一方面不具有較好的泛化能力,另一方面還需要額外的全局優(yōu)化步驟以保證圖像的全局連貫性。文獻(xiàn)[4-6]中使用的人工標(biāo)記方法雖能準(zhǔn)確地定位陰影,但需要大量的額外標(biāo)注工作。在陰影去除過程中,傳統(tǒng)的陰影去除方法可分為光照遷移法[4-6]、梯度域去除法[7-10]以及顏色域去除法[1-2,4,11-12]。文獻(xiàn)[4-6]中基于光照遷移法為陰影區(qū)域中的圖像塊找到最佳匹配的非陰影塊后進(jìn)行光照信息填充,但因?yàn)樾枰M(jìn)行圖像分割、聚類等一系列預(yù)處理,效率有待提高;文獻(xiàn)[8-9]中基于梯度域去除法僅僅只改變半影的梯度變量,因此對(duì)于全影的光照變量并不適用;顏色域去除法[2,12]中,文獻(xiàn)[2]中使用貝葉斯公式提取蒙版圖像以去除圖像中的陰影,而文獻(xiàn)[12]中使用強(qiáng)度表面恢復(fù)法去除陰影。
近年來,端到端的陰影去除方法[13-17]以其運(yùn)算效率迅速成為主流,該類方法可分為本征分解法[13]和深度學(xué)習(xí)法[14-17]。文獻(xiàn)[13]中基于本征分解繞開了陰影檢測(cè)環(huán)節(jié),但該方法會(huì)改變非陰影區(qū)域的顏色,違背了陰影去除的初衷?;谏疃葘W(xué)習(xí)的諸多陰影去除方法[14-17]中:文獻(xiàn)[14]中基于CNN,結(jié)合圖像中陰影的外表與語義信息為陰影圖像生成蒙版以得到陰影去除結(jié)果;文獻(xiàn)[15]中使用兩個(gè)條件生成對(duì)抗網(wǎng)絡(luò)(conditional Generative Adversarial Networks,cGANs)分別進(jìn)行陰影檢測(cè)和陰影去除;文獻(xiàn)[16]中基于cGANs 構(gòu)建陰影圖像衰減器以生成多樣的圖像樣本從而提高模型的泛化能力。其中文獻(xiàn)[14-16]均使用陰影圖像和對(duì)應(yīng)的無陰影圖像作監(jiān)督學(xué)習(xí)訓(xùn)練,而數(shù)據(jù)采集的過程是使用相機(jī)先拍攝陰影圖像,然后撤去不同形狀的遮擋物拍攝對(duì)應(yīng)的無陰影圖像。此類方法構(gòu)建的數(shù)據(jù)集存在一個(gè)較大的問題:在拍攝陰影圖像和對(duì)應(yīng)的無陰影圖像時(shí),由于攝像機(jī)曝光和姿勢(shì)以及環(huán)境光照已經(jīng)發(fā)生改變,導(dǎo)致陰影圖像和對(duì)應(yīng)無陰影圖像組成的圖像對(duì)在顏色信息、光照信息或空間位置上不一致。這將造成模型無法精確地學(xué)習(xí)陰影和非陰影之間的內(nèi)在聯(lián)系,從而形成陰影恢復(fù)區(qū)域與非陰影區(qū)域的顏色、光照信息不連貫的現(xiàn)象。
為了得到更好陰影去除結(jié)果,本文首先結(jié)合多任務(wù)學(xué)習(xí)方法對(duì)陰影圖像進(jìn)行陰影檢測(cè)和蒙版生成,其中陰影檢測(cè)任務(wù)旨在標(biāo)識(shí)出不同類型陰影的位置,而蒙版生成任務(wù)則是模擬陰影像素和非陰影像素之間的內(nèi)在聯(lián)系。在此基礎(chǔ)上,分別為不同類型的陰影設(shè)計(jì)不同的模塊分階段地去除全影和半影,以得到邊界過渡自然的去陰影結(jié)果。
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[18]中的生成器可以生成一幅逼真的圖像,而判別器旨在判斷該圖像的真假。在訓(xùn)練過程中,生成器G 的目標(biāo)是盡量生成真實(shí)的圖像欺騙判別器D,而D旨在把G生成的圖片和真實(shí)的圖片區(qū)分開來,二者構(gòu)成一個(gè)動(dòng)態(tài)的“博弈過程”。cGANs[19]進(jìn)一步拓展了GAN[18],它允許在生成器和判別器中引入額外的條件信息,該信息常常為類別信息。文獻(xiàn)[20]中基于cGANs[19]使用圖像作為條件信息,訓(xùn)練生成器生成另一幅圖像;而文獻(xiàn)[21]中將蒙版圖像作為條件信息,較為簡(jiǎn)單地將cGANs應(yīng)用到陰影去除領(lǐng)域,該方法旨在讓生成器生成蒙版,然后使用式(1)計(jì)算得到無陰影圖像。
根據(jù)文獻(xiàn)[12,14,22]的研究可知,若陰影圖像為x ∈ [0,1]p×q×3,無陰 影 圖像為 y ∈ [0,1]p×q×3,則存在蒙 版s ∈ [0,1]p×q×3滿足式(1),其中s表示陰影尺度因子。通過大量的實(shí)驗(yàn),筆者發(fā)現(xiàn)文獻(xiàn)[21]中的方法并不能為陰影圖像生成一幅合理的蒙版圖像。相較于生成一幅普通的圖像,為一幅陰影圖像生成一幅逼真且能詳細(xì)反映光照衰減效應(yīng)的蒙版圖像將更加具有挑戰(zhàn)性。原因在于訓(xùn)練樣本中同一場(chǎng)景的陰影圖像與無陰影圖像,因可用數(shù)據(jù)集中缺乏固定拍攝裝置、陰影圖像與真實(shí)無陰影圖像拍攝間隔過久等原因,會(huì)導(dǎo)致訓(xùn)練樣本產(chǎn)生較大的誤差,從而影響文獻(xiàn)[21]方法的處理結(jié)果。展示兩幅不同場(chǎng)景下文獻(xiàn)[21]方法的結(jié)果如圖1 所示,其中:圖1(a)為陰影圖像;圖1(b)為標(biāo)簽(Ground Truth,GT)蒙版;圖1(c)為文獻(xiàn)[21]方法生成的蒙版;圖1(d)為文獻(xiàn)[21]方法的陰影去除結(jié)果;圖1(e)為圖1(d)中矩形區(qū)域的放大細(xì)節(jié)。文獻(xiàn)[21]方法直接使用生成器為陰影圖像生成蒙版圖像,然后使用式(1)完成陰影去除。該類方法存在以下兩個(gè)問題:1)受到訓(xùn)練集誤差的諸多限制,生成的蒙版圖像在全局范圍內(nèi)均存在值(見圖1(c)),這將導(dǎo)致最終的陰影去除圖像在非陰影區(qū)域也會(huì)發(fā)生改變(見圖1(d)),這違背了陰影去除的初衷;2)陰影存在不同的類型,采用統(tǒng)一的去除策略將會(huì)使結(jié)果存在明顯的陰影邊界(見圖1(e))。
對(duì)于第1)個(gè)問題,本文使用陰影檢測(cè)結(jié)果正確地引導(dǎo)蒙版的作用范圍,從而減小其對(duì)非陰影區(qū)域的影響;對(duì)于第2)個(gè)問題,本文將設(shè)計(jì)不同的模塊應(yīng)對(duì)不同類型的陰影。為了準(zhǔn)確地標(biāo)識(shí)全影、半影以及非陰影區(qū)域,本文方法不再使用陰影二值掩膜[15-17]簡(jiǎn)單地標(biāo)記陰影和非陰影區(qū)域。文獻(xiàn)[1]中基于陰影檢測(cè)的結(jié)果對(duì)陰影圖像運(yùn)用摳圖的思路來區(qū)分不同的陰影類型,本文則將該思路遷移到深度神經(jīng)網(wǎng)絡(luò)中,提出使用Alpha matting 技術(shù)[23]預(yù)先處理訓(xùn)練樣本以得到相應(yīng)的陰影掩膜M。訓(xùn)練樣本中M 的元素Mi的值存在三種情況:Mi= 1用于標(biāo)識(shí)陰影掩膜中第i個(gè)元素為全影像素;Mi= 0標(biāo)識(shí)非陰影像素,Mi∈ (0,1)標(biāo)識(shí)半影像素。
圖1 文獻(xiàn)[21]方法的陰影去除結(jié)果Fig.1 Shadow removal results of method in literature[21]
圖2 詳細(xì)展示了本文方法的生成器內(nèi)部結(jié)構(gòu):陰影檢測(cè)子網(wǎng)生成陰影掩膜M^,蒙版生成子網(wǎng)生成蒙版s^。兩個(gè)不同的模塊用于處理不同類型的陰影。全影模塊根據(jù)陰影掩膜和蒙版之間的約束關(guān)系僅僅只修復(fù)全影,得到全影去除結(jié)果y′;半影模塊基于小規(guī)模圖像復(fù)原的構(gòu)想生成邊界復(fù)原結(jié)果r。最后,使用式(2)結(jié)合y′與r 就能得到過渡自然的陰影去除結(jié)果y^。
多任務(wù)驅(qū)動(dòng)的生成器包含陰影檢測(cè)任務(wù)和蒙版生成任務(wù)。其中陰影檢測(cè)子網(wǎng)為輸入圖像生成陰影掩膜M^,通過M^的值可以標(biāo)識(shí)不同的陰影類型;而蒙版生成子網(wǎng)試圖學(xué)習(xí)陰影圖像到非陰影圖像之間的內(nèi)在聯(lián)系,從而生成蒙版s^。對(duì)于整個(gè)生成器而言,這兩個(gè)部分的功能相對(duì)獨(dú)立,為了避免因網(wǎng)絡(luò)復(fù)雜導(dǎo)致訓(xùn)練無法收斂,對(duì)兩個(gè)子網(wǎng)進(jìn)行預(yù)訓(xùn)練,可以大幅度減少訓(xùn)練時(shí)間。陰影檢測(cè)子網(wǎng)和蒙版生成子網(wǎng)的預(yù)訓(xùn)練損失函數(shù)分別如式(3)、(4)所示:
其中:N 表示訓(xùn)練樣本圖像的個(gè)數(shù);M 是真實(shí)的陰影掩膜,而M^ 表示網(wǎng)絡(luò)生成的陰影掩膜;s是真實(shí)的蒙版,而s^表示網(wǎng)絡(luò)生成的蒙版。
圖2 生成器結(jié)構(gòu)Fig. 2 Architecture of generator
1.1.1 全影模塊
陰影檢測(cè)任務(wù)和蒙版生成任務(wù)完成之后,根據(jù)檢測(cè)結(jié)果對(duì)蒙版進(jìn)行切分。面對(duì)大面積的全陰影區(qū)域,全影模塊旨在去除內(nèi)部陰影而不更改非陰影區(qū)域的像素,所以僅需要在陰影掩膜中Mi= 1 的區(qū)域提取相應(yīng)的全影蒙版s^ u = M^ · s^;面對(duì)小面積的半陰影區(qū)域,為了得到更自然的邊界過渡結(jié)果,在半陰影模塊的處理過程中將不再使用蒙版輔助完成去除任務(wù),而是使用圖像修復(fù)的思路修復(fù)陰影邊界。理論上,僅僅只需要提取陰影掩膜中Mi∈(0,1)的區(qū)域作為圖像的待修復(fù)區(qū)域;對(duì)于Mi= 0的非陰影區(qū)域,在與對(duì)應(yīng)區(qū)域的蒙版進(jìn)行像素級(jí)乘法運(yùn)算之后,便不會(huì)對(duì)非陰影區(qū)域產(chǎn)生影響。
但在實(shí)際網(wǎng)絡(luò)推算過程中,陰影檢測(cè)子網(wǎng)無法100%確定某個(gè)像素是否屬于陰影。經(jīng)過超參數(shù)分析實(shí)驗(yàn)(見2.4 小節(jié)),設(shè)置 0.25 < Mi< 0.85、Mi≤ 0.25、Mi≥ 0.85 分別作為半影、非陰影以及全影區(qū)域的判定標(biāo)準(zhǔn)。
全影模塊的內(nèi)部邏輯如圖3 所示,其輸入為陰影掩膜M^、蒙版s^ 以及陰影圖像x。根據(jù)全影模塊的需求,提取掩膜中Mi≥0.85 的區(qū)域相應(yīng)的全影蒙版s^u,將其與陰影圖像x 進(jìn)行運(yùn)算得到全影去除圖像y′。而對(duì)于Mi≤0.25的非陰影區(qū)域和0.25 <Mi<0.85的半陰影區(qū)域,暫時(shí)保留其像素不進(jìn)行處理,具體見式(5)。
其中:M^i、s^ui、xi、y^i為M^、s^u、x、y′對(duì)應(yīng)矩陣中的第 i個(gè)元素。
圖3 全影模塊Fig. 3 Umbra module
1.1.2 半影模塊
若不區(qū)分陰影的類型,采用一致性的策略處理所有類型的陰影將導(dǎo)致最終結(jié)果存在明顯的陰影邊界[14-17,21],這會(huì)極大地影響圖像的觀賞性與機(jī)器理解過程。為此,半影模塊結(jié)合感知損失,以高層語義信息為引導(dǎo),在小范圍修復(fù)陰影邊界區(qū)域的同時(shí)實(shí)現(xiàn)陰影邊界處的友好過渡。半影模塊受到式(2)與最終目標(biāo)函數(shù)的約束,旨在修復(fù)半影掩膜M^p對(duì)應(yīng)的圖像區(qū)域,其內(nèi)部結(jié)構(gòu)如圖4所示。
圖4 半影模塊Fig. 4 Penumbra module
圖4 中半影模塊的輸入為陰影掩膜M^ 以及全影去除圖像y′。根據(jù)半影模塊的需求,提取半影掩膜M^p,基于圖像修復(fù)的思想,將M^p作為圖像y′的待修復(fù)區(qū)域。與陰影檢測(cè)子網(wǎng)和蒙版生成子網(wǎng)一樣,其功能相對(duì)獨(dú)立,對(duì)其進(jìn)行預(yù)訓(xùn)練以使得最終的整體網(wǎng)絡(luò)在訓(xùn)練時(shí)可以較好地達(dá)到收斂。其網(wǎng)絡(luò)輸入為三通道的y′以及單通道的M^p構(gòu)成的四通道圖像;其輸出為三通道的陰影去除圖像。邊界復(fù)原子網(wǎng)預(yù)訓(xùn)練目標(biāo)函數(shù)如式(6)所示。
其中:N為訓(xùn)練樣本的個(gè)數(shù);y為真實(shí)無陰影圖像的標(biāo)簽數(shù)據(jù);R(·)為邊界復(fù)原子網(wǎng)的輸出。邊界修復(fù)子網(wǎng)旨在縮小修復(fù)區(qū)域與GT圖像在邊界半陰影區(qū)域M^p上的像素差異。
受到文獻(xiàn)[22]方法的啟發(fā),若模型僅僅使用式(6)中的像素差異作為優(yōu)化目標(biāo),這種基于像素的優(yōu)化方式會(huì)忽略圖像的全局相似性,導(dǎo)致陰影邊界修復(fù)的半陰影區(qū)域視覺效果較差。本文結(jié)合感知損失函數(shù)[22]最小化陰影去除圖像與真實(shí)無陰影圖像在圖像語義層面的差異,見式(7)。不同的是,本文不再使用預(yù)先訓(xùn)練好的深度網(wǎng)絡(luò)提取GT 圖像和陰影去除圖像y^ 的特征,而使用后續(xù)的判別器提取二者的高級(jí)語義特征,同時(shí)大大降低了模型的復(fù)雜度。
其中:n 為判別器的總層數(shù),y^ 為前后經(jīng)歷兩個(gè)模塊處理得到的無陰影結(jié)果,y 為真實(shí)的無陰影圖像;Di是判別器的第i 層,Ci是第i層對(duì)應(yīng)的通道數(shù),Hi和Wi是第i層特征圖的長(zhǎng)和寬。
1.1.3 判別器
本文網(wǎng)絡(luò)中的判別器與文獻(xiàn)[20]中類似,本文的判別器旨在判斷生成器為陰影圖像生成的陰影去除圖像是否為真,本質(zhì)上該階段為一個(gè)圖像二分類問題。判別器包含多個(gè)卷積塊,每個(gè)卷積塊中,卷積層都緊跟著批標(biāo)準(zhǔn)化[24]和泄露修正線性單元(Leaky Rectified Linear Unit,LReLU)。判別器的最后一層為一個(gè)Sigmoid函數(shù),其輸出為某對(duì)圖像為真的概率值。
本文網(wǎng)絡(luò)的損失函數(shù)由最小均方損失為主導(dǎo),輔以平均絕對(duì)誤差損失和復(fù)原損失組合而成,其加權(quán)形式如式(8),其作用是在多個(gè)子網(wǎng)預(yù)訓(xùn)練之后,朝著額外的約束進(jìn)行最后的優(yōu)化,因此其構(gòu)成不包含預(yù)訓(xùn)練的損失函數(shù)項(xiàng)。
其中:E表示求期望運(yùn)算;x,y~Pdata(x,y)表示x和y均源自于真實(shí)的訓(xùn)練數(shù)據(jù)集,屬于同一數(shù)據(jù)分布。而x表示輸入的陰影圖像,y表示真實(shí)無陰影圖像,y^ 為全影去除圖像,D(·)為判別器,例如D(x,y^ )旨在判斷生成器生成的陰影去除圖像是否為真,其輸出為一個(gè)0到1的概率值。
此外,式(10)中的平均絕對(duì)誤差損失則鼓勵(lì)生成的結(jié)果與真實(shí)無陰影圖像更為貼近。
其中,N表示訓(xùn)練樣本的個(gè)數(shù)。式(10)旨在求得一個(gè)平均誤差。
將客觀數(shù)據(jù)集 SRD[14]和 ISTD[15]合并為綜合數(shù)據(jù)集。其中,SRD[14]包含 3 088 組陰影和無陰影圖像,ISTD[15]包含 1 870組陰影、陰影二值掩膜和無陰影圖像。受到文獻(xiàn)[16]的啟發(fā),使用像素的均方根誤差(Root Mean Square Error,RMSE)計(jì)算綜合數(shù)據(jù)集中陰影圖像和真實(shí)無陰影圖像在非陰影區(qū)域的誤差,選取誤差較少且場(chǎng)景多樣的1 500 組圖像。然后,將這1 500組圖像中的陰影圖像和無陰影圖像相減,在三個(gè)通道上設(shè)置閾值為20,再進(jìn)行形態(tài)學(xué)濾波和人工調(diào)整錯(cuò)誤的陰影像素標(biāo)簽,為數(shù)據(jù)集得到相應(yīng)的陰影二值掩膜。
如圖5 所示,基于綜合篩選數(shù)據(jù)集中的陰影二值掩膜(圖5(b)),使用文獻(xiàn)[23]中的摳圖方法得到陰影Alpha 掩膜,如圖5(b)所示;使用式(1)將圖5(d)除以圖5(a)得到圖5(c)中的樣本蒙版;圖5(a)和圖5(b)用于預(yù)訓(xùn)練陰影檢測(cè)子網(wǎng),圖 5(a)和圖 5(c)用于預(yù)訓(xùn)練蒙版生成子網(wǎng),而圖 5(a)和圖5(d)用于訓(xùn)練本文網(wǎng)絡(luò)中的生成器與判別器。最后,抽取綜合篩選數(shù)據(jù)集中80%的數(shù)據(jù)用于本文網(wǎng)絡(luò)的訓(xùn)練,剩余的20%用于可行性檢驗(yàn)。
基于 Tensorflow[26]使用 Python 在 Ubuntu 18.04 下完成編程實(shí)驗(yàn),硬件內(nèi)存為16 GB,八核Inter CPU I7,圖像處理器(GPU)采用 NVIDIA GTX 1080Ti。網(wǎng)絡(luò)中,LReLU 的斜率設(shè)置為0.25,使用Adam 作為目標(biāo)函數(shù)的梯度下降方法。與傳統(tǒng)的cGANs[19]一樣,訓(xùn)練時(shí),生成器與判別器交替更新參數(shù),在600 個(gè)循環(huán)后停止訓(xùn)練,其中卷積層和反卷積層的權(quán)重按均值為0、方差為0.2的正態(tài)分布進(jìn)行初始化。數(shù)據(jù)增大方法采用常規(guī)的剪切、翻轉(zhuǎn)和旋轉(zhuǎn)等方法至256 × 256大小。設(shè)置超參數(shù)λ1= 0.5,λ2= 0.3,λ3= 0.2。本文網(wǎng)絡(luò)的生成器采用文獻(xiàn)[15]中的UNet結(jié)構(gòu),UNet結(jié)構(gòu)由一個(gè)收縮通道和一個(gè)擴(kuò)張通道組成,其中收縮通道用于提取語境特征,而與其對(duì)稱的擴(kuò)張通道則用于圖像上采樣以得到一幅生成圖像。判別器的結(jié)構(gòu)同樣與文獻(xiàn)[15]一致,包含多個(gè)卷積塊,每個(gè)卷積塊中,卷積層都緊跟著批標(biāo)準(zhǔn)化[24]和激活函數(shù)LReLU。判別器的最后一層為一個(gè)Sigmoid 函數(shù),其輸出為某對(duì)圖像為真的概率值。
圖5 綜合篩選數(shù)據(jù)集示例Fig. 5 Samples of comprehensively filtered dataset
使用平衡誤差率(Balanced Error Rate,BER)作為陰影檢測(cè)的衡量指標(biāo),計(jì)算方法如式(11)所示。
1.6 旺樹養(yǎng)分回流引起萎蔫 根據(jù)調(diào)查,果實(shí)萎蔫的樹普遍偏旺,立秋后甲口愈合養(yǎng)分回流萎蔫多。這是由于甲口愈合后,根系為了滿足恢復(fù)生長(zhǎng),調(diào)運(yùn)大量養(yǎng)分,果實(shí)營養(yǎng)不足引起萎蔫。
其中:TP、TN、FP和FN分別表示正確生成的陰影像素、正確生成的非陰影像素、錯(cuò)誤生成的陰影像素以及錯(cuò)誤生成的非陰影像素。
使用RMSE(式(12))和結(jié)構(gòu)相似性(Structural SIMilarity index,SSIM)(式(13))作為陰影去除衡量指標(biāo)。其中RMSE衡量陰影去除圖像和真實(shí)無陰影圖像之間的誤差,而SSIM 反映了結(jié)構(gòu)信息,更符合人類視覺對(duì)圖像的感知。
其中:I和I′分別代表陰影去除之前和之后的圖像,由R、G、B三通道組成;n為輸入圖像的像素點(diǎn)個(gè)數(shù)。
其中:μx是x的平均值,μy是μx的平均值;是x的方差是y的方差,σxy是x和y的協(xié)方差;c1=(k1L)2,c2=(k2L)2是用來穩(wěn)定的常數(shù),其中L是像素值的動(dòng)態(tài)范圍,而k1= 0.01,k2=0.03。結(jié)構(gòu)相似性的范圍是0 到1,當(dāng)兩張圖像一模一樣時(shí),SSIM的值等于1。
在可行性分析環(huán)節(jié),本文先后針對(duì)不同陰影類型概率閾值的選取以及不同種類損失函數(shù)的組合進(jìn)行分析。首先,在篩選數(shù)據(jù)集上使用網(wǎng)格搜索參數(shù)調(diào)優(yōu)法進(jìn)行陰影檢測(cè)的BER分析。劃分參數(shù)范圍區(qū)間,設(shè)置多組不同的閾值后,將M^ 對(duì)比標(biāo)簽陰影檢測(cè)圖像M,分析不同閾值帶來的平衡誤差率。如表1所示,選取幾組參數(shù)及其對(duì)應(yīng)各區(qū)域的BER作為展示。
表1 超參數(shù)分析Tab. 1 Analysis of hyperparameters
通過先驗(yàn)知識(shí)非陰影區(qū)域和陰影區(qū)域中的像素為陰影的概率往往趨向0和1,結(jié)合表1中的參數(shù)網(wǎng)格分析,設(shè)置0.25 <Mi< 0.85 可以很好地覆蓋半陰影區(qū)域M^p,而Mi≤ 0.25、Mi≥0.85分別作為非陰影和全陰影區(qū)域的判定標(biāo)準(zhǔn)。而繼續(xù)擴(kuò)大半陰影區(qū)域的取值范圍會(huì)增大待修復(fù)邊界的面積,從而導(dǎo)致陰影去除結(jié)果失真,評(píng)估誤差增大。
其次,選取不同組合方式的損失函數(shù),對(duì)其結(jié)果進(jìn)行RMSE 和SSIM 分析,如表2 所示。實(shí)驗(yàn)結(jié)果表明,與常規(guī)的對(duì)抗損失函數(shù)La[19]不一樣,使用最小均方損失Ll[25]為主導(dǎo)可以得到更好的結(jié)果。此外,感知損失Lp與平均絕對(duì)誤差損失Lm均可以進(jìn)一步提高去陰影效果。
表2 不同種類的損失函數(shù)的量化評(píng)估Tab. 2 Quantitative evaluation of effects of different loss functions
因陰影檢測(cè)和陰影去除同屬圖像處理領(lǐng)域中較為熱門的研究方向,又因諸多方法無法兼顧陰影檢測(cè)和蒙版生成,本文從陰影檢測(cè)、蒙版生成以及最終的陰影去除結(jié)果三個(gè)角度采用不同場(chǎng)景的圖像進(jìn)行實(shí)驗(yàn)對(duì)比。
首先,從陰影檢測(cè)角度對(duì)本文方法、文獻(xiàn)[1]方法與文獻(xiàn)[15]方法進(jìn)行分析。如圖6 所示,在測(cè)試集中選取四幅不同場(chǎng)景的圖像,其包括跨紋理陰影、軟陰影和硬陰影等多種類型的陰影以綜合測(cè)試不同方法的檢測(cè)性能。其中:文獻(xiàn)[1]方法使用支持向量機(jī)(Support Vector Machine,SVM)完成陰影的檢測(cè),然后基于物理光照模型去除陰影;文獻(xiàn)[15]方法基于cGANs 同時(shí)進(jìn)行陰影檢測(cè)和陰影去除任務(wù),陰影檢測(cè)和陰影去除相互學(xué)習(xí)、相互促進(jìn)。
圖6(a)為待處理的陰影圖像;圖6(b)為真實(shí)陰影二值掩膜;圖6(c)為文獻(xiàn)[1]方法的陰影檢測(cè)結(jié)果;圖6(d)為文獻(xiàn)[15]方法的陰影檢測(cè)結(jié)果;圖6(f)為本文方法的結(jié)果。比較圖6(b)和圖6(c),因?yàn)槿狈︳敯舻年幱疤卣鳎瑐鹘y(tǒng)特征提取的機(jī)器學(xué)習(xí)方法無法準(zhǔn)確地檢測(cè)出較淺的陰影,如第二行水泥地面上傘的陰影和第四行草地上人物陰影。相較于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,基于cGANs 的文獻(xiàn)[15]方法和本文方法在這個(gè)方面表現(xiàn)得相對(duì)較好。比較圖6(d)和圖6(e),因本文使用文獻(xiàn)[23]預(yù)處理的Alpha Matting 結(jié)果作為訓(xùn)練樣本,使得本文方法在陰影邊界處的檢測(cè)細(xì)節(jié)更加豐富。
圖6 本文方法與文獻(xiàn)[1,15]方法在篩選數(shù)據(jù)集上的陰影檢測(cè)結(jié)果Fig. 6 Shadow detection results on filtered dataset by the proposed method and the methods in reference[1,15]
其次,從蒙版生成的角度對(duì)本文方法和文獻(xiàn)[14]方法進(jìn)行比較。如圖7 所示,在測(cè)試集中選取四幅不同場(chǎng)景的圖像,其包括跨紋理陰影、軟陰影和硬陰影等多種類型的陰影以綜合測(cè)試不同方法的蒙版生成性能。文獻(xiàn)[14]方法基于卷積神經(jīng)網(wǎng)絡(luò)VGG-16 構(gòu)建多語境結(jié)構(gòu),為陰影圖像生成蒙版,其初次將深度學(xué)習(xí)與蒙版生成結(jié)合到一起,得到了不錯(cuò)的陰影去除結(jié)果。圖7(a)為待處理的陰影圖像;圖7(b)為真實(shí)的蒙版圖像;圖7(c)為文獻(xiàn)[14]方法的蒙版結(jié)果;圖7(d)本文方法的蒙版結(jié)果;圖7(e)、圖7(f)、圖7(g)分別為真實(shí)無陰影圖像、文獻(xiàn)[14]方法的無陰影結(jié)果以及本文的無陰影結(jié)果。對(duì)比圖7(c)和圖7(d),因全影模塊的特殊設(shè)計(jì),陰影掩膜對(duì)陰影蒙版進(jìn)行了區(qū)域限制,使得陰影蒙版幾乎不會(huì)對(duì)非陰影區(qū)域產(chǎn)生影響,從而得到更加合理的結(jié)果。如圖7(g)所示,因?qū)iT設(shè)計(jì)半影模塊處理陰影邊界區(qū)域,本文方法的陰影邊界相較于文獻(xiàn)[14]方法,過渡更加自然。
如圖8 所示,選取三幅場(chǎng)景多樣的圖像,從陰影去除的角度,將本文方法與文獻(xiàn)[1]方法和文獻(xiàn)[15]方法進(jìn)行比較。圖8(a)為待處理的陰影圖像;圖8(b)為真實(shí)無陰影圖像;圖8(c)為文獻(xiàn)[1]方法的陰影去除結(jié)果;圖8(d)為文獻(xiàn)[15]方法的陰影去除結(jié)果;圖8(e)本文方法的陰影去除結(jié)果。圖8(c)中文獻(xiàn)[1]方法因陰影檢測(cè)不精準(zhǔn)導(dǎo)致無法得到滿意的陰影去除結(jié)果。圖8(d)中,文獻(xiàn)[15]方法使用深度學(xué)習(xí)的特征提取能力,相較于文獻(xiàn)[1]方法有了較大的提升。但本文方法無論是篩選后的低誤差訓(xùn)練數(shù)據(jù),還是多任務(wù)、多模塊驅(qū)動(dòng)的陰影去除框架都能夠協(xié)助生成器獲得更好的陰影去除結(jié)果。如圖8(e)所示,第一行到第四行中,陰影區(qū)域還原更加準(zhǔn)確,陰影邊界過渡更為自然,非陰影區(qū)域幾乎沒有發(fā)生改變。
圖7 本文方法與文獻(xiàn)[14]方法在篩選數(shù)據(jù)集上的蒙版生成與陰影去除結(jié)果Fig. 7 Shadow matte generation and shadow removal results on filtered dataset by the proposed method and the method in reference[14]
圖8 本文方法與文獻(xiàn)[1,15]方法在篩選數(shù)據(jù)集上的陰影去除結(jié)果Fig. 8 Shadow removal results on filtered dataset by the proposed method and the methods in reference[1,15]
如圖9 所示,選取三幅場(chǎng)景多樣的圖像,將本文方法與文獻(xiàn)[14]的改進(jìn)方法[21]在SRD[14]數(shù)據(jù)集上進(jìn)行了對(duì)比以提高實(shí)驗(yàn)的公平性。與文獻(xiàn)[14]中基于VGG16 完成陰影蒙版的生成方法不一樣的是,文獻(xiàn)[21]方法額外增加了判別器以端到端的形式生成陰影蒙版;但它與文獻(xiàn)[14]方法存在共同的問題是因使用誤差較大的訓(xùn)練集而導(dǎo)致生成的陰影蒙版并不準(zhǔn)確,進(jìn)而沒有對(duì)非陰影區(qū)域的陰影蒙版進(jìn)行約束導(dǎo)致陰影去除圖像在全局范圍都產(chǎn)生了變化,最后因采用一致性的方法處理不同的陰影類型,導(dǎo)致結(jié)果仍然存在清晰的陰影邊界。
同理,如圖10 所示,將本文方法與文獻(xiàn)[15]方法在ISTD[15]數(shù)據(jù)集上進(jìn)行了對(duì)比。可以清晰地觀察得到,第二行中的圖(a)和圖(b)的陰影圖像和相應(yīng)的真實(shí)無陰影圖像在非陰影區(qū)域存在明顯的亮度差異。與現(xiàn)有的大多陰影去除方法一樣,文獻(xiàn)[15]方法仍然在數(shù)據(jù)集和陰影去除方法上存在不足,導(dǎo)致如圖(c)中的陰影去除區(qū)域與非陰影區(qū)域存在明顯的明暗差異。
在篩選數(shù)據(jù)集[14-15]上,將本文方法與文獻(xiàn)[1]方法、文獻(xiàn)[14]方法、文獻(xiàn)[15]方法進(jìn)行量化評(píng)估,結(jié)果如表3 所示;在SRD[14]數(shù)據(jù)集和 ISTD[15]數(shù)據(jù)集上,分別將本文方法與文獻(xiàn)[21]方法、文獻(xiàn)[15]方法進(jìn)行量化評(píng)估,如表4、5 所示。本文將圖像從陰影區(qū)域、非陰影區(qū)域以及整體區(qū)域進(jìn)行量化分析。首先,針對(duì)陰影檢測(cè)性能,表3 中的平衡誤差率越低表示陰影檢測(cè)越準(zhǔn)確,相較于文獻(xiàn)[15]方法,本文方法可以將圖像整體誤差率進(jìn)一步降低4.39%。其次,RMSE 越小說明陰影去除圖像與真實(shí)無陰影圖像之間的誤差越小,SSIM 越大說明陰影去除圖像從結(jié)構(gòu)上與真實(shí)無陰影圖像之間更為相似。根據(jù)表3,在篩選數(shù)據(jù)集[14-15]上,相較于文獻(xiàn)[15]方法,本文方法在RMSE 上降低了13.32%,在結(jié)構(gòu)相似性上提高了0.44%;根據(jù)表4,在SRD[14]數(shù)據(jù)集上,相較于文獻(xiàn)[21]方法,本文方法在RMSE 上降低了18.07%,在結(jié)構(gòu)相似性上提高了0.65%;根據(jù)表5,在ISTD[15]數(shù)據(jù)集上,相較于文獻(xiàn)[15]方法,本文方法在RMSE 上降低了10.57%,在結(jié)構(gòu)相似性上提高了0.21%??v向比較表 3 與表 5 中文獻(xiàn)[15]方法的 RMSE 和SSIM 的值,同樣可以發(fā)現(xiàn)通過篩選數(shù)據(jù)集降低數(shù)據(jù)集的誤差可以小幅度提升陰影去除的性能。
圖9 本文方法與文獻(xiàn)[21]方法在SRD數(shù)據(jù)集上的蒙版生成和陰影去除效果Fig. 9 Shadow matte generation and shadow removal results on SRD dataset by the proposed method and the method in reference[21]
圖10 本文方法與文獻(xiàn)[15]方法在ISTD數(shù)據(jù)集上的陰影去除結(jié)果Fig. 10 Shadow removal results on ISTD dataset by the proposed method and the method in reference[15]
表3 本文方法與文獻(xiàn)[1,14,15]方法在篩選數(shù)據(jù)集上的評(píng)價(jià)指標(biāo)對(duì)比Tab. 3 Comparison of evaluation indicators on filtered dataset by the proposed method and the methods in reference[1,14,15]
表4 本文方法與文獻(xiàn)[21]方法在SRD數(shù)據(jù)集上的像素均方根誤差與結(jié)構(gòu)相似性Tab. 4 RMSE and SSIM on SRD dataset by the proposed method and the methods in reference[21]
為了得到陰影邊界過渡自然的陰影去除圖像,基于生成對(duì)抗網(wǎng)絡(luò)提出一種新穎的多階段去除方法。該網(wǎng)絡(luò)中的生成器兼具陰影檢測(cè)與陰影去除的能力,陰影檢測(cè)子網(wǎng)與蒙版生成子網(wǎng)為全影模塊、半影模塊提供準(zhǔn)確的待處理區(qū)域。基于小區(qū)域的圖像復(fù)原思路,輔以感知損失降低生成結(jié)果在圖像語義的差異,陰影邊界的過渡將更為自然。未來將研究深度學(xué)習(xí)方法在面臨新數(shù)據(jù)集時(shí)性能下降的問題,實(shí)現(xiàn)陰影去除的域遷移(Domain Shift)方法。