王 巍,袁 濤,周 偉,董艷麗
利用遙感數(shù)據(jù)高效自動提取地物信息一直是遙感數(shù)據(jù)處理領(lǐng)域的研究熱點[1],近年來,很多學(xué)者對相關(guān)問題進(jìn)行了深入研究。熊秩群采用面向?qū)ο蟮膱D像分類技術(shù),利用QuickBird衛(wèi)星圖像進(jìn)行了上海市區(qū)綠地信息提?。?];李彥利用小波變換方法對遙感影像進(jìn)行特征提取,利用圖像特征進(jìn)行高斯混合建模來識別影像中的關(guān)鍵目標(biāo)[3];王志偉通過目標(biāo)影像子窗口歸一化提取目標(biāo)的若干個不變矩特征作為BP神經(jīng)網(wǎng)絡(luò)的輸入向量的方法,對1 m分辨率衛(wèi)星影像中機(jī)場上的停留客機(jī)的識別進(jìn)行了研究[4];Jens Leitloff在高分辨率影像上劃分出感興趣區(qū)域,利用支持向量機(jī)方法,對高速公路和停車場上的汽車進(jìn)行識別[5]。從識別效果來看,面向?qū)ο笮畔⑻崛?、基于專家知識的決策樹、支持向量機(jī)及BP神經(jīng)網(wǎng)絡(luò)等方法能夠在一定程度上提高地物識別效率,但自動化程度不高。面向?qū)ο笮畔⑻崛『突趯<抑R的決策樹常見于從遙感影像上提取綠地信息或地物分類的研究中[6-9],兩種方法都比較依賴波段信息;支持向量機(jī)和BP神經(jīng)網(wǎng)絡(luò)這兩種方法較之面向?qū)ο笮畔⑻崛『突趯<抑R的決策樹而言,對諸如飛機(jī)和汽車等小尺度目標(biāo)識別會有更好的效果[4-6],但是也存在不足之處。如支持向量機(jī)方法雖然不需要大規(guī)模的訓(xùn)練樣本來確定分類決策,但容易出現(xiàn)過擬合或訓(xùn)練不足的問題,并且很難通過增大樣本容量來提高識別率;此外,經(jīng)典的支持向量機(jī)算法只給出了二類分類的算法,而在數(shù)據(jù)挖掘的實際應(yīng)用中,一般要解決多類的分類問題[10],從應(yīng)用上來看,目前只能用于內(nèi)容比較單一的小塊影像[5]。BP神經(jīng)網(wǎng)絡(luò)的最大缺點在于算法效率低,訓(xùn)練出分類器速度慢,學(xué)習(xí)過程中易陷入局部極小和易出現(xiàn)振蕩現(xiàn)象[10-11],從而導(dǎo)致訓(xùn)練分類器失敗。
Paul Viola和Michael Jones在2001年提出了基于Adaboost的人臉檢測方法[12],該方法不僅能達(dá)到很好的人臉檢測效果,而且檢測速度非??欤軌蜻_(dá)到實時性。近年來,利用圖像Haar特征對照片或視頻中的人臉、數(shù)字進(jìn)行監(jiān)控與識別,Haar特征對目標(biāo)的檢測更加敏感,并且計算效率也比較高,已經(jīng)用于實現(xiàn)實時或準(zhǔn)實時的監(jiān)測[13-14],并且已有學(xué)者將這種目標(biāo)識別技術(shù)應(yīng)用于照片和視頻中的車輛識別[15-16]。但是,目前仍缺少利用Haar特征在高分辨率遙感影像上進(jìn)行地物識別的研究。相對照片和視頻來說,遙感影像中地物更加復(fù)雜,對地物識別的背景干擾非常強(qiáng)。本研究選擇汽車作為識別目標(biāo),是因為汽車體積較小,已經(jīng)接近目前米級和亞米級遙感衛(wèi)星地物識別的極限,由于其出現(xiàn)區(qū)域主要集中在公路和停車場,與影像背景差異明顯,非常適合利用圖像Haar特征進(jìn)行地物識別。研究的目的在于通過有針對性的數(shù)據(jù)處理,提出利用機(jī)器學(xué)習(xí)的算法對影像中的汽車進(jìn)行自動識別并標(biāo)注的新方法,探索高分辨率遙感數(shù)據(jù)新的應(yīng)用領(lǐng)域。
Haar特征原理因類似于Haar小波而得名,一般Haar特征的定義是由兩個全等的矩形相鄰組合而成,特征模板內(nèi)有白色和黑色兩種矩形,如圖1所示。每種矩形特征值定義為白色矩形像素的和減去黑色矩形像素的和,擴(kuò)展Haar特征則在一般Haar特征基礎(chǔ)上發(fā)展出了旋轉(zhuǎn)45°的矩形特征模版。
圖1 一般Haar特征示意圖
Haar特征值反映了圖像的灰度變化情況,使用Haar矩形特征比單純使用像素級信息要有效的多,而且對噪聲、光照等更具有魯棒性。矩形特征對一些簡單的圖形結(jié)構(gòu),如邊緣、線段比較敏感,但是其只能描述特定走向(水平、垂直、對角)的結(jié)構(gòu)。矩形特征可以位于圖像任意位置,大小也可以任意,但不能超過圖像范圍[12,17-18]。
Adaboost算法是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的弱分類器,然后把這些弱分類器集合起來,構(gòu)成一個更強(qiáng)的最終分類器(強(qiáng)分類器)[10],是目前在計算機(jī)視覺領(lǐng)域運(yùn)用非常廣泛的技術(shù)。
首輪調(diào)用弱分類器時,按均勻分布從樣本集中選取子集作為該次訓(xùn)練集,以后每輪對前一輪訓(xùn)練失敗的樣本,賦予較大的分布權(quán)值(Dt(i)為第i輪各個樣本在樣本集中參與訓(xùn)練的概率),使其在這一輪訓(xùn)練出現(xiàn)的概率增加,即在后面的訓(xùn)練學(xué)習(xí)中集中對比較難訓(xùn)練的樣本進(jìn)行學(xué)習(xí),經(jīng)過T輪的迭代,從而得到T個弱的基分類器(h1,h2,…,ht)。其中ht相應(yīng)的權(quán)值αt的大小根據(jù)該分類器的效果而定。最后的強(qiáng)分類器由生成的多個弱分類器加權(quán)聯(lián)合產(chǎn)生。具體算法如下[8,10]:
1)設(shè)定初始弱分類器權(quán)值D1(i)=1/M,其中i=1,2,…,M(M為樣本總數(shù))。
2)針對t=1,2,…,T:
b.設(shè)置弱分類器ht的權(quán)重αt=log[(1-ε)/ε],ε即上步驟中最小錯誤。
c.更新樣本分布權(quán)值:Dt+1(i)=[Dt(i)exp(-αtyiht(xi))]/Zt,Zt將樣本權(quán)重歸一化。
試驗數(shù)據(jù)選取的是2010年3月鄭州市如意湖附近的WorldView-2全色波段數(shù)據(jù),空間分辨率為0.5 m。數(shù)據(jù)經(jīng)過目視檢查,無云霧覆蓋,無條帶壞點,紋理清晰,數(shù)據(jù)質(zhì)量較好;另外還搜集了研究區(qū)域2010年的地籍?dāng)?shù)據(jù)資料。在對WorldView-2全色影像數(shù)據(jù)進(jìn)行正射糾正、空間配準(zhǔn)后,與城市地籍?dāng)?shù)據(jù)疊加,去除房屋,選定感興趣區(qū)域,去除不可能存在汽車的區(qū)域,排除背景干擾,以提高提取精度;然后在Visual C++平臺下利用OpenCV函數(shù)庫,在高分辨率遙感影像上計算地物目標(biāo)Haar特征,并利用Haar特征和Adaboost算法訓(xùn)練分類器,對感興趣區(qū)域內(nèi)的汽車進(jìn)行識別。主要流程如圖2所示。
圖2 研究流程圖
以地籍矢量數(shù)據(jù)為參照,對WorldView-2全色波段數(shù)據(jù)進(jìn)行圖像配準(zhǔn),使數(shù)據(jù)具有相同的地理參考系統(tǒng),采用最鄰近法重采樣,重采樣后影像分辨率設(shè)置為0.5 m。
將地籍?dāng)?shù)據(jù)與影像疊加,地籍?dāng)?shù)據(jù)可能與影像在局部仍有差異,需要經(jīng)過一定的人工修改,在Arc-GIS中將修改后的地籍?dāng)?shù)據(jù)中的房屋生成多邊形,并利用掩膜工具將房屋從影像中去除,得到用于汽車檢測的影像,這樣可以盡可能地避免背景干擾,提高汽車識別率。
在高分辨率影像上截取訓(xùn)練分類器所需的樣本,樣本分為正樣本和負(fù)樣本。正樣本就是想要識別的地物,即影像上的汽車,正樣本為尺寸統(tǒng)一的位圖格式以滿足訓(xùn)練分類器的需要;負(fù)樣本就是影像上除汽車外可能對汽車識別產(chǎn)生干擾的其他地物,包括斑馬線、橋梁、灌木、路燈、河流中的船只等,并且負(fù)樣本中不能出現(xiàn)待識別的目標(biāo),數(shù)量一般要大于正樣本數(shù)量,截取圖像不能小于所創(chuàng)建的正樣本尺寸。增加樣本數(shù)量理論上可以提高分類器精度,但樣本數(shù)超過一定數(shù)量后,對分類器的改善效果并不明顯。經(jīng)過試驗,本研究正樣本選取500個,大小統(tǒng)一為32像素×32像素的位圖;負(fù)樣本1500個,大小為從45像素×45像素至60像素×60像素的位圖,如圖3所示。
圖3 部分正樣本與負(fù)樣本
首先利用OpenCV提供的創(chuàng)建樣本集工具將位圖格式的正樣本轉(zhuǎn)化為訓(xùn)練分類器時所需要的格式(*.vec);然后利用分類器訓(xùn)練工具載入正負(fù)樣本,計算樣本Haar特征值,利用Adaboost算法針對訓(xùn)練集訓(xùn)練不同的弱分類器,再把這些弱分類器組合起來,構(gòu)成一個更強(qiáng)的最終分類器(強(qiáng)分類器)[10,16-18];最后的強(qiáng)分類器由生成的多個弱分類器加權(quán)聯(lián)合產(chǎn)生。分類器訓(xùn)練過程中可適當(dāng)修改程序參數(shù)以提高計算速度,訓(xùn)練結(jié)束得到XML格式的分類器文件。
本研究在Microsoft Visual C++2008平臺下,結(jié)合OpenCV函數(shù)庫,編寫了汽車識別程序,程序可以直接調(diào)用之前訓(xùn)練得到的分類器,用于輸入圖像的檢測。檢測到圖像中的地物目標(biāo)(汽車)后分類器輸出為1,否則輸出為0。識別程序中設(shè)定搜索窗口在圖像中移動,從而檢測整幅圖像。為了在圖像中檢測未知大小的目標(biāo)物體,掃描程序通常需要用不同比例大小的搜索窗口對圖片進(jìn)行幾次掃描,以確定最優(yōu)搜索窗口參數(shù),同時建立標(biāo)記函數(shù),用“+”來標(biāo)記檢測到的汽車;然后調(diào)用cvNamedWindow()函數(shù)命名圖像窗口,cvShowImage()函數(shù)展示通過分類器檢測后的結(jié)果影像。
由于整幅影像上的汽車數(shù)量較大,不便于統(tǒng)計識別率等數(shù)據(jù),因此在影像數(shù)據(jù)上選擇特定感興趣區(qū)域,利用訓(xùn)練好的分類器進(jìn)行目標(biāo)自動識別檢測。為評價分類器識別精度,定義識別率(S)、漏檢率(A)、錯檢率(R),其關(guān)系為
式中,a為正確識別的汽車數(shù)量;b為影像上未被檢測出的汽車數(shù)量;c為其他地物被誤判成汽車的數(shù)量;m為影像上的實際汽車數(shù)量。
利用上述檢測程序載入訓(xùn)練好的分類器,對經(jīng)過掩膜處理后的圖像進(jìn)行檢測,程序運(yùn)行后,對識別的汽車目標(biāo)用“+”自動標(biāo)注,生成識別效果圖,結(jié)果如圖4所示。
圖4 汽車識別效果圖
由于整幅影像上的汽車數(shù)量較大,不便于統(tǒng)計識別率等數(shù)據(jù),因此在影像數(shù)據(jù)上隨機(jī)均勻選擇一定區(qū)域進(jìn)行精度統(tǒng)計,統(tǒng)計結(jié)果見表1。
以上10個檢測區(qū)域平均識別率為82.86%,漏檢率為17.14%,錯檢率為16.93%;4、8、9號檢測區(qū)域的汽車識別率較低,主要原因是這3個區(qū)域是住宅小區(qū)、商業(yè)區(qū),區(qū)域中的目標(biāo)檢測干擾較多,負(fù)樣本數(shù)量偏少,而公路、停車場等區(qū)域由于地物比較單一,識別率較高。從總體上看其識別效果良好,并且檢測時間很短,可以達(dá)到實時監(jiān)測的要求。
表1 汽車識別率統(tǒng)計 (%)
通過試驗可以看出,利用Haar特征的自動識別技術(shù)可以應(yīng)用于高分辨率遙感影像上的地物識別,并且效果較好;在提取正樣本Haar特征的基礎(chǔ)上,通過Adaboost算法訓(xùn)練用于地物識別的分類器,算法效率高,自動化程度也很高。對于同一種遙感數(shù)據(jù)中的同一種地物可使用已經(jīng)訓(xùn)練好的同一個分類器進(jìn)行識別,分類器具有一定的普適性,對不同景數(shù)據(jù)存在的色調(diào)、對比度等差異具有魯棒性。利用這種方法進(jìn)行地物檢測時,可繼續(xù)擴(kuò)大正負(fù)樣本容量以獲取最佳分類器,雖然選擇樣本和分類器訓(xùn)練需要消耗一定時間,但是一個訓(xùn)練好的分類器可用于同種類型的其他數(shù)據(jù),因此這種方法更適合用于大量數(shù)據(jù)的檢測處理,由于檢測時間很短,也可以用于實時或準(zhǔn)實時的地物監(jiān)測。隨著遙感數(shù)據(jù)的時間分辨率不斷提高,該方法會有更好的應(yīng)用前景。
[1] 明冬萍,駱劍承,沈占鋒,等.高分辨率遙感影像信息提取與目標(biāo)識別技術(shù)研究[J].測繪科學(xué),2005,30(3):18-20.
[2] 熊秩群,吳健平.面向?qū)ο蟮某鞘芯G地信息提取方法研究[J].華東師范大學(xué)學(xué)報:自然科學(xué)版,2006(4):84-90.
[3] 李彥,沈旭坤.基于高斯模型的遙感影像目標(biāo)識別方法的初探[J].系統(tǒng)仿真學(xué)報,2009(S1):57-60.
[4] 王志偉,關(guān)澤群.基于多不變量特征的遙感影像小地物識別[J].遙感信息,2005(6):17-19.
[5] LEITLOFF J,HINZ S,STILLA U.Vehicle Detection in Very High Resolution Satellite Images of City Area[J].IEEE Transactions on Geoscience and Remote Sensing,2010,48(7):2795-2806.
[6] 鄧書斌.ENVI遙感圖像處理方法[M].北京:科學(xué)出版社,2011.
[7] 黃慧萍,吳炳方,李苗苗,等.高分辨率影像城市綠地快速提取技術(shù)與應(yīng)用[J].遙感學(xué)報,2004,8(1):68-74
[8] 黎展榮,王龍波.利用高分辨率影像計算城市綠地覆蓋率[J].測繪通報,2006(12):51-53.
[9] 張春曉,侯偉,劉翔,等.基于面向?qū)ο蠛陀跋裾J(rèn)知的遙感影像分類方法——以都江堰向峨鄉(xiāng)區(qū)域為例[J].測繪通報,2010(8):11-14.
[10] BRADSKI G,KAEBLER A.Learning OpenCV[M].Sevastopol:O’Reilly Media,Inc,2008.
[11] 許宜申,顧濟(jì)華,陶智,等.基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的手寫字符識別[J].通信技術(shù),2011,44(5):106-109.
[12] VIOLA P,JONES M.Robust Real-time Object Detection[J].International Journal of Computer Vision,2001:1-22.
[13] 郭磊,王秋光.Adaboost人臉檢測算法研究及OpenCV實現(xiàn)[J].哈爾濱理工大學(xué)學(xué)報,2009,14(5):123-126.
[14] 朱文佳,戚飛虎.基于 Gentle Adaboost的行人檢測[J].中國圖象圖形學(xué)報,2007,10(2):1905-1908.
[15] 魏武,張亞楠,武林林.基于遺傳算法的改進(jìn)AdaBoost算法在汽車識別中的應(yīng)用[J].公路交通科技,2010,27(2):114-118.
[16] 劉慧英,王小波.基于OpenCV的車輛輪廓檢測[J].科學(xué)技術(shù)與工程,2010,10(12):2987-2991.
[17] FREUND Y,SCHAPIRE R.A Short Introduction to Boosting[J].Journal of Japanese Society for Artificial Intelligence,1999,14(5):771-780.
[18] VIOLA P,JONES M.Rapid Object Detection Using a Boosted Cascade of Simple Features[J].Computer Vision and Pattern Recognition,2001,14(5):1-9.