史金余 郝明良 鄒沛煜
(大連海事大學信息科學技術學院 遼寧 大連 116026)
水下圖像是人類獲取水下信息的主要手段,但是水下環境特殊的物理和化學特性嚴重影響了水下圖像的質量。一方面,紅、綠和藍光的不同衰減率引起水下圖像顯示偏藍綠色;另一方面,懸浮在水下的顆粒吸收了大部分光能,并且由于水下介質的散射,從而導致圖像具有低對比度、邊緣模糊和清晰度減弱等特征[1-2]。因此水下圖像處理也成為了當前研究的難點和熱點,它的實現會對后續水下目標識別、資源采集等工作提供極大的幫助。
針對水下圖像處理,圖像復原和圖像增強是兩種常用的方法。圖像復原方法是依據水下散射特性建立相應模型,進而通過對水下成像模型的逆求解來實現水下圖像的恢復。圖像增強方法是通過調整圖像的像素值來進行圖像對比度和清晰度的增強。Torres-Mendez等[3]提出采用馬爾可夫隨機場的方法從統計先驗的角度來改善水下圖像質量;Iqbal等[4]提出先后在RGB和HIS兩個顏色空間上分別進行滑動直方圖拉伸,有效地解決了水下圖像對比度低和偏色問題;Petit等[5]提出一種基于四元衰減系數反轉的方法,依據衰減特性逆向計算出顏色分布,該算法可以增強水下圖像整體對比度和色度,但修正后圖像的背景顏色偏灰;Iqbal等[6]提出一種基于對比度增強和顏色校正的非監督水下圖像增強算法,可以有效地提高圖像整體亮度,但圖像依然會呈現色度不均勻現象;Ancuti等[7]提出基于融合的水下圖像增強方法,解決了水下圖像模糊和偏色問題,但有時會出現過飽和現象;Ghani等[8]提出一種基于瑞利分布函數的對比度受限的自適應直方圖均衡法,它可以在一定程度上提高水下圖像的可見度、對比度,但是這種方法往往會引入多余的噪聲,導致圖像信噪比降低。
本文提出一種基于顏色校正和引導濾波圖像分層的水下圖像增強方法,首先將原始圖像經過自動白平衡處理,實現顏色校正,然后為了更好地兼顧圖像的全局與局部對比度,提出采用引導濾波圖像分層的思想將顏色校正的圖像分為基礎圖像和細節圖像,基礎圖像表示圖像的低頻分量,細節圖像表示圖像的高頻分量,將基礎圖像轉換至LAB空間,繼而對L通道采用CLAHE算法處理來增強對比度,減少對圖像色彩分量造成的影響,對細節圖像采用gamma算法進行紋理信息增強,單獨對基礎圖像和細節圖像進行處理能夠更好地提升圖像的高、低頻分量,最后將增強后的基礎圖像和細節圖像采用基于局部方差和全局方差的加權融合方法得到最終圖像。
本文基于顏色校正和引導濾波分層的圖像增強方法包括兩方面:一是采用自動白平衡算法對圖像顏色進行校正,二是基于引導濾波分層的思想對圖像進行對比度增強。
Ienhanced=D_ENHANCED(C_ENHANCED(Iinitial))
(1)
式中:Iinitial為原始水下圖像;Ienhanced為通過本文算法增強后的圖像;C_ENHANCED()為顏色校正函數;D_ENHANCED()為對比度增強函數。
本文的算法流程架構如圖1所示,主要分解為三個階段:1) 對原始水下圖像采用白平衡算法進行顏色失真校正;2) 對顏色校正后的圖像采用引導濾波算法獲得基礎圖像,然后將顏色校正后圖像減去基礎圖像,則獲得細節圖像,同時對基礎圖像,先將其轉換到Lab色彩空間,然后在L通道采用CLAHE算法進行對比度增強,再轉換回RGB空間,對細節圖像則采用Gamma變換進行圖像細節增強;3)對增強后的基礎圖像和細節圖像,通過采用線性加權融合的方法進行處理得到最終結果圖像。

圖1 本文算法流程
依據水下圖像衰減模型可知,紅光衰減最快,藍綠光衰減較慢,導致大多數水下圖像呈現藍綠色。基于動態閾值的白平衡算法[9]通過白點檢測和白點調整對不同色溫下拍攝的圖像進行校正,還原物體本來的色彩,因此可以采用基于動態閾值的自動白平衡算法對圖像進行顏色校正。
算法首先是將原始水下圖像從RGB空間轉換到YCbCr空間,將其進行分塊操作,同時計算每塊區域兩個色度信號Cb和Cr的均值Mb、Mr和方差Db、Dr。對于方差Db和Dr很小的塊區域,則可直接舍棄掉。計算剩下塊區域的平均值,得到整幅圖像均值Mb,Mr以及方差Db、Dr。繼而按照一定的條件確定候補白點。選取候補白點的條件如下:
|Cb(i,j)-(Mb+Db×sign(Mb))|<1.5×Db
(2)
|Cr(i,j)-(1.5×Mr+Dr×sign(Mr))|<1.5×Dr
(3)
式中:Cb(i,j)和Cr(i,j)是像素的色度值;sign(Mb)和sign(Mr)是對應Mb和Mr的符號函數。
然后從候補白點中選取亮度值處于前10%的白點作為參考白點,根據選取的參考白點進一步確定白平衡的增益值。為了讓圖像校正后亮度跟校正前亮度保持在同一水平,在進行增益計算時采用最大亮度值作為參考值,進而計算出R、G、B三通道的增益系數。
最后,通過增益系數得到顏色校正后的水下圖像Icolor_enhanced。
Icolor_enhanced=C_ENHANCED(Iinitial)
(4)
式中:C_ENHANCED()是上面提到的顏色校正方法。
以圖2(a)為例,采用該算法對其進行顏色校正,處理后的圖像如圖2(b)所示。可以看出,圖像的色彩得到了明顯改善。

(a) 原始圖像 (b) 顏色校正后圖像圖2 圖像顏色校正前后對比
水下退化圖像經過白平衡處理后,顏色得到校正,但其對比度較低。引導濾波的核心思想是將圖像中各個像素點與它附近的像素點表示為一種線性關系,繼而圖像中各個像素點的線性關系即是不同的,計算出每個像素點的線性關系,則即獲取到了與原始圖像梯度信息一致的基礎圖像[10]。因此,可以采用引導濾波算法進行圖像分層,即對圖像進行引導濾波處理,得到反映圖像輪廓信息的基礎圖像,繼而用原始圖像減去基礎圖像則得到反映圖像紋理的細節圖像,然后對它們分別進行增強處理,最大化改善低頻分量和高頻分量的增強效果,兼顧增強圖像的全局與局部對比度。
因此,先對顏色校正后的圖像Icolor_enhanced采用引導濾波處理,同時設置圖像Icolor_enhanced作為引導圖像Iguide,則由引導濾波的局部線性模型得到基礎圖像:
Ibase=ma(Icolor_enhanced)b+nab∈ha
(5)
式中:a和b是像素索引;ha表示第a個核函數窗口;ma和na是當窗口中心處于a位置時,該線性函數的系數。ma和na的最優解是:
(6)
(7)

進而,得到細節圖像Idetail:
Idetail=Icolor_enhanced-Ibase
(8)
以圖2(b)為對象,采用引導濾波對圖像進行處理后,得到的基礎圖像和細節圖像如圖3(a)和圖3(b)所示。

(a) 基礎圖像 (b) 細節圖像圖3 引導濾波處理后的基礎圖像與細節圖像
(1) 基礎圖像處理。基礎圖像反映圖像輪廓信息,背景模糊,對比度較低,因此對基礎圖像的處理,通過修正灰度范圍和提高對比度即可,而暫時無須過多考慮圖像細節的處理問題,而且在增強對比度時,為了減少對圖像色彩產成的影響,則先將圖像從RGB空間轉化到Lab空間,因a、b通道表示圖像的色彩分量,則只需在L通道采用限制對比度的自適應直方圖均衡(CLAHE)[11]方法進行增強即可,最終再把增強后圖像轉換回RGB空間。
算法首先將圖像分割成大小相同的M×N個子區域,獲取每個子區域的灰度直方圖,并令每個子區域上的灰度級獲得相同的像素數, 即平均像素數:
(9)
式中:Ngray表示子區域中灰度級總數量;Nx表示子區域x軸方向上的像素數;Ny表示子區域y軸方向上的像素數。
最后,對裁剪后重新分配的子區域直方圖上做均衡化操作,構造子區域的灰度映射函數,采用雙線性插值法,計算出各像素點的灰度值。即可獲得增強后圖像Ibase_enhanced。
Ibase_enhanced=toRGB(CLAHE(toLab(Ibase)))
(10)
式中:toLab()是將圖像轉換到LAB空間;toRGB()是將圖像從LAB空間轉換到RGB空間。
以圖3(a)為對象,利用上述過程,對其完成對比度增強,圖4(a)是將其轉換到Lab空間,圖4(b)是在L通道上進行CLAHE增強,圖4(c)是再轉回RGB空間,即最終圖像對比度增強效果。

(a) Lab圖像(b) L通道CLAHE增強(c) RGB圖像圖4 基礎圖像增強
(2) 細節圖像處理。細節圖像表示圖像的高頻部分,包含了圖像大量細節信息。Gamma變換[12]是通過對輸入圖像灰度值進行非線性操作的一種圖像增強方法。因此,對于細節圖像,可以采用Gamma變換的方法進行紋理細節增強。同時,進行Gamma變換時,考慮到圖像中由于環境因素等產生的極大、極小噪聲,所以用以下方式選擇拉伸區間,定義拉伸區間最小強度值為Ilow:

(11)

(12)
為了避免噪聲引起的誤差,使用如下的Gamma公式來進行拉伸:
(13)
式中:Ix是當前像素灰度值,T(Ix)為校正后的像素值。對于修正參數α,當α>1時,灰度值接近Ihigh的像素點強度將會被拉伸,灰度值接近Ilow的像素點強度將會被壓縮,圖像整體偏暗;相反,當α<1時,灰度值靠近Ihigh的像素點強度將會被壓縮,灰度值靠近Ilow的像素點強度將會被拉伸,圖像整體偏亮。本文選取α=0.95。
則細節增強后的圖像是Idetail_enhanced:
Idetail_enhanced=gamma(Idetail)
(14)
式中:gamma()是上面提到的Gamma變換函數。
以圖3(b)為對象,利用上述過程,則增強后細節圖像如圖5所示。

圖5 細節圖像增強
對增強后的基礎圖像和細節圖像進行加權融合[13]得到最終圖像Ienhanced:
Ienhanced=Ibase_enhanced+χIdetail_enhanced
(15)
對于一幅圖像來說,圖像某點局部方差值越大,說明該點高頻成分越多,相反,局部方差值越小,說明該點高頻成分越少。將局部方差記為:
(16)
式中:|w|表示該平滑窗口w內擁有像素點的總個數。
圖像的全局均方差記為:
(17)

Ienhanced(x,y)=Ibase_enhanced(x,y)+
(18)
以圖4(c)和圖5為對象,采用上述方法,得到融合后的結果圖像如圖6所示。可以看出,處理后圖像的對比度和視覺效果得到有效的提升。

圖6 融合圖像
本文實驗均在操作系統為Windows7_64位旗艦版,安裝內存為8 GB,處理器為Intel(R) Core(TM) i7- 5600U CPU@2.60 GHz的PC機上運行,編程環境為MATLAB R2018b。
為了驗證本文算法對于水下圖像增強的有效性,針對不同的場景,從主觀視覺角度,本文將同原圖,文獻[14]中算法、文獻[15]中算法、文獻[6]中算法和文獻[16]中算法得到的結果進行對比。首先選取后向散射程度不同的5幅水下圖像,然后對其進行處理,這些水下圖像的拍攝距離和狀態未知,同時對其依照后向散射程度逐步減少的順序進行排列,獲取到相應的測試結果如圖7所示。

(a) 原始水下圖像

(b) 文獻[14]算法

(c) 文獻[15]算法

(d) 文獻[6]算法

(e) 文獻[16]算法

(f) 本文算法圖7 不同方法水下圖像增強效果對比
依據測試結果可知,采用文獻[14]中的DCP算法處理后向散射較低的水下圖像Image5后,圖像的對比度、亮度在一定程度上有所提升,但對于后向散射過大的圖像Image1,該算法處理效果較差,說明直接采用暗原色去霧算法應用于水下圖像復原并不能達到很理想的效果;采用文獻[15]中的算法處理這組圖像后,相比較于文獻[14]中的算法,圖像的對比度進一步增強,細節更加突出,但是圖像整體偏暗,且對于后向散射過大的圖像Image1同樣效果較差。對于文獻[14]和文獻[15]中的算法,總體來看,因為缺乏色彩補償,并不能對色彩進行很好的校正,處理后圖像存在色差,對顏色失真的圖像處理效果不是很理想。采用文獻[6]中的算法處理圖像后,相對于文獻[14]、文獻[15]來說,這一組圖像整體的對比度、顏色都有較高提升,特別是對于后向散射程度較高的圖像Image1,色彩得到一定程度地還原,但是對于后向散射程度過高的圖像Image5來說,顏色校正過當。采用文獻[16]中的算法處理后,相比較于前幾種算法來說,較好地解決了偏色問題,同時提高了圖像的對比度,但是圖像整體色彩都偏紅和偏暗,視覺效果不是太理想。相比較而言,采用本文算法處理后圖像的顏色保真度、對比度和視覺效果方面,綜合考慮均優于其他算法。原因在于,本文算法先采用基于動態閾值的自動白平衡算法進行顏色校正;然后為了更好地兼顧圖像的全局與局部對比度,采用引導濾波算法,將圖像分解為代表低頻分量的基礎圖層和代表高頻分量的細節圖層;同時為了最大化改善基礎圖層和細節圖層的增強效果,對于基礎圖層,將其轉換到Lab空間,在其Lab空間的L通道采用CLAHE算法進行處理,不僅可以提高圖像全局對比度,而且可以減少對圖像色彩分量造成的影響,對于細節圖層,采用Gamma變換進行紋理細節增強,同時對增強后的基礎圖層和細節圖層采用基于局部方差和全局方差的加權融合算法獲得最終結果圖像,使圖像的整體視覺效果最佳。
為了進一步說明實驗效果,本文采用平均梯度[17]、信息熵[18]、PCQI[19]和UCIQE[20]四種圖像質量評價指標對實驗結果進行分析。評價結果如表1所示。

表1 水下圖像質量評價

續表1
平均梯度反映了圖像細節變化的速率,表示圖像的清晰程度,其平均梯度值越大,它的層次就越多,圖像的清晰度就越高。平均梯度的計算公式為:
(19)
式中:f為圖像的灰度值;M、N分別為圖像的高和寬。
信息熵反映了圖像平均信息量的多少,表征圖像灰度分布的聚集特征,其信息熵越大,則圖像包含的信息就越多,進而圖像也就越豐富。信息熵的計算公式為:
(20)
式中:n是圖像灰度級最大值;i是像素點灰度級數;p(i)是像素點分布在i灰度級數的概率。
PCQI是局域塊的對比度質量索引,代表圖像的對比度變化情況。數值越大,代表圖像對比度越高。
UCIQE是以圖像的色度、飽和度、對比度為測量分量,將它們進行線性組合,是量化水下圖像非均勻顏色偏差、模糊以及對比度的質量評價方法。數值越大,代表水下圖像質量越好。
由表1可知,采用文獻[14]中的算法和文獻[15]中的算法處理后,圖像的AG指標值較其他算法低,表明其處理后的圖像清晰度較差;采用文獻[6]中的算法處理后圖像的PCQI值略低于文獻[16]中的算法,這個結果表明其對圖像對比度的提升能力弱于文獻[16]中的算法;在主觀評價中能夠看出,采用文獻[16]中的算法對圖像處理后,其色彩稍微偏紅,且圖像整體亮度不足,因為UCIQE指標是依據圖像的對比度、模糊和非均勻色差決定的,故而文獻[16]中算法的UCIQE指標值略低于文獻[6]中算法。最后通過本文方法處理后,圖像的平均梯度、信息熵、PCQI和UCIQE等指標都有了很大的提升,優于其他方法。這些結果綜合表明我們的方法對水下圖像的增強效果有明顯改善。
圖像增強是為了對后續的應用分析提供高質量圖像。進而為了驗證采用本文算法處理后圖像的應用效果,設置不同圖像處理方法進行應用對比實驗。采用SIFT算法[21]進行特征點匹配測試,在相同閾值條件下,不同算法的應用測試效果如圖8所示,原圖的特征點匹配數目是3,采用文獻[14]中算法處理后圖像的正確特征點匹配數目是8,采用文獻[15]中算法處理后圖像的正確特征點匹配數目是7,采用文獻[6]中算法處理后圖像的正確特征點匹配數目是11,采用文獻[16]中算法處理后圖像的正確特征點匹配數目是43,采用本文算法處理后圖像的正確特征點匹配數目是60。通過比較,本文算法匹配到的特征點數目最多。從測試結果中可以看出,采用本文算法處理后的圖像在進一步的特征提取中產生了較好的效果。

(a) 原始水下圖像 (b) 文獻[14]算法

(c) 文獻[15]算法 (d) 文獻[6]算法

(e) 文獻[16]算法 (f) 本文算法圖8 不同方法特征點匹配對比
水下退化圖像通常存在顏色失真、對比度低等問題。針對顏色失真問題,本文采用自動白平衡的方法實現圖像顏色校正。針對對比度低的問題,同時為了更好地兼顧圖像的全局與局部對比度,采用引導濾波分層的思想將圖像分為基礎圖像和細節圖像,接著單獨對其進行處理來最大化改善高、低頻分量的增強效果,最后再將增強后的兩幅圖像進行加權融合得到最終圖像。實驗結果表明,本文算法在處理水下圖像顏色失真、整體對比度低、細節缺失方面的效果良好。