摘要:針對已有的基于DSP的實(shí)時(shí)去霧算法出現(xiàn)的問題進(jìn)行優(yōu)化和改進(jìn),。在降采樣倍數(shù)過大時(shí),去霧效果會出現(xiàn)一些副作用,,包括紋理細(xì)節(jié)丟失,、塊效應(yīng)和亮度偏暗。針對這三個(gè)問題,,本文采用均值降采樣,、雙線性插值升采樣、透射率補(bǔ)償?shù)确绞竭M(jìn)行優(yōu)化,。最終針對實(shí)際YUV圖像進(jìn)行了優(yōu)化方法的實(shí)驗(yàn),,表明可以達(dá)到較好的去霧效果。
關(guān)鍵詞:去霧,;優(yōu)化,;降采樣;升采樣
0引言
近幾年,,隨著空氣污染的日益嚴(yán)重,,霧霾給人們的生活與生產(chǎn)帶來了極大的影響。尤其在各大城市,,霧霾造成的能見度降低嚴(yán)重影響了道路交通和交通監(jiān)控的性能,,所以實(shí)時(shí)圖像去霧的需求也越來越迫切。目前圖像去霧方法主要分為圖像增強(qiáng)法和基于物理模型的復(fù)原方法,。在眾多去霧算法中,,何凱明博士在2009年提出的基于暗原色先驗(yàn)的去霧算法由于其去霧效果穩(wěn)定且自然而被廣泛采用[1]。
雖然基于暗原色先驗(yàn)的去霧算法計(jì)算去霧效果非常出色,,但由于其復(fù)雜度高,,計(jì)算時(shí)間比較長,而且大部分時(shí)間集中在導(dǎo)向?yàn)V波求精細(xì)透射率處[2],。為了滿足實(shí)時(shí)處理的要求,,已有的實(shí)時(shí)去霧算法中一般采用降采樣的方法[3]。通過降采樣得到小圖,,再對小圖進(jìn)行去霧處理,,最終采用小圖的透射率對大圖進(jìn)行去霧處理。這樣處理可以極大地縮短計(jì)算時(shí)間。此方法在降采樣倍數(shù)較低時(shí),,對去霧效果并沒有太大影響,,但當(dāng)降采樣倍數(shù)較高時(shí),去霧效果則會明顯下降,。本文針對采用降采樣的實(shí)時(shí)圖像去霧算法進(jìn)行優(yōu)化與改進(jìn),,通過加入均值降采樣、升采樣等方法進(jìn)行優(yōu)化,,最終得到比較好的處理結(jié)果,。
1均值降采樣
降采樣倍數(shù)過高時(shí),圖像在部分明暗相接處的暗處會出現(xiàn)一些紋理細(xì)節(jié)丟失的情況,,主要表現(xiàn)為由原來較暗的圖像變?yōu)楹谏?。?jīng)分析,這種現(xiàn)象由降采樣的取值方式導(dǎo)致,。
臨近點(diǎn)降采樣方法是分別在圖像的行和列兩個(gè)方向上每隔M個(gè)點(diǎn)抽取一個(gè)采樣點(diǎn),,其中M為降采樣倍數(shù)。采用這種方式進(jìn)行降采樣的結(jié)果等效為將大圖細(xì)分為若干個(gè)M×M的小圖,,抽取每個(gè)小圖左上角的值湊成降采樣圖,。這種方法用一個(gè)點(diǎn)代替整個(gè)小圖的圖像數(shù)據(jù),在部分情況下會有較大影響,。如圖1所示,。
如圖1所示,10×10的大圖經(jīng)過5倍降采樣后變?yōu)楹诎赘靼氲男D,。由文獻(xiàn)[1]可知,,白色像素的暗通道值Idark比較高。通過暗通道求透射率t為:
易知白色像素計(jì)算出的透射率小于灰色像素計(jì)算出的透射率,。圖像恢復(fù)公式如下:
通常情況下大氣光值A(chǔ)大于各個(gè)像素的值I,,故當(dāng)用小圖恢復(fù)大圖時(shí),對于大圖左上角5×5小圖中的灰色部分像素值,,由于遠(yuǎn)小于大氣光值A(chǔ),,故I-A的值為負(fù)數(shù),并且絕對值比較大,,而透射率又為白色像素對應(yīng)的較小的透射率,,故可能會變?yōu)?或負(fù)數(shù),處理結(jié)果變?yōu)楹谏?。在圖像中如果存在著類似的邊界,,則邊界處的暗處紋理可能會被處理為黑色,造成信息流失和不自然,。
采用均值降采樣可以比較好地解決這種問題。均值降采樣與臨近點(diǎn)采樣的區(qū)別在于將大圖分為若干個(gè)M×M的小圖后,,不再只取左上角的點(diǎn),,而是將整個(gè)小圖所有像素的值取均值,,用均值代替整個(gè)小圖。采用這種方法后由于黑色占大多數(shù),,所以降采樣的結(jié)果不再是白色,,而是灰色?;疑珜?yīng)的透射率較大,,故不易被處理為黑色造成信息流失。但均值降采樣會帶來比較大的計(jì)算量,,可采用文獻(xiàn)[4]中的盒式濾波算法,。
2雙線性插值升采樣
經(jīng)過高倍數(shù)降采樣后,去霧后的圖像會出現(xiàn)比較明顯的塊效應(yīng),。這主要是由于降采樣后,,在整幅圖像恢復(fù)時(shí),每一小塊圖像都用同一個(gè)透射率處理,,中間缺少過渡,。對于圖像中較大的物體,在圖像恢復(fù)時(shí)可能會被分為若干小塊,,每個(gè)小塊分別采用不同大小的透射率,,因此圖像恢復(fù)后可能導(dǎo)致結(jié)果分布不均勻。
針對這個(gè)問題,,本文采用雙線性插值升采樣方法,。雙線性插值法根據(jù)所求像素點(diǎn)距參考點(diǎn)位置進(jìn)行計(jì)算,所求點(diǎn)距某個(gè)像素越近則相對應(yīng)的權(quán)值就越大,,距某個(gè)像素越遠(yuǎn)則對應(yīng)的權(quán)值就越小,。雙線性插值原理如圖2所示。
設(shè)所求像素值為dest,,對應(yīng)橫坐標(biāo)為r,,縱坐標(biāo)為c,圖2中四個(gè)角的值分別為value1,、value2,、value3和value4。則dest計(jì)算公式為:
dest=w1×value1+w2×value2+w3×value3+
w4×value4
其中:
其中,,ratio為升采樣半徑,。
采用雙線性插值升采樣處理小圖透射率,得到較平滑的大圖透射率,,再通過這個(gè)透射率恢復(fù)圖像,,圖像上的塊效應(yīng)得到明顯改善。
3亮度補(bǔ)償
經(jīng)過暗原色先驗(yàn)去霧算法處理后的圖像總會有亮度偏暗的情況,這個(gè)問題在文獻(xiàn)[3]中有敘述,。其主要原因是在去霧算法中,,預(yù)估的透射率表示為:
因?yàn)镴c(y)t(x)總是大于0,所以預(yù)估透射率比實(shí)際值偏小,。又因?yàn)閳D中大部分像素的值都小于A,,由圖像恢復(fù)公式可知恢復(fù)出的圖像均小于實(shí)際值,所以圖像整體偏暗,。為了解決這個(gè)問題,,本文采用兩種方式:透射率補(bǔ)償及亮度后處理。這兩種方法都可以起到增加圖像亮度的效果,。
3.1透射率補(bǔ)償
根據(jù)文獻(xiàn)[3]中的敘述,,由于近似計(jì)算,基于暗原色先驗(yàn)的去霧算法計(jì)算出的透射率偏小,,由于大部分像素值小于透射率,,經(jīng)去霧后,像素值相對于大氣光值的差會被放大,,即變得更小,,所以去霧后的圖像會偏暗。為了補(bǔ)償這個(gè)偏差,,本文提出在透射率求出后加上一個(gè)補(bǔ)償值,,計(jì)算公式如下:
通過加入補(bǔ)償值p,可以適當(dāng)增大預(yù)估透射率的值,。但這個(gè)值通常不能取太大,,一般取值范圍為008~025。經(jīng)過試驗(yàn)這種方法可以極大地改善去霧后圖片偏暗的情況,。
3.2亮度后處理
由于本文針對的是YUV格式的圖像,,這種圖像每個(gè)像素點(diǎn)對應(yīng)三個(gè)分量,分別是:亮度分量Y和兩個(gè)色差分量U,、V,。所以若圖像偏暗,可以通過調(diào)節(jié)三個(gè)分量中的Y分量進(jìn)行補(bǔ)償,。
本文采用圖像增強(qiáng)算法中的對比度拉伸法,,詳見文獻(xiàn)[5]。這種算法計(jì)算復(fù)雜度比較低,,實(shí)現(xiàn)簡單,。主要實(shí)現(xiàn)方法為:在圖像去霧后,對圖像的Y通道進(jìn)行對比度拉伸,,使圖像中大部分的亮度得到提升,。拉伸曲線設(shè)計(jì)見圖3,。
4處理結(jié)果及分析
經(jīng)過上述優(yōu)化和改進(jìn),,將優(yōu)化前與優(yōu)化后結(jié)果進(jìn)行對比,。
采用均值降采樣后,處理結(jié)果如圖4~圖6所示,。
從圖5、6中可見,,在圓圈標(biāo)注的明暗交界處,,臨近點(diǎn)降采樣處理后,樓頂處的紋理細(xì)節(jié)消失,,而經(jīng)過優(yōu)化后,,樓頂細(xì)節(jié)保持完好。
采用雙線性插值法進(jìn)行優(yōu)化后,,處理結(jié)果如圖7~圖9所示,。
可以看到,未加雙線性升采樣之前,,在飛機(jī)發(fā)動機(jī)處有明顯的塊效應(yīng),,在加入升采樣后,該處不自然的塊已有明顯的改善,。
經(jīng)過亮度補(bǔ)償后的處理結(jié)果如圖10~圖12所示,。
從圖中可以明顯看到,未加補(bǔ)償時(shí),,去霧后的圖像偏黑,,看起來很不自然。加入補(bǔ)償后,,圖像依舊有去霧效果,,且圖中暗處依舊能看到,而且更加自然,。
5結(jié)論
本文針對基于暗原色先驗(yàn)的實(shí)時(shí)去霧算法所出現(xiàn)的三大問題:部分細(xì)節(jié)丟失,、塊效應(yīng)和亮度偏暗問題,進(jìn)行針對性的優(yōu)化和改進(jìn),。經(jīng)過對比試驗(yàn),,采用均值降采樣、雙線性升采樣和亮度補(bǔ)償?shù)确椒ê?,可以比較好地對結(jié)果進(jìn)行修正,,從而得到更自然的結(jié)果。并且經(jīng)過相應(yīng)的優(yōu)化后,,能達(dá)到實(shí)時(shí)去霧的效果,。但由于在原算法中加入了均值濾波等步驟,,計(jì)算時(shí)間相較于之前算法略有增加,所以在今后的工作中需要進(jìn)一步優(yōu)化,,縮短計(jì)算時(shí)間,。
參考文獻(xiàn)
[1] HE K, SUN J, TANG X. Single image haze removal using dark channel prior[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2011, 33(12): 2341-2353.
?。?] HE K, SUN J, TANG X. Guided image filtering[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2013, 35(6): 1397-1409.
?。?] XU H, GUO J, LIU Q, et al. Fast image dehazing using improved dark channel prior[C].Information Science and Technology (ICIST), 2012 International Conference on. IEEE, 2012: 663-667.
[4] MCDONNELL M J. Boxfiltering techniques[J]. Computer Graphics and Image Processing, 1981, 17(1): 65-70.
?。?] GONZALEZ R C,, EDDINS S L. 數(shù)字圖像處理[M].阮秋琦,譯.北京:電子工業(yè)出版社, 2007.