龔萬齊,馮 常
(1.中國(guó)科學(xué)院 光電技術(shù)研究所,四川 成都 610209;2.中國(guó)科學(xué)院大學(xué) 光電學(xué)院,北京 100049)
水下成像過程中受到水對(duì)光線的吸收和散射作用,導(dǎo)致水下成像效果較差,復(fù)原難度大,耗時(shí)長(zhǎng)。范等[1]利用一組正交偏正的圖像結(jié)構(gòu)相似性獲取水下圖像透射率;He等[2]利用多級(jí)小波變換的映射得到不同尺度下圖像特征;沈等[3]通過將圖像映射到lαβ空間后進(jìn)行Tetrolet變換分別處理高頻和低頻信息;Zhang等[4]采用雙邊和三邊濾波結(jié)合方法改進(jìn)視網(wǎng)膜增強(qiáng)技術(shù);Zhang等[5]利用多尺度高斯核提取精確的特征來估計(jì)光照分量;Li等[6]利用卷積神經(jīng)網(wǎng)絡(luò)的技術(shù)和水下場(chǎng)景先驗(yàn)直接重建出清晰的水下圖像;Li等[7]分析水下成像模型并基于暗通道先驗(yàn)(dark channel prior,DCP)提出忽略紅色通道對(duì)水下透射率圖進(jìn)行求取,稱為水下暗通道先驗(yàn)(underwater DCP,UDCP);Huo等[8]用紅通道補(bǔ)碼去調(diào)整水下較亮的區(qū)域,稱為紅通道先驗(yàn)(red-DCP,RDCP);uczyński等[9]對(duì)顏色進(jìn)行了轉(zhuǎn)換,提出帶顏色復(fù)原水下暗通道先驗(yàn)(color correction with UDCP,CC-UDCP)。文獻(xiàn)[1-6]屬于圖像增強(qiáng)方法,沒有基于水下成像的物理模型來消除水體對(duì)光線的散射與吸收的影響,所以在圖像的復(fù)原和增強(qiáng)的過程中會(huì)存在放大噪點(diǎn)、丟失圖像細(xì)節(jié)、顏色失真等現(xiàn)象。文獻(xiàn)[7-9]基于水下成像模型技術(shù),考慮到了水下圖像紅綠藍(lán)3個(gè)顏色通道衰減速率不同的問題。同時(shí)求取了較為精確的透射率圖,得到了水下圖像信息。但是顏色修正的準(zhǔn)確度不高,同時(shí)計(jì)算復(fù)雜度過高,實(shí)用性較差。針對(duì)現(xiàn)有方法存在的不足,提出了改進(jìn)的水下暗通道先驗(yàn)方法,目的是能有效地解決水下顏色失真問題,使圖像的細(xì)節(jié)保留和整體質(zhì)量都得到有效提升,同時(shí)大幅度降低計(jì)算復(fù)雜度,提升運(yùn)算速度。
受到經(jīng)典的大氣霧天圖像退化模型啟發(fā),Jaffe-McGlamery的水下圖像退化模型如圖1所示。
圖1 水下光學(xué)成像模型
水下相機(jī)所接收到的光IT可由3部分光線性疊加而組成,分別是直接分量ID(direct component),前向散射分量IF(forward-scattered component)以及后向散射分量IB(back-scattered component)
IT=ID+IF+IB
(1)
直接分量是光線達(dá)到物體表面經(jīng)反射和介質(zhì)傳播后未發(fā)生散射直接到達(dá)成像器的部分,是最能反映物體特征的一個(gè)分量,由物體反射光線Io bject(x) 和水體透射率t(x) 的乘積計(jì)算而成。前向散射分量是由目標(biāo)物體反射光發(fā)生的小角度散射產(chǎn)生的,由直接分量和點(diǎn)擴(kuò)散函數(shù)g(x) 卷積計(jì)算而成。后向散射分量是光線經(jīng)過環(huán)境中各種懸浮微粒散射后形成的背景光,是造成水下圖像成像模糊的主要原因,由全局背景光B∞和水體透射率t(x) 組成。
3個(gè)分量表示為
(2)
(3)
(4)
因此將式(2)~式(4)帶入式(1)得到相機(jī)所接收到的總光量為
(5)
令
(6)
表示目標(biāo)物體反射的總光量,則公式簡(jiǎn)化為
(7)
在水下復(fù)雜環(huán)境中成像會(huì)產(chǎn)生以下兩個(gè)主要問題:①由于水體對(duì)不同波長(zhǎng)光線吸收能力不同,導(dǎo)致不同波長(zhǎng)光線在水體中傳播的衰減系數(shù)不一樣,其中波長(zhǎng)在480 nm左右的波段的藍(lán)綠光在水中的衰減系數(shù)最小,因此在此波段的光在水中的傳輸距離較遠(yuǎn),成像整體畫面視覺效果會(huì)偏藍(lán)綠;②由于水體對(duì)光線散射作用,導(dǎo)致成像過程中后向散射分量過多,成像結(jié)果受其影響而變得模糊,丟失很多細(xì)節(jié)信息,但是盡管以暗通道先驗(yàn)為基礎(chǔ)的各類算法能較為準(zhǔn)確地估計(jì)透射率圖,并還原出圖像細(xì)節(jié),但由于涉及到大量的浮點(diǎn)運(yùn)算,所以計(jì)算復(fù)雜度較高,計(jì)算所消耗的時(shí)間與空間資源較多。
針對(duì)以上問題提出基于改進(jìn)暗通道的水下圖像快速復(fù)原技術(shù)。首先,在處理水下圖像時(shí)需要先對(duì)目標(biāo)圖像進(jìn)行顏色空間的轉(zhuǎn)換與調(diào)整,不同于目前固定的顏色空間轉(zhuǎn)換方式,希望能根據(jù)圖像自身的顏色分布與空間特點(diǎn)自適應(yīng)地轉(zhuǎn)換到最佳的顏色空間,這樣才能幫助后續(xù)的進(jìn)一步圖像復(fù)原處理。此外,利用基于暗通道先驗(yàn)的圖像復(fù)原算法計(jì)算出準(zhǔn)確的水體透射率圖全局背景光,但是為了降低計(jì)算復(fù)雜度,可以先將原圖下采樣,再進(jìn)行暗通道的求取,得到小圖的暗通道,之后通過插值或雙線性插值的方法進(jìn)行上采樣得到原圖的暗通道,再計(jì)算透射率圖。
現(xiàn)有的顏色空間轉(zhuǎn)換方法基本都是采用固定方法來進(jìn)行轉(zhuǎn)換的,當(dāng)水下圖像顏色特征發(fā)生變化時(shí),缺乏一定的適應(yīng)性和準(zhǔn)確性。利用動(dòng)態(tài)閾值算法[10]對(duì)水下圖像進(jìn)行色彩復(fù)原,具體過程分為兩步:白點(diǎn)檢測(cè);白點(diǎn)調(diào)整。
首先將圖像RGB空間轉(zhuǎn)換到計(jì)算YCrCb空間,并計(jì)算Cb、Cr的均值Mb、Mr,之后計(jì)算絕對(duì)差的累計(jì)值,其中N為區(qū)域內(nèi)的像素?cái)?shù)
Db=∑i,j(|Cb(i,j)-Mb|)/N
(8)
Dr=∑i,j(|Cr(i,j)-Mr|)/N
(9)
按照下述規(guī)則判斷哪些點(diǎn)屬于初步白色參考點(diǎn)
|Cb(i,j)-(Mb+Db×sign(Mb))|<1.5×Db
(10)
|Cr(i,j)-(1.5×Mr+Dr×sign(Mr))|<1.5×Dr
(11)
其中,sign(x) 為符號(hào)函數(shù),之后取其中亮度前10%為最終參考點(diǎn)。并計(jì)算參考點(diǎn)3個(gè)通道亮度值的平均值Ravew、Gavew、Bavew。利用參考點(diǎn)中亮度Y的最大值Ymax,計(jì)算各個(gè)通道增益
Rgain=Ymax/Ravew
(12)
Ggain=Ymax/Gavew
(13)
Bgain=Ymax/Bavew
(14)
但是如果Y、Cb、Cr的值量化在0~255之間的話,在檢測(cè)白點(diǎn)的過程中會(huì)出現(xiàn)所有的像素都會(huì)被判斷為白色參考點(diǎn)。因此需要對(duì)動(dòng)態(tài)閾值算法進(jìn)行進(jìn)一步改進(jìn),將Y、Cb、Cr的值量化到一個(gè)合適的值之間。之后再計(jì)算各個(gè)顏色通道的增益,即引入偏移參數(shù)
Y′=Y
(15)
C′b=Cb-ωb
(16)
C′r=Cr-ωr
(17)
對(duì)于量化偏移參數(shù)ωb、ωr,由光電成像環(huán)境所決定,且同一環(huán)境下量化偏移參數(shù)不變。采用局部領(lǐng)域搜索方法,其約束條件為0≤ωb,r≤127。
目標(biāo)是最小化目標(biāo)函數(shù)H,即
argminH(ωb,ωr)=∑iαiσi
(18)
其中,αi為評(píng)價(jià)參數(shù),代表各個(gè)評(píng)價(jià)指標(biāo)的權(quán)重。σi為圖像參數(shù)評(píng)價(jià)指標(biāo),主要包括水下圖像質(zhì)量評(píng)價(jià)(UCIQE)、等效圓偏色(Cast)[11]、信息熵(entropy)。搜索過程中,設(shè)置初試值,并以l為步長(zhǎng)進(jìn)行局部搜索,獲得量化偏移參數(shù)。在之后的同一環(huán)境中生成的圖像進(jìn)行處理時(shí),就不必再重新量化。
經(jīng)過這樣的處理水下圖像顏色通道中紅色分量就會(huì)得到補(bǔ)償,并均衡R、G、B三色通道的含量,將原本偏藍(lán)綠的圖像會(huì)整體向偏白的方向變化,模擬出大氣環(huán)境中圖像退化情況,如圖2所示。
圖2 水下顏色變換
類似于在大氣環(huán)境中拍攝出來的清晰圖像的暗通道,水下環(huán)境中獲取的不受水體散射干擾清晰圖像經(jīng)過顏色轉(zhuǎn)換之后也會(huì)存在暗通道,其公式表達(dá)如式(19)所示,其中Ω(x)表示計(jì)算的鄰域窗口。反之,若水體中存在大量的懸浮顆粒,產(chǎn)生大量的水體散射光線,會(huì)造成圖像整體偏白,求取像素點(diǎn)的暗通道值不再約等于0,而是亮度較高的值
(19)
根據(jù)水下成像式(7),在各個(gè)通道以及在一定窗口內(nèi)取兩次最小值,則新的公式如式(20)所示
(20)
由于B∞對(duì)于所有像素都是定值,為一個(gè)常數(shù),因此由式(19)得到式(21)
(21)
(22)
在假設(shè)全局背景光B∞已知的情況下,可以通過暗通道圖來求取,具體步驟為:①找到暗通道圖中亮度排名前0.1%的像素點(diǎn),并記錄下他們的位置;②在原圖中,找到位置對(duì)應(yīng)到步驟①中點(diǎn)的位置的像素,求取其中亮度值最高的點(diǎn)的亮度值作為全局背景光B∞。
(23)
根據(jù)調(diào)查與研究,大部分實(shí)際使用條件下,水下成像的場(chǎng)景與拍攝相機(jī)之間的平均深度很大,因此前向散射的反射角度很小,此時(shí)前向散射對(duì)水下成像的干擾微乎其微,目標(biāo)物體反射直接分量約等于目標(biāo)物體反射總光量,即被復(fù)原的光量
(24)
考慮到暗通道算法能得到比其它算法更為精確的透射率圖,因此可以通過降采樣求暗通道來降低算法復(fù)雜度。具體做法為:先對(duì)獲得的待處理圖像進(jìn)降采樣,降采樣比率為1/4或1/9,再進(jìn)行暗通道的求取,得到小圖的暗通道圖像,之后通過插值或雙線性插值的方法進(jìn)行上采樣得到原圖大小的暗通道圖。根據(jù)觀察發(fā)現(xiàn),采樣得到的透射率圖跟原圖直接進(jìn)行暗通道求取得到的透射率圖的精確度差距不大,因此同樣可以有較好的圖像復(fù)原效果。但是因?yàn)橛?jì)算透射率時(shí)的數(shù)據(jù)量少了很多,而通過雙線性插值計(jì)算復(fù)雜度較低,理論上當(dāng)縮放比例小于0.5的時(shí)候,計(jì)算透射率圖時(shí)節(jié)省的時(shí)間就能夠抵消掉兩次縮放所用的耗時(shí),因此總體來說計(jì)算效率上能提高很多。
得到精確的透射率圖和全局背景光之后,采用快速導(dǎo)向?yàn)V波的方法計(jì)算復(fù)原結(jié)果。
綜上所述,水下快速圖像復(fù)原流程如圖3所示。
圖3 水下圖像復(fù)原流程
為了驗(yàn)證本文算法的有效性,對(duì)大量不同的水下環(huán)境拍攝得到的圖像進(jìn)行了復(fù)原處理,同時(shí)將圖像復(fù)原結(jié)果進(jìn)行對(duì)比分析。為了驗(yàn)證降采樣暗通道在達(dá)到同樣圖像復(fù)原效果時(shí)能提升較多的運(yùn)算效率,對(duì)比了不同比率降采樣的暗通道復(fù)原效果及復(fù)原時(shí)間。實(shí)驗(yàn)用電腦為臺(tái)式計(jì)算機(jī)(Inter(R) Core(TM) i5-6500 CPU @ 3.20 GHz 3.19 GHz,Win 10系統(tǒng),16 GB內(nèi)存),采用MATLAB R2016a軟件設(shè)計(jì)實(shí)驗(yàn)。
不同比率降采樣暗通道和復(fù)原結(jié)果如圖4~圖6所示。本文算法與其它水下圖像復(fù)原算法對(duì)比結(jié)果如圖7~圖9所示。實(shí)驗(yàn)采用通用水下復(fù)原圖像,圖4、圖7為水下雕像圖像,圖5、圖8為水下魚群圖像,圖6、圖9為水下珊瑚圖像??梢钥闯鐾ㄟ^降采樣之后的暗通道在簡(jiǎn)單環(huán)境中與未經(jīng)過降采樣的暗通道細(xì)節(jié)保留差不多,而在復(fù)雜環(huán)境中降
圖4 水下雕像圖片降采樣實(shí)驗(yàn)
采樣之后的暗通道保留的細(xì)節(jié)會(huì)相應(yīng)減少,但是通過不同比率的暗通道復(fù)原出來的水下圖像效果接近。
圖5 水下魚群圖片降采樣實(shí)驗(yàn)
圖6 水下珊瑚圖片降采樣實(shí)驗(yàn)
而在不同算法的主觀效果上,單純的DCP方法,如圖7(b)、圖8(b)、圖9(b)可以在一定程度上減弱水下圖像模糊的問題,消除部分后向散射影響,銳化水下圖像,突出圖像細(xì)節(jié),但是沒有考慮到水下光線的強(qiáng)吸收作用,水下圖像顏色偏移問題依然很嚴(yán)重。而采用UDCP進(jìn)行處理的時(shí)候考慮了水下紅色通道光線較少的問題,在原本色彩豐富度較低的圖像中處理效果較好,如圖7(c)和圖9(c)所示,但在原本色彩豐富的場(chǎng)景中,由于直接忽略了紅色通道對(duì)暗通道的影響所以復(fù)原出來的效果并不好,甚至造成圖像的色偏問題更嚴(yán)重,圖像質(zhì)量會(huì)下降,如圖8(c)所示。
RDCP對(duì)水下圖像的紅色通道進(jìn)行反向映射,增加紅色通道在求取暗通道時(shí)計(jì)算比重,在一定程度上能改善UDCP處理圖像時(shí)忽略過多圖像細(xì)節(jié)的問題,如圖7(d)、圖8(d)、圖9(d)所示,但是并沒有真正解決圖像顏色偏移問題。而CC-UDCP在UCDP和RDCP的基礎(chǔ)上進(jìn)一步考慮,同時(shí)將紅色通道和綠色通道同時(shí)進(jìn)行反向映射,如圖7(e)、圖8(e)、圖9(e)所示,經(jīng)過觀察可以發(fā)現(xiàn)圖像中細(xì)節(jié)更突出,有效地去除了圖像的藍(lán)綠色偏,目標(biāo)也更清晰,對(duì)比度更高,比如圖7(e)雕像胸口上的字符,但是圖像顏色過分修正,造成圖像顏色偏紅失真。相比之下本文算法圖7(f)、圖8(f)、圖9(f),由于對(duì)水下環(huán)境顏色進(jìn)行最優(yōu)搜索,所以很好地解決了色偏問題,同時(shí)消除水體后向散射影響,突出圖像細(xì)節(jié),擁有最好的視覺效果。
圖7 水下雕像圖片實(shí)驗(yàn)
圖8 水下魚群圖片實(shí)驗(yàn)
圖9 水下珊瑚圖片實(shí)驗(yàn)
為了驗(yàn)證不同比率降采樣暗通道的復(fù)原結(jié)果,采用結(jié)構(gòu)相似性(SSIM)來作為評(píng)價(jià)指標(biāo)。SSIM是一種衡量?jī)煞鶊D像相似度的指標(biāo),屬于有參考圖像的圖像質(zhì)量評(píng)價(jià)指標(biāo),SSIM數(shù)值越高代表圖片與原圖越相似。同一幅圖像與自己做SSIM運(yùn)算的結(jié)果是1,表示是同一幅圖像。通過表1可以看出,通過降采樣暗通道復(fù)原得到的水下圖像,其與未經(jīng)過降采樣暗通道復(fù)原得到的SSIM值接近于1,表示兩種復(fù)原效果相似度很好,但是經(jīng)過降采樣暗通道的復(fù)原算法大大地提高算法運(yùn)算效率,減少了算法運(yùn)算時(shí)間。
表1 水下圖像相似性評(píng)價(jià)
此外為了驗(yàn)證圖像復(fù)原質(zhì)量的實(shí)驗(yàn)效果,進(jìn)一步說明算法對(duì)圖像處理的結(jié)果,從多種方向?qū)?shí)驗(yàn)結(jié)果的圖像進(jìn)行質(zhì)量評(píng)價(jià)。由于水下圖像復(fù)原的目的主要在于能夠得到精確清晰的目標(biāo)信息,因此選取無參考的水下圖像質(zhì)量評(píng)價(jià)(UCIQE)、信息熵(Entropy)、等效圓偏色檢測(cè)(Cast)、算法計(jì)算時(shí)間(Times)。
水下圖像質(zhì)量評(píng)價(jià)是色彩濃度、飽和度和對(duì)比度的線性組合,用來定量評(píng)價(jià)水下圖像非均勻的色偏、模糊和低對(duì)比度的情況。UCIQE數(shù)值越高代表圖像細(xì)節(jié)越多,越清晰,復(fù)原效果越好。信息熵表示圖像所包含的平均信息量,其值越大,表示圖像所攜帶的信息量越大。等效圓偏色檢測(cè)是基于等效圓的偏色檢測(cè)方法,采用CIE Lab顏色空間,其直方圖可以客觀反映圖像色偏程度,偏色因子值越大,偏色越嚴(yán)重。
計(jì)算圖7~圖9中原圖、4種其它算法和本文算法處理之后的圖像的標(biāo)準(zhǔn)評(píng)價(jià)指標(biāo)。比較結(jié)果見表2。
表2 水下圖像質(zhì)量評(píng)價(jià)
根據(jù)表2中的數(shù)據(jù)可以觀察出,使用本文算法復(fù)原出來的水下圖像普遍在UCIQE,信息熵上計(jì)算得到的數(shù)值結(jié)果都是較優(yōu)于其它算法的,表明本文算法復(fù)原出來的水下圖像在飽和度,對(duì)比度方面都表現(xiàn)較好,復(fù)原出的圖像得到了更好的視覺感受,同時(shí)能有效地消除后向散射影響,還原出更豐富的圖像細(xì)節(jié),增加圖像信息量,因此圖像信息熵也較其它方法高。盡管在Cast參數(shù)上表現(xiàn)不如CC-UDCP算法,但是通過觀察可以看出CC-UDCP算法會(huì)對(duì)水下圖像進(jìn)行過度顏色補(bǔ)償,導(dǎo)致視覺上顏色偏紅,這也導(dǎo)致其在圖7的UCIQE中表現(xiàn)得略好些,而本文算法在有效地解決水下圖像顏色偏移的問題的基礎(chǔ)上,使復(fù)原結(jié)果更符合水下場(chǎng)景,擁有更好的視覺效果。此外,可以看出本文算法在提升復(fù)原效果的基礎(chǔ)上,大大提升了運(yùn)算效率,減少了計(jì)算時(shí)間,節(jié)約了運(yùn)算資源。
此外,綜合不同的3種復(fù)雜度的場(chǎng)景發(fā)現(xiàn),本文算法都有較為穩(wěn)定的復(fù)原效果和更快的計(jì)算速度,3種場(chǎng)景中均能較好地提升圖像質(zhì)量,還原圖像細(xì)節(jié),矯正顏色偏移。因此本文的算法具有更好的適應(yīng)性和優(yōu)越性。
光學(xué)成像系統(tǒng)在水下環(huán)境中會(huì)受到水體對(duì)光線地吸收和散射作用,導(dǎo)致色差、模糊、低對(duì)比度等問題,結(jié)合水下成像物理模型,本文提出了基于改進(jìn)暗通道的水下圖像快速復(fù)原方法。通過動(dòng)態(tài)閾值對(duì)水下圖像進(jìn)行色彩復(fù)原,使用局部搜索找到最優(yōu)偏移量,再利用降采樣暗通道求取較為準(zhǔn)確的透射率圖,以實(shí)現(xiàn)水下圖像的復(fù)原。實(shí)驗(yàn)結(jié)果表明,本文算法能達(dá)到較好的復(fù)原效果,提高圖像對(duì)比度、飽和度,獲得更好的圖像質(zhì)量與信息,同時(shí)大大地提升運(yùn)算效率,節(jié)約運(yùn)算時(shí)間。但是本文實(shí)驗(yàn)僅僅考慮了自然光照射下水下成像的影響因素,并未考慮添加人工光源后的成像模型,因此存在一定的局限性,有待于后續(xù)的研究。