鄒蔓婷
(四川大學(xué)計算機學(xué)院,成都 610065)
水是接近于無色的,但是水下拍攝的圖像會呈現(xiàn)出藍色或者綠色,這與光的特性有關(guān)。人類所感知的顏色是由物體反射光的性質(zhì)決定的[1]。在地球表面非水下的部分中,光線的傳播介質(zhì)主要為空氣,然而在水下的部分,光線經(jīng)過的主要介質(zhì)是水。不同于光在空氣中的發(fā)生的均勻吸收和散射[2],水下環(huán)境特殊的物理和化學(xué)特性嚴重影響了水下圖像的質(zhì)量,給水下成像帶來了更多需要被克服的問題。水下圖像總是呈現(xiàn)偏色,如綠藍色,這是由于紅,綠,藍光衰減比不同造成的。另外,這些粒子在水下場景反射的光線到達攝像機之前,懸浮顆粒水下吸收了大部分的光能,改變了光線的方向,導(dǎo)致圖像對比度低,失真和模糊。
白平衡算法是經(jīng)典的顏色校正算法,該算法在水下圖像顏色的校正值效果顯著,但是,由于該算法未考慮對紋理細節(jié)的增強,校正后的水下圖像存在模糊等問題,本文的研究目標(biāo)是為了進一步提高水下圖像質(zhì)量,嘗試將分數(shù)階微分的思想與用于水下圖像顏色校正的白平衡算法結(jié)合,利用各自的特點和優(yōu)勢,在兩種不同的方法之間找到了有利的平衡和折衷,實現(xiàn)了一種基于分數(shù)階微分的水下圖像增強技術(shù)。
圖1 典型水下圖像
通過推導(dǎo)分數(shù)階微積分的數(shù)值實現(xiàn)方法,Pu[3]為分數(shù)階微分在圖像處理中的應(yīng)用奠定了工程基礎(chǔ),并證明和分析了分數(shù)階微分在圖像處理中的優(yōu)勢。Sanjay等人[4]的解釋了一種新的邊緣檢測算法,它是由分數(shù)階微分算子并通過使用分數(shù)階傅里葉變換得到的。最近,Pu 等人[5-6]利用分數(shù)階微分濾波器對圖像進行增強。構(gòu)造了基于分數(shù)階微分的掩模與分數(shù)階Retinex框架,證明了分數(shù)階在圖像處理中具有更好的增強效果。Yu 等人[7]提出了基于八個方向的分數(shù)階微分的紋理增強方法。Sridevi 和Kumar[8]利用基于Caputo 定義的分數(shù)階導(dǎo)數(shù)對圖像進行增強。
Saadia 和Rashdi[9]介紹了一種自適應(yīng)的圖像增強技術(shù),自動選擇每個像素的分數(shù)階。該方法在梯度幅值大、階數(shù)小的情況下,選擇較高的分數(shù)階。高朝邦等人[10]將分數(shù)階微分算子應(yīng)用于四元數(shù),對分數(shù)階微分算子進行了推廣,并開發(fā)了一套掩膜,稱為四元數(shù)分數(shù)階微分算子(QFD)。
與整數(shù)階算子不同,由于分數(shù)階微分算子特有的弱導(dǎo)性,在對信號高頻信息進行提升的同時,相比于整數(shù)階微分算子,可以保留更多的低頻信息,因此,在保存圖像紋理細節(jié)方面有著獨特的優(yōu)勢。在此基礎(chǔ)上本文提出了一種改進的基于分數(shù)階微分的白平衡水下圖像增強方法。將增強一幅水下圖像主要有兩個步驟。①求取基于分數(shù)階微分算子增強的水下圖像;②將增強后的水下圖像進行白平衡校正。能夠極大地提高水下圖像的對比度和清晰度,而且算法的復(fù)雜度低、運行速度快。
白平衡是數(shù)碼相機處理中的重要步驟,在數(shù)碼相機中用于在各種照明條件下調(diào)整像素的顏色。當(dāng)使用不同光源進行照明時,設(shè)備會從同一物體上采集到的白色,由于色溫的影響,圖像的顏色會有很大差異[11]。色溫是溫度的單位。與認知中的冷色和暖色不同,紅色的色溫最低,藍色的色溫最高。例如,在晴朗的藍天下拍攝物體時,由于色溫較高,圖像看起來會更冷[12]。對于同一被攝對象,由于在黃昏拍攝時色溫較低,因此圖像看起來較暖。白平衡算法是基于色溫的對顏色進行校正的方法。該算法是基于Von Kries 模型開發(fā)的,并且通過更改每個通道的色彩增益來進行色彩校正,如以下公式所示:
式中,L、M、S 表示色彩的初始值,kL、kM、ks分別為L、M、S 的增益系數(shù)。通常,取RGB 顏色空間中的三個顏色通道作為公式(1)中的初始值,可得:
根據(jù)確定增益系數(shù)的方式,出現(xiàn)了許多不同的白平衡算法。目前常用的白平衡算法有Gray World、max-Gray、shades of Gray 和 Gray Edge 算法。
該算法基于灰色世界假設(shè),該假設(shè)認為在一幅彩色圖像中,其RGB 三個通道灰度的平均值趨近于同一個值從物理的角度可以描述為,灰度世界假設(shè)物體反射光線的均值是固定的,這個值就是“灰色”。一副彩色圖像的RGB 均值就是這個相等的“灰色”??梢员硎緸椋?/p>
通過增益系數(shù)均衡紅色(R)、綠色(G)和藍色(B)通道的平均值實現(xiàn)對顏色的校正。由式(2)可知,顏色校正后的圖像可以表示為:
max-Gray 算法基于White Patch 假設(shè)。該假設(shè)認為,如果圖像中包含白點或者白色區(qū)域,由于白色可以反射物體的光照,那么,RGB 分量中最大的值將被作為該分量的光照顏色。用公式可以表示為:
式中,f(X) 表示圖像的像素點,e 表示光照,k 表示校正光照的常數(shù)。根據(jù)上式可以計算出RGB 三通道各自的最大值Rmax、Gmax、Bmax。增益系數(shù)可以表示為:
該算法最大的優(yōu)點是計算簡單效率高,但是由于該算法是基于圖像中包含白色區(qū)域,當(dāng)圖像未包含白點或者白色區(qū)域時,算法就顏色校正效果并不明顯。
該算法是在Gray World 算法中引入了閔可夫斯基距離(Minkowski Distance),用閔氏距離代替灰度世界算法中簡單求均值的方法??梢员硎緸椋?/p>
特別地,當(dāng)p 的取值為1 時,上式表示灰度世界算法;但p 的取值為∞時,上式表示Max-Gray 算法,等價于求f(X)的最大值;當(dāng) p 的取值在(1,∞)時,就是常規(guī)的Shades of Gray 算法。Finlayson 等人證明了當(dāng)p的取值為6 時,該算法效果最好。
該算法是一種更通用的白平衡算法,基于自然界所有物理表面的平均反射差分是固定的假設(shè),同樣基于閔氏距離,兼容了上述算法。可以表示為:
式中,fσ(X)=f?Gσ,表示圖像與高斯濾波Gσ的卷積表示對 X 求導(dǎo)運算,選擇不同的n,p,σ參數(shù),可表示上述不同的算法。
該類算法原理簡單,通過利用圖像的統(tǒng)計特征來學(xué)習(xí)光源的特性,非??焖?,而且算法適用性強,但是存在的問題是,它是在灰色世界假設(shè)的基礎(chǔ)上進行的,所以有時應(yīng)用受到限制,應(yīng)用效果不是很好。
分數(shù)階導(dǎo)數(shù)(Fractional derivatives)有很多定義方式,常用的定義方式有 Grünwald-Letnikov、Riemann-Liouville 和 Caputo 分數(shù)階導(dǎo)數(shù)等[13]。
(1)Grünwald-Letnikov 定義:
式中,G 表示 Grünwald-Letnikov,v 表示階數(shù),a 是時間t 的初值。
(2)Riemann-Liouville 定義:
(3)Caputo 定義:
式中,Γ(*)表示伽馬函數(shù)。Grunwald-Letnikov 定義和Riemann-Liouville 定義都是由整數(shù)階微積分直接拓展而來的,對一般的函數(shù)而言,G-L 與R-L 定義是等價的。Caputo 分數(shù)階導(dǎo)數(shù)定義主要側(cè)重于非零初值,分數(shù)階導(dǎo)數(shù)含有更豐富的信息量,而Grunwald-Let?nikov 微積分定義更適合于數(shù)值計算,所以本文將采用Grunwald-Letnikov 定義,將基于分數(shù)階微分應(yīng)用在水下圖像增強中。
根據(jù)R-L 定義式,可以推導(dǎo)出一元信號分數(shù)階積分的差分表達式為:
由上式可知,差分方程的前n 項系數(shù)為:
由于數(shù)字圖像是二維離散的信號,要構(gòu)造出二維圖像分數(shù)階微分的數(shù)值實現(xiàn)算法,首先,必須了解分數(shù)階微分對信號的作用規(guī)律[14]。
為了實現(xiàn)對圖像的微分操作,把微分公式擴展到二維,分別從八個方向?qū)D像進行計算。構(gòu)造Tiansi掩膜算子,如表1 所示。
表1 分數(shù)階微分掩膜算子
這里,分別給出了3×3 大小的分數(shù)微分模板和分數(shù)Tiansi 算子模板(即5×5 分數(shù)微分掩模算子)。如表2-表 3 所示。
表2 3×3 分數(shù)階微分模板
表3 分數(shù)階微分Tiansi 算子模板
信號函數(shù)f(t)∈L2(R)的傅里葉變換可以表示為:
f( )t的整數(shù)n 階導(dǎo)數(shù)可以定義為:
將上式中的整數(shù)n 階推廣到分數(shù)v 階,其分數(shù)v階導(dǎo)數(shù)f(v)(t)(v∈R+),根據(jù)傅里葉變換的性質(zhì)有:
式中,w表示頻率,w?( 0,1) 表示低頻,在圖像中表示紋理細節(jié)變化不明顯的部分;w>1 表示高頻,在圖像中表示邊緣或者灰度變化明顯的區(qū)域。根據(jù)公式(12)、(14)可繪制分數(shù)階微分幅頻特性曲線和二維圖像分數(shù)階與整數(shù)階微分對比,如圖2 和圖3 所示。
圖2 分數(shù)階微分算子的幅頻特性
圖3 二維圖像分數(shù)階與整數(shù)階微分對比
由圖可見,當(dāng)微分算子階次為0 時,微分算子并不改變信號。除0 階外,分數(shù)階和整數(shù)階微分算子都對信號進行了增強,且增強幅度隨頻率和階數(shù)非線性增加。一階與二階微分算子都可以增強信號,二階相比于一階,雖然低頻信號的增強幅度很弱,但高頻信號的增強幅度非常明顯。在w?( 0,1) 的低頻部分,分數(shù)階微分算子具有比整數(shù)階(v=1,2)更高的信號提升幅度,由圖3 可知,在二維圖像中保留了更多的紋理細節(jié);在w>1 的高頻區(qū)域,分數(shù)階微分算子雖然略低于整數(shù)階微分算子,但也可以對信號幅度進行改善。由此可以看出,分數(shù)微分算子具有弱導(dǎo)數(shù)性質(zhì),不僅對中高頻信號的幅度進行了增強,也保留了信號的低頻部分。
上一節(jié)本文介紹了分數(shù)階微分弱導(dǎo)性,對圖像的低頻信號有較好的提升效果,因此本文分別采用3×3、5×5、7×7 的分數(shù)階掩模算子對水下圖像進行增強,經(jīng)過實驗對比,選擇V=0.3 和0.5 階時對水下圖像增強處理是最有效的。
圖4 左側(cè)是原始圖像與放大后的局部信息,右側(cè)是經(jīng)過大小為5×5、0.5 階微分處理后的圖像,可以看出水下圖像出現(xiàn)了更多的紋理細節(jié),放大后,像素點更密集,證明了分數(shù)階微分在水下圖像中的增強效果。
圖4 原始圖像與分數(shù)階微分圖像
通過對本文提及的白平衡算法進行仿真,雖然,上述白平衡方法能在一定程度上恢復(fù)色偏問題,對水下圖像的對比度都頗有改善,但是校正后的圖像還是模糊并且亮度較低。因此本文將采用改進的白平衡算法對水下圖像進行增強,圖5 是上述算法對經(jīng)典水下圖像的處理結(jié)果。
圖5 白平衡算法對比圖
原始圖像具有典型水下圖像的特征,光在水中發(fā)生吸收和散射,出現(xiàn)色偏和模糊的問題。經(jīng)過Gray World 算法校正后顏色偏藍;max-RGB 算法顏色校正效果不明顯,并且處理后的圖像模糊程度加劇;Shades of Gray 處理效果與Gray World 算法接近,校正后的圖像偏藍色調(diào)。Gray Edge 算法提升了水下圖像的亮度,校正后圖像顏色任然呈現(xiàn)藍綠色。經(jīng)過大量試驗,在水下圖像中使用大小為5×5,0.5 階的掩膜算子對圖像進行預(yù)處理,再進行白平衡算法,水下圖像的對比度大大提升,并且圖像呈現(xiàn)出更多的紋理細節(jié),主觀上看可以獲得更好的水下圖像顏色校正效果,由此可知,本文改進的白平衡算法更適用于對水下圖像進行色彩的校正。
為了進一步證明分數(shù)階微分掩膜在水下圖像上的增強效果,本文選取信息熵以及無參考的水下圖像質(zhì)量標(biāo)準UCIQE 和UIQM 進行對比。其中,信息熵越大,圖像包含的信息越多;對比度越強,物體的細節(jié)越清晰;UCIQE 和UIQM 的數(shù)值越大,水下圖像的增強效果越好。采用MATLAB R2017b,Windows 10 計算上述圖像評價指標(biāo),實驗結(jié)果如表4 所示。
表4 本文算法與經(jīng)典白平衡算法的質(zhì)量評價對比
實驗結(jié)果(見表4)表明基于分數(shù)階微分的白平衡算法處理后的水下圖像的UCIQE、UIQM 和信息熵指標(biāo)均有所提升。證明了此方法可以有效地提升水下圖像的紋理細節(jié),使水下圖像的色彩信息更加豐富,同時能有效地改善水下圖像色偏問題,顏色逼真更符合人眼的視覺效果。
在充分考慮了水下環(huán)境的特殊性后,本文介紹了經(jīng)典的白平衡算法,對該算法結(jié)合分數(shù)階微分的思想進行改進,根據(jù)分數(shù)階微積分的G_L 定義式,推導(dǎo)出分數(shù)階掩膜算子,將分數(shù)階微分算子構(gòu)造的掩膜應(yīng)用于水下圖像增強中,與傳統(tǒng)的水下圖像增強方法進行了比較,通過實驗該證明了分數(shù)階微分算子在水下圖像增強中的優(yōu)勢,基于分數(shù)階微分的白平衡算法對顏色的校正有更好的效果,既保留了圖像的紋理細節(jié),提高了圖像的對比度,也改善了水下圖像偏藍偏綠的問題,得到了良好的水下圖像增強結(jié)果。證明了分數(shù)階微分算子可以在水下環(huán)境中保留更多的紋理細節(jié),對水下圖像增強算法具有非常重要的意義。