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