何 濤,俞舒曼,徐 鶴
(1.南京郵電大學(xué) 電子與光學(xué)工程學(xué)院、微電子學(xué)院,南京 210023;2.南京郵電大學(xué) 計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,南京 210023;3.江蘇省無線傳感網(wǎng)高技術(shù)研究重點(diǎn)實(shí)驗(yàn)室,南京 210023)
霧是由細(xì)塵或煙霧顆粒在大氣中聚集得到的產(chǎn)物,在霧霾天氣下采集的圖片通常會失去對比度、顏色保真度和邊緣信息,從而降低場景的可視性。例如,若環(huán)境中存在大量霧霾,在執(zhí)行視頻監(jiān)控任務(wù)時將難以從視頻中定位到有效的目標(biāo)信息,進(jìn)而阻礙任務(wù)的順利執(zhí)行。因此,去除圖像中的霧霾并提高圖像清晰度成為計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)。
近年來,研究人員提出基于先驗(yàn)知識和基于學(xué)習(xí)的去霧方法?;谙闰?yàn)知識的去霧方法是根據(jù)手工設(shè)計(jì)的特征,并結(jié)合文獻(xiàn)[1]提出的大氣散射模型以恢復(fù)清晰的無霧圖像。文獻(xiàn)[2]提出一種經(jīng)典的統(tǒng)計(jì)觀測方法,即在大多數(shù)非天空區(qū)域中,某些像素中至少有一個顏色通道的強(qiáng)度較低,從而根據(jù)暗通道先驗(yàn)知識可以粗略估計(jì)出透射率和大氣光值。文獻(xiàn)[3]是針對模糊圖像的場景深度構(gòu)建一種線性模型,根據(jù)顏色衰減來恢復(fù)深度信息,利用模糊圖像的深度圖估計(jì)透射率。因透射率估計(jì)不準(zhǔn)確,導(dǎo)致在輸出去霧圖像中存在明顯的偽影問題。
基于學(xué)習(xí)的去霧方法是利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)從大量訓(xùn)練數(shù)據(jù)中提取圖像特征,同時學(xué)習(xí)圖像對之間的映射關(guān)系。早期的大多數(shù)方法是基于大氣退化模型恢復(fù)無霧圖像,例如MSCNN[4]和DehazeNet[5]方法是最早采用CNN 進(jìn)行圖像去霧,再基于大氣散射模型得到無霧圖像。由于這兩種方法缺乏有效的先驗(yàn)知識,因此難以準(zhǔn)確估計(jì)大氣光值和傳輸率,去霧效果并不理想。端到端的學(xué)習(xí)方法是將有霧圖像輸入到網(wǎng)絡(luò)模型中直接得到無霧圖像,無需估計(jì)大氣散射模型的中間參數(shù)。例如,文獻(xiàn)[6]將去霧任務(wù)看成是圖像到圖像的轉(zhuǎn)換問題,構(gòu)建一種基于增強(qiáng)的pix2pix去霧網(wǎng)絡(luò)EPDN,獲得具有較優(yōu)視覺效果的無霧圖像。文獻(xiàn)[7]提出一種基于殘差模塊和編碼器-解碼器結(jié)構(gòu)的去霧模型GMAN,該模型在一些標(biāo)準(zhǔn)的去霧數(shù)據(jù)集上具有較優(yōu)的去霧效果。
本文提出一種基于條件生成對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Network,CGAN)與知識蒸餾的單幅圖像去霧方法KD-GAN。該方法以改進(jìn)的U-Net網(wǎng)絡(luò)[8]作為生成器的基本架構(gòu),并在判別器的輸入端融合圖像高、低頻分量,將頻率信息作為去霧的附加約束條件與原始圖像一起輸入到判別器中。在此基礎(chǔ)上,通過知識蒸餾的方法減小條件生成對抗網(wǎng)絡(luò)的計(jì)算量和存儲空間,從而加快模型的訓(xùn)練速度。
近年來,生成對抗網(wǎng)絡(luò)[9](Generative Adversarial Network,GAN)在圖像生成、圖像插值和目標(biāo)分類等領(lǐng)域中取得較大進(jìn)展。GAN 由生成器和判別器兩個部分組成。生成器G:Z→Y,將輸入的隨機(jī)噪聲z∈Z映射到輸出圖像y∈Y中;判別器D:y→[0,1],將其輸入的圖像y映射成概率值。針對去霧網(wǎng)絡(luò)模型,生成器的作用是利用給定的一組有霧圖像{y1,y2,···,yn}生成偽無霧圖像判別器是通過對比真實(shí)圖像x與生成器生成的圖像y*的特征分布,從而預(yù)測輸入的圖像為真實(shí)圖像x的概率。生成器的優(yōu)化目標(biāo)是在保留輸入圖像的結(jié)構(gòu)和細(xì)節(jié)信息的同時,盡可能地生成接近真實(shí)無霧圖像特征分布的去霧圖像,從而使得判別器無法辨別圖像來源。判別器的優(yōu)化目標(biāo)則是盡可能地辨別出輸入圖像是生成的去霧圖像還是真實(shí)無霧圖像。生成器和判別器相互博弈,以達(dá)到納什均衡[10]。GAN 的損失函數(shù)如式(1)所示:
其中:Pdata(x)為真實(shí)圖像數(shù)據(jù)的分布;Pz(z)為輸入生成器噪聲z的分布;D(x)為判別器判斷真實(shí)圖像為真的概率;D(G(z))為判別器判斷生成圖像為真的概率。
由于生成器需要大量的參數(shù)來生成具有高維語義信息的圖像,因此大多數(shù)GAN 的執(zhí)行會消耗較多的計(jì)算資源,從而限制了GAN 在CPU 性能有限的移動設(shè)備以及邊緣設(shè)備上的應(yīng)用。近年來,研究人員對重型深度模型的壓縮和加速方法進(jìn)行研究。如文獻(xiàn)[11]提出一種壓縮技術(shù),通過將教師網(wǎng)絡(luò)產(chǎn)生的分類概率分布作為軟目標(biāo)來訓(xùn)練小模型,從而將集成模型中的知識遷移到單個模型中,這種壓縮技術(shù)又稱知識蒸餾。在知識蒸餾模型中將具有復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)、學(xué)習(xí)能力更強(qiáng)的重型網(wǎng)絡(luò)視為教師網(wǎng)絡(luò),將網(wǎng)絡(luò)結(jié)構(gòu)簡單、學(xué)習(xí)能力較弱的輕量型網(wǎng)絡(luò)視為學(xué)生網(wǎng)絡(luò)。文獻(xiàn)[12]指出,淺層網(wǎng)絡(luò)可以學(xué)習(xí)到深層網(wǎng)絡(luò)的復(fù)雜函數(shù),并實(shí)現(xiàn)以前只有深度模型才能達(dá)到的精度。受上述方法的啟發(fā),本文提出一種基于條件生成對抗網(wǎng)絡(luò)和知識蒸餾的單幅圖像去霧方法(KD-GAN),本文將蒸餾模型中的教師網(wǎng)絡(luò)設(shè)計(jì)成具有較多網(wǎng)絡(luò)層數(shù)及權(quán)值參數(shù)的重型網(wǎng)絡(luò),并設(shè)計(jì)3 種不同參數(shù)規(guī)模且精簡于教師網(wǎng)絡(luò)的學(xué)生網(wǎng)絡(luò)模型,以對比在不同簡化程度下學(xué)生網(wǎng)絡(luò)的去霧性能。在室外模糊圖像公開數(shù)據(jù)集OTS 和室內(nèi)模糊圖像公開數(shù)據(jù)集ITS 上進(jìn)行網(wǎng)絡(luò)的訓(xùn)練和測試。本文通過對比不同參數(shù)規(guī)模學(xué)生網(wǎng)絡(luò)的去霧性能變化,同時對比訓(xùn)練過程中相同迭代次數(shù)下教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的去霧效果,并將本文方法與其他去霧方法進(jìn)行對比,驗(yàn)證知識蒸餾在模型訓(xùn)練速率和圖像去霧中的有效性。
本文提出的基于CGAN 和知識蒸餾的單幅圖像去霧方法,網(wǎng)絡(luò)的整體架構(gòu)包括教師網(wǎng)絡(luò)、學(xué)生網(wǎng)絡(luò)和知識蒸餾結(jié)構(gòu)3 個部分。知識蒸餾[11]將提煉的教師網(wǎng)絡(luò)的知識傳遞給結(jié)構(gòu)簡單、學(xué)習(xí)能力較弱的學(xué)生網(wǎng)絡(luò),在提高學(xué)生模型訓(xùn)練速度的同時,盡可能使其性能接近于具有復(fù)雜結(jié)構(gòu)、學(xué)習(xí)能力強(qiáng)的教師網(wǎng)絡(luò)。
文獻(xiàn)[13]提出CGAN,其在生成器和判別器的輸入端增加了額外的限制條件,通過源域圖像代替噪聲信息,以指導(dǎo)生成的目標(biāo)圖像。本文將原始有霧圖像作為條件信息添加到判別器的輸入端,判別器既要判斷輸入圖像是否真實(shí),同時判斷輸入圖像與作為條件信息的原始有霧圖像是否匹配。基于引入頻率信息作為附加條件網(wǎng)絡(luò)(HLF-CGAN)的去霧方法中教師網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 教師網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of teacher network
圖中生成器是基于U-Net 網(wǎng)絡(luò)[8]進(jìn)行改進(jìn),U-Net 網(wǎng)絡(luò)是由編碼器-解碼器結(jié)構(gòu)組成的U 型對稱網(wǎng)絡(luò),最初用于圖像分割領(lǐng)域。編碼器由4 個編碼塊組成,每個編碼塊包含2 個3×3 大小的卷積核和1 個2×2 大小的最大池化層,用于下采樣,解碼器包含4 次反卷積和4 次上采樣過程。雖然U-Net 網(wǎng)絡(luò)采用最大池化的方式進(jìn)行下采樣,不需要額外增加參數(shù),但容易丟失高頻特征。因此本文采用卷積步長為2 的下采樣方式,以減少特征的丟失。從圖1 可以看出,生成器網(wǎng)絡(luò)是由編碼器、解碼器和跳躍連接層組成。編碼器部分經(jīng)過8 次卷積操作將大小為256×256×3 的輸入圖像轉(zhuǎn)換成大小為1×1×512 的特征圖,其主要作用是提取圖像特征信息。每層的卷積步長為2,卷積核大小為5×5,卷積核個數(shù)前3 層分別為64、128、256 個,后5 層均為512 個。
解碼器部分進(jìn)行8 次反卷積操作,在與編碼器相對應(yīng)的位置上采用同樣大小和數(shù)量的卷積核,直到最終輸出大小為256×256×3 的特征圖。跳躍連接結(jié)構(gòu)將編碼器和解碼器中相同大小的特征圖按通道拼在一起,以更好地利用在下采樣過程中保留的局部細(xì)節(jié)信息,從而加快網(wǎng)絡(luò)訓(xùn)練過程。
高頻和低頻分量是圖像的基本特征,去霧圖像和對應(yīng)的真實(shí)無霧圖像的高、低頻分量也會存在一定差異。高頻分量包括圖像中強(qiáng)度變化較快的部分,如銳利的邊緣、紋理和精細(xì)的細(xì)節(jié)。相反,低頻分量一般是圖像強(qiáng)度值變化緩慢的部分,更加強(qiáng)調(diào)圖像的亮度、顏色和對比度信息[14]。將高頻和低頻信息同時作為判別網(wǎng)絡(luò)的約束條件,有利于判別器對圖像邊緣、紋理和顏色上的差異性進(jìn)行判斷。不同網(wǎng)絡(luò)的去霧結(jié)果對比如圖2 所示。
圖2 不同網(wǎng)絡(luò)的去霧結(jié)果對比Fig.2 Dehazing results comparison among different networks
圖片下方為去霧量化指標(biāo)(結(jié)構(gòu)相似性SSIM/峰值信噪比PSNR)。從圖2 可以看出,HLF-CGAN相比直接將原圖輸入到判別器的網(wǎng)絡(luò)(CGAN)具有更優(yōu)的去霧效果。
圖1 中判別器采用PatchGAN 結(jié)構(gòu),PatchGAN與普通GAN 的主要區(qū)別在于:普通GAN 的判別器是將輸入數(shù)據(jù)直接映射成一個概率值,而PatchGAN是將輸入數(shù)據(jù)映射成一個N×N大小的矩陣,矩陣中每個元素代表輸入圖像中一個較大的感受野。該矩陣的每個元素只有0 或1,即該元素的概率為真,最后再將求取的平均值作為判別器的最終輸出。PatchGAN 的優(yōu)點(diǎn)是可以從原輸入圖像較大的感受野中提取圖像更多的細(xì)節(jié)信息。判別器對輸入圖像進(jìn)行4 次卷積操作,并轉(zhuǎn)換成大小為16×16×512 的特征圖,再將該特征圖拉伸成個一維矩陣,通過sigmoid 函數(shù)得到每個元素的概率值后再求取平均值,并將其作為最終判別器的輸出。
本文通過L1 正則項(xiàng)(最小絕對值偏差)約束生成圖像與真實(shí)圖像之間的距離,使得生成圖像的特征分布更加接近真實(shí)圖像的特征分布。與L2 正則項(xiàng)(最小均方誤差)相比,L1 正則項(xiàng)具有更優(yōu)的魯棒性。教師網(wǎng)絡(luò)的總損失函數(shù)如式(2)所示:
其中:Pdata(x)為輸入生成器圖像的數(shù)據(jù)分布;E(·)為期望值;x、y分別為原始有霧圖像和真實(shí)無霧圖像;D(x,y)、D(x,G(x))分別為判別器判斷真實(shí)圖像為真的概率及判斷生成圖像為真的概率;符號?為拼接的含義;x?xLF?xHF為將原始霧圖與其濾波后的低頻、高頻圖像拼接;λ為可調(diào)節(jié)的超參數(shù),代表損失項(xiàng)的權(quán)重。
雖然教師網(wǎng)絡(luò)具有更多權(quán)值參數(shù)和網(wǎng)絡(luò)層數(shù),能夠優(yōu)化去霧效果,但是其模型規(guī)模龐大,導(dǎo)致預(yù)訓(xùn)練耗時久,從而難以應(yīng)用到實(shí)際場景中。例如,在自動駕駛領(lǐng)域中,當(dāng)圖像識別系統(tǒng)遇到霧天路況時,為達(dá)到安全駕駛的目的,系統(tǒng)需要及時進(jìn)行去霧處理,此時自動駕駛的安全性將與系統(tǒng)的響應(yīng)速度、去霧性能有著密切的關(guān)系。因此,如何壓縮模型規(guī)模并提高模型訓(xùn)練速度成為研究熱點(diǎn)。
本文設(shè)計(jì)了3 個與教師網(wǎng)絡(luò)結(jié)構(gòu)相似,但具有不同參數(shù)規(guī)模的學(xué)生網(wǎng)絡(luò),分別記為學(xué)生網(wǎng)絡(luò)-1、學(xué)生網(wǎng)絡(luò)-2、學(xué)生網(wǎng)絡(luò)-3。經(jīng)計(jì)算,教師網(wǎng)絡(luò)共包含3 052.30×104個權(quán)值參數(shù),模型大小為509 852 KB。學(xué)生網(wǎng)絡(luò)-1 的生成器由6 層下采樣和6 層上采樣的編碼器-解碼器結(jié)構(gòu)組成,包含1 741.47×104個權(quán)值參數(shù),模型大小為197 367 KB,約為教師網(wǎng)絡(luò)的1/2。其他2 個學(xué)生網(wǎng)絡(luò)的生成器分別由5 層和4 層的上下采樣編碼器-解碼器結(jié)構(gòu)組成,模型大小分別約為教師網(wǎng)絡(luò)的1/5 和1/10,與教師網(wǎng)絡(luò)的8 層卷積與反卷積結(jié)構(gòu)相比,學(xué)生網(wǎng)絡(luò)具有更少的權(quán)值參數(shù),并占用更小的內(nèi)存空間,從而節(jié)省大量的計(jì)算資源。
本文提出的知識蒸餾網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,其中學(xué)生網(wǎng)絡(luò)結(jié)構(gòu)以學(xué)生網(wǎng)絡(luò)-1 為例。
圖3 知識蒸餾結(jié)構(gòu)Fig.3 Structure of knowledge distillation
文獻(xiàn)[15]提出的知識蒸餾方法是學(xué)生網(wǎng)絡(luò)簡單模仿教師網(wǎng)絡(luò)的中間結(jié)果,考慮到教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)兩層特征圖之間的關(guān)系,本文首先通過最大池化將兩層卷積層轉(zhuǎn)化成相同的尺寸,再將其對應(yīng)的通道兩兩作內(nèi)積得到FSP 矩陣,即圖3 中的GT和GS。FSP 矩陣是由Yim 等[16]提出的一種用于解決問題的流,若將流定義為2 個不同層的特征圖關(guān)系,知識蒸餾則是解決問題的流的方法。從圖3 可以看出,本文教師網(wǎng)絡(luò)的2 個FSP 矩陣是由教師網(wǎng)絡(luò)第1 層、第3 層、第4 層和第6 層的特征圖分別兩兩作內(nèi)積得到。同理,學(xué)生網(wǎng)絡(luò)的2 個FSP 矩陣也是由網(wǎng)絡(luò)相同層的特征圖作內(nèi)積得到。本文在得到教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的FSP 矩陣后,再利用L2 損失函數(shù)縮短這2 個網(wǎng)絡(luò)FSP 矩陣之間的距離,以達(dá)到知識蒸餾的目的。FSP 矩陣的定義如式(3)所示:
其中:x、W分別為輸入圖像和網(wǎng)絡(luò)的權(quán)值參數(shù);為網(wǎng)絡(luò)中第i層特征圖;h、w、m分別為特征圖的高度、寬度和通道數(shù)為網(wǎng)絡(luò)中第j層特征圖。考慮到L2 正則項(xiàng)對異常點(diǎn)具有放大效果,本文選擇L2 范數(shù)的平方作為約束2 個網(wǎng)絡(luò)FSP 矩陣的代價函數(shù),因此中間層知識蒸餾的損失函數(shù)如式(4)所示:
其中:N為損失函數(shù)的個數(shù);λi為損失項(xiàng)的權(quán)值,取值為10~100[17]。通常λ值越大,代價函數(shù)在參數(shù)為0 時取到最小值,因?yàn)檎齽t化系數(shù)越大,正則化的函數(shù)圖形會加速向坐標(biāo)軸原點(diǎn)收縮。本文在基于λ為固定值100 時進(jìn)行實(shí)驗(yàn)。本文提出聯(lián)合損失函數(shù)來衡量教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)之間的特征相似性,即同時使用L1 正則項(xiàng)對2 個網(wǎng)絡(luò)生成器的輸出端特征圖進(jìn)行約束。因此,學(xué)生網(wǎng)絡(luò)生成器的總損失函數(shù)如式(5)所示:
其中:GT(x)、GS(x)分別為教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)生成器輸出的特征圖。
本文實(shí)驗(yàn)主要分為以下5 個步驟:
1)首先凍結(jié)學(xué)生網(wǎng)絡(luò)權(quán)值參數(shù),開始訓(xùn)練教師模型,學(xué)生網(wǎng)絡(luò)不參與訓(xùn)練,直到教師網(wǎng)絡(luò)的生成器和判別器的損失函數(shù)收斂。損失函數(shù)如式(2)所示。
2)當(dāng)?shù)?×104、2×104、3×104、5×104次時,記錄教師網(wǎng)絡(luò)訓(xùn)練過程中測試集圖像的去霧結(jié)果。
3)凍結(jié)并保存預(yù)訓(xùn)練好的教師網(wǎng)絡(luò)的權(quán)值參數(shù),在相同的數(shù)據(jù)集上開始訓(xùn)練學(xué)生網(wǎng)絡(luò),此時教師網(wǎng)絡(luò)不參與訓(xùn)練,直到學(xué)生網(wǎng)絡(luò)的生成器和判別器的損失函數(shù)收斂。損失函數(shù)如式(5)所示。
4)記錄學(xué)生網(wǎng)絡(luò)在訓(xùn)練過程迭代相同次數(shù)時測試集圖像的去霧結(jié)果。
5)對比教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)在迭代相同次數(shù)時測試集中圖像的去霧效果,得到相應(yīng)的實(shí)驗(yàn)結(jié)論。
本文從室外合成霧天圖像數(shù)據(jù)集(OTS)和室內(nèi)合成圖像數(shù)據(jù)集(ITS)中分別選取5 000 張組合成模型的訓(xùn)練集。在OTS數(shù)據(jù)集上選取不重復(fù)的1 000張霧圖和室外真實(shí)霧天圖像(HSTS)數(shù)據(jù)集中選取1 000張霧圖組合成模型的測試集。
本文方法在NVIDIA RTX 1080Ti GPU 計(jì)算機(jī)的Ubuntu16.0 系統(tǒng)上運(yùn)行,并使用Tensorflow1.4.0深度學(xué)習(xí)框架進(jìn)行實(shí)驗(yàn)。生成器輸入圖像大小設(shè)置為256×256×3,學(xué)習(xí)率設(shè)置為固定值0.000 2,動量參數(shù)設(shè)置為0.5,采用Adam 優(yōu)化器對網(wǎng)絡(luò)進(jìn)行優(yōu)化。
為客觀地評估去霧效果,本文使用峰值信噪比PSNR[18]和結(jié)構(gòu)相似性SSIM[19]作為去霧評價指標(biāo)。PSNR 值取決于原始霧圖與生成圖像對應(yīng)像素間的誤差,其值越大,恢復(fù)得到的無霧圖像清晰度越高[20]。SSIM 從亮度、對比度、結(jié)構(gòu)3 個方面對圖像相似性進(jìn)行評估,其值越大,代表圖像失真越小。
3.2.1 不同參數(shù)規(guī)模的學(xué)生網(wǎng)絡(luò)去霧性能對比
圖4 為教師網(wǎng)絡(luò)與3 種不同參數(shù)規(guī)模學(xué)生網(wǎng)絡(luò)的去霧結(jié)果對比,記為A 組和B 組。表1 為教師網(wǎng)絡(luò)與不同參數(shù)規(guī)模學(xué)生網(wǎng)絡(luò)的評價指標(biāo)與網(wǎng)絡(luò)規(guī)模對比。學(xué)生網(wǎng)絡(luò)-1 在具有更少模型參數(shù)的情況下,可以達(dá)到與教師網(wǎng)絡(luò)相近的去霧性能;學(xué)生網(wǎng)絡(luò)-2 和學(xué)生網(wǎng)絡(luò)-3 的去霧性能呈現(xiàn)較明顯的下降趨勢。從圖4 中方框選出的部分可以看出,學(xué)生網(wǎng)絡(luò)-3 對遠(yuǎn)景及細(xì)節(jié)部分恢復(fù)得比較模糊,失真較嚴(yán)重。實(shí)驗(yàn)結(jié)果表明,本文基于蒸餾架構(gòu),當(dāng)學(xué)生網(wǎng)絡(luò)參數(shù)規(guī)模簡化為教師網(wǎng)絡(luò)的1/2 時,能夠達(dá)到最佳的蒸餾效果,當(dāng)繼續(xù)簡化學(xué)生網(wǎng)絡(luò)參數(shù)規(guī)模時,網(wǎng)絡(luò)的去霧評價指標(biāo)與視覺感受都會逐漸下降。
表1 教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)的評價指標(biāo)與網(wǎng)絡(luò)規(guī)模對比Table 1 Evaluation indexs and network scales comparison of teacher network and student network
圖4 教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)的去霧結(jié)果對比Fig.4 Dehazing results comparison of teacher network and student network
3.2.2 知識蒸餾在模型收斂速率中的有效性
本文對不同迭代次數(shù)下教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)(學(xué)生網(wǎng)絡(luò)-1)的測試結(jié)果進(jìn)行分析,分別記錄了迭代第1×104、2×104、3×104和5×104次時2 個網(wǎng)絡(luò)的去霧結(jié)果。圖5 是教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)在迭代第1×104次和第2×104次時生成器輸出的去霧圖像與原始霧圖的對比。
圖5 在不同迭代次數(shù)下教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的去霧結(jié)果對比Fig.5 Dehazing results comparison of teacher networks and student networks under different iteration times
從迭代了相同次數(shù)的教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的去霧結(jié)果可以看出,學(xué)生網(wǎng)絡(luò)具有更優(yōu)的去霧性能。在不同迭代次數(shù)下教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的去霧評價指標(biāo)如表2 所示。
表2 在不同迭代次數(shù)下教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)去霧評價指標(biāo)對比Table 2 Dehazing evaluation indexes comparison of teacher networks and student networks under different iteration times
從表2 可以看出,在迭代第1×104和2×104次時,學(xué)生網(wǎng)絡(luò)的PSNR、SSIM 值略優(yōu)于迭代相同次數(shù)時的教師網(wǎng)絡(luò),并且學(xué)生網(wǎng)絡(luò)在迭代到第3×104次時PSNR、SSIM 數(shù)值已接近于教師網(wǎng)絡(luò)迭代第5×104次時的值。這是由于訓(xùn)練好的重型網(wǎng)絡(luò)通常具有大量信息,輕量型網(wǎng)絡(luò)通過重型網(wǎng)絡(luò)的知識遷移優(yōu)化權(quán)值參數(shù)時,只需要對參數(shù)進(jìn)行微調(diào),因此,輕量型網(wǎng)絡(luò)的訓(xùn)練速度遠(yuǎn)優(yōu)于從頭開始訓(xùn)練的網(wǎng)絡(luò)。
由此可以得出:迭代次數(shù)的增加對于網(wǎng)絡(luò)性能的提升起著至關(guān)重要的作用,由于學(xué)生網(wǎng)絡(luò)得到了從教師網(wǎng)絡(luò)遷移的知識,它可以使用比教師網(wǎng)絡(luò)更少的迭代次數(shù),從而達(dá)到與其相同的去霧性能。
3.2.3 知識蒸餾在圖像去霧中的有效性
為驗(yàn)證知識蒸餾在圖像去霧中的有效性,將本文提出的方法與DCP 方法[2]、文獻(xiàn)[21]方法、NLP 方法[22]、GMAN 方法[7]和EPDN 方法[6]進(jìn)行對比,對比結(jié)果如圖6 所示(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。其中A 組和B 組圖像選自O(shè)TS 數(shù)據(jù)集,C 組和D 組圖像選自HSTS 數(shù)據(jù)集。
圖6 不同方法的去霧結(jié)果對比Fig.6 Dehazing results comparison among different methods
從圖6 可以看出,DCP 方法對天空區(qū)域和白色區(qū)域的去霧失真嚴(yán)重,會將天空區(qū)域處理成深藍(lán)色,白色物體會產(chǎn)生過高的對比度。文獻(xiàn)[21]提出基于暗原色先驗(yàn)去霧方法,也存在天空區(qū)域去霧效果失真的問題。雖然NLP 方法去霧性能較優(yōu),但是與真實(shí)圖像對比存在顏色失真的問題?;贒NN 的EPDN 方法可以生成比較自然的去霧圖像,然而在霧濃度大的區(qū)域中去霧結(jié)果會留有一些薄霧?;诰幋a-解碼結(jié)構(gòu)的端到端去霧網(wǎng)絡(luò)GMAN 通過殘差模塊提取霧天圖像的特征信息,具有良好的去霧效果,但恢復(fù)的圖像中存在較明顯的網(wǎng)格狀條紋,影響主觀視覺感受。由于本文設(shè)計(jì)的基于CGAN 網(wǎng)絡(luò)不需要生成器中特定的函數(shù)形式,也無需利用馬爾科夫鏈反復(fù)采樣、推斷,因此不會存在概率問題,生成的圖像也更加清晰。圖6 中每幅圖的下方標(biāo)出了該圖的去霧量化指標(biāo)SSIM/PSNR,本文提出的KD-GAN 去霧方法得到的量化指標(biāo)與其他方法相比取得了較高的值。表3 為在兩種數(shù)據(jù)集上不同去霧方法的去霧評價指標(biāo)PSNR、SSIM 的平均值。從表3可以看出,本文提出的KD-GAN 方法的PSNR 和SSIM 在OTS 和HSTS 數(shù)據(jù)集上均取得了較高的值,表明本文提出方法的去霧效果更優(yōu)。
表3 不同方法的評價指標(biāo)平均值對比Table 3 The average value of evaluation indexs comparison among different methods
本文提出一種基于條件生成對抗網(wǎng)絡(luò)與知識蒸餾的單幅圖像去霧方法。通過設(shè)計(jì)基于編碼器-解碼器結(jié)構(gòu)的條件生成對抗網(wǎng)絡(luò),將原始有霧圖像作為條件信息添加到判別器的輸入端,以改進(jìn)霧天圖像的去霧效果。為降低生成對抗網(wǎng)絡(luò)計(jì)算量和存儲成本,通過選擇L2 范數(shù)的平方來約束重型網(wǎng)絡(luò)和輕量化網(wǎng)絡(luò)的FSP 矩陣,使用L1 正則項(xiàng)對兩個網(wǎng)絡(luò)生成器輸出端的特征圖進(jìn)行約束。在OTS 和HSTS 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法的峰值信噪比和結(jié)構(gòu)相似性分別為0.902 0/22.418 8 和0.895 8/22.888 5,能夠有效改善去霧效果,同時加快訓(xùn)練速度。后續(xù)將優(yōu)化以過程為導(dǎo)向的損失函數(shù),進(jìn)一步提升學(xué)生網(wǎng)絡(luò)的學(xué)習(xí)效率和去霧性能。