于平平 徐建格 劉學孔 秦亞龍 常宇峰
摘要:針對去霧算法對存在大面積明亮區(qū)域的圖像去霧效果不佳的問題,根據(jù)暗原色先驗原理提出了一種基于明亮區(qū)域和天空區(qū)域識別的圖像去霧算法。根據(jù)天空區(qū)域和明亮區(qū)域的特點,建立了明亮區(qū)域和天空區(qū)域的判別機制,對不同類型的圖像采用不同方法求取大氣光值;基于點暗原色原理,采用中值濾波和雙邊濾波對點透射率進行細化,與塊透射率相比,采用點透射率可以保留更多的圖像細節(jié)。結果顯示,采用均方誤差、峰值信噪比、可見邊梯度和結構相似性4個參數(shù)作為圖像去霧效果的客觀評價指標,優(yōu)化后算法的綜合評價指標均優(yōu)于其他算法。所提出的算法對不同類型圖像均可取得較好的去霧效果,消除了去霧圖像的光暈、塊效應和天空區(qū)域過飽和現(xiàn)象。
關鍵詞:圖像處理;圖像去霧;明亮區(qū)域;天空區(qū)域;點暗原色
中圖分類號:TP391文獻標志碼:A
doi:10.7535/hbgykj.2019yx03009
文章編號:1008-1534(2019)03-0200-06
有霧天氣下采集到的圖像對比度下降、動態(tài)范圍縮小、顏色發(fā)生偏移和失真等,對依賴于圖像信息的計算機視覺系統(tǒng)造成很大的影響。因此,簡單高效的圖像去霧算法是計算機視覺領域的重要研究內(nèi)容[1-3]。
近年來,基于圖像退化先驗知識的圖像去霧算法層出不窮,NARASIMHAN等[4]通過在同一場景下獲取多幅不同天氣條件下的圖像來計算當前場景的景深,以此來恢復無霧圖像。SHWARTZ等[5]通過在同一場景下獲取多幅偏振光圖像來估計環(huán)境光和景深信息。以上算法雖在去霧中取得了較好的結果,但需要輸入額外的圖像,限制了其實際應用。TAN[6]提出增強圖像局部對比度的方法實現(xiàn)單幅圖像去霧,該方法恢復的去霧圖像顏色易于過飽和。FATTLE[7]假設景物表面投影和透射率在局部區(qū)域不相關來估算景物表面的反射率,從而推演場景的透射率,該方法處理濃霧圖像時會產(chǎn)生較大的失真。HE等[8]通過對大量的無霧圖像分析,提出了暗通道先驗理論,該方法在單幅圖像去霧處理中取得了良好的效果,但算法采用軟摳圖來細化透射率,復雜度較高,迭代時間長,且在明亮區(qū)域會出現(xiàn)失真現(xiàn)象。蔣建國等[9]對暗原色先驗算法進行分析,指出明亮區(qū)域估計的透射率偏小是導致圖像出現(xiàn)色彩失真的根本原因,并提出引入容差機制對明亮區(qū)域的估值偏小的透射率進行糾正。曾接賢等[10]通過引入雙邊濾波和最大值濾波聯(lián)合的方法對暗通道HE等[8]算法中的透射率有針對性地進行改進,有效地保持了圖像邊緣信息,但仍然存在計算量大、實時性差的問題。KIM等[11]提出基于四叉樹子矩陣分割的分層遍歷方法來計算大氣光值,該方法將圖像看作一個大矩陣,將大矩陣分為4個大小相等的子矩陣,對各子矩陣所有像素均值與標準差的差值進行評分,選取最高得分的子矩陣繼續(xù)進行劃分和計算,直至得到的子矩陣差值小于閾值,將該子矩陣中最大的像素值歸一化后作為大氣光值的估計值。
當圖像中包含天空、白色物體、水面等明亮區(qū)域時,圖像做去霧處理后會出現(xiàn)顏色失真現(xiàn)象,針對這一問題提出了一種基于明亮區(qū)域和天空區(qū)域識別的圖像去霧算法。本文將圖像分為3種類型:有明亮區(qū)域圖像、無明亮有天空區(qū)域圖像和無明亮無天空區(qū)域圖像,并給出了判斷條件,不同類型圖像大氣光值計算方法不同。同時利用點暗原色可以很好地保持圖像細節(jié)的特性,采用點暗原色估計透射率,并采用中值濾波和雙邊濾波進一步細化透射率。實驗結果表明,本文算法對不同類型圖像均可取得良好的去霧效果,有效降低了天空區(qū)域的失真現(xiàn)象。
圖像去霧的關鍵在于大氣光值A和透射率t的求取,若這2個參數(shù)求取不當,去霧圖像就會產(chǎn)生顏色失真。
2改進算法
2.1大氣光值估計中存在的問題
已有的圖像去霧算法大多基于HE等[8]的算法,選取暗原色圖中像素亮度值最大的前0.1%像素的亮度均值作為大氣光值A。但如果圖像中存在明亮非天空區(qū)域(例如點光源或偏白色物體等)時,大氣光值基本會落在這些明亮區(qū)域,導致錯誤估計[9]。為了對存在明亮區(qū)域時的大氣光值進行更加準確的估計,王殿偉等[13]提出基于統(tǒng)計截斷的大氣光值估計方法。將亮度圖像中大于平均亮度的像素點作為備選像素點,計算其均值μ和方差δ,選取在[μ-δ,μ+δ]之間的像素點,進一步計算其均值和方差,不斷重復這個過程,直到備選像素點個數(shù)小于0.1N(N為圖像總的像素點個數(shù)),此方法可以很好地過濾掉帶有點光源或偏白色物體的非天空區(qū)域。但是,對于沒有光源或偏白色物體的圖像來說,此方法得到的A值偏小,當遇到像素值比A大的區(qū)域時,式(6)計算得到的去霧像素值J(p)將會大于等于255,即像素值達到飽和。如圖1c)所示,天空全部飽和,甚至丟失了天空區(qū)域附近的圖像信息,雖然王殿偉等[13]對天空區(qū)域做了容差修正,但依然改變不多,如圖1所示。
根據(jù)以上分析可知:HE等[8]方法選取的大氣光值A偏大,造成圖像顏色失真,且如果圖像中存在明亮區(qū)域,則會造成大氣光值錯誤估計;王殿偉等[13]方法在圖像中存在明亮區(qū)域時有效,但對于沒有存在明亮區(qū)域的圖像,大氣光值估計偏小,造成圖像部分區(qū)域過飽和。
2.2基于明亮區(qū)域和天空區(qū)域識別的大氣光值估計
針對以上問題,本文提出了基于天空區(qū)域和明亮區(qū)域識別的大氣光值計算方法。將圖像分為3類:存在明亮區(qū)域圖像、無明亮有天空區(qū)域圖像和無明亮無天空區(qū)域圖像。
通過觀察可知,天空區(qū)域一般位于圖像上方,具有面積大、灰度值較大且平滑的特點,明亮區(qū)域具有亮度值大且接近飽和的特點?;诖?,通過平滑度和亮度值判斷是否存在明亮區(qū)域和天空區(qū)域,判斷步驟和大氣光值計算方法如下。
3)首先進行明亮區(qū)域檢測。根據(jù)明亮區(qū)域具有連續(xù)性且亮度接近飽和值的特點,明亮區(qū)域的識別條件為Va=255。若檢測到Gi中有連續(xù)n個(本文中取n>2)模板方塊滿足該條件,則判斷圖像中存在明亮區(qū)域。大氣光值也按照基于統(tǒng)計截斷的方法求取。
4)若未檢測到明亮區(qū)域,則繼續(xù)進行天空區(qū)域檢測。根據(jù)天空區(qū)域平滑且灰度值較大的特點,天空區(qū)域的識別條件為
在模板遍歷中若檢測有連續(xù)m個(文中取m>20)模板方塊滿足該條件,則判斷圖像中存在天空區(qū)域。選取該區(qū)域亮度最大的1%的像素灰度值均值Vmean,大氣光值取0.9Vmean。
5)若未檢測到天空區(qū)域和明亮區(qū)域,則圖像為非明亮非天空區(qū)域。選取該區(qū)域亮度最大的1%的像素灰度值均值作為大氣光值。
明亮區(qū)域和天空區(qū)域識別的二值化圖像如圖2所示。
2.3基于雙邊濾波的點透射率優(yōu)化
傳統(tǒng)的去霧方法是在局部范圍內(nèi)估計透射率,透射率在該局部內(nèi)是恒定的,稱為“塊透射率”。分塊的大小直接影響去霧的效果。當圖像塊較大時,去霧圖像中“光暈”較為明顯,如圖1b)中左上角樹葉和山輪廓處;當圖像塊較小時,“光暈”現(xiàn)象減弱,光暈主要產(chǎn)生在場景深度突變的區(qū)域(圖像的邊緣)。因此,去除光暈的關鍵是細化邊緣區(qū)域的透射率。WANG等[15]求取單個像素點R,G,B通道中的最小值作為點暗原色,由此求出的透射率稱為“點透射率”。點暗原色圖包含了更多的原始圖像信息,更能清晰地反映原始圖像中物體的邊緣,但是卻較為粗糙,而透射率圖越平滑,恢復的圖像細節(jié)越多。為了更接近實際的透射率和保留更多的圖像細節(jié),需要對透射率圖進一步細化。因此本文對點透射率圖先進行中值濾波,再采用雙邊濾波[16]進一步平滑和去噪。采用點透射率的表達式為
該方法得到的去霧圖像可以很好地消除光暈和塊效應,如圖3d)所示,與圖1c)相比,消除了左上角樹葉和山輪廓處的光暈,降低了天空的塊效應,如圖3所示。
3實驗結果分析
為了驗證本文算法的有效性,選取有代表性的7幅圖片,分別采用HE等[8]的算法、Retinex方法[17]、王殿偉等[13]的方法和本文算法進行去霧處理,其結果如圖4所示。對比4組實驗結果可以看出,采用HE等[8]算法處理后圖像的飽和度較高,塊效應較嚴重;Retinex方法處理后圖像顏色顯冷色調(diào),飽和度不夠;王殿偉等[13]的方法對無天空區(qū)域和有點光源時圖像去霧效果較好,但是對于含有大面積灰白色天空區(qū)域的圖像或者天空區(qū)域有云的圖像,會出現(xiàn)過飽和現(xiàn)象,丟失一部分圖像信息。本文算法克服了上述缺點,對含有明亮區(qū)域或大面積天空區(qū)域的圖像采用不同的大氣光值計算方法,得到很好的去霧效果。
為了客觀評價去霧效果,本文選用均方誤差、峰值信噪比、可見邊梯度法和結構相似性4個方面評價去霧圖像和原圖像的差異。其中均方誤差和峰值信噪比是評價像素上的差異;可見邊梯度法是對比去霧圖像與原圖像的可見邊數(shù)量
(e)和平均梯度比(r)來客觀的評價圖像的去霧效果,一般情況,e和r的值越大,表明處理后的圖像邊緣強度越大,數(shù)量越多。其計算公式為
4結語
提出了一種基于明亮區(qū)域和天空識別的圖像去霧算法,根據(jù)明亮區(qū)域和天空區(qū)域的特點,建立判斷機制,對不同類型的圖像采取不同的大氣光值計算方法?;邳c暗原色估計透射率,采用中值濾波和雙邊濾波對點透射率圖進行平滑去噪,保留更多的圖像細節(jié)。實驗結果,表明針對不同類型的圖像,本文算法都有很好的去霧效果,有效降低了天空區(qū)域的失真現(xiàn)象。將進一步研究改善圖像恢復過程中的失真現(xiàn)象,力求達到更好的視覺效果。
參考文獻/References:
[1]吳迪,朱青松.圖像去霧的最新研究進展[J].自動化學報,2015,41(2):221-239.
WUDi,ZHUQingsong.Thelatestresearchprogressofimagedehazing[J].ActaAutomaticaSinica,2015,41(2):221-239.
[2]TARELJP,HAUTIEREN.Fastvisibilityrestorationfromasinglecolororgraylevelimage[C]//IEEE12thInternationalConferenceonComputerVision.Kyoto:[s.n.],2009:2201-2208.
[3]GAOYuanyuan,HUHaimiao,WANGShuhang,etal.Afastimagedehazingalgorithmbasedonnegativecorrection[J].SignalProcessing,2014,103(10):380-398.
[4]NARASIMHANSG,NAYARSK.Contrastrestorationofweatherdegradedimages[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2003,25(6):713-724.
[5]SHWARTZS,NAMERE,SCHECHNERYY.Blindhazeseparation[C]//ProceedingsofIEEEComputerVisionandPatternRecognition.[S.l.]:[s.n.],2006:1984-1991.
[6]TANRT.Visibilityinbadweatherfromasingleimage[C]//IEEEComputerSocietyConferenceonComputerVisionandPatternRecognition.Anchorage:[s.n.],2008:1-8.
[7]FATTALR.Singleimagedehazing[J].ACMTransonGrapics,2008,27(3):1-9.
[8]HEKaiming,SUNJian,TANGXiaoou.Singleimagehazeremovalusingdarkchannelprior[C]//IEEEConferenceonComputerVisionandPatternRecognition.[S.l.]:[s.n.],2011:1956-1963.
[9]蔣建國,侯天峰,齊美彬.改進的基于暗原色先驗的圖像去霧算法[J].電路與系統(tǒng)學報,2011,16(2):7-12.
JIANGJianguo,HOUTianfeng,QIMeibin.Improvedalgorithmonimagehazeremova1usingdarkchannelprior[J].JournalofCircuitsandSystems,2011,16(2):7-12.
[10]曾接賢,余永龍.雙邊濾波與暗通道結合的圖像保邊去霧算法[J].中國圖象圖形學報,2017,22(2):147-153.
ZENGJiexian,YUYonglong.Imagedefoggingandedgepreservingalgorithmbasedondarkchannelprior
andbilateralfiltering[J].JournalofImageandGraphics,2017,22(2):147-153.
[11]KIMJH,JANGWD,SIMJY,etal.Optimizedcontrastenhancementforreal-timeimageandvideodehazing[J].JournalofVisualCommunicationandImageRepresentation,2013,24(3):410-425.
[12]MCCARTNEYEJ,HALLFF.Opticsoftheatmosphere:Scatteringbymoleculesandparticles[J].PhysicsToday,1971,30(5):76.
[13]王殿偉,閆偉超,劉穎,等,基于暗原色先驗的快速單幅圖像去霧算法[J],計算機應用研究,2018,35(12):3836-3840.
WANGDianwei,YANWeichao,LIUYing,etal.Fastsingleimagedehazingalgorithmbasedondarkchannelprior[J].ApplicationResearchofComputers,2018,35(12):3836-3840.
[14]禹晶,李大鵬,廖慶敏.基于物理模型的快速單幅圖像去霧方法[J].自動化學報,2011,37(2):143-149.
YUJing,LIDapeng,LIAOQingmin.Physics-basedfastsingleimagefogremoval[J].ActaAutomaticaSinica,2011,37(2):143-149.
[15]WANGZhongliang,F(xiàn)ENGYan.Fastsinglehazeimageenhancement[J].ComputersandElectricalEngineering,2014,40(3):785-795.
[16]王一帆,尹傳歷,黃義明,等,基于雙邊濾波的圖像去霧[J].中國圖象圖形學報,2014,19(3):386-392.
WANGYifan,YINChuanli,HUANGYiming,etal.Imagehazeremovalusingabilateralfilter[J].JournalofImageandGraphics,2014,19(3):386-392.
[17]BISWASB,ROYP,CHOUDHURIR,etal.Microscopicimagecontrastandbrightnessenhancementusingmulti-scaleretinexandcuckoosearchalgorithm[J].ProcediaComputerScience,2015,70:348-354.