李靈芝,李百壽,2,沈宇臻,許 銳
(1. 桂林理工大學測繪地理信息學院,廣西 桂林 541004; 2. 廣西空間信息與測繪重點實驗室,廣西 桂林 541004; 3. 南寧市勘察測繪地理信息院,廣西 南寧 530022)
一種基于SVM的無人機影像中單個建筑物的角點檢測方法
李靈芝1,李百壽1,2,沈宇臻1,許 銳3
(1. 桂林理工大學測繪地理信息學院,廣西 桂林 541004; 2. 廣西空間信息與測繪重點實驗室,廣西 桂林 541004; 3. 南寧市勘察測繪地理信息院,廣西 南寧 530022)
針對目前無人機影像中單個建筑物角點的檢測現狀,提出了一種基于支持向量機(SVM)的無人機影像中建筑物的角點檢測方法。首先對4個波段的無人機影像進行多尺度分割,計算影像的NDVI,通過植被與非植被區域的波譜差異剔除植被的影響。其次,用面向對象分類法將“建筑物塊”從影像中提取出來,對“建筑物塊”區域用Harris算子進行邊緣檢測,形成建筑物邊緣點集數據。隨后通過設計高斯徑向基將邊緣樣本點映射到高維特征空間,構建特征向量,采用邊緣點集訓練SVM分類模型,最終通過SVM分類模型從粗提取的邊緣點集中檢測出正確的建筑物角點,實現了單個建筑物的角點提取。
支持向量機;Harris算子;建筑物;角點檢測
由于無人機影像具有較高的空間定位精度與地面分辨率,近年來在我國城市基礎地理信息管理、城市規劃等社會生產生活領域有廣泛的應用[1-2]。
無人機影像的地面分辨率已經達到了毫米級,甚至更高,建筑物在該影像上的尺度、波譜、紋理特征與常規星載、機載遙感影像上的特征有一定區別,幾何形狀特征與普通高分影像相比更加顯著。建筑物的角點決定了其輪廓的基本特征[3]。因此,對無人機影像建筑物角點的精確提取有著十分重要的理論和現實意義。
目前進行建筑物角點的檢測與提取主要有以下兩種方法:一種是從機載激光雷達數據中提取建筑物的激光角點,如羅伊萍通過支持向量機對單個激光點進行特征分類,從而有效地提取建筑物角點[4]。另一種是從光學影像中提取建筑物的角點。如Cui Shiyong等2008年用圖搜索算法提取直角建筑物的角點,通過派生序列重建建筑物的形狀[5],并在2012年根據Hough變換和循環檢測的方法提取了復雜建筑物,并提高了提取精度[6]。Mustafa Turker和Dilek Koc-San通過集成的方法綜合運用Hough變換和感知分組等方法標繪出建筑物屋頂形狀,建筑物的提取精度為93.45%[7]。杜藝通過改進SUSAN算子提取航空影像中的特征點,從而成功提取出建筑物[8]。馬瀟瀟通過改進的SVM算法對無人機影像中建筑物進行分類,分類精度為94.74%[9]。吳秀蕓利用高斯函數計算建筑物邊界曲線的曲率提取候選角點集,并通過動態曲率閾值代替固定的閾值篩選出正確的建筑物角點[10]。崔有禎通過改進的Harris算法提取建筑物的角點,并利用4種改進梯度算子提高了建筑物角點檢測的成功率,建筑物角點檢測正確率為89%[11]。
綜上所述,建筑物角點檢測和提取都是先依據灰度信息獨立提取房屋角點,再依據屋頂的幾何約束信息構建角點匹配規則提取建筑物[12],以上方法雖然能提取出建筑物的角點,但是部分建筑物角點被遮擋增加了提取難度。本文基于建筑物邊緣角點檢測和角點分類的綜合方法提取建筑物,首先使用Harris算法提取邊緣點集,然后基于SVM分類法對邊緣點集進行匹配分類。
1.1 方法步驟
基于SVM的無人機影像建筑物角點提取步驟(如圖1所示)如下:
(1) 對影像進行圖像預處理。根據植物和水體的特性,通過ENVI等影像處理軟件得到影像的歸一化植被指數,這樣可以減少植被等對建筑物角點提取產生的干擾,從而提高建筑物角點的提取精度。

圖1 基于SVM的建筑物角點提取方法流程
(2) 選取適當分割尺度參數,通過面向對象方法對建筑物進行區域分割。
(3) 通過Harris算法對分割后的影像進行建筑物邊緣點粗提取,得到建筑物邊緣點集。
(4) 選擇訓練樣本。從邊緣點集中隨機選取部分點作為樣本點,樣本點分為建筑物角點和非建筑物角點。
(5) 特征提取。根據影像的特征提取部分屬性值作特征向量,以此作為分類依據。
(6) 構建訓練模型。為了獲得高精度的檢測結果,將樣本映射到高維的特征空間,選擇高斯徑向基函數為核函數[13],進行SVM訓練,得到模型分類器參數。
(7) SVM分類運算。對建筑物邊緣點集進行分類提取,對建筑物角點提取結果進行精度評價。
1.2 Harris算子計算
在影像中設置一個局部小區域窗口,并讓其按照一定規則移動,遍歷影像中每一個像素點,考察窗口的平均灰度變化,計算圖像中的每個像素點在水平方向和垂直方向上的梯度,以及兩者的乘積,構建自相關矩陣M
(1)
(2)
式中,ω(u,v)為離散二維零均值高斯函數。對圖像進行高斯濾波,離中心點越近的像素賦予越大的權重,以減少噪聲影響。
M的特征值δ1、δ2能夠反映像素點周圍的結構特征,因此可以根據δ1、δ2來提取影像的角點和邊緣,但是Harris算子不需要計算具體的特征值,而是定義角點響應值R來判斷角點,特征值是隱含在detM和traceM中
(3)
式中,detM為矩陣M的行列式;traceM為矩陣M的直跡;α為經驗常數。
計算每一個像素的角點響應值R,對小于某一閾值的R設置為零,大于閾值的R保留,在一個n×n的鄰域內進行非極大值抑制,即某一像素的角點響應值R為鄰域極大值,則判別該像素為建筑物邊緣點。
1.3 特征向量構建
支持向量機分類技術中,特征向量的選擇和提取是重要環節。在輸入訓練點集后,需要提取影像的屬性特征,構建特征向量,以作為SVM分類器的輸入訓練數據。根據不同類型的無人機影像,選取不同的屬性特征。一般情況下,多列舉與分類有關的特征,可以充分利用各種有用的信息,改善分類精度。
本文特征向量選擇方案如下:根據影像中建筑物邊緣互相垂直的特性,可以分離建筑物的角點和邊緣線上的點。觀察建筑物邊緣點集圖可知:對任意一點A,找到與之距離最近的兩個點B和C,擬合成角∠BAC,計算角度ρ=∠BAC。以坐標原點為基準,建筑物角點大致分為4個方向上的點,計算每一個點到原點的距離d,設置一定的取值范圍,在范圍以內的點為建筑物角點。通過Harris算子的二階梯度,計算邊緣點集的響應值R,對小于某一閾值的R設置為零,大于閾值的R保留,在一個n×n的鄰域內進行非極大的鄰域內進行非極大值抑制,最終保留的像素點為建筑物角點。綜上可以構建特征向量
1.4 角點SVM構建
通過Harris算子獲得建筑物的邊緣點集,從建筑物邊緣點集中隨機選取部分點作為樣本集(xi,yi),其中i=1,2,…,n,n為樣本數,xi∈Rd為建筑物角點樣本的特征向量,yi∈(0,1)為特征向量的分類標識,其中0表示非建筑物角點,1表示建筑物角點。通過構建角點SVM對建筑物邊緣點集進行分類:首先通過高斯徑向基函數將建筑物邊緣樣本點映射到高維特征空間,如下
K(xi,y)=exp(-‖x-xi‖2/σ2)
(4)
在這個高維線性空間中構造最優分類超平面,最大間隔將建筑物角點和非建筑物角點分隔開,如下
ω·φ(x)+b=0
(5)
式中,ω∈R(d),b∈R(d)的都進行了規范化。引入一個非負松弛變量ξi放寬約束條件,能夠在最大限度上滿足大部分數據的分類正確,最優分類超平面問題可以描述為
(6)
式中,C為懲罰參數,C越大表示對錯誤分類的懲罰越大。
采用拉格朗日乘子法求解建筑物角點二分類問題,即

(7)
式中,αi、βi為拉格朗日乘子,0≤αi,0≤βi。由此得到
(8)
(9)

(10)
將式(8)、式(9)、式(10)代入式(7)得到對偶最優化問題
0≤αi≤C
(11)
由式(11)得到決策函數和參數b分別為
(12)
(13)
式中,sign(·)為符號函數;αi為拉格朗日乘子,0≤αi;NNSV為標準支持向量數;JN為標準支持向量的集合;J為支持向量的集合;b是分類閾值。
選擇適當的懲罰系數C與核函數寬度g,通過以上步驟,構建角點SVM分類模型。
2.1 試驗數據及預處理
為了驗證本文前面提出的方法,選擇輸入數據為廣西某地無人機航拍影像,影像大小為764×375像素,含可見光及近紅外4個波段,該區域原始影像如圖2所示。考慮到影像中植被的葉綠素在波長0.65~0.7 μm的譜段形成強吸收帶,通過近紅外與紅光波段反射率的歸一化比值提取植被信息,歸一化植被指數(NDVI)可以使植被區域和非植被區域分離開,使用ENVI軟件對影像進行NDVI植被指數計算,計算結果如圖3(a)所示。通過Matlab 2013a編程平臺對去除植被干擾的影像進行面向對象分割,粗建筑物輪廓提取如圖3(b)所示。

圖2 研究區無人機影像

圖3 試驗數據預處理結果
2.2 建筑物邊緣點集計算
對預處理的影像進行建筑物邊緣點集計算。通過Harris算子從水平和垂直方向上對影像進行梯度計算,獲得圖像Ix與Iy,同時x,y方向進行協方差相乘獲得圖像Ixy。采用高斯函數對圖像進行邊緣增強,設置高斯窗函數為[7×7],sigma值設置為2,計算每一個像元點響應值R,設置閾值T為R中最大值的0.01倍,并對小于閾值T的R置為零。在[7×7]的鄰域內進行非極大值抑制,局部極大值點即為建筑物邊緣點。
試驗首先選取經驗常數α=0.04,計算所得邊緣點為251個,如圖4(a)所示,發現建筑物邊緣點有聚簇現象,后來選取經驗常數α=0.2,計算所得邊緣點為116個,如圖4(d)所示,發現部分角點有缺失現象;選擇經驗常數α=0.06,計算所得邊緣點為255個,如圖4(c)所示;選擇經驗常數α=0.08,計算所得角點為231個,如圖4(b)所示。
分析圖4發現,α值較大時,邊緣點與角點的數量減少,增大角點檢測誤差;α值較小時,邊緣點與角點的數量增加,產生點聚簇現象,增大分類計算復雜度。因此,本文選擇經驗常數α=0.1,這樣可以保證在不缺失建筑物角點的前提下,降低檢測候選點的數量,提高檢測效率。計算結果見表1。

表1 Harris算子計算結果

圖4 不同經驗值α計算的邊緣點集圖
表1是Harris算子對影像進行梯度計算的結果:在x方向與y方向的一階梯度的最大值與最小值相同,根據梯度的計算值Ix與Iy與x、y方向協方差相乘值Ixy構建自相關矩陣M

由矩陣M計算角點響應值R,其中Rmax=1.863×108,選擇閾值T=0.01×Rmax=1.863×106對R進行非極大值抑制后,計算所得邊緣點為202個,邊緣點集如圖5所示。

圖5 由Harris計算的建筑物邊緣點集圖
2.3 特征向量構建

對邊緣點集中任意一點A,尋找與之距離最近的兩個點B和C,擬合成角∠BAC,計算角度ρ=∠BAC。若ρ≈90°,則i為建筑物角點;若ρ≈180°,則A為建筑物邊緣線上的點,否則A為干擾噪聲點。根據這個特點計算每一個點的角度ρ,ρ的取值范圍見表2。

表2 ρ的取值范圍
以坐標原點(圖像左上角)為基準,建筑物角點大致分為4個方向上的點,計算每一個點到原點的距離d,設置一定的取值范圍,在范圍以內的點為建筑物角點。距離d的范圍見表3。

表3 距離d的取值范圍
通過Harris算子的二階梯度計算邊緣點集的響應值R,對小于某一閾值的R設置為零,大于閾值的R保留,在一個n×n的鄰域內進行非極大值抑制,最終保留的像素點為建筑物角點,見表4。

表4 Harris算子二階梯度計算角點響應值
2.4 建筑物角點提取
2.4.1 模型構建
試驗在Matlab 2013a編程環境中完成,通過libsvm3.21工具箱構建角點SVM模型,從前文計算的邊緣點集202個點中隨機選取部分點作為樣本點。本試驗中隨機選取了179個樣本點,含角點與非角點兩種類型,手動將樣本點中的建筑物角點標記為1,非建筑物角點標記為0,構建模型時缺省核函數為高斯徑向基函數,參數C和g采用基于交叉驗證的網格搜尋方法來取值,最終選擇懲罰參數C=2,核函數寬度g=0.01,采用最佳參數C與g對整個訓練集進行訓練獲取支持向量機模型,訓練結果信息見表5。

表5 SVM模型參數
表5中,#iter為迭代次數,Nu為設置nu-SVC中參數nu值,Obj為求解二次規劃問題的最小值,rho為記錄的決策函數中常數項b,nsv是指支持向量個數為179個,nbsv是指位于邊界的支持向量個數。訓練模型構建完成后,文件顯示為一個結構體變量,記錄了得到的分類模型中的各種參數構成的結構體量(見表6)。

表6 角點SVM模型參數取
表6中SVM模型中記錄了libsvm_options的參數選項[-s-t-d-g-r],其中s=0指本模型中選擇的libsvm類型為分類問題專用的C-SVC,t=2指構建模型時選擇的核函數類型為徑向基RBF函數,d=3指核函數多項式中的degree設置為3次,g=0.01指該核函數寬度為0.01,r=0指核函數中的coef0項,是針對多項式和sigmoid核函數的,缺省值為0。nr_class為2指待分類的點一共被分成了兩類;TotalSV=179記錄了總的支持向量的個數;rho=-0.915 5為決策函數中常數項b的相反數:Lable中記錄了所分類別的標簽,因為是二分類問題,所以只有0和1兩個值,表示將建筑物的邊緣點集分成了兩類。除了上述信息,該模型文件中還詳細記錄了支持向量的索引目錄sv_indices、具體支持向量值SVs、決策函數中支持向量的系數sv_coef。
2.4.2 建筑物角點提取
使用SVM分類模型,對202個建筑物邊緣點集進行分類,分類結果如圖6所示,其中建筑物角點10個,錯分角點有2個,非建筑物角點192個,整體分類精度較高,將所提取的角點連接到一起,可以成功提取出建筑物。在最后通過SVM模型對角點分類提取時運行時間為2.014 s,效率較高。

圖6 SVM法識別與提取的建筑物角點
2.5 結果分析
分類前后結果對比如圖7所示,成功從圖7(a)中的202個點中提取出建筑物角點,其中圖7(b)中灰色的點表示提取的建筑物角點。根據提取的結果,成功標繪出建筑物的位置和大小。

圖7 建筑物邊緣點集分類前后對比
為驗證分類效果,分別從角點分類精度和提取的建筑物面積兩方面對分類結果進行對比分析。首先,從表7可以看出,在通過SVM分類方法進行建筑物角點提取時,漏檢角點數為0,錯檢角點數為2,這是因為建筑物屋頂部分紋理和亮度值變化較大,相對比較難區分建筑物角點和邊緣點,因此將2個邊緣點錯分為建筑物角點。

表7 建筑物角點提取結果
本文針對無人機影像中單個建筑物角點的快速識別,通過原理分析與試驗研究提出了一種基于支持向量機的角點分類檢測方法。在研究中使用了廣西某地無人機的4波段光學、紅外影像。為了保證算法的泛化能力,隨機選取了179個樣本點對建筑物邊緣點集進行訓練獲取本文的SVM模型,成功提取建筑物角點。
與目前角點提取方法相比,本文提出的方法可以在保證分類精度的同時降低運算的復雜度,提高建筑物角點檢測的精度,可進一步提取出輪廓清晰,形狀完整的建筑物。
[1] 史先琳,楊武年. 城市基礎地理信息與公共平臺數據差異與轉換[J]. 測繪通報, 2014(6): 89-91.
[2] 雷添杰,李長春,何孝瑩. 無人機航空遙感系統在災害應急救援中的應用[J]. 自然災害學報,2011,20(1):178-183.
[3] 賴祖龍,申邵洪,程新文,等. 基于圖斑的高分辨率遙感影像變化檢測[J]. 測繪通報,2009(8):17-20.
[4] 羅伊萍,姜挺,王鑫,等. 支持向量機的建筑物激光腳點提取方法[J]. 測繪科學,2011,36(4):173-175.
[5] CUI Shiyong,YAN Qin,LIU Z J.Right-angle Building Extraction Based on Graphsearch Algorithm[C]∥2008 International Workshop on Earth Observation and Remote Sensing Applications.[S.l.]:[s.n.],2008.
[6] CUI Shiyong, YAN Qin, REINARTZ P. Complex Building Description and Extraction Based on Hough Transformation and Cycle detection[J]. Remote Sensing Letters, 2012,3(2): 151-159.
[7] TURKER M,KOC-SAN D.Building Extraction from High-resolution Optical Spaceborne Images Using the Integration of Support Vector Machine (SVM) Classification, Hough Transformation and Perceptual Grouping[J]. Inteniational Journal Applied Earth Observation and Geoinformation, 2015, 35(5): 58-69.
[8] 杜藝,龔循平. 利用改進的SUSAN算法提取航空影像中孤立的特征點[J]. 測繪科學,2011,36(6):131-132,94.
[9] 馬瀟瀟,張光勝,李長春,等. 改進支持向量機算法無人機影像信息精確提取[J]. 測繪科學,2015,40(3):47-51.
[10] 吳秀蕓,李艷,周華. 基于角點檢測的建筑物輪廓矢量化方法[J]. 遙感信息,2011(5):95-99.
[11] 崔有禎,吳露露,辛星,等. 基于改進Harris算法的高分辨率遙感影像建筑物角點檢測研究[J]. 測繪通報,2013(9):24-26.
[12] 嚴巖. 高空間分辨率遙感影像建筑物提取研究綜述[J]. 數字技術與應用,2012(7):75-76,78.
[13] 閆麗麗. 基于散射特征的極化SAR影像建筑物提取研究[D].徐州:中國礦業大學,2013.
UAVImageDetectingofSingleBuilding’sAngularPointsMethodBasedonSVM
LI Lingzhi1,LI Baishou1,2,SHEN Yuzhen1,XU Rui3
(1. Guilin University of Technology, Guilin 541004, China; 2. Guangxi Key Laboratory of Spatial Information, Guilin 541004, China; 3. Nanning Exploration & Survey Geoinformation Institute, Nanning 530022, China)
In view of the present situation of single building’s angular points detection in UAV images, this paper proposes a method that based on support vector machine (SVM) to detect the corner of the building.Firstly,the UAV image with four bands to complete multi-scale segmentation,calculates the NDVI of this image,to eliminate the effect of vegetation by the spectral differences between vegetation and non-vegetation areas;Secondly, using object-oriented classification to extract “building block” from the image,and the edge detection for the “building block” completed by Harris,then it comes into being edge point set of building and extracts some points as samples randomly. The edge sample points are mapped to high-dimensional feature spaces by Gauss RBF and construct the feature vector,the SVM classification model is trained by edge point set.Finally,the correct building corner is detected by the SVM classification model from the rough edge points, and the corner of the single building is extracted.
support vector machine; Harris algorithm; building; corner detection
李靈芝,李百壽,沈宇臻,等.一種基于SVM的無人機影像中單個建筑物的角點檢測方法[J].測繪通報,2017(10):52-57.
10.13474/j.cnki.11-2246.2017.0502.
2017-02-08;
2017-03-22
國家自然科學基金(41161073);廣西自然科學基金(2016GXNSFAA380013;2014GXNSFDA118038);桂林市科學研究與技術開發計劃(2016012601);重慶基礎科學與前沿技術研究項目(cstc2015jcyjB028)
李靈芝(1990—),女,碩士,主要研究方向為遙感圖像處理。E-mail: lzdmyyww@sina.com
李百壽。E-mail: lbszhb@163. com
P237
A
0494-0911(2017)10-0052-06