趙艷芹, 朱子寒, 何東來
(黑龍江科技大學 計算機與信息工程學院, 哈爾濱 150022)
霧霾天氣時,由于大氣中存在的大量懸浮微粒對光線具有散射的作用,導致圖像獲取設(shè)備,如相機所拍攝到的圖像質(zhì)量降低,出現(xiàn)對比度和亮度等方面的衰減,其對分類、跟蹤及識別等高級計算機視覺任務造成影響。目前,業(yè)界主要使用基于物理模型的傳統(tǒng)去霧算法和基于深度學習的去霧算法進行圖像去霧操作。基于物理模型的傳統(tǒng)去霧算法有,He等[1]統(tǒng)計大量圖片后提出了暗通道先驗的去霧理論,取得了較好的效果。陳功等[2]通過光學建模霧天場景,借助晴天和霧天場景計算景深信息來復原有霧圖像。然而,基于簡化后的物理模型的去霧方法,會由于透射率和大氣光估計出現(xiàn)一定的誤差,易出現(xiàn)去霧不徹底和顏色失真等現(xiàn)象[3]?;谏疃葘W習的去霧算法有,郭夢琰等[4]基于模擬生物視覺系統(tǒng)的反饋原理,提出一種端到端的循環(huán)生成對抗網(wǎng)絡算法,以解決誤差累積造成去霧圖像低質(zhì)的問題。仲偉峰[5]通過將Cycle-GAN生成器的編碼網(wǎng)絡和解碼網(wǎng)絡改用Leaky ReLU和tanh兩種激活函數(shù),并對轉(zhuǎn)換網(wǎng)絡的殘差塊進行減少數(shù)量和加權(quán)優(yōu)化處理,獲取去霧圖像。謝志恒[6]提出了一種基于U-Net的單幅圖像去霧算法。該算法利用卷積神經(jīng)網(wǎng)絡學習霧天相關(guān)特征,輸出霧天圖像與清晰圖像之前的透射關(guān)系,通過大氣散射模型還原無霧圖像。
與基于物理模型的傳統(tǒng)去霧算法相比,基于深度學習的算法能夠處理更加復雜的情況,且在大部分情況下能獲得較好的效果。然而,在實驗中發(fā)現(xiàn),目前,基于深度學習的方法中有些能夠恢復與原圖相近的色彩,但是由于處理結(jié)果過暗導致細節(jié)丟失,有些可以突出細節(jié),而未兼顧到色彩方面的問題。為了解決上述問題,筆者提出基于Retinex-Net[7]的室外圖像去霧改進算法,以期提高圖像的質(zhì)量。
Retinex理論[8]認為,物體的顏色具有恒常性,物體的顏色由物體本身性質(zhì)決定,不受光照強度和光照顏色的影響。Retinex 算法原理,如圖1所示。光源發(fā)光照射物體,當入射光照射到物體上時,物體通過反射光線到探測設(shè)備中,從而被采集為圖像。Retinex理論中物體成像可以表示為入射分量和反射分量的乘積為
圖1 Retinex 算法原理Fig. 1 Algorithm principle of Retinex
S(X)=R(X)·I(X),
(1)
式中:X——圖像的像素點的坐標(x,y);
R——反射分量,表示的是不同物體對不同波長光的反射性質(zhì),反映到圖像上時,代表物體清晰的圖像,又被稱為反射率;
I——照度分量;
S——成像設(shè)備采集到的圖像。
霧霾天氣下成像模型,如圖2所示。由圖2可見,霧霾天氣下成像模型[9]考慮了大氣中霧霾顆粒對光線的散射現(xiàn)象。從光源和其他環(huán)境反射而來的光統(tǒng)稱為大氣光,大氣光照射到物體上,物體反射光線,這些反射光一部分進入到圖像采集設(shè)備,一部分被反射到霧霾顆粒上,霧霾顆粒對這部分光線有吸收和散射作用,散射出的光線只有一部分進入到圖像采集設(shè)備,從而采集的設(shè)備上面包含霧氣,其過程表示為
圖2 霧霾天氣下成像模型Fig. 2 Imaging model in haze weather
S(X)=J(X)t(X)+A(1-t(X)),
(2)
式中:A——大氣光;
t——介質(zhì)透射率;
J——反射分量,在霧霾圖像中表示無霧的清晰圖像。
Retinex-Net[7]是一種端到端的可訓練的低亮度圖像增強網(wǎng)絡,該網(wǎng)絡框架分為三個部分,分解網(wǎng)絡Decom-Net、增強網(wǎng)絡Enhance-Net和圖像重建Reconstruction部分。Decom-Net包含了兩條共享參數(shù)的網(wǎng)絡,分別以低照度圖像和正常光圖像作為輸入,獲取低照度圖像和正常光圖像的反射圖和投射圖,最終,根據(jù)Retinex理論重建正常光照下的圖像。
由圖1和2可見,霧霾天氣下成像模型比Retinex理論模型多考慮了空氣中漂浮的霧霾顆粒對光線的散射作用。在霧霾天氣下成像模型中去除這層影響,霧霾天氣下成像模型與Retinex理論有了相同的效果。
對式(2)移項可得:
(S(X)-A)=J(X)·t(X)-A·t(X)。
(3)
Retinex理論模型中,基于物體本身對不同波長光的不同反射性質(zhì),對入射光進行反射的過程可以理解為對入射光在一定反射率下的衰減過程,這個過程沒有霧霾顆粒的影響。相應的,結(jié)合式(3)和圖3可知,在霧霾天氣下去除了大氣光照射在霧霾顆粒而發(fā)生散射現(xiàn)象的影響下,通過建模,物體反射光被霧霾顆粒遮擋造成的散射現(xiàn)象導致的衰減直接可以歸屬到物體本身的性質(zhì)當中,此時,霧霾天氣下成像模型和Retinex模型有了相同效果,大氣光照射霧霾顆粒發(fā)生散射現(xiàn)象,在圖3中由虛線箭頭部分表示。整理式(3)可得:
圖3 改進的霧霾天氣下成像模型Fig. 3 Improved imaging model in haze weather
(S(X)-A)=(J(X)-A)·t(X)。
(4)
式(4)兩端同乘A之后就符合了改進的霧霾天氣下成像模型,在改進的霧霾天氣下成像模型的代碼實現(xiàn)中,利用神經(jīng)網(wǎng)絡簡化輸入,調(diào)整改進模型:將原輸入A(S(X)-A)調(diào)整為S(X)-A;將分解得到的照度分量A重新定義為I(X),其用于估計調(diào)整輸入值所帶來的誤差,最終求得包含介質(zhì)透射率的反射分量(J(X)-A)t(X)和照度分量I(X)。
式(4)的恢復圖像可表示為
S(X)=(J(X)-A)t(X)+A。
(5)
原透射率不必另外估計,原透射率表示為
(6)
Retinex-Net依據(jù)Retinex理論,以深度學習的方式實現(xiàn)低亮度圖像的增強,根據(jù)2.1的分析,在去除大氣光照射霧霾顆粒發(fā)生散射的情況下,將其將用于圖像去霧領(lǐng)域中是可行的。
改進的Retinex-Net去霧網(wǎng)絡主干結(jié)構(gòu),如圖4所示。除了將Retinex-Net改用于圖像去霧領(lǐng)域外,在其基礎(chǔ)上,擴展了一個大氣光估計網(wǎng)絡AEM-Net,用于估計大氣光值。另外在Enhance-Net的處理結(jié)果上,增加使用歸一化的操作用于增強估計的照度分量的細節(jié)。
圖4 改進的Retinex-Net去霧網(wǎng)絡主干結(jié)構(gòu)Fig. 4 Improved Retinex-Net dehazing network backbone structure
2.2.1 大氣光估計網(wǎng)絡
大氣光估計網(wǎng)絡結(jié)構(gòu),如圖5所示。使用大氣光估計網(wǎng)絡進行大氣光的估計,有霧圖像經(jīng)過AEM-Net處理之后獲得估計的大氣光值。訓練大氣光估計網(wǎng)絡之前,需要計算真實的大氣光值,使用最大顏色像素值法從清晰的圖像中估計真實的大氣光值[10],該方法可表示為
Ac=maxC(X),
(7)
式中:Ac——清晰圖像計算出的大氣光;
C——R、G、B三通道圖像。
由于U-Net可以將不同的特征拼接在一起,形成包含更多信息的特征,因此,文中建立的AEM-Net選擇基于U-Net模型,如圖5所示。將霧霾圖像輸入到AEM-Net中,先經(jīng)過4層不改變圖像尺寸的卷積操作之后進入U-Net,其中包含8層的卷積和8層的反卷積操作,在反卷積操作中,除了第一層的反卷積操作,之后層的反卷積都會以對應的卷積操作層和上層反卷積操作的連接作為輸入。
圖5 大氣光估計網(wǎng)絡結(jié)構(gòu)Fig. 5 AEM-Net network structure
2.2.2 分解網(wǎng)絡
文中使用改進的Retinex-Net直接在有霧圖像中進行去除了霧霾顆粒散射影響的反射圖像(Jh-Ah)t。分解網(wǎng)絡結(jié)構(gòu),如圖6所示。分解網(wǎng)絡將霧霾圖像Sh和清晰圖像Sc共同輸入到網(wǎng)絡。將輸入數(shù)據(jù)共同去除大氣光估計網(wǎng)絡估計的大氣光值A(chǔ)h后,使用兩條共享的網(wǎng)絡線路進行圖像分解,其中,包含了5層Conv+ReLU塊。該部分網(wǎng)絡將分別獲得該成對圖像,去除了霧霾顆粒散射影響的反射圖像和照度圖像。
圖6 分解網(wǎng)絡結(jié)構(gòu)Fig. 6 Decom-Net network structure
2.2.3 增強網(wǎng)絡
在增強網(wǎng)絡上,增加最大最小值歸一化操作來進一步增強介質(zhì)透射率圖像的細節(jié)部分。由式(6)可知,將去除了霧霾顆粒散射影響的反射圖像(Jh-Ah)t和分解獲得的照度分量Ih作為網(wǎng)絡輸入,如圖7所示。經(jīng)一次卷積操作后進入到四層卷積操作和四層上采樣操作后,圖像尺寸不變,將結(jié)果連接后經(jīng)1×1卷積核進行卷積得到一個二維的介質(zhì)透射率圖像,之后再進行歸一化增強細節(jié)。
圖7 增強網(wǎng)絡結(jié)構(gòu)Fig. 7 Enhance-Net network structure
2.2.4 去霧圖像的重建
經(jīng)上述三個深度步驟去除了霧霾顆粒散射影響的反射圖像經(jīng)過經(jīng)過上述三節(jié)的深度學習步驟,可獲得霧霾圖像的反射圖像、照度圖像以及大氣光值,據(jù)改進的霧霾天氣下成像模型,圖像重建過程如圖8所示。最終以重建去霧圖像的思想獲得了去霧圖像,避免了估計與景物深度信息有關(guān)的介質(zhì)透射率t。
圖8 圖像重建Fig. 8 Image reconstruction
損失函數(shù)L由四部分組成,大氣光估計損失LA,去除了霧霾顆粒散射影響的反射圖像一致性損失Lir和照度一致性損失Lis,重建損失Lre。因此,L可表示為
L=LA+Lir+Lis+Lre。
(8)
由于均方誤差法方法簡單直觀,復雜度低等優(yōu)點[11],上述四部分的損失函數(shù)均采用均方誤差(eMSE),對于兩幅相同大小的圖像x和y其基本計算方法為
(9)
式中:N——一副圖像中的像素總數(shù);
i——像素的位置序號;
xi——圖像x中第i個像素值;
yi——圖像y中第i個像素值。
大氣光估計網(wǎng)絡的估計結(jié)果與預先在清晰圖像中計算出的真實大氣光具有一致性,LA可表示為
LA=eMSE(Ah,Ac)。
(10)
分解網(wǎng)絡中,有霧圖像和清晰圖像經(jīng)過分解后的反射圖像具有一致性,Lir可表示為
Lir=eMSE((Jh-Ah)t,Jc-Ah)。
(11)
增強網(wǎng)絡中,根據(jù)2.1中建立的模型可知,霧霾圖像經(jīng)分解網(wǎng)絡獲得的照度分量經(jīng)增強網(wǎng)絡估計而來的照度分量與清晰圖像分解得到的照度分量具有一致性,Lis可表示為
(12)
經(jīng)過圖像重建,獲得去霧圖像,與輸入的清晰圖像具有一致性,重建損失Lre可表示為
Lre=eMSE(Sh,Sc) 。
(13)
文中從RESIDES數(shù)據(jù)集精選了3 500張合成圖像,包含霧霾圖像和對應的清晰圖像。隨機挑選其中,3 000張用于訓練,其余500張用作測試。網(wǎng)絡結(jié)構(gòu)全部使用TensorFlow實現(xiàn),采用ADAM優(yōu)化器并使用一塊型號為RTX2080TI的GPU進行訓練。
文中的對比實驗分為兩組,一組是文中算法與傳統(tǒng)算法進行比較,另一組與基于深度學習的方法進行對比實驗。文中采用的模型評價標準包括峰值信噪比(ηPSNR)和結(jié)構(gòu)相似度(αSSIM)。
實驗圖像如圖9所示。自上而下分別是對比實驗的霧霾圖像、清晰圖像和文中算法取得的結(jié)果。與傳統(tǒng)算法比較,傳統(tǒng)有暗通道先驗去霧和Retinex增強的算法去霧對比,結(jié)果如圖10所示。不同模型結(jié)果對比如圖11所示。
圖9 實驗圖像Fig. 9 Images in experiments
圖10 傳統(tǒng)算法去霧的效果對比 Fig. 10 Traditional algorithm dehazing effect for comparison
圖11 不同模型結(jié)果對比Fig. 11 Result comparison between different models
視覺效果方面比較,暗通道先驗算法恢復的圖像色彩飽和度過高,而Retinex去霧算法的恢復結(jié)果大部分出現(xiàn)了失真現(xiàn)象。相比之下,文中算法從顏色和色彩飽和度兩個方面效果都較好。
量化評價標準方面比較,如表1所示。從峰值信噪比和結(jié)構(gòu)相似度兩個方面,文中算法比暗通道先驗和Retinex去霧算法都有更好的效果。
表1 文中模型和其他傳統(tǒng)算法的量化比較
與基于深度學習的方法對比,用精選數(shù)據(jù)集分別對Dehaze-Net[12]、AOD-Net[13]、Physics-based Dehazing Network[10]以及文中模型進行訓練,并且根據(jù)各自原文中的描述,設(shè)定各自的訓練參數(shù)。文中模型訓練時,批大小設(shè)置為10,一共訓練100輪。最后,文中將從視覺效果、評價標準兩個方面上對模型的訓練結(jié)果進行分析。
由圖11可見,分別展示了對原始霧霾圖像(圖11a)的處理結(jié)果。總體來說,都去除了輸入圖像中的霧氣,對輸入圖像作了不同程度的增強。AOD-Net(圖11b)雖然去除了輸入圖像的霧氣效果,但是處理結(jié)果飽和度過高,圖像中很多地方都產(chǎn)生了失真現(xiàn)象。相比來說,DehazeNet(圖11d) 所恢復的無霧圖像從視覺效果上更接近無霧圖像,然而相較于原圖來說整體較暗,導致原本較暗的地方細節(jié)丟失。通過Fast Physics-based Dehazing Network(圖11e)恢復的無霧圖像從色彩飽和度方面較為接近原圖,然而恢復結(jié)果整體上有些模糊。文中模型(圖11c)顧及到色彩飽和度和細節(jié)還原兩個方面,從視覺效果上更加接近原圖( 圖11f )。
量化評價標準方面比較。模型的量化對比結(jié)果如表2所示。由表2可知,文中的改進模型,在兩個評價標準中都優(yōu)于其他的模型。
表2 文中模型和其他深度學習模型的量化比較
(1)霧霾天氣下,霧霾顆粒會對大氣光和由物體反射來的光線產(chǎn)生散射現(xiàn)象,從而影響圖像采集設(shè)備最終成像,文中通過分析霧霾顆粒的這種散射作用,構(gòu)建了改進的霧霾天氣下成像模型,為改進Retinex-Net算法提供理論基礎(chǔ)。
(2)為了實現(xiàn)改進的霧霾天氣下成像模型,文中設(shè)計了一種基于U-Net結(jié)構(gòu)的大氣光估計網(wǎng)絡,以改進的霧霾天氣下成像模型為依據(jù),優(yōu)化Retinex-Net的增強網(wǎng)絡,結(jié)合大氣光估計網(wǎng)絡與Retinex-Net,最終實現(xiàn)了圖像去霧操作。對比實驗結(jié)果表明,文中算法獲得的去霧圖像較其他算法,峰值信噪比提升至32.06 dB,結(jié)構(gòu)相似度提升至0.948 8。不僅將Retinex-Net從低亮度增強領(lǐng)域成功應用到圖像去霧領(lǐng)域,也證明了改進的霧霾天氣下成像模型的有效性。