?

基于雙向轉換網絡的域自適應單幅圖像去霧方法

2023-01-12 07:14湯永恒潘斌
遼寧石油化工大學學報 2022年6期
關鍵詞:霧天雙向損失

湯永恒,潘斌

(遼寧石油化工大學計算機與通信工程學院,遼寧 撫順 113001)

隨著社會的發展,環境污染也更加嚴重,近年來霧霾現象變得愈發的普遍,這給光學設備的成像造成了極大的影響,尤其是航海航天、道路交通、目標跟蹤、目標識別等領域。因此,如何排除霧霾天氣對實際工作的干擾變得越來越重要,圖像去霧也成為了計算機視覺領域的熱點問題。目前,圖像去霧的方法大致分為基于圖像增強和基于物理模型的圖像復原兩種方法?;趫D像增強的方法包括直方圖均衡化、小波曲波變換、Retinex算法、基于局部方差等[1]?;谖锢砟P偷膱D像復原方法主要包括基于深度關系霧天圖像復原、基于先驗信息霧天圖像復原等。這些方法都是根據霧天圖像退化模型進行圖像去霧,霧天圖像退化模型可表示為:

式中,I(x)為光學設備獲取的有霧圖像;x為像素坐標;J(x)為處理后的無霧圖像;A為常數,表示大氣光值;A[1-t(x)]為大氣光主要成分項;t(x)為透視率,透射率隨場景深度變化呈指數式衰減。

基于先驗信息的霧天圖像復原工作率先由R.T.Tan[2]提出。該方法針對單幅彩色或灰度圖像去霧,去霧后的圖像對比度大大提高,但是顏色過于飽和且有光暈偽影。R.Fattal[3]通過求取圖像景物反射率估計值的方式推導出去霧圖像,這種方法僅適用于薄霧條件,如果變成濃霧,處理效果變差。K.M.He等[4]提出了基于暗原色的單一圖像去霧方法,去霧效果有了較好的提升但是計算代價大,處理時間長。D.Berman等[5]假設數百種近似于清晰圖像的不同顏色,然后根據先驗信息圖像去霧的方法進行了圖像去霧。上述方法在合成數據去霧方面都取得了一定的效果,但是在進行圖像信息先驗時容易產生誤差,從而與實際數據不匹配,導致t(x)的計算出現錯誤,使其在處理真實環境下的霧天圖像時效果不太理想。

隨著深度學習技術的發展,人們開始研究基于深度學習的圖像去霧算法。例如由H.Zhang等[6]提出的DCPDN圖像去霧網絡,采用的生成對抗網絡增加了一個反向驗證的過程,同時加入一致性損失,使轉換后的效果強于其他生成對抗網絡。深度學習的方法通過構建多層卷積神經網絡得到估計值,從而可以直接預測去霧后的清晰圖像,相對于基于物理的去霧方法,在峰值信噪比(PSNR)[7]、結構相似度(SSIM)[8]等指標上也有較大提升。但是,該方法需要大量的霧天圖像和無霧圖像進行訓練,而在現實生活中收集大量真實霧天圖像數據是非常困難的。因此,目前基于深度學習的去霧算法,大多是采用人工合成的有霧圖像對深度神經網絡模型進行訓練,而人工合成霧天圖像與真實世界的霧天圖像存在一定差別,人工合成霧天圖像的霧是均勻分布且沒有深度,真實霧天圖像的霧是隨機分布且霧的深淺不一,因此該類方法針對真實世界的霧天圖像去霧時效果都不太理想,究其原因就是產生了域轉移的問題[9]。

本文提出了基于雙向轉換網絡的域自適應單幅圖像去霧算法。該方法包含一個由Cycle-GAN網絡組成的圖像域轉換模型和一個由卷積神經網絡組成的圖像去霧模型。通過雙向轉換網絡實現圖像在合成域與真實域之間的轉換,減少不同域之間的差距,然后將轉換后的圖像作為輸入數據訓練去霧網絡模型。為了提高模型對真實霧天圖像的處理能力,本文在人工合成的霧天圖像基礎上,增加了真實霧天圖像作為訓練數據,提高了模型的泛化能力。大量的實驗結果表明,此方法對人工合成霧天圖像和真實霧天圖像都有較好的去霧效果,在峰值信噪比、結構相似度等方面均有提高。

1 圖像去霧方法

1.1 深度學習方法

近年來,在計算機視覺領域基于深度學習卷積神經網絡進行圖像去霧的方法受到了很大的關注,圖像去霧也成為了計算機視覺領域一個重要的研究方向。用卷積神經網絡進行圖像去霧的方法,大多都是首先通過卷積神經網絡計算轉換圖和大氣光值,然后利用霧天退化模型反推出無霧圖像。B.Cai等[10]提出了一種基于端到端的DehazeNet圖像去霧模型,用去霧網絡根據有霧圖像計算出轉換圖,然后反推出清晰圖像。W.Q.Ren等[11]提出了多尺度卷積神經網絡圖像去霧方法,先用粗尺度的卷積神經網絡得到粗略的透視率圖,然后通過細尺度卷積神經網絡得到精細化的透射率圖,最后得到去霧后的圖像。H.Zhang等[12]提出了一個通過密集金字塔網絡進行圖像去霧的方法,通過該網絡估計出轉換圖,然后反推出清晰圖像。這些基于深度學習卷積神經網絡的去霧方法都是利用合成的有霧圖像進行訓練,對真實霧天圖像進行去霧處理時效果差,原因在于沒有解決域轉移問題,模型的泛化能力不夠。本文算法首先利用雙向轉換網絡對圖像進行域轉換,將圖像從一個域轉換到另一個域,有效地解決了域轉移的問題,然后用轉換后的圖像作為訓練集對去霧模型進行訓練。實驗結果表明,該方法對合成有霧圖像和真實霧天圖像都有較好的去霧效果,尤其是在合成霧天圖像的去霧效果較以往方法有顯著提高。

1.2 域自適應方法

域自適應的目的是減小不同域之間的差異,有效地解決訓練樣本和測試樣本之間概率分布不一致的學習問題。當前域自適應在計算視覺領域得到了廣泛的運用,如圖像分類、語義分割、視頻分析等方法都是利用轉換網絡將數據從一個域轉換到另一個域以達到域自適應。域自適應是通過轉換學習和風格遷移的方法去重新創建新的目標域的數據,常見域自適應可以分為基于對抗、重建的域自適應?;趯沟挠蜃赃m應通過對抗網絡(GAN)生成合成目標數據,然后根據合成數據訓練模型;基于重建的域自適應是使用輔助重建任務為每個域創建共享表示。這些域自適應執行特征級的域自適應或像素級域自適應。特征級域自適應主要是通過最小化最大平均值差異或對抗學習來調整源域和目標域之間的特征差異。像素級域自適應主要是采用轉換網絡將一個圖像從一個域轉換到另一個域,從而達到像素級域自適應。常用的圖像轉換網絡有Cycle-GAN、Pan等。

2 本文算法

2.1 雙向轉換模塊

本文采用的雙向轉換網絡為Cycle-GAN網絡,其網絡配置如圖1所示。圖1中,Conv表示卷積層;Res4-12表示殘差模塊;Upconv表示上采樣層;SFT表示空間特征變換層;Tanh表示非線性層,采用Tanh激活函數。

圖1 Cycle-GAN網絡配置

雙向轉換網絡可以將合成霧天圖像數據轉換為真實霧天圖像數據,也可以把真實霧天圖像數據轉換為合成霧天圖像數據。為了使由合成霧天圖像數據轉換而來的圖像更符合實際,本文將圖像深度信息融入到網絡中;為了將圖像深度信息融入到網絡中,采用空間特征變換層(Spatial Feature Transform Layer)[13]。通過本文算法經過多次實驗得到的圖像都與真實霧天圖像更加相似,圖像轉換結果如圖2所示。從圖2可以看出,域轉換后的圖像更加接近于真實霧天圖像。

圖2 基于本文方法的圖像轉換結果

2.2 圖像去霧模塊

圖像去霧模塊包括合成霧天圖像處理的網絡模型和真實霧天圖像處理的網絡模型。將真實霧天圖像輸入到雙向轉換網絡得到合成霧天圖像,并將其作為輸入放入合成霧天圖像處理模型中進行圖像去霧處理;將合成霧天圖像輸入到雙向轉換網絡得到真實霧天圖像,并將其作為輸入放入真實霧天圖像處理模型中進行圖像去霧處理。兩個去霧網絡的結構是相同的,只不過初始化參數不同。圖像去霧模塊流程如圖3所示。

圖3 圖像去霧模塊流程

2.3 損失函數

在整個域自適應圖像去霧框架中,損失函數包含雙向轉換網絡的損失函數和圖像去霧網絡的損失函數。在雙向轉換網絡定義圖像級對抗性損失LimgGan、特征級對抗性損失LfeatGan,其表達式見式(2)及式(3)。

式中,XR為真實域;XS為合成域;?R為真實霧天圖像去霧模塊;DimgR為圖像級鑒別器,其有助于對齊真實圖像與轉換后圖像GS→R(xs,ds)特征圖之間的分布;DfeatR為特征級圖像鑒別器,其有助于對齊真實圖像與GS→R(xs,ds)特征圖之間的分布;DS為相應深度圖像;xs為輸入的合成圖像;xr為輸入的真實圖像。

另外,定義Cycle一致性損失,其表達式為:

為促使生成器保留輸入與輸出之間的內容信息,定義特征映射損失為:

因此,最終的雙向轉換網絡的損失函數表達式為:

去霧后圖像質量損失包含真實域去霧模型和合成域去霧模型損失兩個部分。為確保預測圖像JS→R更加接近清晰圖像YS,在基于真實域去霧網絡中采用均方差損失函數為:

為了使去霧網絡正則化,引入了全變分和暗通道損失,全變分損失函數表達式為:

暗通道表達式為:

暗通道DC損失表達式為:

此外,合成域去霧模型損失函數表達式與之類似,可以表示為:

最終圖像去霧網絡的損失函數為:

綜合雙向轉換網絡損失和圖像去霧網絡損失,定義整個域自適應去霧框架損失函數:

式中,λm、λd、λt、λc為權重。

3 實驗部分

實驗在64位ubuntu操作系統中進行,使用pytorch框架對網絡進行訓練,CPU為Intel Xeon(R)Platinum 8160,內 存256 GB DDR4,GPU為NVIDIA P100。

3.1 實驗步驟

本文算法訓練網絡模型使用的數據來自RESIDE[14]數據集,從RESIDE數據中隨機抽取數據用于網絡模型的訓練工作。RESIDE數據被劃分為室內訓練集(Indoor Training Set)、室外訓練集(Outdoor Training Set)、合成圖像測試集(Synthetic Object Test Set)、未標簽真實霧天圖像(Unannotated Real Hazy Images)、真實霧天圖像測試集(Real Task-driven Testing Set)五大部分。隨機抽 取Indoor Training Set和Outdoor Training Set各3 000張作為實驗合成霧天圖像數據集,隨機抽取Unannotated Real Hazy Images1 000張作為真實霧天圖像數據集。在訓練時,把所有實驗用圖像都裁剪為256×256,每幅圖像的像素值轉為[-1,1]。開始時,用訓練圖像來訓練圖像轉換模塊即訓練雙向轉換網絡(Cycle-GAN),將訓練參數設置為50~100次,學習率設置為(5.0~6.0)×10-5。經過大量實驗驗證,最終確定訓練次數為90次、學習率為5.5×10-5時模型最優。利用轉換后的合成霧天圖像數據訓練合成霧天圖像去霧網絡,用轉換后的真實霧天圖像數據訓練真實霧天圖像去霧網絡,兩個去霧網絡的訓練次數最初設置為50次,但是處理圖像效果不佳,于是將訓練次數范圍設為50~150次,學習率設置為(0.5~1.5)×10-5。經過大量的實驗,當訓練次數為90次、學習率為1.0×10-5時處理效果最佳。再用前面的訓練數據訓練整個基于雙向轉換網絡的域自適應去霧網絡,分別生成用于合成數據的域自適應去霧模型和用于真實霧天圖像的域自適應去霧模型。模型訓練次數匹配前面模型的訓練次數,同樣設定為90次。當訓練次數設置小于或大于90次時,處理結果均較訓練90次有所下降。測試階段用合成霧天圖像和真實霧天圖像測試用于合成霧天圖像域自適應的模型和用于真實霧天圖像域自適應模型。測試階段用的合成霧天圖像數據來自Synthetic Object Test Set,真實霧天圖像數據來自Unannotated Real Hazy Images。

3.2 實驗結果

為了驗證本文算法的有效性,分別采用合成霧天圖像數據和真實霧天圖像數據,對基于雙向轉換網絡的域自適應圖像去霧模型進行了檢驗,并結合PSNR、SSIM等指標與其他算法進行了比較分析。PSNR越大,說明經去霧處理后圖像保留的特征信息越明顯,更加接近真實圖像,圖像的失真較少;SSIM值越大,說明去霧處理后特征信息保留完好,一般SSIM值不超過1.00。

基于本文算法的真實霧天圖像去霧處理結果如圖4所示。從圖4可以看出,經過處理的去霧圖像較原始霧天圖像更加清晰。

圖4 基于本文算法的真實霧天圖像去霧處理結果

基于不同算法的真實霧天圖像去霧效果如圖5所示。從圖5可以看出,本文算法的處理結果較其他算法更加清晰且圖像失真更少。

圖5 基于不同算法的真實霧天圖像去霧效果

基于不同算法的合成霧天圖像去霧效果如圖6所示。從圖6可以看出,本文算法去霧效果更好,圖像失真少。

圖6 基于不同算法的合成霧天圖像去霧效果

合成霧天圖像測試結果如表1所示。從表1可以看出,本文算法的峰值信噪比、結構相似度平均值均高于其他算法。

表1 合成霧天圖像測試結果

測試結果表明,本文提出的基于雙向轉換網絡的域自適應圖像去霧方法對真實霧天圖像和合成霧天圖像都有較好的去霧效果;相比于其他算法,本文算法去霧效果更好,圖像失真少,處理后的圖像與清晰無霧的圖像結構相似度更高。對本文算法的峰值信噪比、結構相似度等指標與其他幾種去霧方法進行了比較,結果都有一定程度的提升,整體優于其他算法。

4 結論

本文所提算法有效地解決了域轉移問題,其合成有霧圖像去霧效果有很大的提升,真實環境下的霧天圖像的去霧效果也有一定的提升?;陔p向轉換網絡的域自適應單幅圖像去霧方法包含兩個模塊,即圖像轉換模塊和圖像去霧模塊。首先,用圖像轉換模塊實現圖像在合成域與真實域之間的相互轉換,以此來減少域之間的差異;然后,把轉換得到的圖像輸入到圖像去霧網絡中進行圖像去霧。為了提高模型對真實霧天圖像的去霧能力和泛化能力,在實驗中加入了真實霧天圖像來訓練模型。大量實驗結果表明,該方法在處理合成霧天圖像和真實霧天圖像上都有較好的效果,峰值信噪比(PSNR)和結構相似度((SSIM)較其他方法都有很大的提升。

猜你喜歡
霧天雙向損失
雙向度的成長與自我實現
降低寄遞成本需雙向發力
用“雙向宮排除法”解四宮數獨
胖胖損失了多少元
為什么在霧天不適宜進行晨練
玉米抽穗前倒伏怎么辦?怎么減少損失?
完善刑事證據雙向開示制度的思考
霧天盡量減少室外運動
大霧天氣
菜燒好了應該盡量馬上吃
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合