王 瀟,于 炯,2,楊嘉能,馬 雯
(1. 新疆大學軟件學院,新疆 烏魯木齊 830004;2. 新疆大學信息科學與工程學院,新疆 烏魯木齊 830004)
近年來,隨著地球表面資源的日益短缺以及全球經濟和科學技術的不斷發展,水下的生物資源和物理能源吸引著各國的目光[1]。高質量的水下圖像可以幫助開發人員更好地探索水下環境,因此水下圖像處理成為了一個具有巨大潛力的研究領域。由于光在水下的折射,光的吸收,漂浮物,以及水下朦朧等諸多因素導致了通過水下相機和水下機器人等方式采集到的水下圖像與普通圖像相比,往往圖像質量退化嚴重。如對比度低、紋理模糊、顏色失真和可視范圍有限等問題[2]。這些問題都使得水下圖像在實際的應用中存在許多弊端。因此,水下圖像增強就顯得尤為重要。
針對上述提到的水下圖像質量退化以及視覺效果不佳等問題,本文提出了一種優化動態直方圖均衡的水下圖像增強方法,使得水下圖像畫質清晰明亮且包含更豐富的語義信息。實驗結果證明了該方法在保留圖像細節信息的同時抑制了色彩過增強的現象,與其它優秀的算法對比可發現,本文算法在各項評價指標處于領先,并且通過該方法增強后的圖像具有十分良好的視覺效果,一定程度上提高了水下圖像的可讀性。
水下圖像的視覺質量,近年來吸引了很多國內外學者的關注,并且提出了一系列方法來加強水下圖像的人眼識別率。Li等[3]提出了一個基于GB通道去霧和R通道色彩校正(基于Gray-World假設)的算法,然后采用自適應曝光圖來平衡恢復圖像的整體顏色。Kashif Iqbal等[4]利用RGB色彩模型和對比度拉伸來均衡圖像中的顏色對比度,然后利用HSI的飽和度和強度拉伸來增加真實色彩。其結果表明,該算法能有效地去除藍色調,但同時會出現顏色失真的問題。Ancuti等[5]提出了一種基于融合(Fusion-Based,FB)的方法。該方法首先在輸入圖像數據中產生兩張待融合圖像,其次使用白平衡方法對第一張圖像進行顏色校正。通過局部自適應直方圖均衡化算法對第二張圖像進行對比度增強。然后根據兩張融合圖像的對比度值、突出特征和曝光值生成四個融合權重,最后通過多尺度融合策略將融合圖像與融合權重綜合,提升了圖像的對比度,但是同時也出現了圖像增強過飽和的現象。Zhang等[6]和在對低照度圖像先進行光照補償,增加紅綠通道的灰度值,然后使用灰度世界算法去除色偏,利用引導濾波算法增加圖像邊緣信息得到優化的水下圖像。Huang等[7]采用相對全局直方圖拉伸(relative global histogram stretching,RGHS)來增強水下圖像。首先采用基于灰度世界理論預處理圖像,然后利用CIE-Lab顏色模型中的拉伸范圍參數自動確定拉伸范圍,最后在RGB顏色模型中采用自適應直方圖拉伸。RGHS在一定程度上避免了圖像的過增強,提高了圖像的視覺效果,保留了可用信息。
雖然這些方法在不同程度上提高了水下圖像的質量,但是都是從不同的角度調整水下圖像的畫質,常常出現顧此失彼的現象。因此本文提出了一種較為平衡的增強算法,從圖像的清晰度、亮度、細節信息、人眼視覺效果和色彩飽和度等多個角度綜合考慮,有效的改善了現如今水下圖像增強存在的不足。
動態直方圖均衡化是在直方圖均衡化的基礎上發展而來,其均衡化思想都是通過原始直方圖的概率密度函數(probability density function,PDF)構造一個累積分布函數(cumulative distribution function,CDF),然后利用累積分布函數和映射區間計算輸出圖像的強度值,最后對原始圖像的像素值進行重映射。兩者的區別在于動態直方圖均衡化把整體直方圖劃分成了多個子直方圖,并為每個子直方圖分配了新的映射區間。對于區間為[X0,XL-1]的某個子直方圖,其PDF和CDF分別對應式(1)和式(2)

(1)

(2)
其中k指該區間內的某個灰度級,nk指k灰度級出現的頻率即像素個數,M指該區間內的像素總量。由式(2)得出均衡化計算公式定義為式(3):
G(k)=X0′+(XL-1′-X0′)×CDF(k)
(3)

動態直方圖均衡化過程大致分為四個步驟,分別為:直方圖分割、直方圖裁剪構造CDF、子直方圖區間重分配和每個子直方圖的均衡化。該算法的處理結果取決于重分配的映射區間和構造的CDF。合理的映射區間和恰當的CDF能使獲得的輸出圖像具有良好的增強效果和豐富的細節信息。因此,如何自適應的選取映射區間和構造CDF是該算法的難點所在。
本文結合水下圖像直方圖的分布特性對動態直方圖均衡算法的優化工作包含如下三個部分,首先通過引入直方圖分布范圍彌補了基于曝光值(exposure)[8]的直方圖分割方法的不足。其次通過設置重建參數調整子直方圖,優化CDF構造過程。最后根據重建后子直方圖的像素占比來平衡每個子直方圖的映射區間。
直方圖分割是依據輸入圖像原始直方圖的特性將其劃分成多個子直方圖,方便后續對子直方圖進行獨立的操作處理。直方圖分割在一定程度上改善了過增強和細節信息丟失的問題。本文采用改進的基于曝光值(exposure)的分割方法。曝光值是指圖像曝光強度的度量,根據曝光值可對圖像進行低曝光或高曝光的分類。基于曝光值的分割方法可將原始圖像的直方圖分割成低曝光和過曝光兩個部分。對于分布區間為[0,L-1]的圖像其曝光值的計算公式如式(4)所示

(4)
分割點的計算公式定義為式(5)
MI=L(1-exposure)
(5)
基于曝光值的分割方法在處理原始直方圖分布較窄的情況下,會產生分割失敗的情況,即所得到的MI值不屬于直方圖中統計量不為零的分布范圍,所以無法得到兩個子直方圖。因此該分割方法在處理水下圖像,尤其是衰弱較為嚴重的紅色通道時,會存在一定缺陷。因此,本文提出一種改進的基于曝光值的分割方法。式(4)和(5)可以看作是當直方圖分布在區間[0,L-1]上的簡寫公式。在這里定義更一般的直方圖分布范圍[MIN,MAX],如圖1(a)所示,計算公式如式(6),(7)所示
MIN=min(nk≥1)k∈[0,L-1]
(6)
MAX=max(nk≥1)k∈[0,L-1]
(7)
其中min()和max()分別是求取nk>0中k的最小值和最大值的函數。由分布范圍[MIN,MAX]可得,改進的曝光值和分割點的計算公式如式(8),(9)所示

(8)
MI=(MAX-MIN)(1-exposure)+MIN
(9)
由式(9)產生的分割點不僅可以依據曝光度來分割直方圖,也克服了式(5)存在的缺陷(計算所得的MI值不屬于區間[MIN,MAX])。本文通過分別計算子區間[MIN,MI-1]和[MI,MAX]的分割點MIL和MIU將原始直方圖分割成四個子直方圖,如圖1(a)所示。

圖1 直方圖處理過程
傳統的直方圖均衡化在處理水下圖像時容易出現過增強和信息丟失現象,導致處理后的圖像出現顏色失真等問題。這是因為水下圖像每個通道的直方圖都在不同程度上被壓縮了,即分布范圍變窄,這類直方圖經過均衡化處理后容易出現某些灰度級的過度拉伸和灰度級的合并現象。進一步分析,直方圖的均衡化計算公式是由CDF和映射區間構成,對其求導可得灰度級的變化率也可理解成對比度的增強率,其導函數為PDF,想要控制增強率,就必須對PDF進行校正,或者直接校正直方圖本身。本文參考文獻[9]的直方圖裁剪和像素重分配方法,提出了一種自適應的CDF構造方法。通過引入重建參數y對每個子直方圖進行重建,限制直方圖中統計量較大的值,提升統計量較小的值,從而達到自適應構建CDF的目的,在避免過增強的同時,減少細節信息的丟失。通過直方圖分割,已將區間[0,L-1]劃分成四個子區間,每個子區間對應一個子直方圖,對于第i個子直方圖的具體處理過程如下:
1)計算第i個子直方圖的裁剪閾值定義為式(10)

(10)
其中Mi指第i個子直方圖的像素總量,li指該區間的長度,y為重建參數,其取值范圍為(0,1),max(hi)是求取第i個子直方圖峰值的函數。因此裁剪閾值的調節范圍是平均值與峰值之間。裁剪閾值計算如圖1(b)所示。
2)通過裁剪掉的像素量計算像素重分配的值定義為式(11)

(11)
其中CMi指第i個子直方圖被裁剪掉的像素總量。在這里同樣采用重建參數y,使裁剪閾值與重分配值相關聯,即裁剪掉的像素越多,重分配的值就越大。圖1(c)給出了其中一次像素重分配的例子。
3)通過式(9)和(10)計算出來的值重建每個子直方圖,如式(12)所示

(12)
其中R(hi)指重建后的子直方圖,nki指第i個子直方圖中某個灰度級上的像素數量。最后由重建后的子直方圖的PDF計算其對應的CDF。
每個子直方圖都有其獨立的均衡化區間,其均衡化過程不能超過指定的范圍。當子直方圖的映射區間范圍較窄時,由于缺乏足夠的增強區域而沒有得到顯著增強。反之,則會出現過增強問題,導致圖像細節的損失。為了平衡每個子直方圖的映射區間,本文根據重建后每個子直方圖的總像素占比來分配映射區間,公式如(13)所示

(13)
其中ni是第i個子直方圖映射區間的分割點,mq是重建后第q個子直方圖的像素總量。圖1(d)給出了其中一次映射區間重分配的例子。
前三小節介紹了本文對動態直方圖均衡算法的優化工作,本小節將介紹整個算法的流程。
本文算法流程
輸入:水下圖像
輸出:水下圖像的增強結果
1) Begin
2) 分別獲得水下圖像R、G、B三個通道的直方圖hR、hG和hB
3) 計算每個通道直方圖的分布范圍[MINi,MAXi]
4) 依據分布范圍,用改進的基于曝光值的分割方法迭代的計算分割點,將每個直方圖分成四個子直方圖
5) 用設定的重建參數y為每個子直方圖計算裁剪閾值Ti
6) 統計各個子直方圖中超出裁剪閾值的像素總量CMi,并計算其像素重分配值AIi
7) 重建每個子直方圖,并構造其對應的CDF
8) 根據重建后每個子直方圖的總像素占比來分配新的映射區間
9) 獨立的均衡化每個子直方圖,做每個通道的重映射
10) 融合重映射后的三個通道,得到增強結果
11) End
本文采用的數據集分為兩部分,其一從海洋生物農場收集的包括扇貝、海參、珊瑚、巖石、海膽等場景的水下真實圖像,包含綠色調和藍綠色調的圖像共4200張(DataA)。另一部分是Li[10]等人2019年建立的水下圖像基準數據集UIEDB,該數據集提供了原始水下圖像860張以及對應的高質量參考圖像,此外還有60張未提供參考圖像的原始圖像,種類多樣,場景豐富,非常具有代表性。
為了驗證本文算法的有效性,分別將本文提出的方法(其中重建參數y為0.7)與CLAHE[11]、ICM[12]、UCM[13]、FB、RGHS、以及 RD[14]做對比實驗,并進行主觀評價、客觀分析和應用對比,最后在數據集上進行了算法平均性能的比較,且對重建參數y的取值做了討論與分析。
從真實水下圖像數據集中選取不同場景的代表性圖像,處理結果如圖2所示。

圖2 水下圖像主觀結果對比
由圖2中的(a)-(g)可以看出,CLAHE和ICM算法雖然提升了圖像的清晰度,但是對于水下圖像的顏色校正、亮度提升的效果有限。UCM算法出現了圖像過飽和的現象,圖片偏黃。FB算法處理過的圖像在一定程度上改善了細節紋理,增強了圖像色彩,但是圖像飽和度低,圖像色彩整體偏白。RGHS算法較好的增強了圖像的亮度,但是對圖像綠色色偏恢復效果不明顯。RD算法處理過的圖像有較好的顏色對比度和清晰化效果,但是存在圖像細節紋理不清晰、部分區域顏色過飽和增強的問題。通過對比試驗可以看出本文的處理結果在不同水下場景中均表現良好,不但可以較好的校正水下圖像的色偏,增強圖像亮度,提升圖像的清晰度,而且改善圖像邊緣特征模糊的問題,整體提高了圖像的主觀視覺效果。
為了能客觀評價各個算法對圖像的增強效果,定量評估真實水下圖像質量,本文首先采用信息熵、UIQM兩種無參考評價指標對水下圖像進行評價。除此之外,本文還采用SSIM和PSNR兩種全參評價指標,用于評估擁有高質量參考圖像的UIEDB數據集的增強結果。
表1和表2分別展示了圖2中所有例圖的客觀評價指標結果。由表1可知,本文算法處理過的圖像的信息熵均高于其它算法,表明本文提出的算法保留了有更多的細節信息,提升了圖像的清晰度。由表2可知,本文算法的UIQM值均好于其它對比算法,說明本文算法處理過的圖像綜合性能表現更加卓越,擁有更加自然的人眼視覺感知色彩和更出色的清晰度。

表1 基于評價指標信息熵結果

表2 基于評價指標UIQM結果
由于UIEBD提供參考圖像,因此分別將上述所有算法的處理后結果與高質量參考圖進行SSIM和PSNR的計算。表3為860張圖像的平均實驗結果,可見本文算法的PSNR均值優于其它算法,SSIM值也更接近于1,由此可得與主觀評價相一致的結論。通過以上主觀和客觀評價,本文提出的算法具有更出色的增強效果,更貼近人眼的視覺感受,相比其它經典算法清晰度高,圖像細節信息豐富,同時色彩自然。

表3 基于評價指標PSNR及SSIM結果
為了驗證本文算法的魯棒性,在兩個數據集上進行了算法平均性能的測試,并用四個客觀評價指標的平均值來度量。由于篇幅有限,表4給出了部分重建參數值下的實驗結果。

表4 平均性能對比實驗結果
從表4可以看出,除對比算法RD之外,本文所提算法的平均性能在不同的重建參數下都明顯優于其它對比算法。并且當重建參數y大于等于0.3時,本文算法在平均性能上全面優于其它對比算法,并且隨著y的增大,優勢會愈加明顯。當y等于0.7時,平均性能較優。從對比度可以得到,隨著y的增大,對比度會隨之增大(重建公式用于控制對比度增強率),但隨之出現的過增強現象會導致細節信息丟失(信息熵減小)和色彩失真(UCIQE減小)。為了進一步驗證重建參數y的取值范圍,圖3給出了兩張圖像在不同y值下的增強結果對比圖,其中Picture1為客觀評價中Example7,Picture2為客觀評價中Example3。從圖3可以得出與表5相一致的結論。

圖3 不同參數值的增強結果對比圖
為了進一步驗證本文算法的應用效果,采用SURF方法進行特征點匹配來驗證這一點。選取了其中兩組圖像,結果如圖4和圖5所示。
在圖4(a)-(h)中特征點匹配的數目分別為5、64、21、71、39、34、54、77,在圖5(a)-(h)中特征點匹配的數目分別為46、183、161、119、171、181、165、221。經比較,原圖匹配的正確特征點較少,而經過增強后的圖像正確匹配的特征點明顯增多。相比于其它算法,本文算法匹配的特征點數量最多。因此,本文提出的算法對水下圖像的增強效果突出,有一定的應用價值。

圖4 基于SURF應用的特征匹配結果一

圖5 基于SURF應用的特征匹配結果二
本文通過研究水下圖像各個通道的直方圖分布特性和動態直方圖均衡技術的缺陷后,提出了一種優化動態直方圖均衡的水下圖像增強方法。在直方圖分割階段,通過考慮直方圖的分布范圍,改進了基于曝光值的分割方法,避免了分割失敗的情況。在構造CDF時,引入重建參數對子直方圖進行重建,達到自適應構造CDF的目的,在保留增強圖像細節信息的同時抑制了過增強現象,并通過重建后的子直方圖分配合理的重映射區間。實驗部分通過主、客觀兩方面的評價,驗證了本文方法在增強水下圖像的對比度、細節、色彩等方面都優于其它對比方法,并用特征點匹配實驗證明了圖像質量的提升。未來研究方向是結合機器學習算法重建子直方圖,采用自學習的方式構造累計分布函數。