基於大氣物理模型的快速視覺優化去霧算法
虛擬現實與數字媒體
作者:付輝 吳斌 韓東軒 黃陽強
摘要:針對霧霾天氣條件下單幅圖像降質以及現有去霧方法時間複雜度高的問題,以環境光物理模型為基礎,引出快速視覺優化去霧算法。首先對單幅圖像閾值分割找到天空區域,並結合二叉樹模型定位精確的天空光矢量,進而采用改進的約束最小二乘法濾波細化粗略透射比率,保證其邊緣細節較完整且受噪聲影響小,最後利用環境光物理模型實現無霧圖像的還原,並采用平均梯度、信息熵和視覺保真度等指標對圖像進行評價。實驗結果表明,所提算法與基於多尺度Retinex的自適應圖像增強方法、基於獨立分量的複原方法、快速可視化複原方法和暗原色先驗複原方法對比,指標值較好且實時性強。
關鍵詞:暗通道先驗;閾值分割;二叉樹;最小二乘法濾波
中圖分類號: TP751
文獻標誌碼:A
0引言
現有的去霧算法可分為兩個方向:一是基於圖像增強的算法改進,通過提高圖像的對比度,從人眼感官的角度優化視覺效果;二是基於圖像複原的算法改進,針對環境光物理模型,采用病態方程和圖像處理的基本方法還原未知量。
去霧算法基於人眼視覺。增強類去霧算法通過強化和削弱某些信息達成此目的。早期的該類去霧算法如全局直方圖均衡化[1],對圖像整體作均衡處理,但忽視了局部景深變化帶來的“暈輪效應”。對此Kim等[2]用子塊部分重疊直方圖均衡化和Zimmerman等[3]插值直方圖均衡化方法解決了由“塊效應”引起的運算複雜度高的問題。此外,Russo[4]通過多個小波尺度上的增強策略實現圖像細節區域較為精細的處理。劉茜等[5]提出的多尺度Retinex去霧自適應算法(MultiScale Retinex, MSR)對細節處理,其圖像壓縮效果明顯; 但其濃霧處理顏色失真明顯,同時拉大了光暈和噪聲,因而該算法適用於薄霧處理。
基於環境光物理模型的去霧算法對數學模型逆推病態方程,所得的去霧圖像效果與現實場景相近,其細節真實細膩。Kratz等[6]基於Fattal[7]提出將單幅圖像作為階乘馬爾可夫隨機場的假設,其中場景反照率和景深是兩個獨立的統計量。此方法采用典型的期望最大化算法來實現因式分解,恢複出的無霧圖像具有精細的邊緣細節; 但其輸出圖像被過度增強。Yu等[8]提出一種快速去霧方法,采用快速雙邊濾波器實現天空光矢量A的平滑; 由於中值濾波處理的速度明顯優於雙邊濾波,因此該方法比采用中值濾波處理的算法[9]要慢。He等[10]通過觀察大量無霧圖像,提出暗通道先驗理論,即無霧圖像中至少有一個顏色通道的像素值很低的結論; 但此理論在戶外拍攝的圖像中,場景與天空亮度相近時不成立。
本文算法屬於環境光物理模型的去霧處理,對天空光矢量A采用閾值分割並結合二叉樹模型實現較為精確的求取。並對初始透射比率t(x,y)采用改進的最小二乘法濾波優化,其抑製噪聲的同時能最大限度地保留邊緣細節。通過檢測平均梯度、信息熵以及視覺信息保真度三種參數,可得本文算法具有良好的人眼視覺效果,以及較強的魯棒性的結論。
1霧霾成像的環境光物理模型
由Narasimhan等[11]引出的環境光傳輸的物理模型被廣泛應用於機器視覺和計算機圖形處理領域,其表述式如下:
F(x,y)=R(x,y)e-βd(x,y)+A(1-e-βd(x,y))(1)
其中:F(x,y)代表霧氣圖像在(x,y)的像素強度值; R(x,y)表示無霧圖像在(x,y)處的像素強度值; t(x,y)=e-βd(x,y)為介質傳輸的透射比率,β為環境光的散射係數,d(x,y)為景深,此等式表明場景中的光線強度與景深成指數性衰減的關係;A為天空光矢量;R(x,y)e-βd(x,y)代表直接衰減項,表示在場景中的輻射和介質中衰減掉的部分。
從圖形學的角度,霧氣圖像模型的等式表明在RGB三通道中,天空光矢量A、F(x,y)、R(x,y)之間存在幾何關係。透射比率t(x,y)為兩條線段的比值。
t(x,y)=‖A-F(x,y)‖‖A-R(x,y)‖=AC-F(x,y)AC-R(x,y);
C∈[R,G,B](2
利用環境光物理模型實現去霧處理,實質為根據霧氣圖像F(x,y)估計天空光矢量A、透射比率t(x,y)和無霧圖R(x,y)。對於一幅具有n個像素點的彩色圖像F(x,y),存在3n個約束量和4n+3個未知參量。對未知參量的還原需要大量的假定和前驗信息,引言所述的文獻[8-9]等去霧算法均在環境光物理模型下,通過自身算法的假定和前驗信息得到A、t(x,y)和R(x,y)。本文算法在He算法[10]前驗信息的基礎上優化參量求取方法,使得還原圖像效果更接近真實值。
2本文算法的整體設計
天空光矢量A是還原無霧圖像的重要參量,大多數基於環境光模型的去霧算法對A值的處理不夠精準。若取整幅圖像的最大像素值,一些白色或偏白色的背景目標被誤取為A值。本文采用閾值分割結合二叉樹模型選取A值,首先利用閾值分割搜索天空區域,定位A值區間。再采用二叉樹模型對所得的天空區域分塊,求取塊的平均像素值,比較求取得到的平均值大小,並取像素值大的塊分塊比較,重複上述步驟至塊中的像素點數量小於給定的閾值T。在鎖定塊的像素點群中定位A值。進而采用改進的最小二乘法濾波[12]對初始投射圖t(x,y)優化,該算法延續了最小二乘法濾波保持邊緣能力強的優勢同時其去噪能力強。
本文算法主要步驟如下所示:
1)對霧氣圖像進行閾值分割得到天空分區s1;
2)對天空區域s1采用二叉樹模型分割並求取灰度均值最大值所在區域;
3)重複2)至區域s2的像素個數小於給定的閾值T;
4)將s2的每個像素值與255對比,所得最接近的像素值即為A值;
5)應用暗通道先驗模型確定暗通道圖和初始投射圖;
6)應用改進的最小二乘法濾波優化透射圖[12];
7)根據公式R(x,y)=F(x,y)-Amax(t1(x,y),t0)+A還原去霧圖像。
第11期
付輝等:基於大氣物理模型的快速視覺優化去霧算法
計算機應用 第35卷
3本文算法的具體實現
3.1閾值分割分區
將目標和背景分開是閾值分割的目標,本文采用閾值分割的目的是將天空與其他景物相分離。閾值分割算法中閾值選取往往占用大量處理時間,例如大津法OTSU[13](由Nobuyuki OTSU提出的最大類間方差法)其選取閾值方式為:
OTSU=Max[w0(t)*(u0(t)-u)2+w1(t)*(u1(t)-u)/2](3)
其中:閾值為t、w0為背景在整幅圖像灰度所占比例,u0為背景灰度均值,w1為前景在整幅圖像灰度所占比例,u1為前景灰度均值,u為整幅圖像的灰度均值。
本文根據先驗信息可知天空的像素值靠近255,故采用手動選取閾值法可節約處理時間。本文選取灰度閾值分割法,該方法是一種單閾值分割方法(隻設一個閾值將圖像分割為背景和目標兩部分)。首先將圖像轉換為灰度圖像,再利用每階灰度出現的概率繪製直方圖。原始圖像為F(x,y),分割後的圖像為F1(x,y),T為選取的閾值,則其基本式為: