張肅



摘要:無人機航空攝影技術在近年來得到了迅速的發展,無人機具有起降方便,分辨率高,響應速度快的特點,在搶險救災,地質災害監測等方面發揮了重要作用。無人機航空攝影生成的地形圖中的高程點提取是地形圖制作的重要步驟,本文提出了一種自適應的地形圖高程點提取算法,相對于傳統的算法,具有精確度高,計算簡單,實用性強等特點。該算法的基礎是數學形態學中的圖像膨脹算法。本文將此算法用于陜西省丹鳳縣和紫陽縣的無人機航攝生成的地形圖中,提取了符合要求的高程點。結果表明,提取的高程點完全滿足了地形圖的要求,說明了該算法的準確性和實用性。
關鍵詞:無人機;地形圖;高程點;算法
A fast extraction algorithm for surface peaks of DEM derived from
UAV aerial photography
zhang su
Abstract:UAV aerial photography technology has been rapidly developed in recent years. UAV has the advantag- es of convenient take-off and landing, high resolution and fast response, and plays an important role in disaster relief and geological disaster monitoring. The surface peaks extraction in the topographic map generated by aerial photogra- phy of UAV is an important step in topographic map production. This paper proposes an adaptive topographic map sur- face peaks extraction algorithm, which has higher accuracy and simple calculation than traditional algorithms. And this method is more practical. The basis of this algorithm is the image expansion algorithm in mathematical morphology. In this paper, the algorithm is applied to the topographic map generated by the UAV aerial photography in Danfeng County and Ziyang County of Shaanxi Province, and the surface peaks that meet the requirements are extracted. The results show that the extracted surface peaks fully meet the requirements of topographic maps, indicating the accuracy and practicability of the algorithm.
key word:UAV ,DEM ,surface peaks, algorithm
1.無人機航攝的應用與發展
無人機航空遙感是近年來發展起來的一種遙感技術的新手段和遙感技術研究的一個熱點領域,具有低空云下飛行、起降方便、分辨率高的特點,是衛星遙感和有人機航空遙感的重要補充,現在無人機攝影已經廣泛用于地質災害搶險救災等領域[1]。無人機航空數據相對衛星數據來說,受天氣的影響要小,數據快速獲取的效率更高。例如,在2018年10月發生的西藏雅魯藏布江沿岸山體滑坡及四川與西藏交界金沙江山體滑坡形成堰塞湖時,無人機都發揮了重要作用,在第一時間取得了災害區域的影像,為搶險救災提供了重要的數據影像支持,為救災的決策提供了重要的依據[2]。而傳統衛星由于重訪期和云層遮蔽的關系,有可能不能獲得實時的衛星影像。
無人機航空攝影除了可以取得航攝區域的高精度影像,還可以根據拍攝的航片,通過數據處理軟件例如PixGrid,Pix4d Mapper等軟件,得到航攝區域的DEM數據(數字高程模型)。如果有地面測量的控制點資料,無人機生成的DEM數據精度可以達到米級。相對于傳統的地形圖生產制作模式,無人機航攝數據制作的地形圖具有精度高,制作時間短等特點,非常適合小規模區域內的地形圖快速制作。
2.地形圖高程點的提取的基本原理
地形圖制作中很重要的一個步驟是高程點的提取。傳統的地形圖中,高程點即標有高程數值的信息點,通常與等高線配合表達地貌特征的高程信息。高程點分布表達上具有豐富的影像相關特征,除個體高程屬性上的差異外,一方面與重要地形特征單元(如山峰、鞍部及山谷等)、河流、道路等自然或人文要素目標間的分布關系,使得個體高程點在地理性質上具有不同的重要性意義;另一方面區域地形的起伏變化,使得高程點群在空間分布上呈現不同的疏密關系,在地形起伏變化較大,即地形的變化高頻地區,高程點的密度也較大。在地形起伏變化較小,即地形的變化低頻地區,高程點的密度也較小。高程點信息和無人機的影像一起給地形圖使用者提供了重要的地形信息及決策判斷依據[3]。
地形圖上的高程點一般分為三類:(1)地形特征高程點。例如山峰、山體鞍部、洼地等地形特征,山峰是局部區域制高點,并且山峰的視線最為廣闊、鞍部處于兩座山峰之間,是連接兩座山峰的路徑選擇的必經區域、洼地所處的地勢是局部最低的,并且是水源存在的地方,因此地形特征上的高程點提供的高程信息明確地指出了這些特殊的地形。
(2)重要地理目標臨近的高程點。重要地理目標如道路、居民地、特殊建筑、河流等。這些地理目標是地圖表達的重要對象,鄰近區域內的高程信息更為地形圖使用者所重視,如道路兩側的高程信息是公路建設選線需要考慮的一個重要因素。河流的高程點信息可以表現河流的平緩程度,對于水路運輸是否可行提供了重要的參考信息。這一類高程點可以根據影像上的地理目標加以判斷,并在關注的地理目標旁進行高程點的標注。
(3)分布范圍上的關鍵高程點。這一類高程點對于高程點空間分布的特征有重要的影像,屬于特征的重要組成部分。一旦關鍵的高程點被刪除,整個高程點的空間分布會發生重大改變。這一類高程點可以利用空間分布的權重進行分析并加以判斷。
本文的主要研究目的是研究第一類高程點的提取,傳統的提取方法包括由等高線生成柵格DEM模型,針對每個高程點設置以該點為中心的R×R柵格窗口,然后分析中心柵格點與周圍其他柵格點的高程關系進行判斷。Wood J.提出了從地形特征點的幾何形態特征研究了DEM提取山頂點的算法[4],提出在局部區域內用x方向和y方向關于高程z的二階偏導數的正負性來判斷山頂點算法,從而提取出高程點。劉淑瓊等人提出了通過柵格數據的空間分析,窗口計算功能以及疊置分析提取DEM的山頂點的算法[5]。陳盼盼等人提出了GIS柵格數據鄰域分析功能快速提取山頂點的算法[6]。鄒寶裕等人提出了基于封閉等高線套合法提取山頂的算法[7]。劉宏建等人以基于流域剖分的山頂點自動提取方法為基礎,詳細闡述了流域剖分提取高程點模型的建立過程[8]。以上方法均需要在專業軟件如Arcgis中進行空間分析及運算,步驟較為復雜。本文提出了一種改進的自適應的高程點提取算法,可以調整提取的高程點群的空間分布疏密程度,從而滿足不同使用者對于地形圖的要求,并且運算的復雜度和傳統的算法相比要簡單,有更高的計算效率和實用性。
3.研究方法及技術路線
本文算法的思路是通過對無人機生成的DEM進行動態的、全局的分析,并通過搜索局部極值的方式來尋找第一類高程點。DEM數據可以認為是一組2維的矩陣,山峰在影像上的形態可以等同于DEM矩陣上局部最大值。算法的核心思想是通過局部極大值間距的確定,對2維矩陣進行圖像膨脹運算,通過局部極大值的算法尋找局部極大值并進行標注。該算法的優點在于,可以自定義極大值之間的距離,從而人工的調節極大值疏密程度,滿足不同的使用者對于地形圖信息的需求。當地形圖使用者僅僅是需要整個區域內的地形大致分信息時,可以將極大值的間距調稍大一些。如果地形圖使用者對區域內的地形圖的地形信息要求非常的詳細準確時,可以極大值的間距調稍小一些,生成密度較大的高程點群,滿足使用者的要求。當尋找完DEM區域內的高程點后,可以將高程點群的平面坐標和高程值進行輸出,并將高程點所在矩陣的行列數轉換為大地平面直角坐標系,以便用于高程點在地形圖上的標注。對于尋找洼地等最低值,可以將DEM的高程值取其絕對值的負數,然后運行此算法,即可將尋找洼地的最低值轉換為尋找局部最大值的問題。整個程序在MATLAB軟件中進行編譯和運行。尋找高程點的算法流程圖如圖1所示。
3.1DEM數據從地理坐標轉換為矩陣坐標
無人機處理軟件得到的DEM數據一般為.tif格式或者為.img格式,通常帶有DEM的坐標信息,而坐標信息詳細的描述了每一個點所在的平面直角坐標系所處的位置,將DEM數據轉換為二維矩陣,導入到MATLAB軟件之后,每一個DEM點對應矩陣的一個元素,需要將DEM點的地理坐標轉換為矩陣的行列數,地理坐標和矩陣坐標之間的關系可以由公式(1)進行描述:
x_image=y_matlab;
y_image=a(1)-x_matlab;
x_arcgis=R*x_image+x1;
y_arcgis=R*y_image+y1;(1)
其中,x_matlab,y_matlab,表示矩陣的行列數,而x_arc-gis,y_arcgis表示了DEM點的地理坐標,R為DEM的空間分辨率,x1,y1分別為DEM在地理坐標系中x軸最小值和y軸最小值。x_image,y_image表示了DEM點在一幅普通的影像上的坐標值。通過公式(1),即可將DEM的點映射到相應的二維矩陣上。
3.2確定局部極大值之間的間距
對于一副地形圖,不同的使用者對高程點的疏密程度有不同的要求。如果為了得到更加詳盡的高程點信息,可以先將局部極大值的間距調整為一個較小的值,本文使用的地形圖為1∶5000比例尺的地形圖,采用了50m的極大值間距進行處理。如果發現生成的高程點分布過密,可以加大極大值的間距,重新進行運算,得到相對稀疏的高程群分布。在程序中,通過設定mindist變量的值進行極大值間距定義,具體語句為:
minDist=[2525];
因為DEM的分辨率為2m,所以實際的極大值間距為50m。
3.3通過局部極大值搜索算法尋找高程點群
本文采用的局部極大值的搜索算法為數學形態學的膨脹算法,膨脹算法主要用途為消除噪聲;分割出獨立的圖像元素,在圖像中連接相鄰的元素;尋找圖像中明顯的極大值區域;其基本算法步驟如下:
1定義一個卷積核B
核可以是任何的形狀和大小,且擁有一個單獨定義出來的參考點-錨點(anchorpoint);
通常和為帶參考點的正方形或者圓盤,可將核稱為模板或掩膜;
2將核B與圖像A進行卷積,計算核B覆蓋區域的像素點最大值;
3將這個最大值賦值給參考點指定的像素。通過局部極大值的算法,可以尋找到二維矩陣的局部極大值,其原理示意圖如圖2所示。
從圖2中可以看出,標注為黑色“*”的點即為局部極大值點,標注為青色“*”極為局部極小值的點,通過該算法就可以尋找山峰和洼地兩類高程點。
3.4調整局部極大值的間距并且得到需要的高程點群
根據使用者的需求,調整mindist變量的值,根據不同的局部極大值的間距的值,得到不同疏密程度的高程點群的空間分布,直到該分布滿足使用者的預期要求為止,圖3顯示了不同的間距對于高程點群的空間分布的影像,可以看出,間距為50m時,得到的高程點密度明顯要大于間距為100m時的高程點密度。
3.5轉換高程點群的坐標并輸出高程點文件
高程點在矩陣中的位置為行列數,應該將行列數轉換為平面直角坐標,才能與地形圖的坐標系相匹配。本步驟也可以通過公式(1)進行坐標系的轉換。得到平面直角坐標之后,和高程點的高程值一起,用xlswrite命令輸出到Ex-cel文件中,將.xls文件導入到Arcgis軟件之中,便可以得到高程點文件。
4.研究結果
本文對陜西省丹鳳縣和紫陽縣無人機航測生成的地形圖進行了高程點的提取,結果如圖4所示,地形圖使用的比例尺為1∶10000,該地形圖的主要用途的地質災害遙感解譯。圖4分別展示了丹鳳縣和紫陽縣的局部地形,從圖中可以看出,該算法很好的提取了所需要的高程點,較好地完成了高程點的標注任務。
5.結論
本文提出了一種自適應動態的高程點提取算法,對傳統的高程點提取算法進行了改進,該算法相對于傳統算法,步驟和計算過程都相對簡單,減小了使用者的操作及學習負擔。該算法可以自由地調整高程點之間的間距,從而得到最適合使用者需求的高程點群分布。本文通過對不同區域的無人機航攝生成的地形圖進行試驗,提取了符合要求的高程點群,說明了此算法的穩定性和實用性。表明了此算法是日益發展的無人機航攝地形圖制作過程的有效工具。參考文獻:
[1]支衛斌.無人機航空攝影測量在地形測繪中的應用[J].江西建材,2015(08):224-225.
[2]湯國安,劉學軍,閭國年.數字高程模型及地學分析的原理與方法[M].科學出版社,2005.
[3]金沙江西藏段河道水情基本恢復正常,中國政府網.
[4]Wood J,1996,The geomorphological characterization of Digital Ele- vation Models, PhD Thesis Department of Geography, University of Lancaster, UK
[5]劉淑瓊,鄒時林,鄒勝武,etal.基于規則格網DEM提取山頂點的研究[J].東華理工大學學報(自然科學版),2013(s1):93-95.
[6]陳盼盼,張友順,王春,etal.基于DEM的山頂點快速提取技術[J].現代測繪,2006,29(02):11-13.
[7]鄒寶裕,董丞妍,茍嬌嬌,etal.數字高程模型提取山頂點及空間格局差異[J].遙感信息,2016,31(02):124-128.
[8]劉宏建,劉建忠,蔡中祥,etal.一種基于流域剖分的山頂點提取方法[J].測繪科學技術學報,2014(02):12-15.