李向春,張浩,劉曉燕,宗芳伊,劉軍禮
(齊魯工業大學(山東省科學院),山東省科學院海洋儀器儀表研究所,山東 青島 266001)
海洋蘊藏著極其豐富的資源,是國防戰略安全的重要領域,海洋軍事競爭日趨激烈。水下圖像是海洋信息的重要載體,在海洋科學研究的諸多領域,都涉及到水下成像技術。在海洋工程方面,水下圖像可用于海底管道鋪設、泄露檢測,壩體裂縫檢測,水下環境監測,沉船打撈等;在海洋開發方面,可應用于海底地貌勘測以及海底資源勘探,為海洋資源的開發提供有用信息;在水下目標探測與識別方面,可偵察、探測和識別可疑目標。
在海洋環境中,由于復雜的成像環境和光照條件導致水下圖像存在顏色失真、對比度低、信噪比低等弱點,水下圖像降質主要是由水體對光的吸收和散射造成的。由于不同波長的光在水中傳播時有不同的衰減率,造成水下圖像的顏色退化,前向散射導致圖像的細節模糊,水中溶解的有機物和懸浮顆粒對光的背景散射導致圖像對比度降低,不能直接提取出有用的信息,降質的圖像難以直接應用于海洋工程、海洋開發。為獲取更加清晰有用的水下圖像,研究水下圖像增強技術,對后續圖像多特征提取與目標識別具有重要意義。
現有的水下圖像增強和復原技術,大致可分為非物理模型方法和基于物理模型方法。非物理模型方法包括空域法、變換域法、基于顏色恒常性理論的方法以及綜合型方法。水下圖像增強的空域法常用的處理技術是增強對比度,包括對比度拉伸、銳化、直方圖均衡化和限制對比度直方圖均衡化。基于空域法的圖像增強技術較為成熟,實現簡單,處理后的水下圖像對比度增強較為明顯,但仍存在顏色失真、放大噪聲、引入偽影等缺陷。2013年,Henke等[1]提出了一種基于特征的彩色恒常假設算法修正水下圖像顏色失真,該算法基于灰度世界假設條件,首先分離水下圖像的前景與背景,只對前景區域進行白平衡算法處理,但該方法處理結果的對比度和偏色校正結果都不夠理想。2015年,Li等[2]提出了一種水下圖像增強綜合方案。首先,通過簡單的去霧算法去除散射衰減的影響,接下來依次采用顏色補償、直方圖均衡、飽和度和光強度拉伸算法提高水下圖像的對比度、亮度以及獲得相對真實的色彩,最后使用雙邊濾波進行去噪,實驗結果驗證了該方法的有效性。
基于物理模型的方法可分為基于假設條件或先驗知識的方法、基于圖像去霧模型的改進方法以及基于水下成像光學屬性的方法。2010年,Carlevaris-Bianco等[3]研究發現不同顏色的光照在水中傳播時衰減程度不同,通過該先驗知識估計成像場景深度,進而移除光照散射對水下圖像造成的影響。2012年,Chiang等[4]提出的基于波長補償和去霧模型的水下圖像復原方法,考慮自然光照和人造光源的影響修正水下成像模型,由背景光各顏色的衰減程度估計場景處的深度,結合標準殘余能量比率進行波長補償,最終有效提高了水下圖像的清晰度和顏色保真度,其建立的水下成像數學模型的普適性有限,從而導致無法準確的恢復水下丟失的顏色和對比度。2013年,Kim等[5]提出了一種新的得到粗透射率圖的方法,針對大氣中去霧圖像的透射率估計,利用最小信息量損失原理估計透射率,當一些物體比大氣光更明亮時,該方法比暗通道先驗去霧法[6]更準確地估計出透射率。2016年,Li等[7]提出了一種基于藍綠信道去霧和紅信道修正的方法來復原水下圖像。首先,對經典的暗通道先驗去霧進行擴展和修正來處理水下圖像的藍綠信道;然后,根據灰度世界假設理論進一步修正紅信道;最后,使用一種自適應的曝光算法來解決水下圖像出現的過飽和或欠飽和問題。2017年,倪錦艷等[8]采用大氣光暗原色先驗去霧算法求取水下圖像透射率,并根據物體和背景光顏色對透射率進行自適應優化,利用色溫調節還原物體顏色。朱文青等[9]提出根據水下圖像成像特點,建立水下光學成像模型,采用改進的暗原色算法進行圖像去模糊,由直方圖均衡化和雙邊濾波器對去模糊之后的圖像增強對比度。
綜上所述,水下圖像增強和復原技術在一定程度上均可改善圖像質量問題,但已有方法仍然存在一些不足。本研究結合非物理模型和基于物理模型方法的優勢,針對水下圖像因背景散射及水對光的選擇吸收作用而導致的圖像模糊、顏色失真問題,根據先去除背景散射影響后修正顏色失真的思路,提出一種基于透射率優化和顏色修正的水下圖像增強方法,能夠有效地提高圖像對比度,改善顏色失真,方法的實時性較好。
McGlamery[10]提出的經典的水下成像系統計算模型認為,相機系統接收到的光分量有3部分(圖1),分別為直接入射分量、前向散射分量(反射光隨機偏離傳播路徑后被相機接收)及后向散射分量(部分光照在未到達場景前被水或懸浮微粒反射,隨后被相機接收)。

圖1 水下光學成像原理圖Fig.1 Principle diagram of underwater optical imaging
在通常情況下,由于場景與相機距離很短,可忽略前向散射對成像造成的影響,自然光照條件下,水下成像模型可簡化為:
I(x)=J(x)t(x)+A(1-t(x)),
(1)
式中,I(x)表示水下退化圖像;J(x)表示清晰圖像;J(x)·t(x)表示直接分量;A(1-t(x))表示背景散射分量;A表示水下背景光;t(x)表示場景光透射率。
由于水對光能量的選擇性吸收作用,使得不同波長的光衰減情況不一致,不同于在大氣中傳播,考慮到各顏色通道具有不同的透射率,基于不同波長衰減差異的水下成像模型為:
Ic(x)=Jc(x)tc(x)+Ac[1-tc(x)],c∈{r,g,b},
(2)
式中,c表示圖像中的紅綠藍3個顏色通道;Ic(x)表示水下退化圖像;Jc(x)表示清晰圖像;即真實場景圖像,tc(x)表示場景光透射率(tc(x)∈[0,1]);Ac表示水下背景光,得到清晰圖像Jc(x)為
(3)
水體對光具有散射作用,因前向散射導致圖像的細節模糊,后向散射導致圖像對比度降低,不同波長的光在水中傳播時有不同的衰減率,紅光首先消失,綠光次之,藍光傳輸最遠,造成水下拍攝的圖像呈現藍綠基調。為了去除圖像模糊、提高圖像的對比度以及修正顏色偏差,根據先去除背景散射影響,然后使用直方圖均衡化進一步提高圖像對比度,最后使用白平衡算法修正顏色失真的思路,提出一種基于透射率優化和顏色修正的水下圖像增強方法,該方法能夠改善水下圖像細節模糊、顏色失真的缺陷。
水下背景光通常被認為是水下圖像中最亮的顏色。He等[6]利用暗通道獲取水下背景光,選取暗通道中亮度最大的前0.1%像素,其中像素值最大的點作為背景光的估計值,此時水下圖像全局背景光的選取極易受到水中白色物體的干擾,使得背景光數值估計過高。基于透射率優化和顏色修正的水下圖像增強方法中,提出選取藍/綠-紅差異最大的像素點作為水下背景光的估計值,可有效避免背景光估計偏高的問題[11]。
四叉樹細分分層搜索算法步驟:
步驟1:將一幅輸入圖像均分為4個矩形區域,記為Bi,i∈{1,2,3,4}區域;
步驟2:記SBi=平均像素值-標準差,SBi最高區域為候選區域,在該候選區域中選取前0.1%最亮的像素點,并存儲到一個集合Ω(x)中;
步驟3:重復上述過程,直至候選區域像素數目小于設定的閾值T;
步驟4:在集合Ω(x)中選取藍/綠-紅差異最大的像素點作為水下背景光Ac的估計值[7]。
根據公式(3)得到透射率映射函數一個樣例圖(圖2),若輸入像素在[α,β]范圍內(100<α<150,200<β<250),則輸出像素在[0,255]范圍內。若輸入像素不在[α,β]范圍內,則輸出像素超出[0,255]的范圍(斜線陰影區域為信息損失部分),這樣就會造成視覺上的瑕疵。使用最小信息量損失原理[5]估計透射率t(x),使用導向濾波進行細化[12]。在x∈Ω的一小塊圖像中,假設透射率是相同的,信息量損失定義如公式(4)所示:
(4)

圖2 透射率映射函數樣例圖Fig.2 Sample diagram of the transmittance mapping function
將公式(3)代入公式(4)中,得到
(5)
式中,Dloss表示信息量損失,Ir(x)表示紅色通道的水下退化圖像,Ar表示紅色通道的水下背景光,tr(x)表示紅色通道的場景光透射率(tr(x)∈[0,1])。
為了使信息量損失最小,公式(5)應滿足以下兩個約束條件:
(6)
對公式(6)進行推導,推導如下:
(7)
即:
(8)
結合導向濾波對tr*(x)進行細化:
(9)
其中,s=(sr,sg,sb)T是一個尺度向量,ψ是一個補償因子,如公式(10)所示, (s*,ψ*)為最佳參數值。

(10)
在本項目的圖像增強方法中,選取一個典型的線性關系表達式,來近似常見水下成像環境中散射系數隨波長的變化[13]:
bc=(-0.001 13λc+1.625 17)b(555)。
(11)
研究表明,浮游植物對波長為440 nm和675 nm附近的光具有明顯的吸收峰值,而對550~650 nm的光吸收較弱,因此上式中選擇555 nm為參考波長[14]。
因為算法中只需要知道不同波長光散射系數之間的比值,所以并不需要知道參考波長555 nm處的散射系數值。根據相機感光元件對不同波長光的響應曲線,在本算法中選取特定的波長620、540和450 nm來分別代表3個顏色通道的標準波長。標準波長的選擇依據是相機成像時對光譜的響應及sRGB色彩空間各顏色通道與光譜的關系。因此可得不同顏色通道的光衰減系數比為:
(12)
其中,cg/cr表示“綠-紅衰減系數比”,cb/cr表示“藍-紅衰減系數比”。這兩個比值均小于1,因為紅光在水中的衰減要比綠光和藍光強。
利用R通道的透射率和各顏色通道間衰減系數比,可估算G和B通道的透射率:
(13)
去模糊之后的水下圖像灰度分布不均勻,就需要利用直方圖均衡化對其進行進一步的對比度增強。由于水體對光的選擇性吸收,水下圖像整體以藍綠色調為主,因此使用白平衡算法修正顏色偏差。
算法流程圖如圖3所示。方法步驟如下:
輸入:水下降質圖像Ic(x)
步驟1:利用四叉樹細分分層搜索算法估計水下背景光Ac,針對不同波長的光在水中具有不同的衰減系數,從水下背景光中估計出不同顏色通道的衰減系數比;
步驟2:以大氣中霧化圖像可準確估計透射率的方法為基礎,使用最小信息量損失原理估計紅色通道透射率tr(x),在水下降質圖像中選擇參考圖像,根據參考圖像,結合導向濾波對tr(x)進行透射率精細估算,結合各顏色通道的衰減系數比,根據公式(13)估計tg(x)、tb(x),從而可估算出G和B通道傳輸圖;
步驟3:將水下背景光Ac、透射率值tc(x)代入公式(3)中,通過逆求解水下成像模型得到清晰化的水下圖像Jc(x);
步驟4:通過直方圖均衡化算法,提高水下圖像對比度;
步驟5:使用白平衡算法進行顏色修正,得到增強的水下圖像。

圖3 水下圖像增強方法流程圖Fig.3 Flow chart of underwater image enhancement method
為了說明基于透射率優化和顏色修正的水下圖像增強方法的有效性,對網絡上收集的真實水下圖像進行處理,圖像的分辨率為412×310,分別使用直方圖均衡化算法、暗通道去霧算法[6]、GIMP內嵌的Retinex算法[15]、優化對比度增強算法[5]、基于透射率優化和顏色修正的水下圖像增強方法對水下圖像進行增強處理,效果如圖4所示。
從主觀進行評價,直方圖均衡化算法提高了圖像對比度,但整體圖像偏藍色基調;暗通道去霧算法雖然擴大了場景中的可見范圍,但局部區域顏色失真較嚴重;GIMP內嵌的Retinex算法整體增強效果較好,但視覺效果不自然,部分區域呈現紅色;優化對比度增強算法中,該方法采用最小信息量損失原理來估計透射率,圖像處理結果相比較于原圖像提高了對比度,但一些細節信息未恢復。相比之下,基于透射率優化和顏色修正的水下圖像增強方法處理效果較好地去除霧狀模糊,遠處的魚群、礁石清晰可見,視覺效果更自然。
為了進一步說明基于透射率優化與顏色修正的水下圖像增強方法的有效性, 采用客觀指標對各種算法和方法進行了評估。利用信息熵(Entropy)來衡量圖像所包含的信息量,其值越大,信息含量越高,細節越豐富; 利用水下彩色圖像質量評價(UCIQE)[16]來量化水下圖像非均勻顏色偏差、模糊以及對比度。
U=c1×σc+c2×nl+c3×μs,
(14)
式中,U為水下彩色圖像質量評價值,σc為色度的標準方差,nl為亮度的對比度,μs為飽和度的平均值,c1、c2、c3分別為線性組合的權重值。
對于水下圖像:
U=0.468 0×σc+0.274 5×nl+0.257 6×μs。

圖4 水下圖像增強算法結果對比圖Fig.4 Comparison charts of underwater image enhancement algorithm results
表1給出了水下圖像的Entropy和UCIQE的比較結果。從表1中可以看出,基于透射率優化和顏色修正的水下圖像增強方法具有較高的信息熵和UCIQE值。

表1 基于信息熵和水下彩色圖像質量客觀評價方法的平均值
在海洋環境中,由于噪聲干擾,水下光學圖像具有模糊、顏色失真等問題,為了解決該問題,提出了一種基于透射率優化和顏色修正的水下圖像增強方法。從主觀評價上,該方法與直方圖均衡化算法結果相比,改善了顏色偏差的缺陷;與暗通道去霧算法相比,改善了局部區域顏色失真的缺陷;與GIMP內嵌的Retinex相比,色彩更自然;與優化對比度增強算法結果相比,改善了水下圖像細節模糊的缺陷。水下背景光的估計容易受水中白色物體、人工光源及圖像中過曝區域的影響,導致估計值偏大。在下一步的研究中,擬建立一種基于海洋光學理論的水下成像背景光估計模型,使得水下背景光的估計更加準確。