孫踐知,吳 浩,楊亞峰,于重重
(北京工商大學(xué)計(jì)算機(jī)學(xué)院,北京 100048)
高鐵基礎(chǔ)設(shè)施缺陷檢測(cè)技術(shù)[1]融合了自動(dòng)化學(xué)科與人工智能技術(shù),通過(guò)圖像處理技術(shù)與深度學(xué)習(xí)算法對(duì)高鐵基礎(chǔ)設(shè)施進(jìn)行檢測(cè),可以及時(shí)發(fā)現(xiàn)鐵路線上基礎(chǔ)設(shè)施的缺陷,向鐵路的相關(guān)養(yǎng)護(hù)部門快速傳遞信息,提供可靠數(shù)據(jù),為防止因基礎(chǔ)設(shè)施缺陷造成重大事故具有重要意義。相比于傳統(tǒng)軌檢車檢測(cè)[2],無(wú)人機(jī)檢測(cè)以其較高的檢測(cè)效率和成本效益成為鐵路領(lǐng)域基礎(chǔ)設(shè)施缺陷檢測(cè)的研究熱點(diǎn)。然而,由于陽(yáng)光照射以及無(wú)人機(jī)拍攝角度的原因,無(wú)人機(jī)拍攝的圖片中通常會(huì)有較大的陰影干擾,從而導(dǎo)致高鐵基礎(chǔ)設(shè)施缺陷識(shí)別與檢測(cè)效率低下。因此,陰影去除作為無(wú)人機(jī)圖像的預(yù)處理不僅對(duì)提高檢測(cè)對(duì)象視覺(jué)清晰度起著重要作用,而且對(duì)無(wú)人機(jī)圖像缺陷有效識(shí)別和檢測(cè)具有重要意義。
隨著深度學(xué)習(xí)的快速發(fā)展,深度學(xué)習(xí)模型被更多地應(yīng)用到圖像陰影去除工作中[3],現(xiàn)有的基于深度學(xué)習(xí)的圖像陰影去除方法主要分為有監(jiān)督和無(wú)監(jiān)督兩種方式。有監(jiān)督圖像陰影去除方法[4-6]的訓(xùn)練需要有標(biāo)簽圖像的存在,訓(xùn)練數(shù)據(jù)的標(biāo)注會(huì)損耗大量的人力物力,且得到陰影圖像的方式是有限的,容易受到大目標(biāo)和周圍環(huán)境的影響。無(wú)監(jiān)督圖像陰影去除方法[7-9]是直接對(duì)輸入的有陰影圖像進(jìn)行建模,在不斷的網(wǎng)絡(luò)學(xué)習(xí)中發(fā)現(xiàn)訓(xùn)練樣本集中陰影部分的結(jié)構(gòu)性知識(shí),有利于對(duì)無(wú)人機(jī)扣件圖像陰影去除。目前在圖像陰影去除方法中無(wú)監(jiān)督方式的圖像陰影去除方法應(yīng)用的效果比較好,相關(guān)研究學(xué)者提出CycleGAN方法,解決了模型必須使用成對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練的局限性問(wèn)題,但是CycleGAN方法在訓(xùn)練中容易出現(xiàn)梯度爆炸或者梯度消失的情況,圖像陰影去除的效果并不理想。
針對(duì)上述問(wèn)題,本論文將CycleGAN[10]作為基線模型,首先提出在CycleGAN中加入掩碼機(jī)制,強(qiáng)化模型對(duì)陰影區(qū)域的注意從而提升模型去陰影的效果;其次,針對(duì)生成式對(duì)抗網(wǎng)絡(luò)訓(xùn)練難收斂問(wèn)題,提出在鑒別器中加入譜范數(shù)歸一化以穩(wěn)定訓(xùn)練。從而提出一種基于改進(jìn)CycleGAN的高鐵扣件圖像去陰影方法。
2017年伯克利人工智能研究室(BAIR)提出了在不同圖像領(lǐng)域之間轉(zhuǎn)換而不需要特定圖像對(duì)的CycleGAN模型,這種網(wǎng)絡(luò)解決了之前該研究室提出的Pix2Pix[11]模型的一個(gè)局限性問(wèn)題,即Pix2Pix模型必須使用成對(duì)的數(shù)據(jù)進(jìn)行訓(xùn)練,即同一場(chǎng)景同一目標(biāo)的不同形式,在原則上很難獲取這種類型的數(shù)據(jù)。CycleGAN模型不需要成對(duì)的數(shù)據(jù),只需要分別輸入兩個(gè)不同域的圖像數(shù)據(jù)進(jìn)行訓(xùn)練,即源域與目標(biāo)域的圖像。CycleGAN的模型結(jié)構(gòu)圖如圖1所示。
圖1 CycleGAN結(jié)構(gòu)圖
設(shè)定X域?yàn)殛幱皥D像域,Y域?yàn)闊o(wú)陰影圖像域。經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),該方法直接將X域圖像轉(zhuǎn)換為Y域圖像用于去陰影的效果較差,原因在于CycleGAN直接用于圖像域轉(zhuǎn)換的去陰影會(huì)造成“循環(huán)性損失不一致”,而導(dǎo)致梯度爆炸或者梯度消失的情況。
使用CycleGAN去陰影的情況下,去陰影的過(guò)程是“多對(duì)一”的過(guò)程,即同一場(chǎng)景下不同類型的陰影去除后,得到的去陰影后結(jié)果是一致的,即圖1中GX→Y;生成陰影的過(guò)程是“一對(duì)多的過(guò)程”,即一張?jiān)紵o(wú)陰影圖像可以生成多張陰影大小、位置不同的有陰影圖像,即圖1中GY→X。為了能夠滿足循環(huán)一致性,考慮在CycleGAN中加入掩膜機(jī)制,對(duì)陰影區(qū)域的重建增加監(jiān)督信號(hào),指導(dǎo)重構(gòu)圖像生成對(duì)應(yīng)的陰影區(qū)域,滿足循環(huán)一致性。
為滿足“循環(huán)一致性”提出的基于掩碼機(jī)制改進(jìn)的CycleGAN模型的結(jié)構(gòu)如圖2所示,該網(wǎng)絡(luò)結(jié)構(gòu)主要由兩部分組成:陰影域生成器GY→X與陰影域判別器DX,無(wú)陰影域生成器GX→Y與無(wú)陰影域判別器DY,其中x為真實(shí)陰影圖像,x′為重構(gòu)的陰影圖像,y為真實(shí)無(wú)陰影圖像,y′為重構(gòu)無(wú)陰影圖像。
圖2 基于掩碼機(jī)制改進(jìn)的CycleGAN
改進(jìn)的部分在于加入了Ml與Mr,其中Ml是真實(shí)陰影圖像x與生成的無(wú)陰影圖像Gxy(x)做差得到的陰影區(qū)域掩碼,其作用是使在Ml指導(dǎo)下Gxy(x)經(jīng)過(guò)GY→X形成的x′與x能夠滿足循環(huán)一致性。Mr是由真實(shí)陰影圖像學(xué)習(xí)到的隨機(jī)陰影掩碼,在Mr指導(dǎo)下,原始無(wú)陰影圖像y經(jīng)過(guò)GY→X能夠生成更豐富的有陰影圖像,提高能夠的魯棒性與泛化能力。
從陰影圖像的學(xué)習(xí),其目標(biāo)函數(shù)主要分為兩部分,第一部分即生成對(duì)抗網(wǎng)絡(luò)的對(duì)抗損失函數(shù),如式(1)所示,其意義是對(duì)真實(shí)的無(wú)陰影樣本高的評(píng)價(jià)分?jǐn)?shù),對(duì)去陰影生成的樣本低的評(píng)價(jià)分?jǐn)?shù)。
+ΕIs~pdata(Is)[log(1-Df(Gf(Is)))]
(1)
(2)
從無(wú)陰影圖像的學(xué)習(xí),與上述同理,其目標(biāo)函數(shù)主要分為兩部分,第一部分即生成對(duì)抗網(wǎng)絡(luò)的對(duì)抗損失函數(shù),其意義是對(duì)真實(shí)的陰影樣本高的評(píng)價(jià)分?jǐn)?shù),對(duì)重構(gòu)生成的陰影樣本低的評(píng)價(jià)分?jǐn)?shù),如式(3)所示
+ΕIf~pdata(If)[log(1-Ds(Gs(If,Mr)))]
(3)
(4)
綜合考慮到以上四個(gè)目標(biāo)函數(shù),則基于掩碼機(jī)制改進(jìn)的CycleGAN去陰影模型的總體損失函數(shù)如式(5)
Lfinal(Gs,Gf,Ds,Df)
(5)
其中,ω1,ω2為對(duì)應(yīng)損失函數(shù)的權(quán)重。則模型最優(yōu)解可以表示為式(6)中的極小極大最優(yōu)問(wèn)題。
(6)
原始GAN[12]中用來(lái)衡量生成樣本概率分布pg與真實(shí)樣本概率分布pr之間相似性的指標(biāo)是JS散度,但是該指標(biāo)沒(méi)有顯示的表達(dá)式,只能不斷采樣以接近其數(shù)據(jù)的概率分布,很容易導(dǎo)致網(wǎng)絡(luò)訓(xùn)練的結(jié)果不穩(wěn)定的情況。為了穩(wěn)定對(duì)抗式生成網(wǎng)絡(luò)的訓(xùn)練過(guò)程,將譜歸一化引入鑒別器中,并分別對(duì)鑒別器中的每一層卷積都使用了譜歸一化。
對(duì)于生成式對(duì)抗網(wǎng)絡(luò)的訓(xùn)練而言,其期望在訓(xùn)練過(guò)程中每一次迭代的Loss前后不會(huì)相差過(guò)大,即從Loss收斂圖上顯示出的結(jié)果是平滑曲線。特別地,當(dāng)每次迭代的Loss下降斜率小于1,即使得生成對(duì)抗網(wǎng)絡(luò)中判別器D滿足1-Lipschitz連續(xù)性,如式(7)所示
(7)
若能夠滿足上述的1-Lipschitz連續(xù)性,則模型參數(shù)的變化會(huì)更穩(wěn)定,也不容易發(fā)生連續(xù)的梯度波動(dòng),因此Lipschitz連續(xù)性是一個(gè)很好的性質(zhì)。為了讓判別器函數(shù)滿足1-Lipschitz連續(xù)性,即式(7)中的情況,W-GAN和之后的W-GAN GP分別采用了梯度裁剪和梯度懲罰來(lái)約束判別器參數(shù)。這里的譜歸一化,則是另一種讓函數(shù)滿足1-Lipschitz連續(xù)性的方式。
對(duì)于譜范數(shù)歸一化而言,首先需要求得對(duì)應(yīng)矩陣的譜系數(shù),譜系數(shù)即為對(duì)應(yīng)矩陣的最大奇異值。為求得矩陣的最大奇異值,需要對(duì)矩陣進(jìn)行奇異值分解(SVD, Singular Value Decomposition)。
奇異值分解過(guò)程如下,假設(shè)一前饋神經(jīng)網(wǎng)絡(luò)某層權(quán)重為Wm×n,那么對(duì)于輸入特征x而言,其對(duì)應(yīng)輸出則為y=W·x=U∑VT·x,其中U為m×n正交矩陣;∑為m×n的對(duì)角陣,V是n×n的正交矩陣。則WTW=(U∑VT)T(U∑VT)最大特征值的開(kāi)方根即為矩陣W的譜系數(shù),記為σ(W)。當(dāng)神經(jīng)網(wǎng)絡(luò)某層的權(quán)重參數(shù)矩陣的譜系數(shù)被限定到小于1的情況下,蓋層網(wǎng)絡(luò)對(duì)于輸入不會(huì)有放大超過(guò)1的情況,就實(shí)現(xiàn)了1-Lipschitz連續(xù)性。但是在計(jì)算機(jī)視覺(jué)中,特別是網(wǎng)絡(luò)權(quán)重矩陣維度很高的情況下,若使用SVD方法來(lái)求解每一層矩陣的最大奇異值會(huì)占用大量運(yùn)算內(nèi)存。因此常采用Power Iteration的近似迭代方法來(lái)求得矩陣的最大奇異值。該方法中,首先初始化隨機(jī)矩陣,并根據(jù)式(8)迭代
(8)
得到矩陣的單位主特征向量后,根據(jù)該特征向量求出與其對(duì)應(yīng)的最大特征值,其求解過(guò)程若式(9)所示
(9)
(10)
需要注意的是,使用了譜歸一化之后,就不能使用歸一化了。原因也很簡(jiǎn)單,因?yàn)榕鷼w一化的“除方差”和“乘以縮放因子”這兩個(gè)操作很明顯會(huì)破壞判別器的Lipschitz連續(xù)性。
本文采用的訓(xùn)練數(shù)據(jù)集為開(kāi)源的未配對(duì)陰影去除數(shù)據(jù)集USR[13],其中包含了2511張陰影數(shù)據(jù)集,1772張無(wú)陰影數(shù)據(jù)集,數(shù)據(jù)集包含各種場(chǎng)景,陰影由各種物體投射。數(shù)據(jù)集中的陰影圖像隨機(jī)分為1992張用于訓(xùn)練的圖像和519張用于測(cè)試的圖像,并使用所有1772張無(wú)陰影圖像進(jìn)行訓(xùn)練(因?yàn)樗鼈兾丛陉幱叭コ郎y(cè)試中使用)。在USR數(shù)據(jù)集上訓(xùn)練后,將模型權(quán)重在本文的扣件數(shù)據(jù)上進(jìn)行微調(diào)以進(jìn)行無(wú)人機(jī)拍攝圖像的去陰影操作。
該部分選取的基線模型是加入掩碼機(jī)制的CycleGAN模型,與其對(duì)比的模型是加入譜歸一化后的掩碼機(jī)制CycleGAN模型,兩個(gè)模型中的Loss收斂圖像如圖3所示。改進(jìn)前對(duì)應(yīng)基線模型中判別器和生成器的Loss收斂圖像,改進(jìn)后對(duì)應(yīng)基線模型加入譜歸一化后的判別器和生成器的Loss收斂圖像。為了驗(yàn)證譜歸一化提升模型收斂的效果,首先在USR數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)??梢钥闯?加入譜歸一化后,模型的收斂趨勢(shì)趨于正常,震蕩減小,驗(yàn)證了加入譜范數(shù)歸一化可以實(shí)現(xiàn)1-Lipschitz連續(xù)性。
圖3 加入譜歸一化后Loss對(duì)比圖
為了客觀評(píng)價(jià)圖像去陰影模型的效果,采用ground truth的無(wú)陰影圖像與去陰影圖像結(jié)果的均方根誤差(Root-Mean-Square Error,RMSE)與圖像的結(jié)構(gòu)相似性指標(biāo)(Structural Similarity Index,SSIM)衡量去陰影的效果。
RMSE,即均方根誤差,它指的是一個(gè)根據(jù)兩張像素強(qiáng)度之間的誤差來(lái)決定如何計(jì)算兩張圖片相似度的指標(biāo)值,該誤差值越小代表兩張圖像越相似。RMSE的計(jì)算式如(11)所示
(11)
其中m和n分別用來(lái)表示兩張測(cè)試圖片的寬度和高,I和K用來(lái)表示兩張被測(cè)量的圖片所對(duì)應(yīng)的像素值,即兩張被測(cè)量的圖片所對(duì)應(yīng)位置的像素值進(jìn)行相減然后把這個(gè)結(jié)果累計(jì)起來(lái)。
相比于RMSE,SSIM指標(biāo)能夠更好的反映出兩張圖片的相似度,原因在于其考慮了像素之間的均值與方差,而不是僅僅計(jì)算兩張圖像對(duì)應(yīng)像素位置的差,SSIM計(jì)算公式如式(12)所示
(12)
其中μx表示圖像中N×N區(qū)域中x方向的均值,σx表示圖像中N×N區(qū)域中x方向的方差,c1和c2分別表示兩張測(cè)試圖片的像素強(qiáng)度平均值,σxy表示x和y方向的協(xié)方差值。SSIM方法顯然比MSE方法更為復(fù)雜,SSIM試試圖在模擬影像結(jié)構(gòu)中檢測(cè)到的誤差,而MSE實(shí)際上就是通過(guò)估算所感知的誤差。為了更好的對(duì)去陰影效果進(jìn)行評(píng)估,因此考慮RMSE、SSIM共同作為評(píng)價(jià)指標(biāo)。
實(shí)驗(yàn)結(jié)果如表1所示,從實(shí)驗(yàn)結(jié)果可以看出,本文所提出方法的實(shí)驗(yàn)結(jié)果高于基準(zhǔn)的CycleGAN模型,驗(yàn)證了掩碼機(jī)制與譜范數(shù)歸一化對(duì)于CycleGAN去陰影效果的提升。
表1 USR數(shù)據(jù)集結(jié)果
在USR數(shù)據(jù)集上測(cè)試效果舉例如圖4所示,輸入為原始的陰影圖像,Gt對(duì)應(yīng)該圖像的無(wú)陰影真實(shí)情況,后面三者分別為對(duì)應(yīng)模型去陰影的效果。從效果圖中不難看出,原始的CycleGAN對(duì)于去陰影效果不明顯,加入了掩碼機(jī)制以后去陰影效果大大提升,在此基礎(chǔ)上再加入譜歸一化優(yōu)化生成對(duì)抗網(wǎng)絡(luò)的訓(xùn)練后,去陰影的效果得到進(jìn)一步的提升,陰影區(qū)域基本上已去除。
圖5為無(wú)人機(jī)拍攝的扣件圖像數(shù)據(jù)實(shí)際去陰影效果,四副圖像分別為原始的輸入圖像、CycleGAN去陰影后圖像、掩碼機(jī)制改進(jìn)CycleGAN的去陰影圖像、掩碼機(jī)制與普歸一化改進(jìn)CycleGAN的去陰影圖像,其中紅色虛線框中為主要陰影區(qū)域,可以看出掩碼機(jī)制改進(jìn)的CycleGAN和掩碼機(jī)制與譜歸一化共同改進(jìn)的CycleGAN模型在去陰影效果方面相較于基準(zhǔn)模型都有了較大的提升。
圖5 無(wú)人機(jī)拍攝圖像實(shí)際去陰影效果
由于CycleGAN整體思路是基于非配對(duì)的數(shù)據(jù)進(jìn)行域風(fēng)格轉(zhuǎn)換,因此對(duì)于扣件圖像去陰影問(wèn)題,本文采用的方法是將在USR數(shù)據(jù)集上訓(xùn)練好的權(quán)重遷移到扣件數(shù)據(jù)集上進(jìn)行微調(diào)。但是與開(kāi)源的去陰影公共數(shù)據(jù)有所不同的是,在無(wú)人機(jī)拍攝的陰影圖像數(shù)據(jù)上,沒(méi)有與輸入陰影圖像相對(duì)應(yīng)的無(wú)陰影Gt,因此考慮使用人工打分的方法評(píng)判去陰影的效果:在實(shí)驗(yàn)室選取了十位同學(xué),在數(shù)據(jù)測(cè)試集中隨機(jī)選取共90張圖像(每個(gè)方法30張圖像)分別使用三個(gè)模型進(jìn)行去陰影,并將結(jié)果以隨機(jī)順序呈現(xiàn)給參與者,使參與者對(duì)去陰影效果打分(由1至10,由壞至好)。去陰影效果打分表如表2所示。
表2 無(wú)人機(jī)拍攝圖像去陰影結(jié)果
從表中可以看出,相比于基線模型CycleGAN,加入掩碼機(jī)制改進(jìn)的模型強(qiáng)化對(duì)陰影區(qū)域的注意,很大程度的提高了去陰影的效果,融入譜歸一化的網(wǎng)絡(luò)在穩(wěn)定模型收斂的同時(shí)也在一定程度上進(jìn)一步提升了去陰影的效果,驗(yàn)證了掩碼機(jī)制與譜歸一化的有效性。
針對(duì)無(wú)人機(jī)拍攝圖像中有陰影投射遮擋軌道扣件的問(wèn)題,本文提出了一種基于掩膜機(jī)制與譜范數(shù)歸一化改進(jìn)的無(wú)監(jiān)督去陰影模型。其中,在CycleGAN的網(wǎng)絡(luò)結(jié)構(gòu)中引入了掩碼機(jī)制,強(qiáng)化了無(wú)監(jiān)督學(xué)習(xí)模型對(duì)于陰影區(qū)域的關(guān)注,提升了模型對(duì)于陰影去除的效果。由于生成式對(duì)抗網(wǎng)絡(luò)是無(wú)監(jiān)督學(xué)習(xí),其訓(xùn)練的過(guò)程中往往會(huì)出現(xiàn)不收斂或者難以收斂的問(wèn)題,其原因在于梯度的突然消失或者突然的劇增,因此為了穩(wěn)定生成式對(duì)抗網(wǎng)絡(luò)的收斂進(jìn)程,本文提出在生成式對(duì)抗網(wǎng)絡(luò)的鑒別器中加入譜范數(shù)歸一化,對(duì)于每一層卷積后都會(huì)經(jīng)過(guò)譜范數(shù)歸一化,從而使得模型的權(quán)重能夠穩(wěn)定在一定范圍內(nèi),從而實(shí)現(xiàn)Loss函數(shù)的1-Lipschitzl連續(xù)性。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證發(fā)現(xiàn),本文提出的方法在公共陰影數(shù)據(jù)集USR上效果更加穩(wěn)定,同時(shí)因?yàn)樽V范數(shù)歸一化的加入也提升了網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性。在本文所使用的無(wú)人機(jī)拍攝軌道圖像數(shù)據(jù)集上也取得了較好的實(shí)驗(yàn)結(jié)果。