關(guān)崢嶸 譚毅華 田金文
(華中科技大學(xué)自動(dòng)化學(xué)院 武漢 430074)
隨著遙感技術(shù)的不斷發(fā)展,我們能獲得的遙感衛(wèi)星影像數(shù)據(jù)量也越來越多,遙感衛(wèi)星影像的分辨率也越來越高,這些衛(wèi)星影像攜帶的地面目標(biāo)信息也越來越多。但同時(shí),地球表面是包裹著大氣層,遙感傳感器常常受到大氣或者云層的干擾[1],使得我們對(duì)地球表面的觀測(cè)受到遮擋,因此針對(duì)遙感衛(wèi)星影像的云檢測(cè)也就成為了遙感衛(wèi)星圖像處理的關(guān)鍵性技術(shù)之一,云檢測(cè)也被認(rèn)為是遙感影像后續(xù)處理(識(shí)別和分類等)的預(yù)處理技術(shù)。此外在氣象學(xué)方面,針對(duì)云的檢測(cè)也被認(rèn)為是進(jìn)行氣象預(yù)測(cè)的重要手段之一[2]。
目前來說,針對(duì)云檢測(cè)是方法大致分為三種:閾值法,紋理分析法和基于機(jī)器學(xué)習(xí)的方法。基于閾值的方法利用了不同物質(zhì)反應(yīng)在圖像上不同的明暗程度,又可以分為簡(jiǎn)單的單閾值[3~4],動(dòng)態(tài)閾值法[5];紋理分析法從本質(zhì)上來說就是利用同類物質(zhì)之間的相似性和不同物質(zhì)之間的不連續(xù)性,往往需要結(jié)合其他信息一起進(jìn)行判別,比如多時(shí)相[6~7]和物體反射率[8],這些方法雖然都取得了一定的進(jìn)步,但是大都適應(yīng)性不強(qiáng),利用了一些先驗(yàn)知識(shí),導(dǎo)致了在場(chǎng)景復(fù)雜的情況下的檢測(cè)效果較差。而基于機(jī)器學(xué)習(xí)的方法往往能獲得比較好的效果,利用訓(xùn)練樣本來進(jìn)行特征訓(xùn)練,使得算法的適應(yīng)性大大加強(qiáng),支持向量機(jī)(Support Vector Machine,SVM)是最常用的分類器[9~12],還有利用神經(jīng)網(wǎng)絡(luò)模型來進(jìn)行訓(xùn)練[13]。此外一些比較新穎的圖像處理技術(shù)也被應(yīng)用到云檢測(cè)當(dāng)中,比如超像素分割[14~15],模糊聚類[16~17]。利用機(jī)器學(xué)習(xí)來進(jìn)行云檢測(cè)時(shí),檢測(cè)效果往往取決于選取的特征描述能力的強(qiáng)弱,因此如何尋找出一種好的描述特征,是我們目前面臨的挑戰(zhàn)之一。論文針對(duì)該問題,提出了一種基于改進(jìn)MR 的描述特征來進(jìn)行云檢測(cè),并在高分一號(hào)衛(wèi)星圖像數(shù)據(jù)集上獲得了令人滿意的效果。
最大響應(yīng)濾波器(Maximum Response Filter)[18]采用了38個(gè)濾波器,但最終只選取8組最大的響應(yīng)值作為輸出,因此又被稱為MR8。MR8 的38 個(gè)濾波器包含了18 個(gè)高斯一階導(dǎo)數(shù)濾波器(三個(gè)尺度六個(gè)方向),18 個(gè)高斯二階倒數(shù)濾波器(三個(gè)尺度六個(gè)方向),尺度為(σx,σy)={(1 ,3),( 2,6),(4,12)},方向角取值為θ={0°,30°,60°,90°,120°,150°};1個(gè)高斯濾波器和1個(gè)高斯型的拉普拉斯濾波器(Laplacian of Gaussian),標(biāo)準(zhǔn)差σ 取10。38 個(gè)濾波器的時(shí)域圖如圖1所示。
由于MR8 集合了高斯一階和二階導(dǎo)數(shù)濾波器,因此能有效地提取圖像的邊緣信息,此外由于采用了不同尺度的濾波器使得提取的特征能適應(yīng)不同的圖像分辨率,不同的方向?yàn)V波器使得其在非均質(zhì)的紋理下獲得更強(qiáng)的分類能力,而最終只選取最大的8個(gè)響應(yīng)值,使得MR8特征具有旋轉(zhuǎn)不變的性質(zhì)。綜上所述,MR8特征具有較強(qiáng)的特征描述能力。
在計(jì)算MR8 特征的過程中,由于需要使用高斯核與圖像進(jìn)行大量的卷積操作,而通常遙感衛(wèi)星圖像分辨率較高,幅面較大,導(dǎo)致整個(gè)提取特征的過程中非常耗時(shí),因此如何快速地實(shí)現(xiàn)MR8 是急需解決的問題。受之前的工作啟發(fā)[19~20],本論文使用遞歸(Infinite Impulse Response,IIR)數(shù)字濾波器來快速近似,以設(shè)計(jì)一種快速實(shí)現(xiàn)MR8的方法。
一維信號(hào)的高斯核卷積過程可用兩次遞歸的形式來實(shí)現(xiàn),第一個(gè)是前向遞歸(Forward,n遞增):
第二個(gè)是后向遞歸(Backward,n遞減):
可以表示為如圖2所示。
圖2 一維信號(hào)的卷積通過遞歸來實(shí)現(xiàn)
式(1)和式(2)中的參數(shù)B,b0,b1,b2,b3,由下面的式子決定:
其中m0,m1,m2為常數(shù),取值分別為1.16680,1.10783,1.40586。而q 是與標(biāo)準(zhǔn)差σ 有關(guān)的數(shù)值,一般按照如下方法取值:
根據(jù)上面的方法把一維信號(hào)的高斯卷積操作變成了兩次遞歸來實(shí)現(xiàn),這很容易推廣到二維圖像的高斯卷積操作上去,最后只需要做四次遞歸操作即可:從上到下,從左到右,從下到上和從右到左。
為了盡可能好地描述出云的圖像特征,我們這里并沒有直接采用原始的MR8 特征進(jìn)行操作,而是利用了K-D 樹來構(gòu)建MR8 直方圖特征用于判別。具體的步驟如下所示。
1)計(jì)算訓(xùn)練數(shù)據(jù)集上的MR8 特征,并利用K均值聚類算法得到紋理特征的數(shù)據(jù)字典;
2)利用得到的數(shù)據(jù)字典構(gòu)建K-D樹;
3)得到圖像塊的MR8 特征,將得到的紋理特征進(jìn)行K-D樹查詢;
4)生成查詢結(jié)果的歸一化直方圖,并利用該直方圖特征作為云判別的特征。
本文提出的算法步驟可以如圖3所示:
圖3 算法流程圖
在訓(xùn)練階段,分為兩步:第一步是構(gòu)建數(shù)據(jù)字典,首先是提取圖像塊(大小為128*128)的MR8特征,進(jìn)行K均值聚類以后為了避免特征維數(shù)過大導(dǎo)致的維數(shù)災(zāi)難,我們這里使用了主成分分析(Principal Component Analysis,PCA)進(jìn)行了降維處理,最后得到的這些聚類中心就構(gòu)成了紋理特征的數(shù)據(jù)字典,然后利用數(shù)據(jù)字典構(gòu)建K-D 樹,如果按照傳統(tǒng)的方法在得到數(shù)據(jù)字典后需要與聚類中心進(jìn)行歐式距離遍歷,再去統(tǒng)計(jì)得到結(jié)果的直方圖特征,這樣的操作不僅耗時(shí)而且特征的描述效果也不甚理想;第二步是利用數(shù)據(jù)字典得到圖像塊的紋理特征,隨后把這些紋理特征利用支持向量機(jī)(Support Vector Machine,SVM)來訓(xùn)練出一個(gè)分類器。
在測(cè)試階段時(shí)與上面類似,只需要得到圖像塊的直方圖特征,然后利用SVM去判別即可。
在實(shí)驗(yàn)過程中,訓(xùn)練所采用的數(shù)據(jù)來自與谷歌地圖(Google Map),測(cè)試所用的數(shù)據(jù)來自于高分一號(hào)衛(wèi)星數(shù)據(jù)(拍攝于云南某地,分辨率為2m)。訓(xùn)練數(shù)據(jù)集一共有6000 個(gè)樣本,包括2000 個(gè)正樣本(云區(qū)圖像),4000 個(gè)負(fù)樣本(包括森林,湖泊,城市,草地等區(qū)域圖像)。
為了確定實(shí)驗(yàn)中的數(shù)據(jù)塊大小、詞典的單詞數(shù)量和是否采取PCA等參數(shù),我們做了一系列的實(shí)驗(yàn)來進(jìn)行對(duì)比。
根據(jù)實(shí)驗(yàn)結(jié)果,最終我們選定使用128*128 的圖像塊大小,數(shù)據(jù)字典數(shù)量為1024,采用51*51 的高斯卷積核,因此我們?cè)趫D像上得到的MR8 特征其實(shí)是78*78*8 維的特征,再進(jìn)行K-D 樹查詢后,得到了78*78 維的查詢結(jié)果。接下來對(duì)其進(jìn)行量化并統(tǒng)計(jì)其直方圖分布,作為該圖像塊的描述特征。從實(shí)驗(yàn)中我們可以看到,進(jìn)行PCA操作有效地縮短了算法所需的時(shí)間,而且去除了冗余數(shù)據(jù)后也使得檢測(cè)精度有小范圍的提升。
圖4 高分一號(hào)衛(wèi)星的測(cè)試遙感圖像示例
表1 不同的單詞個(gè)數(shù)對(duì)準(zhǔn)確率的影響(圖像塊大小為128*128)
表2 不同的圖像塊對(duì)準(zhǔn)確率的影響(單詞數(shù)量為1024)
表3 PCA對(duì)時(shí)間和準(zhǔn)確率的影響(2048*2048大小圖像)
測(cè)試圖像我們選用了35 幅2048*2048 大小的衛(wèi)星圖像,并在不同的算法上進(jìn)行了對(duì)比,其中我們用F_alarm 表示虛警率,準(zhǔn)確率precision 通過TP/(TP+FP)得到,召回率通過TP/(TP+FN)得到,精度accuracy 通過(TP+TN)/(TP+FN+TN+FP)計(jì)算得到。
表4 不同方法的云檢測(cè)結(jié)果對(duì)比
從表中可以看到,我們的算法以微小的時(shí)間代價(jià)在各方面都得到了最好的結(jié)果,CI 和DT 的方法雖然耗費(fèi)時(shí)間比較短,但是損失了較大的準(zhǔn)確率,因此可以認(rèn)為本論文提出的算法是優(yōu)于這些方法的。
本文提出了一種通過快速M(fèi)R8 和K-D 樹構(gòu)建直方圖特征來進(jìn)行云檢測(cè)的算法,與一般的檢測(cè)方法不同的是,該方法通過四個(gè)方向上的遞歸操作來快速實(shí)現(xiàn)MR8 特征的計(jì)算,并利用數(shù)據(jù)字典和K-D 樹構(gòu)建直方圖特征,基于MR8 的直方圖特征能有效地描述云塊區(qū)域,具有較強(qiáng)的適應(yīng)性而且執(zhí)行速度較快,能滿足不同條件下快速進(jìn)行遙感衛(wèi)星圖像的自動(dòng)云判別的要求。