趙 紅,李春艷,王 寧,田嘉禾,郭 晨
(1. 大連海事大學(xué) 船舶電氣工程學(xué)院,遼寧 大連 116026;2. 哈爾濱工程大學(xué) 船舶工程學(xué)院,黑龍江 哈爾濱 150001)
近年來,無人船不僅在國防領(lǐng)域中起到不可忽視的作用,也廣泛應(yīng)用于海上搜救,水質(zhì)監(jiān)測等民用領(lǐng)域[1-2]。視覺系統(tǒng)具有定位精度高、使用靈活、硬件成本低等特點,可以作為無人船的環(huán)境感知和避障傳感器,保證無人船安全航行[3]。但是相對于陸地來說,海上環(huán)境復(fù)雜多變,海霧天氣更是常見天氣,霧氣中的懸浮粒子對光的吸收和散射作用,會導(dǎo)致無人船的視覺系統(tǒng)在采集圖像數(shù)據(jù)和視頻數(shù)據(jù)時,產(chǎn)生對比度降低、顏色失真以及模糊等現(xiàn)象。而退化后的圖像會丟失目標物的特征信息,導(dǎo)致立體匹配時出現(xiàn)匹配對數(shù)降低或出現(xiàn)較多的誤匹配點等問題,影響無人船系統(tǒng)對障礙物識別及距離判斷的準確性,嚴重時可能會因距離判斷失誤而導(dǎo)致無人船碰撞、觸礁等事故的發(fā)生,所以將圖像去霧技術(shù)應(yīng)用于無人船的視覺系統(tǒng)對提高目標定位的精度和安全航行系數(shù)是非常重要的[4]。
近年來常用的圖像去霧算法主要有無模型的圖像增強方法和基于物理模型的圖像復(fù)原方法,無模型方法通常不考慮圖像的退化機制而直接對圖像的對比度或亮度進行調(diào)節(jié),常用的方法有:Retinex算法、直方圖均衡化(Histogram Equalization,HE)、對比度受限的自適應(yīng)直方圖均衡(Contrast Limited Adaptive histgram equalization,CLAHE)和小波變換[5]。這些方法雖然對圖片有一定的增強作用,但是會造成圖像失真并丟失部分圖像細節(jié),只能達到感知級別的圖像增強效果[6]?;谖锢砟P偷姆椒ㄖ饕抢脠D像退化模型,根據(jù)先驗知識對得到的霧化圖像進行反推,進而恢復(fù)無霧圖像。此類方法通過圖像散射模型分析圖像降質(zhì)的本質(zhì)原因和降質(zhì)過程中的丟失信息,利用圖像信息和先驗知識求取模型中各參數(shù),最終建立合理的去霧算法,得到去霧圖像。Tan等[7]利用無霧圖像對比度高于有霧圖像的先驗信息,在不完全恢復(fù)場景原始透射率條件下,最大化局部信息對比度,得到去霧圖像,該方法可以處理灰度和彩色圖像,但是忽略了圖像自身的顏色構(gòu)造,導(dǎo)致去霧圖像出現(xiàn)色彩嚴重失真的現(xiàn)象。Fattal等[8]假設(shè)介質(zhì)的傳導(dǎo)率和物體表面的光照是不相關(guān)的,利用圖像鄰域信息的馬爾科夫性和局部最優(yōu)的思想計算得到無霧圖像。這種方法對先驗信息的精度要求較高,不適用于模糊圖像和灰度圖像。He[9]通過統(tǒng)計大量無霧圖提出的暗通道先驗理論(Dark Channel Prior,DCP),即圖像中任意一個區(qū)域內(nèi)都至少有一個通道的像素值最小甚至趨于0,該算法基于大氣散射物理模型從圖像的退化原因進行反推,最終復(fù)原出陸地上效果最好的去霧圖。但是圖像中如果存在白色物體或區(qū)域時,會出現(xiàn)3個顏色通道的暗通道值均較高的現(xiàn)象,暗通道先驗理論將會失效,由此估計出的大氣散射模型中的參數(shù)會導(dǎo)致去霧圖像出現(xiàn)色斑和光暈現(xiàn)象,丟失大量的圖像信息。而海上圖像含有大面積亮度較高的天空區(qū)域,此時DCP算法將不能直接用于海上圖像去霧。此后的一些基于暗通道改進的算法[10]大都是通過弱化對天空區(qū)域的處理來達到改善天空區(qū)域的效果,但是這樣的改進就會導(dǎo)致圖像中跟天空區(qū)域連接的區(qū)域被弱化,丟失很多細節(jié)信息。
本文通過分析霧天的成因以及圖像退化模型,針對海上圖像特點以及暗通道算法處理海上圖像時存在的不足,采用四分法對海上圖像進行不斷分割,并通過設(shè)計的評價函數(shù)確定每次分割后得到的優(yōu)化大氣光值的候選區(qū)域,且將達到預(yù)先設(shè)定閾值的候選區(qū)域作為最終感興趣區(qū)域,同時將該區(qū)域內(nèi)所有像素的亮度平均值作為大氣光值A(chǔ)的優(yōu)化值。針對暗通道模型估計出的透射率存在塊效應(yīng)的問題,采用導(dǎo)向濾波器對透射率進行細化,提高計算速度的同時能保持輸出圖像與輸入圖像的相似性和梯度信息,并在此基礎(chǔ)上引入交替迭代思想,利用立體匹配和圖像增強進行交替迭代對透射率進行優(yōu)化,提高透射率的精度,達到提升去霧效果的目的。
McCartney提出的大氣散射模型是最經(jīng)典的霧天圖像退化模型[11-12],該模型包含入射光衰減模型和大氣光模型。其中入射光衰減模型描述了光從目標物到觀測點之間的衰減過程;大氣光模型描述了環(huán)境的懸浮粒子對觀測點接收到的光強的影響。大氣散射模型如下式:
其中:x表示圖像中像素點的坐標;I(x)為攝像機拍攝到的有霧圖像原圖;J(x)是待恢復(fù)的無霧圖像;A為全局大氣光照強度;t(x)=e?βd(x),為透射率,表示在經(jīng)過懸浮粒子衰減后大氣光到達攝像機的部分,β表示大氣散射系數(shù),d(x)表示場景深度。
對式(1)進行變換后可得:
由上式可知,若能精確地求出大氣光值A(chǔ)和 透射率t(x),即可根據(jù)有霧圖像獲取其對應(yīng)的無霧圖像J(x)。
He等在大氣散射模型的基礎(chǔ)上,通過統(tǒng)計5 000多幅圖像的特征,提出了暗通道先驗算法。該理論假定在圖像中絕大多數(shù)的目標區(qū)中會存在一些暗像素區(qū)域,這些區(qū)域中至少有一個顏色通道的像素值很小,甚至趨近于0。正常圖像的暗通道圖像接近純黑,但有霧圖像的暗通道圖像顏色則呈現(xiàn)灰色,這就構(gòu)成了暗通道去霧的理論基礎(chǔ)。
暗通道可以表示為:
式中:Jdark表示像素值最小的通道并將其定義為暗通道;Ω(x)表示以像素值為中心的鄰域區(qū)域。
假設(shè)在局部區(qū)域內(nèi)t(x)為定值,對式(1)兩邊取兩次最小值操作并結(jié)合式(3)可得:
對式(4)進行變換可得t(x)表達式為:
上式可粗略估算出暗通道先驗算法的透射率。
然而在現(xiàn)實場景中,非常晴朗的天氣中也會存在一層薄霧以增強圖像的層次感。為了保持景深,在進行圖像去霧時要保留一部分的霧,防止因霧全部移除而產(chǎn)生的噪聲和顏色失真等現(xiàn)象。對有霧圖像進行去霧操作時,預(yù)設(shè)一個霧氣保留因子ω且ω<1,使圖像能保留部分霧氣以保留其層次感。最終的透射率求取公式如下式:
暗通道先驗算法估計大氣光值時,通常將圖像中亮度最高點,也就是圖像中像素值的最大值作為大氣光值的近似估計。具體做法分為2步:
1)將暗通道圖像中的亮度大小進行排序,將前0.1%的值取出;
2)將求取的亮度值對應(yīng)原圖的位置,在原含霧圖像中找出這些位置的最高值將其作為大氣光值。
根據(jù)大氣物理模型以及上述得到的粗略的大氣光值A(chǔ)以 及透射率t(x),就可以對有霧圖像進行去霧處理。最終去霧圖像的求取公式為:
式中,為了防止估計的透射率過小而造成最終復(fù)原圖像嚴重失真,可設(shè)置透射率閾值t0,其值一般設(shè)為0.1。
海上圖像的特點為圖像中有大面積的天空區(qū)域,而天空區(qū)域中的白光分量過多,易出現(xiàn)局部區(qū)域R,G,B三通道值均較高的現(xiàn)象,與暗通道先驗假設(shè)某一區(qū)域內(nèi)至少有一個顏色通道像素值趨近于0的理論基礎(chǔ)相悖,故DCP算法不能直接用于含有大面積天空區(qū)域的圖像去霧。
針對上述問題,本文提出改進大氣光值A(chǔ)估 計法,優(yōu)化其取值,通過構(gòu)建評價函數(shù)并利用四分法得到候選區(qū)域,將該區(qū)域內(nèi)的平均亮度作為大氣光值的優(yōu)化值;利用導(dǎo)向濾波[13-14,16]對透射率進行細化,解決暗通道模型估計出的透射率存在塊效應(yīng)的問題,提高計算速度的同時保持輸出圖像與輸入圖像的相似性和梯度信息,并引入立體匹配和圖像增強交替迭代對透射率進行優(yōu)化,提高透射率取值的準確性,提升算法的去霧效果。
原始及許多改進暗通道去霧算法均選取圖像中亮度最高的像素值作為大氣光值的近似估計值。但選取單個點易受外界隨機條件干擾,尤其是當(dāng)圖像中存在亮度較高的白色物體或區(qū)域時,通常就會導(dǎo)致大氣光值的錯誤估計,影響圖像去霧的效果,丟失更多圖像信息。
本文采用四分法對目標圖像進行分割并確定最終的候選區(qū)域,其主要思想是根據(jù)構(gòu)建的評價函數(shù)對輸入圖像進行四等分,選擇符合評價函數(shù)的區(qū)域并再次進行四等分,直至得到符合評價函數(shù)并滿足區(qū)域閾值要求的候選區(qū)域。
本文將某一區(qū)域內(nèi)的像素平均值與像素標準差sN之間的差值作為四分法分割的評價函數(shù)F(x),其中的標準差sN代表該區(qū)域的像素值變化程度。天空區(qū)域中亮度較高的點較為集中,該區(qū)域內(nèi)像素均值最高、像素之間變化最小,所以在天空區(qū)域選取的大氣光值最為接近大氣光的實際值,因此利用上述方法獲得的區(qū)域?qū)Υ髿夤庵颠M行估計是合理的。
其中,n為該區(qū)域內(nèi)像素點個數(shù),xi,i∈(1,n)是該區(qū)域中的像素點坐標。
每次四分均選取值F(x)最大的區(qū)域作為候選區(qū)域并進行進一步劃分,再次計算各部分差值,重復(fù)上述操作,直到最終劃分的區(qū)域小于預(yù)先設(shè)定的閾值區(qū)域。通過反復(fù)實驗對比,將閾值最小值設(shè)定為8×8,最后選取差值最大的區(qū)域作為大氣光值預(yù)估計的最終區(qū)域并將該區(qū)域的像素平均值作為大氣光值的估計值。
式中,S(x)是該區(qū)域內(nèi)所有像素值之和。
圖1為四分法的過程及結(jié)果。首先對輸入進行四等分,對符合判斷標準的區(qū)域再次進行劃分,最終得到F(x)值最大的區(qū)域作為感興趣區(qū)域,如圖1右上方黑色區(qū)域所示,進而得到優(yōu)化的大氣光值。
原始暗通道先驗方法在求取透射率時,假設(shè)每個區(qū)域內(nèi)的透射率是不變的,因此估計出的結(jié)果存在塊效應(yīng),具有一定的偏差。He采用軟摳圖的方式對透射率結(jié)果進行優(yōu)化,但是該方法速度慢且計算量較大。本文采用導(dǎo)向濾波對暗通道先驗得到的透射率圖進行優(yōu)化,并將立體匹配和圖像增強交替迭代的思想引入其中,即透射率t(x)與雙目視覺定位的d(x)進行交替迭代以對兩者不斷優(yōu)化,直到獲得穩(wěn)定的輸出圖像。
圖1 四分法分割示意圖Fig. 1 Schematic diagram of quadrant division.
導(dǎo)向濾波算法引入了局部線性模型,輸出圖像由輸入圖像和導(dǎo)向圖共同決定,輸出圖像大體上與輸入圖像相似,但邊緣紋理處與導(dǎo)向圖相同,對圖像邊緣的處理效果更好,耗時更少,并且導(dǎo)向濾波還能更好保持圖像的梯度信息。
引入的局部線性模型包括導(dǎo)向圖I,輸入圖像p以及輸出圖像q:
其中:q為輸出圖像的像素值;I為輸入圖像的像素值;i和k是像素索引;系數(shù)ak和bk在窗口ωk中為恒定系數(shù)。對式(12)求導(dǎo)可得?q=a?I,所以導(dǎo)向濾波能保證輸出圖像q的邊緣與導(dǎo)向圖I的邊緣相似。
為了最小化輸出圖像q與輸入圖像I的差值,引入代價函數(shù):
其中,ε是一個正則化參數(shù),令代價函數(shù)E(ak,bk)最小,即可得到ak和bk的表達式:
式中:μk和分別是導(dǎo)向圖I在窗口ωk中的均值和方差;|ω|是窗口ωk中像素點的個數(shù)。得到ak和bk后即可計算出輸出像素點qi。透射率優(yōu)化前后對比如圖2所示。
圖2 透射率優(yōu)化Fig. 2 Transmission map optimization.
將優(yōu)化之后的大氣光值A(chǔ)和透射率t(x)代入式(7)可得到無霧圖像。
大氣散射模型中,透射率t(x)的表達式為:
其中:β為大氣散射系數(shù);d(x)為景深。
而雙目立體定位中,視差圖與景深的關(guān)系為:
其中:b為雙目攝像機的基線距離;f為攝像機的內(nèi)參數(shù);D為立體匹配得到的在像素x的視差。
考慮到復(fù)原之后的圖像更加清晰、細節(jié)信息更加豐富,引入雙目立體視覺和圖像增強交替迭代的思想,其實現(xiàn)過程如下:
1)利用本文提出的去霧算法對有霧原圖進行去霧;
2)對去霧之后的左右圖像進行立體匹配操作,并根據(jù)式(17)獲得圖像的景深d(x);
3)將步驟2中得到的景深代入式(16)計算出新的透射率t(x),利用新的透射率再次對有霧原圖進行去霧操作;
4)判斷得到的去霧圖像或距離信息是否達到穩(wěn)定狀態(tài),若已達穩(wěn)態(tài),則執(zhí)行步驟5,否則重復(fù)步驟1~步驟3;
5)輸出達到穩(wěn)態(tài)值的去霧圖像。
圖3為大連海事大學(xué)實習(xí)船“育鯤”號和“育鵬”號在霧中的圖像,圖4為局部細節(jié)放大展示圖。從圖3和圖4可以看出,相比于Retinex,CLAHE,F(xiàn)atal,He等算法,本文算法恢復(fù)出的無霧圖像有效改善了圖像中天空區(qū)域的光暈現(xiàn)象,并且恢復(fù)出的圖像色彩更加真實,細節(jié)圖更加清晰。
為了直觀反映算法的去霧效果,引入圖像評價指標結(jié)構(gòu)相似度(Structual Simmilarity,SSIM)、峰值信噪比(Peak Signal to Noise Ratio,PSNR)以及信息熵(Entropy)進行定量分析。結(jié)構(gòu)相似度指標能夠衡量圖像的對比度、亮度以及結(jié)構(gòu)信息,該值越大說明恢復(fù)效果越好;峰值信噪比能夠衡量圖像噪聲水平和失真情況,該值越大說明去霧之后的圖像與原圖像越相似;信息熵能夠衡量圖像中平均信息的多少,熵值越大圖像中的輪廓信息越清晰。表1為圖3(a)中3張原圖分別經(jīng)過Retinex,CLAHE,F(xiàn)attal,He以及本文算法計算得到的各圖像評價指標值。由表1可知,本文去霧算法在各項圖像評價指標中均表現(xiàn)上乘。
圖3 圖像復(fù)原結(jié)果對比(霧氣保留因子ω=0.95)Fig. 3 Comparison of image restoration results(fog retention factor ω=0.95)
此外,立體匹配是無人船視覺系統(tǒng)利用雙目攝像機實現(xiàn)目標定位和障礙物測距必不可少的一步,其主要原理是利用雙目攝像機拍攝到的同一場景圖像,經(jīng)過攝像機標定、校正等一系列處理之后,在左右2幅圖像中找到同一物體的同一點,從而計算出視差圖,實現(xiàn)對物體的最終定位。立體匹配主要是利用圖像中物體的紋理和色彩等特征進行左右圖像的匹配,匹配點的個數(shù)以及匹配的準確度都會影響最終的定位精度,所以立體匹配可以作為圖像質(zhì)量的一個評價標準。其中特征點匹配是立體匹配的核心,ORB[17](Orientation by Intensity Centroid)特征點匹配算法具有良好的穩(wěn)定性且計算速度極快,故本文采用ORB算法對成對圖像進行匹配點檢測并對總匹配對數(shù)以及優(yōu)秀匹配對數(shù)進行統(tǒng)計,以評價去霧前后的圖像質(zhì)量。
圖5為利用ORB特征匹配算法對雙目攝像頭拍攝到的左右圖像進行特征點匹配的結(jié)果。表2列出了上述3圖的總匹配對數(shù)和誤差小于0.75的優(yōu)秀匹配對數(shù),并計算出了優(yōu)秀匹配對數(shù)的占比。
綜合上述實驗結(jié)果可知,基于本文的海上圖像去霧算法可以從一定程度上改善原始DCP算法存在的色斑和光暈現(xiàn)象,且得到的復(fù)原圖像能夠能復(fù)原出更多的圖像細節(jié),可給無人船視覺系統(tǒng)提供質(zhì)量更高的海上圖像。
表1 圖像評價指標Tab. 1 Image evaluation index
圖4 圖像復(fù)原局部細節(jié)Fig. 4 Partial details of image restoration
圖5 基于ORB算法的特征點匹配結(jié)果Fig. 5 Feature point matching results based on ORB algorithm
表2 ORB特征點匹配對數(shù)Tab. 2 Matching logarithm of ORB feature points
本文通過改進暗通道先驗算法,對海上有霧圖像進行增強,有效復(fù)原出較多的圖像細節(jié)信息,使視覺系統(tǒng)更好發(fā)揮“眼睛”的作用,更有利于實現(xiàn)無人船精確避障以及目標物測距等后續(xù)工作。通過與現(xiàn)有的一些去霧算法進行的對比實驗,驗證了本文算法在海上圖像去霧處理上的有效性和優(yōu)越性。但是,一些實驗也顯示,當(dāng)海上霧氣濃度很高時,與其他去霧算法相比,基于本文算法的圖像去霧優(yōu)勢則不夠明顯,尚需后續(xù)加以改善。