李 莉,王新強(qiáng),銀 珊
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林 541004)
受復(fù)雜水下物理環(huán)境的影響,水下圖像經(jīng)常存在顏色失真、低對(duì)比度、細(xì)節(jié)模糊等問(wèn)題[1-3]。低質(zhì)量的水下圖像對(duì)探知水下場(chǎng)景帶來(lái)了極大挑戰(zhàn),因此,研究有效的水下圖像清晰化算法具有重要意義。
目前,水下圖像清晰化技術(shù)主要分為圖像復(fù)原和圖像增強(qiáng)[4]兩種。其中,復(fù)原算法考慮水下成像機(jī)理,估計(jì)退化模型的參數(shù)以反演清晰圖像[5]。近期,暗通道啟發(fā)的算法逐漸應(yīng)用到水下圖像去霧方面,但該算法沒(méi)有充分考慮紅通道的衰減,造成估計(jì)的透射率較大,復(fù)原圖像較暗。文獻(xiàn)[6]采用隨機(jī)森林回歸算法提高透射率估計(jì)的準(zhǔn)確率,但該算法的運(yùn)算復(fù)雜度較高。文獻(xiàn)[7-8]提出的算法進(jìn)一步提高了投射率的估計(jì)準(zhǔn)確率,但增強(qiáng)的圖像中引入了紅色偽影。
圖像增強(qiáng)算法通過(guò)調(diào)整圖像的像素值以增強(qiáng)圖像的顏色和對(duì)比度。文獻(xiàn)[9]提出了基于Retinex 的水下圖像增強(qiáng)算法,該算法提高了圖像的可視性,但易引入微紅色。文獻(xiàn)[10]利用Retinex 分解圖像的反射分量和入射分量,然后對(duì)它們采用不同的增強(qiáng)算法,并通過(guò)加權(quán)融合獲得增強(qiáng)的圖像,但該算法放大了噪聲。文獻(xiàn)[11]受Retinex 的啟發(fā),采用模型分段和線性分段增強(qiáng)反射分量,通過(guò)空間平滑和線性平滑改善入射分量,但該算法求解復(fù)雜。文獻(xiàn)[12-13]提出了自適應(yīng)雙直方圖算法,但沒(méi)有充分考慮水下圖像的衰減,從而導(dǎo)致增強(qiáng)的圖像出現(xiàn)過(guò)增強(qiáng)或欠增強(qiáng)。文獻(xiàn)[14]提出了顏色平衡和融合的水下圖像增強(qiáng)算法,但該算法對(duì)于衰減通道的選擇考慮不足。增強(qiáng)算法簡(jiǎn)單且高效,在對(duì)比度增強(qiáng)方面表現(xiàn)出較好的性能,但需要充分考慮水下圖像的衰減問(wèn)題。最近,基于深度學(xué)習(xí)的算法逐漸應(yīng)用到水下圖像增強(qiáng)方面[15-18]。然而,高質(zhì)量的訓(xùn)練數(shù)據(jù)和有效的網(wǎng)絡(luò)結(jié)構(gòu)制約了深度學(xué)習(xí)算法的發(fā)展。
本文提出無(wú)需先驗(yàn)知識(shí)假設(shè)且不必?cái)?shù)據(jù)驅(qū)動(dòng)的ACHS 算法,用以增強(qiáng)水下圖像的對(duì)比度和顏色。根據(jù)顏色通道的衰減特性計(jì)算衰減矩陣,對(duì)衰減嚴(yán)重的通道進(jìn)行校正。同時(shí),通過(guò)引導(dǎo)濾波分離LAB 顏色模型中L通道的基礎(chǔ)層和細(xì)節(jié)層,利用基于K-means聚類的雙直方圖增強(qiáng)基礎(chǔ)層的對(duì)比度,采用Gamma 校正突顯細(xì)節(jié)層的紋理結(jié)構(gòu)。在此基礎(chǔ)上,將L通道的基礎(chǔ)層和細(xì)節(jié)層進(jìn)行累加并轉(zhuǎn)換到RGB 顏色模型,從而得到最終的增強(qiáng)圖像。
ACHS 算法流程如圖1 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版),算法步驟如下:1)將輸入圖像分解為紅、綠、藍(lán)通道;2)采用基于衰減補(bǔ)償?shù)念伾U惴ㄒ匀コ聢D像的顏色失真;3)在LAB 顏色模型,通過(guò)引導(dǎo)濾波將亮度通道L通道分解為基礎(chǔ)層和細(xì)節(jié)層,同時(shí)采用不同的增強(qiáng)策略分別實(shí)施增強(qiáng)操作;4)累加基礎(chǔ)層和細(xì)節(jié)層以獲得增強(qiáng)的L通道,并轉(zhuǎn)換到RGB顏色模型以獲取最終的增強(qiáng)圖像。
圖1 基于衰減補(bǔ)償和直方圖拉伸的水下圖像增強(qiáng)算法流程Fig.1 Procedure of underwater image enhancement algorithm based on attenuation compensation and dual histogram
顏色失真是水下圖像面臨的挑戰(zhàn)性問(wèn)題。傳統(tǒng)的拉伸算法并沒(méi)有充分考慮水下圖像的衰減,當(dāng)直接被應(yīng)用到水下圖像的顏色校正時(shí),易引入紅色失真[12]。此外,在渾濁或深水域獲得的水下圖像各個(gè)通道之間的衰減程度差異較大。因此,本文需要考慮不同顏色通道之間的衰減差異,針對(duì)不同顏色通道采用不同的校正算法。首先,利用式(1)計(jì)算各個(gè)通道的總像素值:
其中:M和N表示圖像行和列。然后,根據(jù)每個(gè)通道的總像素值對(duì)這3 個(gè)顏色通道從大到小排序?yàn)镮max、Imid、Imin。Imax表示最大顏色通道,也被稱為衰減最弱的通道;Imid表示中間顏色通道,也被稱為衰減較弱的通道;Imin表示最小顏色通道,也被稱為衰減最強(qiáng)的通道。對(duì)于Imax顏色通道直接采用傳輸?shù)睦焖惴ǎ磉_(dá)式如下:
其中:Ihigh和Ilow表示最大顏通道的最大值和最小值;Icmax表示校正的結(jié)果,對(duì)于中間顏色通道,它相對(duì)于最大的顏色通道Imax也有一些衰減。因此,考慮在它們之間的構(gòu)建衰減矩陣[Imax(i,j)-Imid(i,j)],并將其補(bǔ)償給中間顏色通道。數(shù)學(xué)上,中間顏色通道的校正公式如下:
最小顏色通道相對(duì)于最大顏色通道Imax衰減最為嚴(yán)重。因此,需要在它們之間構(gòu)建衰減矩陣[Imax(i,j) -Imin(i,j)],并將其補(bǔ)償給最小顏色通道。數(shù)學(xué)上,最小顏色通道的校正公式如下:
圖2 展示了藍(lán)色、綠色、黃色、模糊4 類退化的水下圖像(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版),從中能夠清楚看到本文顏色校正算法對(duì)于這4 種退化的水下圖像都具有明顯效果,特別適用于水下圖像的顏色失真校正。
圖2 顏色校正Fig.2 Color correction
如圖2 所示,雖然本文的顏色校正算法可以有效移除顏色失真,但這些結(jié)果的對(duì)比度和細(xì)節(jié)紋理還需要進(jìn)一步增強(qiáng)。在不改變顏色的前提下,有效提高水下圖像的可視度是本節(jié)的研究重點(diǎn)。本節(jié)考慮到LAB 顏色空間中亮度通道L和顏色通道A、B是相互獨(dú)立的。因此,通過(guò)增強(qiáng)L通道進(jìn)一步提高輸出圖像的對(duì)比度。此外,為了進(jìn)一步突顯增強(qiáng)圖像的紋理細(xì)節(jié),本節(jié)采用引導(dǎo)濾波分解出L通道的基礎(chǔ)層和細(xì)節(jié)層,然后,采用不同的增強(qiáng)策略進(jìn)行增強(qiáng)。將顏色校正的圖像從RGB 顏色模型轉(zhuǎn)換到LAB 顏色模型,然后對(duì)其進(jìn)行分層處理:
其中,亮度通道L即可作為引導(dǎo)圖像也可以作為被濾波的圖像,guided_filter()表示引導(dǎo)濾波的簡(jiǎn)化函數(shù),且r和ε分別被設(shè)定為16 和0.01,這些參數(shù)的選擇參考文獻(xiàn)[19]。細(xì)節(jié)層是從輸入圖像中減去基礎(chǔ)層如下:
1.3.1 基于K-means 的雙直方圖增強(qiáng)基礎(chǔ)層
多數(shù)水下圖像前景亮度高于背景亮度,由于前景距離成像系統(tǒng)較近且照明相對(duì)較充足,因此本節(jié)考慮將L通道分解前景和背景兩個(gè)子圖像,在這里本文的L通道指的是基礎(chǔ)層。其中,前景子圖像對(duì)應(yīng)的是圖像直方圖中的高像素,背景子圖像對(duì)應(yīng)的是圖像直方圖中的低像素。K-means 作為無(wú)監(jiān)督的聚類算法廣泛引用到圖像分割、聚類等領(lǐng)域。本節(jié)采用K-means 聚類的思想將L通道分解為前景和背景兩個(gè)子圖像。首先根據(jù)距離關(guān)系定義初始化聚類的中心:
其中:Cx為第x個(gè)類別的最初聚類中心;LBase,max和LBase,min表示基礎(chǔ)層的最大和最小像素值,且x=1,2,…,X。然后,分配各個(gè)像素點(diǎn)到最近似的聚類集合中,表達(dá)式如下:
其中:Dx,y為第y個(gè)像素值到第x個(gè)像素值所在聚類中心之間的距離,y=1,2,…,Y,Y是像素點(diǎn)的總數(shù)目。當(dāng)完成一次聚類以后,需要通過(guò)式(9)再次更新聚類中心:
其中:Yy表示式(8)被分配到x類別中的像素總數(shù)。如果聚類中心的位置發(fā)生變化,則重復(fù)執(zhí)行式(8),直到整個(gè)聚類過(guò)程結(jié)束。最終將第x類和x-1 類的聚類中心的平均值作為雙直方圖的分解值,表達(dá)式如下:
將T作為L(zhǎng)通道中分離前景和背景最佳閾值,然后利用閾值T將L通道分解為前景和背景子圖像,其中小于閾值的區(qū)域定義為背景子圖像,大于閾值的區(qū)域定義為前景子圖像,最后采用式(11)分別對(duì)前景和背景子圖像進(jìn)行拉伸:
其中:CDF(LBase(i,j))表示對(duì)于任意一個(gè)輸入像素LBase(i,j)的累加概率;LBase,Background和LBase,F(xiàn)oreground分別表示校正后的前景和背景子圖像。最終,L通道的基礎(chǔ)層被校正為=LBase,Background+LBase,F(xiàn)oreground。
1.3.2 Gamma 校正增強(qiáng)細(xì)節(jié)層
L通道的細(xì)節(jié)層包含大量的紋理信息,如圖1 所示紋理信息較暗,因此如何有效提高紋理信息的亮度是突顯細(xì)節(jié)的關(guān)鍵。Gamma 校正作為一種有效的非線性變換算法,可用于調(diào)整細(xì)節(jié)層的動(dòng)態(tài)范圍以突顯紋理結(jié)構(gòu)。基于Gamma 校正的原理,細(xì)節(jié)層的校正公式如下:
其中:LDetail表示L通道細(xì)節(jié)層;表示Gamma 校正的細(xì)節(jié)層。在Gamma 校正中,當(dāng)γ<1 時(shí),低灰度區(qū)域的動(dòng)態(tài)范圍增加,高灰度區(qū)域的動(dòng)態(tài)范圍減小;當(dāng)γ>1 時(shí),低灰度區(qū)域的動(dòng)態(tài)范圍減小,高灰度區(qū)域的動(dòng)態(tài)范圍增加。在細(xì)節(jié)層中紋理信息相對(duì)于圖像中的其它區(qū)域顯然是高灰度區(qū)域,為了進(jìn)一步增大高灰度區(qū)域的動(dòng)態(tài)范圍,因此在本文Gamma 校正中γ>1。實(shí)驗(yàn)結(jié)果表明,當(dāng)γ=1.8 時(shí),細(xì)節(jié)層的紋理信息能夠被較好地突顯。最終,利用累加獲取增強(qiáng)的L通道,同時(shí)將圖像從LAB 顏色模型轉(zhuǎn)換到RGB 顏色模型以獲得最終的增強(qiáng)圖像。
為了驗(yàn)證ACHS 算法的有效性,本文從UIEB[16]數(shù)據(jù)集中選出藍(lán)色、綠色、黃色、模糊4 類具有代表性的水下圖像進(jìn)行主觀評(píng)估分析。UIEB 包括890 張不同退化程度的水下圖像。同時(shí),從3 類經(jīng)典算法選擇7 個(gè)代表性的算法進(jìn)行對(duì)比實(shí)驗(yàn)。復(fù)原算法:HMU[6],GDCP[7];增強(qiáng)算法:REBE[9],BARU[11],CBAF[14];深度學(xué)習(xí)算法:WaterNet[16],UIEC^2-Net[18]。實(shí)驗(yàn)平 臺(tái)設(shè)置為:CPU八核3.6 GHz、內(nèi)存32 GB;軟件為Matlab R2015b,Windows 10 操作系統(tǒng)。
在UIEB 數(shù)據(jù)集上,引導(dǎo)濾波中的參數(shù)選擇評(píng)估結(jié)果如表1 所示,其中加粗?jǐn)?shù)據(jù)表示最優(yōu)數(shù)據(jù)。從中可知,當(dāng)引入濾波中的局部窗口半徑和正則化參數(shù)被設(shè)定為16 和0.01 時(shí),定量評(píng)估指標(biāo)PCQI、UCIQE 和CCF 能夠獲得最高和近似最高的值。因此,在本文分層設(shè)計(jì)中,r和ε被設(shè)定為16 和0.01。
表1 在UIEB 數(shù)據(jù)集上的參數(shù)選擇評(píng)估結(jié)果Table 1 Parameter selection evaluation result on UIEB dataset
本文選擇4 類具有代表性的樣本進(jìn)行主觀評(píng)估。藍(lán)色、綠色、黃色和模糊水下圖像示例分別如圖3~圖6 所示(彩色效果見(jiàn)《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。由于版面有限,因此本文僅展示部分主觀實(shí)驗(yàn)結(jié)果。
圖3 不同算法的實(shí)驗(yàn)結(jié)果(藍(lán)色水下圖像)Fig.3 Experimental results of different algorithms(blue underwater images)
由圖3 所示的藍(lán)色水下圖像實(shí)例可知:GDCP 加劇了顏色失真;雖然HUM 提高了圖像的對(duì)比度,但引入了微紅色失真;REBE、BARU 和CBAF 移除了顏色失真,提高了對(duì)比度,但不能有效突顯細(xì)節(jié);WaterNet 校正了顏色,提高了對(duì)比度,但是增強(qiáng)的圖像出現(xiàn)了黑暗的外觀;UIEC^2Net 在顏色校正和對(duì)比度增強(qiáng)方面都展示了令人滿意的結(jié)果,但是在細(xì)節(jié)增強(qiáng)方面劣于ACHS 算法;ACHS 具有較好主觀視覺(jué)效果,突顯了細(xì)節(jié)信息。
由圖4 所示的綠色水下圖像實(shí)例可知:GDCP 不能很好地移除綠色失真;雖然HUM 移除了綠色失真,但引入了微紅色失真;REBE、BARU 和CBAF 在顏色校正和對(duì)比度增強(qiáng)方面都展示了令人滿意的結(jié)果,但是REBE 結(jié)果局部過(guò)暗,BARU 和CBAF 引入了局部微紅色;WaterNet結(jié)果局部過(guò)暗;UIEC^2-Net在對(duì)比度增強(qiáng)和細(xì)節(jié)突顯方面差于ACHS 算法。
圖4 不同算法的實(shí)驗(yàn)結(jié)果(綠色水下圖像)Fig.4 Experimental results of different algorithms(green underwater images)
由圖5所示的黃色水下圖像實(shí)例可知:GDCP、REBE和BARU 在移除紅色失真方面的結(jié)果并不理想;HUM引入了不想要的藍(lán)色失真;WaterNet移除了黃色失真,但是不能有效提高圖像的可視性;CBAF 和UIEC2-Net移除了黃色失真,但是在細(xì)節(jié)突顯和對(duì)比度增強(qiáng)方面差于ACHS 算法。
圖5 不同算法的實(shí)驗(yàn)結(jié)果(黃色水下圖像)Fig.5 Experimental results of different algorithms(yellow underwater images)
由圖6 所示的模糊水下圖像實(shí)例可知:GDCP、BARU、CBAF 和WaterNet 去模糊效果并不理想;UHM引入了紅色失真;REBE 結(jié)果局部過(guò)暗;UIEC^2-Net 在對(duì)比度增強(qiáng)方面弱于ACHS 算法。
圖6 不同算法的實(shí)驗(yàn)結(jié)果(模糊水下圖像)Fig.6 Experimental results of different algorithms(blurred underwater images)
綜上所述,ACHS 算法能夠有效地移除水下圖像的顏色失真,增強(qiáng)輸出圖像的對(duì)比度和細(xì)節(jié)。
為進(jìn)一步評(píng)估本文算法的有效性,選擇全參考的圖像質(zhì)量評(píng)估指標(biāo):均方誤差(MSE)[16],邊緣強(qiáng)度(EI)[13]和局部批次對(duì)比度(PCQI)[20],以及非參考的評(píng)估指標(biāo):水下圖像彩色質(zhì)量指標(biāo)(UCIQE)[21]和水下圖像顏色、對(duì)比度以及霧的線性評(píng)估指標(biāo)(CCF)[22]。其中:MSE 的值越低表明增強(qiáng)算法的性能越好;EI、PCQI、UCIQE 和CCF 的值越高表明增強(qiáng)算法的性能越好。為了進(jìn)一步說(shuō)明客觀評(píng)估的有效性,使用ACHS 算法和對(duì)比算法測(cè)試整個(gè)UIEB 數(shù)據(jù)集。不同算法的客觀評(píng)估指標(biāo)如表2 所示。
表2 不同算法在UIEB 數(shù)據(jù)集上的客觀評(píng)估指標(biāo)Table 2 Objective evaluation metric of different algorithms tested on UIEB dataset
ACHS 算法在客觀評(píng)估方面具有近似最高和最高的EI、PCQI、UCIQE、CCF 值以及最低的MSE 值。此外,ACHS 算法具有最高的平均評(píng)估指標(biāo)??傮w而言,ACHS 算法不僅具有較好的主觀視覺(jué),而且還具有較好的客觀評(píng)結(jié)果。
本文提出一種基于衰減補(bǔ)償和直方圖拉伸的水下圖像增強(qiáng)算法ACHS。結(jié)合水下圖像的衰減補(bǔ)償和線性拉伸技術(shù)擴(kuò)大圖像的動(dòng)態(tài)范圍,進(jìn)而移除水下圖像的顏色失真。同時(shí),通過(guò)增強(qiáng)亮度通道的基礎(chǔ)層和細(xì)節(jié)層,增強(qiáng)圖像的對(duì)比度和細(xì)節(jié)。實(shí)驗(yàn)結(jié)果表明,ACHS 算法能夠使增強(qiáng)的圖像具有自然的顏色、較高的對(duì)比度和清晰的細(xì)節(jié)。此外,算法對(duì)于霧和低光照?qǐng)D像也具有一定的適用性。下一步將結(jié)合水下成像模型對(duì)水下圖像進(jìn)行視覺(jué)質(zhì)量增強(qiáng)探索,并繼續(xù)研究簡(jiǎn)單有效的水下圖像增強(qiáng)方法。