陳龍彪 諶雨章 王曉晨 鄒鵬 胡學敏



摘 要:由于水體本身的特性以及水中懸浮顆粒對光的吸收和散射作用,水下圖像普遍存在信噪比(SNR)低、分辨率低等一系列問題,但大部分方法傳統處理方法包含圖像增強、復原及重建,都依賴退化模型,并存在算法病態性問題。基于深度學習的圖像恢復技術近年來已成為研究的熱點。為進一步提高水下圖像恢復算法的效果和效率,提出了一種改進的基于深度卷積神經網絡的圖像超分辨率重建方法。該方法網絡中引入了改良的密集塊結構(IDB),能在有效解決深度卷積神經網絡梯度彌散問題的同時提高訓練速度。該網絡對經過配準的退化前后的水下圖像進行訓練,得到水下低分辨率圖像和高分辨率圖像之間的一個映射關系。實驗結果表明,在基于自建的水下圖像作為訓練集上,較卷積神經網絡的單幀圖像超分辨率重建算法(SRCNN),使用引入了改良的密集塊結構(IDB)的深度卷積神經網絡對水下圖像進行重建,重建圖像的峰值信噪比(PSNR)提升達到0.38dB,結構相似度(SSIM)提升達到0.013,能有效地提高水下圖像的重建質量。
關鍵詞:卷積神經網絡;超分辨率重建;信噪比;水下圖像處理;映射
中圖分類號:TN911.73; TP183
文獻標志碼:A
Underwater image super-resolution reconstruction method based on deep learning
CHEN Longbiao, CHEN Yuzhang*, WANG Xiaochen, ZOU Peng, HU Xuemin
School of Computer Science and Information Engineering, Hubei University, Wuhan Hubei 430062, China
Abstract:
Due to the characteristics of water itself and the absorption and scattering of light by suspended particles in the water, a series of problems, such as low Signal-to-Noise Ratio (SNR) and low resolution, exist in underwater images. Most of the traditional processing methods include image enhancement, restoration and reconstruction rely on degradation model and have ill-posed algorithm problem, and image restoration technology based on deep learning has become a hot topic in recent years. In order to further improve the effects and efficiency of underwater image restoration algorithm, an improved image super-resolution reconstruction method based on deep convolutional neural network was proposed. An Improved Dense Block structure (IDB) was introduced into the network of the method, which can effectively solve the gradient disappearance problem of deep convolutional neural network and improve the training speed at the same time. The network was used to train the underwater images before and after the degradation by registration and obtained the mapping relation between the low-resolution image and the high-resolution image. The experimental results show that on a self-built underwater image training set, the underwater image reconstructed by the deep convolutional neural network with IDB has the Peak Signal-to-Noise Ratio (PSNR) and Structural SIMilarity (SSIM) improved by 0.38dB and 0.013 respectively, compared with SRCNN (an image Super-Resolution method using Conventional Neural Network) and proposed method can effectively improve the reconstruction quality of underwater images.
Key words:
Convolutional Neural Network (CNN); super-resolution reconstruction; Signal-to-Noise Ratio (SNR); underwater image processing; mapping
0 引言
伴隨水下資源開發、水下環境監測以及海洋軍事等諸多領域的興起與蓬勃發展,水下成像探測一直是研究的熱點。但鑒于水下環境與陸地環境之間的極大差異,水中存在的水體對光的吸收和散射等諸多因素,導致電子設備采集到的水下圖像質量嚴重退化,存在對比度低、表面霧化等多方面不足,嚴重影響了信息的準確獲取。傳統的水下圖像處理方法包含圖像的增強、復原及超分辨率重建算法[1-2],但普遍存在依賴退化模型及效率低的問題,從而在應用范圍及實時性方面受到了限制。因此,找到一種快速有效的方法來對水下圖像進行處理,從而獲取到信噪比高、清晰度好的圖像是十分有必要且迫切的[3-5]。
近年來,學者們通過引入各種數學方法來優化水下圖像復原及重建的質量,并取得了一定的成效。針對水下圖像光照不均勻以及圖像的紋理細節模糊、對比度低的問題,郭相鳳
等[6]提出了一種基于水下圖像光學成像模型的清晰化算法,但該算法在實時性上的表現卻不夠好。也有學者針對特定的
應用場景設計了一些專門的圖像復原算法[7-8],這些算法在且僅在特定的場景下表現出對圖像復原良好的性能。考慮到水下光學條件復雜,張顥等[9]和Lu等[10]通過分析水下光學成像模型,針對噪聲去除,分別提出了自己的超分辨率重構算法,使得到的超分辨率圖像有較好的噪聲水平,但對于光照不足、色彩偏離嚴重的水下圖像,他們的算法卻顯得乏力。Nakagawa等[11]提出一種基于kinect水下三維圖像重建方法,該方法考慮了水中泥沙的影響,采用水下暗通道先驗去模糊、加權引導圖像超分辨率,有效克服了深度圖精度低的缺點。
本文結合課題組近幾年在退化模型和恢復算法的研究成果,總結出目前圖像恢復算法的一些共性問題:1)無法處理好降噪和進行對比度增強之間的先后關系,進而導致重建得到的圖像存在噪聲消除不夠完善或者細節受損的問題;2)數字圖像多為二維或者三維數字矩陣,數據量十分龐大,算法的迭代耗時過長,從而無法實現實時性。因此采用經典方法處理水下圖片無法快速準確地得到高質量的水下圖像復原圖。
深度學習成為近年來圖像處理領域的研究熱潮,已有學者也在這股熱潮中提出了基于深度學習的水下圖像處理算法。Lu等[12]提出了一種解決低強度光環境下水下成像問題的光場成像方法,該方法通過使用深度估計的深卷積神經網絡來解決光場圖像的去散射問題。而Perez等[13]提出了一種基于深度學習的水下圖像增強方法,通過圖像恢復技術對卷積神經網絡進行訓練,提高了神經網絡的泛化能力。自從Dong等[14]提出應用卷積神經網絡的單幀圖像超分辨率重建算法(an image Super-Resolution method using Conventional Neural Network, SRCNN)以后,就打開了深度學習通往圖像超分辨率重建的大門,同時解決了以前需要人為設計特征提取方式的不便,實現了端對端的學習,提高了圖像重建的精度。但SRCNN算法卻也存在明顯不足,表現在當SRCNN的層數較多時,便會出現梯度彌散的現象;而且,SRCNN使用的是單一的模糊因子進行訓練的,會導致該網絡對其他模糊程度的圖像的復原效果不佳。針對SRCNN的上述不足,本文提出了一種改進的深度卷積神經網絡,用以訓練低分辨率水下圖像和高分辨率圖像之間的映射關系,從而達到對水下圖像進行重建、提高圖像分辨率的目的。
1 本文方法
1.1 改進的基于卷積神經網絡的圖像超分辨率重建方法
本文設計的改進的深度密集卷積神經網絡結構如圖1所示。
改進的網絡主要包含兩大部分,即:
Z(X)=A(X)+B(X)(1)
其中:Z(X)為最終的重建圖像HR;X為攝像頭采集的水下低分辨率圖像;A(X)為由低分辨率圖像進行雙三次插值得到的圖像信息ILF,是圖像的低頻部分;B(X)表示低分辨率圖像經過深度卷積神經網絡后的輸出圖像信息IHF,是圖像的高頻信息部分。眾所周知,低分辨率圖像與高分辨率圖像的最大區別是在其基礎上損失了重要的高頻部分信息,而低頻部分的信息與原圖像基本一致,所以本文構建的網絡能夠有效避免對低頻部分信息的重復學習,從而加快模型的收斂速度。
其中用于學習圖像高頻部分信息的深度卷積神經網絡是圖1的上半部,該部分網絡由四大部分組成,包括:
1)用于學習低層特征的卷積層,其中包含兩個Conv卷積層;
2)用于學習高層特征的改良密集塊,包含12個IDB;
3)用于將學習的密集特征融合的融合層;
4)用于生成HR高頻特征的重構塊,包含一個上采樣層和一個卷積層。
1.2 數據集的建立及圖像預處理
受張清博等[15]的研究啟發,本實驗使用自建數據集,為保證實驗數據的多樣性,本次實驗在長江和東湖上進行。圖2是此次實驗成像系統原理以及采樣現場圖。
圖3(a)是長江水中測試靶1的圖像,圖3(b)是清水中測試靶1的圖像。可以看出:清水中的圖像的成像質量比較高,基本沒有噪聲;而長江水中的圖像含較多噪聲,清晰度很低。
為更好地體現出提取高頻信息進行網絡訓練的直觀效果,將測試靶1的高頻信息提取結果導出如圖4所示,可以看到,圖像的高頻細節部分信息展現更為突出,而低頻部分信息不再進入網絡進行訓練,能極大地提高網絡訓練的速度和效率。
為了解決數據難以獲取的難點,采集了大量用于訓練的數據集。將在自然光下采集得到的訓練靶退化前后的圖像進行配準得到尺寸為64×64的訓練樣本對。仿照文獻[16]中對數據的處理辦法,對圖像先進行 64×64顏色空間轉換并提取64×64通道,將得到的圖像按照步長為10,處理為大小64×64的圖像塊。再利用旋轉、鏡像的方法擴充訓練集,選取90%作為訓練集,10%作為校驗集,再選取在東湖中得到的測試靶的圖像作為測試集。最后得到訓練、校驗、和測試圖片的數目及尺寸如表1所示。采集到的這些訓練集圖像塊將用于特征提取步驟中,對本文設計的卷積神經網絡模型進行交叉訓練。
采集到的這些訓練集圖像塊將用于特征提取步驟中,對本文設計的卷積神經網絡模型進行交叉訓練。而所謂交叉訓練,就是將訓練集分為10份,每一輪訓練都會選取9份作為訓練集數據,剩下的1份將用作校驗集,并用其對網絡參數進行調節,每一輪的校驗集都不同,以此種方式循環10輪,便構成了交叉訓練。通過此方式,能有效地篩選出對網絡訓練更有利的數據集,防止因為部分訓練集效果不佳而對網絡整體效果產生影響。
1.3 特征提取
式(1)中的A(X)可通過直接對低分辨率圖像進行低通濾波,然后進行雙三插值得到;而用于訓練B(X) 的輸入則為通過高通濾波處理的低分辨率圖像。利用前層學習得到的特征圖與卷積核進行卷積操作提取局部特征,卷積結果經激活函數運算后得到當前層的特征圖。
得到如下的輸出結果:
xlj=f(∑i∈Mjxl-1i×Wlij+blj)(2)
其中:x為特征圖中像素點的值,l為卷積層的層數,i和j為像素點的位置, f為神經網絡采取的激活函數,M為卷積核,W和b分別為卷積核中的權值和常數偏置。本文提出的卷積神經網絡中,受文獻[17]中提出方法的引導,在每次卷積前都對圖像進行補0操作,這樣保證了所有的特征圖和最終的輸出圖像在尺寸上都保持一致,避免出現圖像因通過逐步卷積而會變得越來越小的問題。
有研究表明,網絡層次越深,則對圖像的重建性能會有更好的體現,見文獻[18]。但由于神經網絡中梯度彌散現象,會導致深層次網絡的重建效果甚至不如簡單的3層卷積神經網絡。文獻[19]中提出了殘差網絡結構的概念,殘差結構在深層網絡中利用跨層將淺層和深層的卷積層連接,使卷積層對特征圖的殘差進行擬合,大幅降低了訓練過程的計算復雜度,同時也減少了梯度彌散的現象。
本文對殘差網絡的中間層進行改良,在其中引入了改良的密集塊結構。而所謂密集塊結構,見文獻[20],就是一種具有密集連接的卷積神經網絡;在該網絡中,任何兩層之間都有直接的連接,也就是說,網絡每一層的輸入都是前面所有層輸出的并集,而該層所學習的特征圖也會被直接傳給其后面所有層作為輸入。
而本文獨具匠心,將殘差塊與密集塊結構相結合,提出了改良的密集塊結構(Improved Dense Block, IDB),如圖5所示。
1.4 誤差函數構造
前文中已有提及,輸入的低分辨率圖像與其對應的高分辨圖像的低頻部分信息基本一致,從而導致兩者的殘差圖像的像素值大多數很小甚至很多為0。為了學習高頻部分端到端的映射函數F,本文方法中訓練高頻部分信息的密集卷積神經網絡采用了殘差學習的思想,在圖像重建過程中構造了本網絡模型的重建誤差函數H(λ),定義為:
H(λ)=1N∑Ni=1‖(Zi-Xi)-F(limx→∞ Xi;λ)‖2=
1N∑Ni=1‖r-F(limx→∞ Xi;λ)‖2(3)
其中:N是訓練樣本的數量,Xi為輸入的第i幅低分辨率圖像,λ={W1,W2,…,Wn,b1,b2,…,bn},r是標準的高分辨率輸出Zi與低分辨率輸入Xi的殘差圖像信息。
2 實驗結果與分析
由于超分辨率重建的任務是得到與原始高分辨率圖像盡可能相近的重建圖像,因此對于數據集{Xi,Zi}Ni=1訓練的目標為求解使得原始高分辨率圖像Zi和重建圖像i的平均歐氏距離最小的W和b,即為:
W,b=arg minW,b12N‖Zi-i‖22(4)
峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)和結構相似度(Structural SIMilarity, SSIM)是衡量圖像重建的質量時用得較廣泛的兩個指標[21],前者對處理后的結果跟原圖相比的誤差進行定量計算,PSNR愈高,說明失真愈小;SSIM越逼近1,說明處理后的結構與原圖結構極為近似,即生成的結果圖更好。故本文采用這兩個指標來客觀評價各類重建方法的優劣,對于原始高分辨率圖像Zi和重建圖像i,PSNR和SSIM的表達式為:
PSNR=10·lgMN‖Zi-i‖2(5)
SSIM = (2ufuf⌒+ C1)(σff⌒+ C2)(uf 2+ uf⌒2+ C1)(σf2+ σf⌒2+ C2)(6)
其中:M、N均為圖像的尺寸,Zi為原始高分辨率圖像, i為重建后的超分辨率圖像,uf和σf分別為真實高分辨率圖像的平均灰度值和方差, uf⌒和σf⌒分別為重建后圖像的灰度平均值和方差, σff⌒為原始高分辨率圖像和重建圖像的協方差,C1、C2均為常數,且取C1=(k1L)2,C2=(k2L)2,k1=0.01,k2=0.03,L=255。
2.1 實驗配置
本實驗的訓練平臺為:操作系統為 Ubuntu 14.04,CPU為Core i7-7700K(Quad-core 4.2GHz),顯卡為 NIVID GTX 1080ti。訓練測試平臺為CUDA8.0,cuDNN5.1, Pytorch0.4,python3.5。在主要參數學習率的設置上,本文采用的是學習率衰減的辦法,這樣能有效防止訓練時間過長。設定初始學習率為0.001,每迭代100000次,學習率降為原來的1/10,采用隨機梯度下降法(Stochastic Gradient Descent, SGD)對網絡進行訓練。
網絡結構參數如表2所示,其中kerner_size為卷積核的尺寸,padding為輸入的每一條邊補充0的層數,bias為是否添加偏置。
為了更加全面地展示出本神經網絡的效果,本文選取了4個相關的方法在相同的數據集中進行比較,這些方法包括:雙三插值、A+[22]、Self-Exp[23]和SRCNN[14],對比中所用的方法的代碼,均從作者項目代碼的公開網頁上獲得,其中A+、Self-Exp以及SRCNN方法代碼網址分別為http://www.vision.ee.ethz.ch/~timofter/software/AplusCodes_SR.zip;
[5]王鑫,朱行成,寧晨,等.融合暗原色先驗和稀疏表示的水下圖像復原[J].電子與信息學報,2018, 40(2):264-271.(WANG X, ZHU X C, NING C, et al. Combination of dark-channel prior with sparse representation for underwater image restoration [J]. Journal of Electronics and Information Technology, 2018, 40(2):264-271.)
[6]郭相鳳,賈建芳,楊瑞峰,等.基于水下圖像光學成像模型的清晰化算法[J].計算機應用,2012,32(10):2836-2839.(GUO X F, JIA J F, YANG R F, et al. Visibility enhancing algorithm based on optical imaging model for underwater images [J]. Journal of Computer Applications, 2012, 32(10): 2836-2839.)
[7]QUEVEDO E, DELORY E, CALLIC G M, et al. Underwater video enhancement using multi-camera super-resolution [J]. Optics Communications, 2017, 404: 94-102.
[8]LI J, LI Y. Underwater image restoration algorithm for free-ascending deep-sea tripods [J]. Optics and Laser Technology, 2019, 110: 129-134.
[9]張顥,范新南,李敏,等.基于光學成像模型的水下圖像超分辨率重構[J].計算機與現代化,2017(4):7-13.(ZHANG H, FAN X N, LI M, et al. Underwater image super-resolution reconstruction based on optical imaging model [J]. Computer and Modernization, 2017(4): 7-13.)
[10]LU H, LI Y, NAKASHIMA S, et al. Underwater image super-resolution by descattering and fusion [J]. IEEE Access, 2017,5: 670-679.
[11]NAKAGAWA Y, KIHARA K, TADOH R, et al. Super resolving of the depth map for 3D reconstruction of underwater terrain using kinect [C]// Proceedings of the 2016 IEEE 22nd International Conference on Parallel and Distributed Systems. Piscataway, NJ: IEEE, 2016, 1: 1237-1240.
[12]LU H, LI Y, UEMURA T, et al. Low illumination underwater light field images reconstruction using deep convolutional neural networks [J]. Future Generation Computer Systems, 2018, 82: 142-148.
[13]PEREZ J, ATTANASIO A C, NECHYPORENKO N, et al. A deep learning approach for underwater image enhancement [C]// Proceedings of the 2017 International Work-Conference on the Interplay Between Natural and Artificial Computation, LNCS 10338. Berlin: Springer, 2017: 183-192.
[14]DONG C, LOY C C, HE K, et al. Learning a deep convolutional network for image super-resolution [C]// Proceedings of the 2014 European Conference on Computer Vision, LNCS 8692. Berlin: Springer, 2014: 184-199.
[15]張清博,張曉暉,韓宏偉.一種基于深度卷積神經網絡的水下光電圖像質量優化方法[J].光學學報,2018,38(11):88-96.(ZHANG Q B, ZHANG X H, HAN H W. Optimization of underwater photoelectric image quality based on deep convolutional neural networks [J]. Acta Optica Sinica, 2018, 38(11): 88-96.)
[16]LIM B, SON S, KIM H, et al. Enhanced deep residual networks for single image super-resolution [C]// Proceedings of the 2017 Computer Vision and Pattern Recognition Workshops. Washington, DC: IEEE Computer Society, 2017: 136-144.
[17]KIM J, LEE J K, LEE K M. Accurate image super-resolution using very deep convolutional networks [C]// Proceedings of the? 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 1646-1654.
[18]HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[19]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016, 1: 770-778.
[20]TONG T, LI G, LIU X, et al. Image super-resolution using dense skip connections [C]// Proceedings of the 2017 IEEE International Conference on Computer Vision. Washington, DC: IEEE Computer Society, 2017: 4809-4817.
[21]WANG Z, BOVIK A C, SHEIKH H R, et al. Image quality assessment: from error visibility to structural similarity [J]. IEEE Transactions on Image Processing, 2004, 13(4): 600-612.
[22] ?TIMOFTE R, de SMET V, van GOOL L. A+: adjusted anchored neighborhood regression for fast super-resolution [C]// Proceedings of the 2014 Asian Conference on Computer Vision, LNCS 9006. Berlin: Springer, 2014: 111-126.
[23]HUANG J-B, SINGH A, AHUJA N . Single image super-resolution from transformed self-exemplars [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2015, 1: 5197-5206.
This work is partially supported by Youth Science Foundation of National Natural Science Foundation of China (61806076), the Students Platform for Innovation and Entrepreneurship Training Program of Hubei Province (201710512051, 201810512051).
CHEN Longbiao, born in 1997. His research interests include deep learning, image processing.
CHEN Yuzhang, born in 1984, Ph. D., associate professor. His research interests include photoelectric detection, image processing.
WANG Xiaochen, born in 1998. His research interests include deep learning, software engineering.
ZOU Peng, born in 1997. His research interests include image processing, deep learning.
HU Xuemin, born in 1985, Ph. D., associate professor. His research interests include computer vision, intelligent system.