去霧演算法 顏色衰減先驗 《A Fast Image Haze Removal Algorithm Using Attenuation Prior》

上一次簡單介紹了一下這個基於暗通道先驗的去霧演算法。雖然效果不錯,但是還是希望可以有另外一種方法來作為對比。接觸了一下一個新到的演算法,基於顏色衰減先驗的去霧演算法。

這個color attenuation prior演算法本質上也是一種統計上的發現。之所以對於單圖像進行去霧處理是一個較難的內容是因為一個圖像中包含的關於場景結構等信息非常少,因此很難獲得較為全面的信息從而進行去霧。然而,大腦在面對一幅圖像的時候其實是可以很快的分辨清楚哪裡有霧、哪裡沒有,或者很快分辨清楚近景、遠景而不需要其他太多的資料。作者基於這一思考,通過對很多副有霧圖像進行分析發現了統計意義上的結論從而提出一個新的思路。作者通過對很多圖像的遠景、中景、近景進行分析發現了haze的濃度與亮度和飽和度之差呈正比

在上一篇文章中,介紹《single image Haze Removal Using Dark Channel Prior》中提到了霧圖構成的公式。霧圖主要由兩部分組成,一個是大氣光成分以及對應的物體反射同時被particles所散射最後剩下的進入手機中混合構成的圖像即為霧圖。

作者通過兩幅圖像分析了霧圖和無霧圖的區別。

在有霧的情況下,存在著以下的情況,

I(x)=J(x)t(x)+A(1-t(x))

  1. 直接的衰減會導致反射能量的減弱,從而導致brightness的低值。即公式中 J(x)t(x)
  2. 大氣光成分會增強brightness的值並且降低飽和度saturation。

總結下來,即為,當霧的程度越大,大氣光成分的的影響越大。因此,我們可以考慮通過研究saturation和brightness之間差來分析霧的濃度。公式表達,即為,

d(x)propto c(x) propto v(x)-s(x)

其中 d(x) 為景深, c(x) 是霧的濃度, v(x), s(x) 分別是value of brightness of scene,以及saturation。這個公式就是color attenuation prior。

作者通過構建訓練樣本採集了超過500張圖像,最後得出了合適的參數。最終公式如下,

d(x)=	heta_{0}+	heta_{1}v(x)+	heta_{2}s(x)+varepsilon(x)

最終,參數結果為,

d(x)=0.121779+0.959710v(x)-0.780245s(x)+varepsilon(x)

作者最後在文章中,比較了好幾種不同的去霧演算法,並且給出了自己演算法優勢和劣勢。大家可以看看原文,我只是講到了我自己項目中所需要的部分。

A Fast Single Image Haze Removal Algorithm Using Color Attenuation Prior

推薦閱讀:

Scrapy框架的使用抓取分析
Linux學習——文件和目錄操作命令【1】
windows7設置印表機共享
計算機發展史——史前計算機

TAG:GIS地理信息系統 | 計算機 | 圖像處理 |