本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,更進一步涉及其中的一種模擬霧圖生成方法,可用于對室外遠距離場景拍攝的無霧圖像構(gòu)造深度圖,評價去霧效果、檢測設(shè)備的性能和去霧網(wǎng)絡(luò)模型訓練。
背景技術(shù):
模擬霧圖在多個領(lǐng)域都有廣泛的用途,一方面可以用來評價去霧算法,利用模擬霧圖作為無霧圖像的參考圖像,可以對去霧算法進行有參考的客觀質(zhì)量評價;還可以應(yīng)用于某些可視化場景中,比如模擬有霧天氣下的路況,用以檢測一些設(shè)備的性能;除此之外,還可以用于生成訓練數(shù)據(jù),比如用深度學習的方法訓練去霧網(wǎng)絡(luò)模型時,需要大量的訓練數(shù)據(jù),直接獲取各種室外場景下的彩色圖像及相應(yīng)的霧圖有很大難度,因此可以采用模擬加霧的方式生成訓練數(shù)據(jù)。
根據(jù)霧氣形成原理即大氣散射模型,模擬霧圖的構(gòu)造和深度信息的獲取密不可分,越準確的深度信息可以幫助我們獲取更加準確的模擬霧圖。因此,如何獲得單幅圖像的深度信息是構(gòu)建模擬霧圖中十分關(guān)鍵的問題。
生成模擬霧圖主要有以下幾個方法:
1)通過計算機軟件進行模擬加霧?,F(xiàn)有的計算機模擬加霧方法大多采用3ds max,maya,Photoshop等成熟的商業(yè)軟件,如郭璠,蔡自興發(fā)表的論文“圖像去霧算法清晰化效果客觀評價方法”,見自動化學報,2012第9期,38(9)。該方法公開了兩種加霧的方法,第一種是利用3ds max軟件中的渲染器渲染出霧氣的效果;第二種是利用3ds max軟件中的建模工具創(chuàng)建虛擬場景,然后利用大氣散射模型獲得模擬霧圖。這兩種方法雖然直觀方便,操作簡單,但是也存在不足之處,這些商業(yè)圖像軟件沒有公開各自程序的算法,無法得知程序是否按照正確的霧圖形成理論構(gòu)造霧圖;而且其創(chuàng)建的模擬圖像與真實圖像有一定的差別,不能客觀的反映自然界和生活中的真實場景,如果把模擬霧圖作為參考圖像用于去霧算法評價方面,在實際應(yīng)用中并不能得到令人信服的結(jié)果。
2)通過專業(yè)設(shè)備采集某一場景的深度信息。如深度相機TOF,就是利用飛行時間法來采集場景的深度信息。所謂飛行時間法,就是通過給目標連續(xù)發(fā)送光脈沖,然后用傳感器接收從物體返回的光,通過探測光脈沖的飛行(往返)時間來得到目標物距離。TOF相機由光源、光學部件、傳感器、控制電路以及處理電路等幾部單元組成,可以同時得到整幅圖像的深度信息。這種深度相機的優(yōu)勢是與立體相機或三角測量系統(tǒng)相比,其相機體積小巧,而且能夠?qū)崟r快速的計算深度信息,但是該方法的缺點是設(shè)備昂貴,操作較為復(fù)雜,耗費人力物力,有一定的局限性。
3)通過算法計算獲得深度信息,主要有以下三種方法:
3a、清華大學深圳研究生院所擁有的專利技術(shù)“一種獲取圖像深度信息的方法”(專利申請?zhí)?01310416866,授權(quán)公告號103473743B)公開了一種獲取圖像深度信息的方法,該方法步驟如下:1)對待處理的單幅原始圖像進行高斯模糊處理,得到模糊圖像;2)檢測待處理的原始圖像的紋理邊緣,將所述原始圖像劃分為紋理梯度相對較大的區(qū)域,定義為D區(qū)域和紋理梯度相對較小的區(qū)域,定義為F區(qū)域;3)對于所述D區(qū)域內(nèi)的像素點,根據(jù)模糊估計方法計算得到各像素點的比例因子;4)對于所述F區(qū)域內(nèi)的各像素點,進行Kalman濾波,估計各像素點的比例因子;5)根據(jù)原始圖像的聚焦信息,將各像素點的比例因子轉(zhuǎn)換為各像素點的相對深度值。該方法提供了獲取圖像深度信息的方法,引入Kalman濾波的思想,可以抑制常規(guī)的散焦法獲取深度值時的噪聲,提高最終獲得的深度圖的精度。但是,該專利技術(shù)仍然存在的不足是:僅利用圖像的紋理特征,并沒有結(jié)合圖像的空間特征和深度先驗條件,所得到的深度信息適用性不強。
3b、北京航空航天大學所申請的專利技術(shù)“基于深度信息分離天空區(qū)域的單幅圖像去霧方法及裝置”(專利申請?zhí)枺?01510108717.2)公開了一種基于深度信息分離天空區(qū)域的單幅圖像去霧方法及裝置,主要包括以下步驟:(1)采用SLIC超像素分割方法,對含有天空的有霧圖像進行過分割預(yù)處理,得到過分割圖像;(2)提取區(qū)域的深度信息,對過分割圖像進行區(qū)域合并,分離天空和非天空;(3)以天空區(qū)域的平均值估計大氣光值,然后分別計算天空和非天空區(qū)域的透射率,形成整幅圖像的透射率分布圖;(4)由大氣光值和透射率分布圖,復(fù)原無霧圖像。該發(fā)明結(jié)合超像素分割和區(qū)域合并技術(shù),能夠精準提取天空與景物的交界線,獲得準確而完整的天空區(qū)域,不僅可得到可靠的大氣光值,同時能避免天空失真,減少天空邊界處由景深突變而引起的光暈現(xiàn)象,實現(xiàn)圖像去霧。但該專利存在的不足之處在于其分離天空的方法是針對于有霧圖像的,有霧圖像的天空區(qū)域紋理信息較少且顏色發(fā)白,比較容易與非天空部分區(qū)分開來,所以該方法分離天空區(qū)域通用性較差。
3c、西安電子科技大學所申請的專利技術(shù)“基于人工加霧的最佳霧圖復(fù)原方法”(專利申請?zhí)枺?01510112392.5)公開了一種獲取圖像深度信息的方法,該方法步驟如下:(1)使用相機采集無霧圖像;(2)種群粒子初始化;(3)產(chǎn)生個體最優(yōu)位置和全局最優(yōu)位置;(4)更新種群粒子;(5)無霧圖像分割;(6)計算無霧圖像的灰度圖像矩陣的深度;(7)計算無霧圖像的灰度圖像矩陣的透射率;(8)建立無霧圖像人工加霧后的有霧圖像;(9)獲得去霧后的圖像;(10)獲得評價指標值;(11)獲得最佳去霧算法;(12)獲得室外監(jiān)控設(shè)備的去霧圖像。該方法采用了先進的達爾文粒子群分類方法,分割過程快速準確。但是,該專利技術(shù)仍然存在的不足是:分割結(jié)果是依據(jù)灰度圖像的灰度值來進行分類,與圖像的深度信息沒有直接相關(guān)關(guān)系,所以得到的深度信息不能完全反映真實的深度信息,因而對后續(xù)的去霧算法的客觀性能評價指導意義有限。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于針對上述現(xiàn)有技術(shù)的不足,提出一種基于深度先驗的模擬霧圖生成方法,以提高圖像深度信息的真實性和準確性,使生成的模擬霧圖能更加逼近真實霧圖。
本發(fā)明的技術(shù)方案是,結(jié)合圖像的空間特征和深度先驗條件,首先利用色彩和亮度信息對無霧圖像進行天空區(qū)域分割;再根據(jù)初始天空區(qū)域的位置關(guān)系判斷天空區(qū)域是否需要修正,如若需要修正,則利用邊緣檢測進一步修正天空區(qū)域,得到修正后的天空區(qū)域;然后根據(jù)天空及非天空區(qū)域的劃分構(gòu)造不同的深度信息;最后計算透射率,生成模擬霧圖,其實現(xiàn)的步驟包括如下:
1.一種基于深度先驗的模擬霧圖生成方法,包括以下步驟:
(1)分離無霧圖像中的天空區(qū)域,得到初始天空區(qū)域:
(1a)讀入無霧圖像,得到無霧圖像的彩色圖像矩陣,將彩色圖像三通道矩陣像素值中的第一通道矩陣、第二通道矩陣、第三通道矩陣分別定義為紅,綠,藍,即R、G、B三個矩陣,從彩色圖像矩陣中選取圖像的前N行作為局部天空區(qū)域,用Ω1表示;
(1b)利用局部天空區(qū)域的像素值,計算天空區(qū)域的第一閾值t1和第二閾值t2;
(1c)按照下式,從無霧圖像中選取同時滿足以下三個公式的像素點為初始天空區(qū)域:
其中,C表示圖像的通道,C∈{R,G,B},Ω是無霧圖像整幅圖的區(qū)域,表示無霧圖像的第C個圖像通道中第i行第j列的像素值;
(2)判斷初始天空區(qū)域是否需要修正:
(2a)將初始天空區(qū)域轉(zhuǎn)換為灰度圖像;
(2b)設(shè)置a為初始天空區(qū)域出現(xiàn)不連通現(xiàn)象的列數(shù),初始a置0,從第一列開始判斷初始天空區(qū)域的灰度圖像是否出現(xiàn)不連通現(xiàn)象,若是,則計數(shù)標志a加1,否則,a值不變;
(2c)按照下式,計算比例系數(shù)T:
其中,w為原始無霧圖像的列數(shù);
(2d)設(shè)置t3為初始天空區(qū)域的第三閾值,將比例系數(shù)T與t3進行對比,如果T大于t3,則執(zhí)行步驟(3),否則,直接執(zhí)行步驟(4);
(3)修正初始天空區(qū)域:
(3a)利用Canny算子,獲得初始天空區(qū)域的二值化邊緣圖像;
(3b)將邊緣圖像中每一列的第一個邊緣點保存下來,構(gòu)成初始天空邊緣線;
(3c)對初始天空邊緣線逐點更新,得到優(yōu)化后的天空邊緣線;
(3d)將優(yōu)化后的天空邊緣線以上的區(qū)域設(shè)置為修正后的天空區(qū)域;
(4)構(gòu)造無霧圖像的深度圖:
(4a)用Ω2表示得到的天空區(qū)域,對天空區(qū)域矩陣中像素點的值賦予相應(yīng)的圖像比特類型的最大值,即對于8比特類型的圖像,賦值為255;
(4b)用Ω3表示非天空區(qū)域,通過下式給非天空區(qū)域中每一個像素點賦值:
其中dm,n表示非天空區(qū)域中第m行第n列像素點的值,(m,n)∈Ω3,h1表示非天空區(qū)域的高度;
(4c)整合天空區(qū)域和非天空區(qū)域中像素點的值,構(gòu)成整幅圖的深度信息矩陣,將此矩陣稱為無霧圖像的深度圖,該深度圖中的第i行第j列深度值di,j可表示為:
其中,Ω2表示天空區(qū)域,dm,n表示非天空區(qū)域深度圖第m行第n列的深度值;
(5)按照下式,計算無霧圖像每一個像素點對應(yīng)的透射率:
其中,ti,j表示無霧圖像中第i行第j列位置的透射率;λ是霧氣濃度參數(shù),λ的取值范圍為20~100;β表示大氣散射系數(shù),β的取值范圍為0.03~0.1;
(6)按照下式,對無霧圖像進行人工加霧,生成模擬有霧圖像:
其中,表示加霧圖像的第C個圖像通道中第i行第j列位置的像素值,C表示有霧圖像或無霧圖像的通道編號,C∈{R,G,B},表示無霧圖像的第C個圖像通道中第i行第j列的像素值,A表示大氣光強,A的取值范圍為0.7~1。
本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點:
第一,本發(fā)明在進行天空區(qū)域分割時,充分利用了圖像天空區(qū)域的的色彩信息和天空與景物之間的邊緣信息,先基于色彩分割將無霧圖像的天空區(qū)域分離,再根據(jù)分離結(jié)果判斷是否需要進行天空區(qū)域的修正,克服了現(xiàn)有技術(shù)中尋找天空區(qū)域時沒有考慮天空的顏色及亮度等特點,使得天空區(qū)域的分割更加準確。
第二,本發(fā)明在進行深度信息估計時,充分利用了圖像空間信息和深度先驗條件,在分離出天空區(qū)域之后,對天空區(qū)域賦予無窮遠的深度值,對非天空區(qū)域利用深度先驗條件構(gòu)造不同的深度信息,最后利用大氣散射模型建立有霧圖像,克服了現(xiàn)有技術(shù)中沒有結(jié)合圖像的空間特征信息、深度先驗條件和大氣散射模型,從而無法真實客觀地構(gòu)造有霧圖像的缺點,使得采用本發(fā)明方法加霧后的圖像更加符合自然規(guī)律,更加真實可信。
第三,本發(fā)明利用單幅無霧圖像進行加霧,得到的有霧圖像與無霧圖像互成一對的參考圖像,避免了現(xiàn)有技術(shù)為了采集同一場景下的有霧或無霧參考圖像難度大、條件苛刻、耗費人力物力的問題,從而對去霧算法的客觀質(zhì)量評價提供了新的方法。
附圖說明
圖1是本發(fā)明的實現(xiàn)流程圖;
圖2是用本發(fā)明方法生成模擬霧圖的仿真效果圖;
圖3是本發(fā)明和現(xiàn)有基于深度信息分離天空區(qū)域的單幅圖像去霧方法中的天空分割效果對比圖;
圖4是本發(fā)明和現(xiàn)有基于人工加霧的最佳霧圖復(fù)原方法中的透射率圖像生成效果對比圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明做進一步的描述。
參照圖1,本發(fā)明實現(xiàn)步驟如下。
步驟1,對無霧圖像中的天空區(qū)域進行分離,得到初始天空區(qū)域。
1.1)讀入無霧圖像,如圖2(a)所示,得到無霧圖像的彩色圖像三通道矩陣,將彩色圖像三通道矩陣中的第一通道矩陣、第二通道矩陣、第三通道矩陣分別定義為紅,綠,藍,即R、G、B三個矩陣;
1.2)從彩色圖像三通道矩陣中選取無霧圖像的前50行作為局部天空區(qū)域Ω1;
1.3)利用局部天空區(qū)域Ω1的像素值,計算天空區(qū)域的第一閾值t1和第二閾值t2;
其中表示無霧圖像R通道矩陣中的第i行第j列像素值,表示無霧圖像G通道矩陣中的第i行第j列像素值,表示無霧圖像B通道矩陣中的第i行第j列像素值;
1.4)從無霧圖像中選取同時滿足以下三個公式的像素點作為初始天空區(qū)域:
其中,C表示圖像的通道,C∈{R,G,B},Ω是無霧圖像整幅圖的區(qū)域,表示無霧圖像的第C個圖像通道中第i行第j列的像素值。得到的初始天空區(qū)域如圖2(b)所示,由圖2(b)仿真結(jié)果圖可以看到,本發(fā)明得到的天空初始區(qū)域已經(jīng)能夠較為準確的將天空區(qū)域識別并分離出來。
步驟2,判斷初始天空區(qū)域是否需要修正。
2.1)將初始天空區(qū)域轉(zhuǎn)換為灰度圖像;
2.2)定義a為初始天空區(qū)域出現(xiàn)不連通現(xiàn)象的列數(shù),設(shè)a的初始置0,從第一列開始判斷初始天空區(qū)域的灰度圖像是否出現(xiàn)不連通現(xiàn)象,若是,則計數(shù)標志a加1,否則,a值不變;
2.3)按照下式,計算比例系數(shù)T:
其中,w為原始無霧圖像的列數(shù);
2.4)設(shè)置t3為初始天空區(qū)域的第三閾值,將比例系數(shù)T與t3進行對比,如果T大于t3,則執(zhí)行步驟3,否則,直接執(zhí)行步驟4。
步驟3,修正初始天空區(qū)域。
3.1)利用Canny算子,獲得初始天空區(qū)域的二值化邊緣圖像;
3.2)將邊緣圖像中每一列的第一個邊緣點保存下來,構(gòu)成初始天空邊緣線;
3.3)對初始天空邊緣線逐點更新,得到優(yōu)化后的天空邊緣線:
3.3a)將初始天空邊緣線上第一列的邊緣點作為第一個當前邊緣點c(i,j),其中(i,j)表示當前邊緣點c的位置處于圖像矩陣的第i行第j列;
3.3b)將當前邊緣點c(i,j)的位置向右平移一個像素,作為預(yù)測邊緣點p(i,j+1),將當前邊緣點c(i,j)位置向下平移一個像素,作為待比較像素點c1(i+1,j);
3.3c)設(shè)置第四閾值t4=8,判斷當前邊緣點是否需要更新:
如果當前邊緣點和其下一列邊緣點位置的縱坐標之差的絕對值大于t4,則執(zhí)行(3c4)至(3c6),否則,執(zhí)行(3c7);
3.3d)計算以預(yù)測邊緣點為中心的3x3塊內(nèi)的均值與以待比較像素點為中心的3x3塊內(nèi)的均值之間的方差s1;
3.3e)計算以下一列邊緣點為中心的3x3塊內(nèi)的均值與以待比較像素點為中心的3x3塊內(nèi)的均值之間的方差為s2;
3.3f)將s1與s2進行比較:若s1>s2,則更新下一列邊緣點位置為預(yù)測邊緣點的位置,即用預(yù)測邊緣點替代下一列邊緣點;若s1<=s2,則下一列邊緣點位置不改變;
3.3g)將當前邊緣點位置挪至下一列,返回步驟3.3b),直至圖像的每一列都進行過更新處理;
3.4)將優(yōu)化后的天空邊緣線以上的區(qū)域設(shè)置為修正后的天空區(qū)域Ω2,如圖2(c)所示,由圖2(c)仿真結(jié)果圖可以看到,經(jīng)過基于邊緣檢測的修正后,天空區(qū)域更加準確,邊緣清晰,輪廓完整。
步驟4,構(gòu)造無霧圖像的深度圖。
4.1)對天空區(qū)域中每一個像素點進行賦值,所賦值為相應(yīng)的圖像比特類型的最大值,即對于8比特類型的圖像,賦值為255;
4.2)用Ω3表示非天空區(qū)域,通過下式給非天空區(qū)域中每一個像素點賦值:
其中dm,n表示非天空區(qū)域中第m行第n列像素點的值,(m,n)∈Ω3,h1表示非天空區(qū)域的高度;
4.3)整合天空區(qū)域和非天空區(qū)域中像素點的值,使每個像素點在圖像中所處位置不變,合并于一張圖中,將此圖稱為無霧圖像的深度圖,如圖2(d)所示,由圖2(d)仿真結(jié)果圖可以看到,本發(fā)明結(jié)合了圖像的空間特點信息和深度先驗條件,得到的景物深度圖能夠真實客觀的反映景物深度的變化,該深度圖中的第i行第j列深度值di,j可表示為:
步驟5,按照下式,計算無霧圖像每一個像素點對應(yīng)的透射率:
其中,ti,j表示無霧圖像中第i行第j列位置的透射率;λ是霧氣濃度參數(shù),λ的取值范圍為20~100;β表示大氣散射系數(shù),β的取值范圍為0.03~0.1。
步驟6,對無霧圖像進行人工加霧,生成模擬有霧圖像。
根據(jù)大氣散射模型中所描述的景物成像原理,一幅圖像可以由兩部分計算疊加得到,第一部分是大氣對景物光線的衰減,第二部分是環(huán)境光對景物的影響。因此,對圖像的加霧可按以下幾個步驟進行:
6.1)用無霧圖像與步驟5中計算得出的透射率ti,j相乘,得到大氣對景物光線的衰減部分,由L1表示:其中,表示無霧圖像的第C個圖像通道中第i行第j列的像素值,C表示有霧圖像或無霧圖像的通道編號,C∈{R,G,B};
6.2)用大氣光值A(chǔ)與(1-ti,j)相乘,得到環(huán)境光對景物的影響部分,由L2表示:
L2=A(1-ti,j),其中,A表示大氣光強,A的取值范圍為0.7~1;
6.3)根據(jù)上述大氣散射模型原理,一幅圖像應(yīng)由上述兩部分疊加而成,因此模擬霧圖可表示為如下形式:
其中,表示加霧圖像的第C個圖像通道中第i行第j列位置的像素值,生成的模擬有霧圖像如圖2(e)所示,由圖2(e)仿真結(jié)果圖可以看到,使用本發(fā)明方法加霧后的有霧圖像自然、真實,能夠反映現(xiàn)實生活中的真實的有霧天氣狀況。
本發(fā)明的效果可以通過以下仿真實驗作進一步說明。
1、仿真條件:
本發(fā)明的仿真是在主頻2.5GHZ的Inter(R)Core(TM)i7-4710MQ CPU、內(nèi)存8GB的硬件環(huán)境和MATLAB R2010a軟件環(huán)境下進行的。實驗所用到的圖像來源于網(wǎng)絡(luò)搜索的戶外場景無霧圖像。實驗參數(shù)設(shè)置如下:
大氣光A的取值為0.9,大氣散射系數(shù)β的取值為0.05,霧氣濃度參數(shù)λ的取值為40。
2、實驗內(nèi)容與結(jié)果
實驗1:用本發(fā)明方法和現(xiàn)有基于深度信息分離天空區(qū)域的單幅圖像去霧方法中進行天空分割對比,結(jié)果如圖3,其中:
圖3(a)是在仿真實驗中使用的原始圖像;
用本發(fā)明方法分割時,首先利用色彩和亮度信息對無霧圖像進行天空區(qū)域分割,再利用邊緣檢測進一步修正天空區(qū)域,得到修正后的天空區(qū)域結(jié)果,如圖3(b);
用現(xiàn)有方法分割時,首先采用超像素分割,再由紋理條件檢測出天空區(qū)域,實現(xiàn)天空與非天空區(qū)域分離,結(jié)果如3(c)所示。
對比圖3(b)和圖3(c)這兩個實驗結(jié)果圖,可見使用本發(fā)明方法所獲得的天空區(qū)域邊緣輪廓完整,清晰光滑,更好的分離出了天空區(qū)域。
實驗2:用本發(fā)明和現(xiàn)有基于人工加霧的最佳霧圖復(fù)原方法進行透射率圖像生成的對比,結(jié)果如圖4,其中:
圖4(a)是在仿真實驗中使用的原始圖像;
用本發(fā)明方法生成透射率圖像時,首先利用色彩和亮度信息對無霧圖像進行天空區(qū)域分割,然后利用天空分割結(jié)果和深度先驗信息構(gòu)造深度圖,再利用大氣散射模型得到透射率圖像,如圖4(b);
用現(xiàn)有方法生成深度圖時,首先利用原始圖像的灰度圖像進行達爾文粒子群分割,再利用分割結(jié)果和大氣散射模型得到透射率圖像,結(jié)果如4(c)所示。
對比圖4(b)和圖4(c)這兩個實驗結(jié)果圖,可見現(xiàn)有方法僅利用了灰度信息來進行圖像分割,分割結(jié)果并不能反映深度信息的變化,因而所得透射率圖不符合客觀實際,而本發(fā)明方法結(jié)合了圖像的空間特征和深度先驗規(guī)律,所獲得的透射率圖像更加符合客觀物理規(guī)律,能夠更加符合客觀實際的進行加霧。
以上描述僅是本發(fā)明的一個具體實例,不構(gòu)成對本發(fā)明的任何限制。顯然對于本領(lǐng)域的專業(yè)人員來說,在了解了本發(fā)明內(nèi)容和原理后,都可能在不背離本發(fā)明原理、結(jié)構(gòu)的情況下,進行形式和細節(jié)上的各種修正和改變,但是這些基于本發(fā)明思想的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護范圍之內(nèi)。