張思雨
(陸軍炮兵防空兵學(xué)院 合肥 230031)
近年來,隨著航空攝影技術(shù)的快速發(fā)展,航拍圖像的數(shù)據(jù)量也在迅猛增加。航拍圖像已廣泛應(yīng)用于地理勘測(cè)、軍事偵察、農(nóng)業(yè)、環(huán)境保護(hù)和資源勘查等領(lǐng)域。然而航拍設(shè)備容易受到云層的影響,使地物信息受到云層遮擋。根據(jù)國際衛(wèi)星云氣候項(xiàng)目流量數(shù)據(jù)(International Satellite Cloud Climatolo?gy Project-Flux Data,ISCCP-FD)顯示,地球表面的年平均云量約為66%[1]。云層遮擋降低了航拍圖像的利用率,嚴(yán)重影響了研究人員后期的圖像識(shí)別和分析等工作。因此,有效地對(duì)航拍圖像進(jìn)行云檢測(cè)并減少或剔除云覆蓋的影響具有十分重要的意義。
航拍圖像的云檢測(cè)屬于圖像分割范疇,盡管人們?cè)趫D像分割方面已取得了大量的研究成果,但目前尚無通用的分割理論,現(xiàn)有算法大多數(shù)都是針對(duì)某類具體問題。航拍圖像數(shù)據(jù)量較大、下墊面的紋理結(jié)構(gòu)信息比較復(fù)雜,已有的自動(dòng)圖像分割方法[2~4]和交互式圖像分割方法[5~6]均無法直接運(yùn)用于航拍圖像的云檢測(cè)。
現(xiàn)有云檢測(cè)方法的對(duì)象一般是多光譜衛(wèi)星數(shù)據(jù),根據(jù)云對(duì)不同波段的反射特性,設(shè)定合適的閾值進(jìn)行云檢測(cè)[7]。然而大多數(shù)航拍圖像只有紅黃藍(lán)(RGB)三個(gè)通道,沒有其他輔助波段信息,因此不能直接用于航拍圖像的云檢測(cè)。文獻(xiàn)[8]基于雙邊濾波算子提出逐步細(xì)化的航拍圖像云檢測(cè)方案,然而,雙邊濾波算子不適用于提取任意尺度的細(xì)節(jié),所以當(dāng)增大平滑參數(shù)進(jìn)行多次迭代時(shí),不能較好地保持邊緣,會(huì)導(dǎo)致梯度反轉(zhuǎn)等問題[9]。而且,雙邊濾波不能較好處理邊界模糊的情況,所用到的多尺度雙邊濾波計(jì)算代價(jià)較高,雖然已有加速雙邊濾波的方法[10~11],但這些方法一般采用下采樣和量化策略,不可避免地會(huì)對(duì)結(jié)果造成影響。文獻(xiàn)[12]提出基于邊緣敏感遞歸濾波的云檢測(cè)方法,檢測(cè)效果較好,但算法的構(gòu)成過于復(fù)雜。文獻(xiàn)[13]結(jié)合Sobel和LOG算子構(gòu)建云層細(xì)節(jié)圖像,降低了檢測(cè)錯(cuò)誤率,但有時(shí)會(huì)對(duì)主云區(qū)旁邊的薄云和半透明云區(qū)造成漏檢。
針對(duì)以上分析,本文提出一種基于閾值遞歸選取和引導(dǎo)濾波的航拍圖像云檢測(cè)算法。首先采用改進(jìn)的轉(zhuǎn)換模型將航拍圖像從RGB顏色空間轉(zhuǎn)換到HSI(H,hue,色調(diào);S,saturation,飽和度;I,intensi?ty,亮度)空間,得到云區(qū)顯著圖作為下一步閾值選擇的輸入圖像,拉大云區(qū)和非云區(qū)的差異;然后基于最大類間、類內(nèi)方差比法對(duì)云區(qū)顯著圖進(jìn)行閾值遞歸選擇,綜合航拍圖像中云區(qū)的統(tǒng)計(jì)特征,得到初始云區(qū);最后利用引導(dǎo)濾波優(yōu)化薄云檢測(cè),通過形態(tài)學(xué)閉運(yùn)算修正小型孔洞得到最終云區(qū)。實(shí)驗(yàn)表明,本文算法結(jié)果較好地檢測(cè)出了薄云和半透明云區(qū),更接近于人眼實(shí)際觀測(cè)結(jié)果。
由于HSI色彩空間最符合人的視覺系統(tǒng)感知,因此首先將航拍圖像從RGB色彩空間轉(zhuǎn)換到HSI空間。根據(jù)大量統(tǒng)計(jì)[8],在亮度I分量上賦以權(quán)重,對(duì)傳統(tǒng)的幾何推導(dǎo)轉(zhuǎn)換公式作以改進(jìn),設(shè)
式中R、G、B對(duì)應(yīng)紅、黃、藍(lán)三個(gè)通道的像素值。則HSI的計(jì)算公式為
式中H、S、I對(duì)應(yīng)色調(diào)、飽和度和亮度。
航拍圖像中的云區(qū)一般亮度I較高,飽和度S較低,為了突出云區(qū)和非云區(qū)的差異,計(jì)算二者的歸一化差值P= | (I-S)/(I+S)|,將其值歸一化到[0,255],作為下一步閾值選擇方案的輸入圖,如圖1所示。可以看出,P特征在強(qiáng)化主云區(qū)的同時(shí),較好地保持了薄云區(qū)域的邊界。
圖1 航拍圖像的不同光譜特征
基于P特征圖,選擇合適的閾值即可初步分割云區(qū)和非云區(qū),一般采用基于最大類間方差的Otsu方法[14],但該方法沒有考慮到類內(nèi)方差的影響,所得的閾值會(huì)有一定的偏差,為了避免這一問題,本文提出基于最大類內(nèi)、類間方差比的遞歸閾值選取方法。首先給定一個(gè)初始閾值,將圖像分成兩類C1和C2,計(jì)算它們的方差、灰度均值和總體均值μ:
其中Nci表示屬于該類的像素值個(gè)數(shù),N表示圖像的整體像素個(gè)數(shù)。兩類對(duì)象在圖像中的出現(xiàn)概率類內(nèi)方差σ2in為
則選擇的閾值T的計(jì)算公式為
把初步云區(qū)與非云區(qū)的類間方差和面積差作為遞歸的結(jié)束條件[12]。設(shè)第i次遞歸后,云區(qū)面積和非云區(qū)面積分別為Ai0和Ai1,可得二者的歸一化面積差:
可以看出,隨著遞歸的進(jìn)行,?Ai會(huì)逐漸增大,而類間方差則逐漸減小,基于此認(rèn)識(shí)設(shè)定結(jié)束參數(shù) Ei:
設(shè)結(jié)束參數(shù)為E,當(dāng)Ei≥E時(shí),結(jié)束遞歸。若E值設(shè)置過大,會(huì)導(dǎo)致云區(qū)檢測(cè)成非云區(qū),若過小,則會(huì)出現(xiàn)云區(qū)檢測(cè)不徹底的情況,經(jīng)文獻(xiàn)[12]大量實(shí)驗(yàn)分析,E=0.52時(shí)檢測(cè)效果最好。
基于P特征圖,定義初步云區(qū)如下[13]:如果P特征圖中像素點(diǎn)n滿足當(dāng)T≤100時(shí),Pn≥100,或當(dāng) 100≤T≤150時(shí),Pn≥T ,或當(dāng) T≥150 時(shí),Pn≥150,滿足以上條件的像素點(diǎn)的集合即為初步云區(qū)。
文獻(xiàn)[8]統(tǒng)計(jì)了500張航拍圖像的亮度和色調(diào)分布后發(fā)現(xiàn):航拍圖像中云色調(diào)的值域?yàn)椋?0,80],且95%的云像素的亮度值都不小于100?;诖苏J(rèn)識(shí),去除初步云區(qū)中不滿足上述條件的像素點(diǎn),優(yōu)化初步云區(qū)。
通過上一步檢測(cè)一般能得到視覺上比較容易辨認(rèn)的云區(qū),對(duì)于薄云和半透明云區(qū)檢測(cè),本文引入引導(dǎo)濾波處理這一問題。
經(jīng)大量實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)發(fā)現(xiàn):薄云的亮度值約為厚云的30%~50%[15]。且薄云一般出現(xiàn)在主云區(qū)的附近,同時(shí)伴有半透明云區(qū)的出現(xiàn),可能會(huì)出現(xiàn)漏檢現(xiàn)象。本文通過引導(dǎo)濾波[16]優(yōu)化薄云的檢測(cè)效果,引導(dǎo)濾波和雙邊濾波都具有保邊特性,但在細(xì)節(jié)上效果更好。引導(dǎo)濾波認(rèn)為函數(shù)上一點(diǎn)與其鄰近部分的點(diǎn)成線性關(guān)系,那么一個(gè)復(fù)雜的函數(shù)就可以用很多局部的線性函數(shù)表示,當(dāng)要求該函數(shù)上某一點(diǎn)的值時(shí),只需計(jì)算所有包含該點(diǎn)的線性函數(shù)的值并做平均即可。
本文采用快速引導(dǎo)濾波[17]加速傳統(tǒng)引導(dǎo)濾波的計(jì)算過程,將上節(jié)得到的初步云區(qū)作為輸入圖像,原始航拍圖像為參考圖像,設(shè)置窗口半徑為60,規(guī)則化參數(shù)為0.001,采樣率為15,得到的輸出圖像如圖2所示,可以看出細(xì)致云檢測(cè)對(duì)薄云的檢測(cè)效果更為理想,檢測(cè)出了初步云檢測(cè)沒有識(shí)別到的云區(qū),降低了漏檢率。
從圖2(d)可以看出,細(xì)致云檢測(cè)結(jié)果存在一些小型孔洞和瑣碎細(xì)節(jié),我們利用形態(tài)學(xué)運(yùn)算處理這一問題。形態(tài)學(xué)運(yùn)算是基于形狀的一系列圖像處理操作,通過將結(jié)構(gòu)元素作用于輸入圖像來產(chǎn)生輸出圖像。
圖2 引導(dǎo)濾波優(yōu)化薄云檢測(cè)
基本的形態(tài)學(xué)運(yùn)算是膨脹和腐蝕,膨脹運(yùn)算能填充邊緣或0像素內(nèi)部的孔,腐蝕運(yùn)算能提取骨干信息,去掉孤立的0像素。對(duì)于本文情況,采用先膨脹后腐蝕(閉運(yùn)算)的操作去掉云掩膜中的小型孔洞,得到最終的云檢測(cè)結(jié)果。
為了驗(yàn)證本文算法的效果,以文獻(xiàn)[13]和文獻(xiàn)[8]作為對(duì)比算法,選取文獻(xiàn)[8]提供數(shù)據(jù)庫中的兩幅圖像作為實(shí)驗(yàn)圖像進(jìn)行對(duì)比試驗(yàn),尺寸分別為600×400和1024×768,檢測(cè)結(jié)果如圖3、圖4所示。同時(shí),本文還選取了一張實(shí)拍圖像進(jìn)行實(shí)驗(yàn),實(shí)拍圖像來源于航拍飛機(jī)拍攝的江西省彭澤縣圖像,因?yàn)樵瓐D尺寸過大,截圖到427×300像素進(jìn)行實(shí)驗(yàn),結(jié)果如圖5。
在圖3中,文獻(xiàn)[13]的結(jié)果出現(xiàn)大量的錯(cuò)檢情況,文獻(xiàn)[8]則錯(cuò)誤的把本為獨(dú)立的團(tuán)云連接起來,且存在部分漏檢現(xiàn)象,本文算法的檢測(cè)精度更高;在圖4中,文獻(xiàn)[13]的下半部分結(jié)果還比較令人滿意,但在頂部出現(xiàn)大面積粘連,文獻(xiàn)[8]的檢測(cè)結(jié)果比較粗糙,相比而言,本文算法的結(jié)果更為精細(xì);在圖5的實(shí)拍圖像對(duì)比實(shí)驗(yàn)中,文獻(xiàn)[13]出現(xiàn)大量錯(cuò)檢情況,尤其是把圖像左側(cè)的裸地錯(cuò)檢為云區(qū),文獻(xiàn)[8]對(duì)主云區(qū)旁邊的薄云和半透明云區(qū)出現(xiàn)漏檢,本文算法則準(zhǔn)確地檢測(cè)到了薄云和半透明區(qū)域。綜上,在視覺主觀評(píng)價(jià)上,本文算法優(yōu)于對(duì)比算法。
圖3 第一組云檢測(cè)對(duì)比
圖4 第二組云檢測(cè)對(duì)比
圖5 實(shí)拍圖像檢測(cè)對(duì)比
為了進(jìn)一步客觀衡量本文算法的有效性,采用錯(cuò)誤率(Error Rate,ER)作為評(píng)價(jià)指標(biāo)定量分析各個(gè)算法的精確度,公式如下:
式中CN為被漏檢的云像素,NC為誤檢為云的非云像素,PN為圖像的像素總數(shù),結(jié)果如表1。可以看出,本文算法在錯(cuò)誤率上的表現(xiàn)皆優(yōu)于對(duì)比算法。
表1 不同算法的錯(cuò)誤率對(duì)比
對(duì)于現(xiàn)有航拍圖像云檢測(cè)算法中易出現(xiàn)的漏檢和錯(cuò)檢問題,本文提出一種基于閾值遞歸選取和引導(dǎo)濾波的云檢測(cè)方法。首先結(jié)合基于遞歸的最大類內(nèi)、類間方差比法和前人的統(tǒng)計(jì)特征得到初始云區(qū),然后采用引導(dǎo)濾波進(jìn)一步細(xì)化薄云和半透明云的檢測(cè),最后利用形態(tài)學(xué)閉運(yùn)算排除了云區(qū)掩膜的小型孔洞,實(shí)驗(yàn)結(jié)果的錯(cuò)誤率更低,更符合人的視覺檢測(cè)效果。下一步工作將收集大量有云航拍圖像,采用機(jī)器學(xué)習(xí)的方法學(xué)習(xí)云區(qū)和非云區(qū)的特征,進(jìn)一步提高檢測(cè)效率和精度。