劉心奧
(山東 兗州 272100)
圖像除霧算法包括圖像增強(qiáng)與圖像還原。圖像增強(qiáng)是從修改霧化圖像的對(duì)比度入手進(jìn)行除霧,圖像增強(qiáng)算法一般具有較強(qiáng)的針對(duì)性,很少有通用算法。圖像復(fù)原是較新型的除霧技術(shù),因其實(shí)用性強(qiáng),去霧效果相對(duì)自然,所以被廣泛應(yīng)用。本文所改進(jìn)的是由何愷明教授于2009年提出的暗原色先驗(yàn)算法(部分文獻(xiàn)稱為暗通道先驗(yàn)算法),并在原有學(xué)者關(guān)于暗原色先驗(yàn)改進(jìn)算法上進(jìn)一步優(yōu)化。
暗原色先驗(yàn)算法是基于這樣一個(gè)大氣散色模型
其中I表示有霧圖像,J表示無(wú)霧條件下的場(chǎng)景輻照度,t表示霧氣的通透程度,也稱為透射率,A是大氣光,通常被認(rèn)定為大氣、地平線處或者天空的顏色。
對(duì)戶外無(wú)霧圖像J進(jìn)行分塊,每個(gè)像素塊定義暗原色如下:
式中:?(x)是以x 為中心的正方形鄰域,Jc為J三原色的一個(gè)通道,Jdark(x)即為圖像J在這個(gè)鄰域的暗原色。觀察統(tǒng)計(jì)表明Jdark趨于零。假設(shè)大氣光A已知,首先在式(1)兩端在每個(gè)像素塊求取最小值:
根據(jù)暗原色先驗(yàn)無(wú)霧圖像的暗原色趨于零,故由上式可得
當(dāng)t(x)趨于零時(shí),圖像趨于包含噪音,因此常常需要設(shè)置一個(gè)透射率下限0.1。
最后得到J的求解公式為:
何愷明等人認(rèn)為,在有霧的圖像中,天空區(qū)域的顏色與大氣光的顏色非常相近,透射率趨向于0,而天空實(shí)際的透射率也趨向于零,因此暗原色先驗(yàn)可直接應(yīng)用于全部圖像。但目前其他學(xué)者發(fā)現(xiàn),天空區(qū)域顏色與大氣光顏色之間的差別在除以了一個(gè)小量t后會(huì)被嚴(yán)重放大,造成天空區(qū)域的去霧圖像產(chǎn)生光暈等失真現(xiàn)象,這種失真現(xiàn)象在白墻等明亮區(qū)域也有所體現(xiàn),因此應(yīng)將天空區(qū)域與非天空區(qū)域分離處理。
本文算法的基本思路是:將天空區(qū)域和非天空區(qū)域分別使用蔣建國(guó)提出的容差機(jī)制和插值算法計(jì)算非天空區(qū)域透射率方法,兩者結(jié)合,最終防止了天空(明亮)區(qū)域色彩失真問(wèn)題。對(duì)大氣光A的估計(jì),本文綜合李坤與何愷明的方法,先對(duì)圖像的暗原色進(jìn)行排序,取出最亮的0.1%的像素,然后在霧圖像中對(duì)應(yīng)的最亮0.1%的像素值作為大氣光值,做到了簡(jiǎn)化,同時(shí)避免了圖像有大塊白色建筑物等特殊情況下的錯(cuò)誤。對(duì)于透射率t的估計(jì),由于何愷明等的SoftMatting算法所耗時(shí)間很長(zhǎng),對(duì)計(jì)算機(jī)內(nèi)存消耗特別大,本文采用一種插值方法快速計(jì)算透射率。根據(jù)公式(3)可以推導(dǎo)出:
現(xiàn)令暗原色圖中最小值為Ic(m ,n),最大值為Ic(p ,q),也就是:
利用插值方法,可以估計(jì)無(wú)霧圖像J中每個(gè)像素點(diǎn)的暗原色值:
將以上公式代入公式(6),可得:
對(duì)于天空區(qū)域,因?yàn)椴环习翟闰?yàn)理論,所以引入?yún)?shù)K,利用容差機(jī)制增大天空區(qū)域的透射率t1:
將透射率進(jìn)行融合處理。具體操作如式(12)所示:
將公式(12)代入公式(13)即可求得去霧圖像。綜上所述,本文算法原理如圖1。
圖1 本文算法原理圖
本文利用信息熵對(duì)不同算法結(jié)果進(jìn)行比較分析。信息熵是信息論中用于度量信息量的一個(gè)概念,成熟的信息熵理論利用可以通過(guò)圖像灰度值的概率分布來(lái)描述圖像信息量的大小。設(shè)圖像灰度值的概率分布有m種可能情況,每種情況發(fā)生的概率分別是
那么信息熵的定義式為:
根據(jù)以上公式,可以用香農(nóng)熵來(lái)衡量圖像所包含的信息量,圖像灰度值的概率分布是每個(gè)灰度值出現(xiàn)的次數(shù)除以所有灰度值出現(xiàn)的總次數(shù)所得的商,那么,如果一幅圖像中含有很多不同的灰度值,則各灰度值出現(xiàn)的次數(shù)較少,概率就小,它的熵值就會(huì)很高,那么這幅圖像包含的信息量就很大。
圖形用戶界面(GraphicalUserInterfaces,GUI)是提供人機(jī)交互的一種工具或者方法,具有一些簡(jiǎn)單的菜單并且點(diǎn)擊它能夠?qū)崿F(xiàn)相應(yīng)的功能。本系統(tǒng)實(shí)現(xiàn)了圖像去霧功能。采用Matlab界面編程方法,設(shè)計(jì)了1個(gè)窗口,窗口中包含了3菜單,即“文件”菜單,“原始算法”菜單,“改進(jìn)算法”菜單。
圖2 載入圖片后的GUI界面
通過(guò)圖像對(duì)比,我們可以看到,原始暗原色算法已經(jīng)除去大部分霧,但樹(shù)木和地面部分色彩略失真,改進(jìn)后的算法運(yùn)行出的結(jié)果較為接近真實(shí)狀態(tài),地面人物和汽車(chē)能夠與周?chē)h(huán)境區(qū)別開(kāi)來(lái)。此外,通過(guò)信息熵的對(duì)比也可以看出,改進(jìn)后的算法運(yùn)行出的去霧圖片所包含的信息量更大。進(jìn)一步運(yùn)行多組含霧圖片,得出對(duì)比圖,將所得結(jié)果列表比較如圖3。
圖3 多組圖像去霧效果對(duì)比
對(duì)以上圖像處理細(xì)節(jié)進(jìn)行比較:在第1幅圖的處理結(jié)果中,通過(guò)暗原色先驗(yàn)方法得到的圖像在整體上存在明顯的失真,圖像整體變灰白,本文方法得到的圖像色彩鮮明,紋理清晰,整體品質(zhì)較好。在第3幅圖的處理結(jié)果中,可以看到原始方法的局限性,當(dāng)非天空區(qū)域與天空區(qū)域亮度相近時(shí),圖像存在明顯失真,顏色偏深。改進(jìn)的去霧算法真實(shí)還原了場(chǎng)景中的顏色深淺,恢復(fù)出來(lái)的效果更加逼真??梢钥吹?,本文算法得出的圖片信息熵值都要比原算法的值要大,說(shuō)明本文算法信息量更大,圖像除霧后的質(zhì)量也更高。
自然中的霧分為薄霧、中霧與濃霧。這些情況下本文算法的適用能力還需進(jìn)一步實(shí)驗(yàn)。
本文算法具有以下的創(chuàng)新點(diǎn):綜合使用了何愷明與蔣建國(guó)的方法,并在透射率融合時(shí)利用乘法,有效減少了繁瑣的計(jì)算過(guò)程。在計(jì)算透射率時(shí)規(guī)避軟摳圖算法,大大減少了計(jì)算機(jī)運(yùn)行時(shí)間。