唐昊,馮德俊,曹文峰,德云樂強,王淳
(1.中國工程物理研究院計算機應用研究所,四川 綿陽 621900;2.西南交通大學 地球科學與環(huán)境工程學院,成都 610097)
對于基本測繪數(shù)據(jù)匱乏地區(qū)(如國外某區(qū)域、貧困落后地區(qū))進行大區(qū)域建筑物三維建模時,獲取建筑物高度信息是該工作的關(guān)鍵。當前獲取建筑物高度信息的方法可分為三類。一是利用影像的立體像對,根據(jù)空中三角測量原理計算建筑物高度,該方法理論精度較高,但需要具有一定重疊度的兩幅或多幅影像。二是獲取建筑物的陰影信息,計算陰影長度,然后根據(jù)太陽高度角和方位角,模擬陰影與建筑物之間的空間幾何關(guān)系估算建筑物高度,該方法只需要一幅影像,成本相對較低,但當建筑物比較密集,或地面地物復雜時,無法獲取建筑物完整的陰影信息。三是利用LiDAR數(shù)據(jù)獲取建筑物的高度信息,該方法適用范圍較小[1-2]。
課題組做了多年的陰影反演建筑物高度的研究[3-6],采用基于建筑物陰影圖像特征或者用深度學習方式提取建筑物陰影,去噪后再根據(jù)光照模型反演建筑物高度。研究發(fā)現(xiàn),該方法有一定的局限性,如建筑物比較密集時,前排建筑物陰影可能會投影到后排建筑物上,導致提取的建筑物陰影不完整;或者相鄰建筑物的陰影粘連在一起;或者太陽光照不強時,地面陰影不明顯;或者投影到地面的陰影受地面植被等物體較大的影響等,這些情況均會導致這部分建筑物的高度無法通過陰影信息進行計算。
因此,論文試圖利用深度學習等方法獲取建筑物側(cè)面信息,計算其長度,然后根據(jù)衛(wèi)星與建筑物之間的空間幾何關(guān)系,估算建筑物的高度,以彌補利用陰影信息計算建筑物高度方法的缺陷。國內(nèi)外已有部分文獻在研究該問題[7],但研究內(nèi)容主要涉及的是較簡單的場景,并且沒有和陰影提取方法進行對比結(jié)合。
論文方法研究需具備以下前提條件。
1)空間分辨率較高的遙感影像??臻g分辨率較高的遙感影像才能得到像素較多的側(cè)面,如亞米級的QuickBird影像或分辨率更高的航空影像。
2)非正射投影成像。利用建筑物側(cè)面估算建筑物高度時,必然需要在遙感影像中可見建筑物的側(cè)面,而當衛(wèi)星高度角為90°或接近90°時,遙感影像的側(cè)面顯示不明顯。因此,可見側(cè)面的長度不能太短,否則無法識別出對應建筑物的高度信息。
3)太陽和衛(wèi)星處于建筑物的同側(cè)。當太陽和衛(wèi)星處于建筑物的同側(cè)時,建筑物側(cè)面的光譜特征比較明顯,結(jié)合形狀特征和紋理特征,有利于建筑物側(cè)面的提取。
4)建筑物外部結(jié)構(gòu)規(guī)則、整齊。如果建筑物外部結(jié)構(gòu)不規(guī)則,則需要使用更加復雜的物理模型對建筑物高度進行計算。并且建筑物外部結(jié)構(gòu)不規(guī)則會影響建筑物側(cè)面的提取精度,也不利于建筑物高度的反演。
5)建筑物側(cè)面被遮擋少。當建筑物比較密集時,相鄰建筑物之間會相互遮擋,或則相鄰建筑物的陰影會投影到另一棟建筑物側(cè)面上;如果地面植被較多時,也會對建筑物側(cè)面產(chǎn)生遮擋。
在滿足以上五個前提的情況下,衛(wèi)星和建筑物的空間位置如圖1所示。

圖1 衛(wèi)星與建筑物的空間位置關(guān)系示意圖
從圖1可以看出,建筑物的高度信息與衛(wèi)星的方位角和衛(wèi)星的高度角有著緊密聯(lián)系。因為遙感影像是二維圖,需要將影像復原到三維圖才能計算,二維圖和三維圖的關(guān)系如圖2所示。從圖2可以看出,影像上的建筑側(cè)面呈現(xiàn)為B面,而真實的建筑物的側(cè)面為A面。建筑物的實際高度與建筑物側(cè)面長度的關(guān)系如式(1)所示。
(1)
式中:H代表建筑物的實際高度;L代表建筑物側(cè)面在影像上的長度;β代表衛(wèi)星的高度角。

圖2 建筑物側(cè)面三維和二維的關(guān)系圖
實際上,大部分情況下衛(wèi)星拍攝的平行視線與建筑物朝向并不垂直,實際的形狀如面C所示,這樣需要考慮衛(wèi)星方位角與建筑物的朝向關(guān)系,十分復雜。為了簡化算法,只需要考慮建筑物的棱線方向,棱線即為建筑物側(cè)面的主方向,見圖3,確定棱線與屏幕Y方向的夾角,根據(jù)三角關(guān)系即可以計算出側(cè)面的實際長度。

圖3 構(gòu)建建筑物的棱線
論文實驗區(qū)是四川省成都市某區(qū)域,實驗數(shù)據(jù)是融合后的QuickBird影像。建筑物側(cè)面提取方法有兩種。一是傳統(tǒng)的閾值分割(Otsu算法)[8],并結(jié)合數(shù)學形態(tài)學進行處理。二是利用深度學習方法LVQ(learning vector quantization)神經(jīng)網(wǎng)絡(luò)[9-10]提取建筑物側(cè)面信息。下面對第二種方法的處理過程進行簡單介紹。
本文使用的 LVQ神經(jīng)網(wǎng)絡(luò),即學習矢量量化神經(jīng)網(wǎng)絡(luò),這是一種前向神經(jīng)網(wǎng)絡(luò),主要用于訓練競爭的神經(jīng)網(wǎng)絡(luò),且其中包含有監(jiān)督學習的方法。因此LVQ神經(jīng)網(wǎng)絡(luò)可以像神經(jīng)元一樣進行分類,這樣就能克服無監(jiān)督學習算法對分類產(chǎn)生的誤差及影響。根據(jù)LVQ神經(jīng)網(wǎng)絡(luò)能夠監(jiān)督學習這一特性,可利用LVQ神經(jīng)網(wǎng)絡(luò)對圖像進行簡單的二分類。例如,輸入一幅影像,設(shè)定其判別條件為圖片中是否含有飛機,如果有飛機則可以將此圖片定義為1輸出,若圖片中沒有飛機,則將圖片定義為0輸出。本文便是利用這一特點將LVQ神經(jīng)網(wǎng)絡(luò)視為一個分類器,將影像分為若干塊,影像特征滿足建筑物側(cè)面的影像塊定義為1,影像特征不滿足建筑物側(cè)面的影像塊定義為0,然后將定義為1的影像塊設(shè)為前景,定義為0的影像塊設(shè)為背景,這樣便能達到提取建筑物側(cè)面的目的。
1)選取訓練樣本。從遙感影像上裁剪大量的大小為256像素×256像素的能夠清晰看到建筑物側(cè)面的圖片并進行標注,將圖片轉(zhuǎn)為灰度圖像,然后將圖片中建筑物側(cè)面設(shè)為前景,其他地方設(shè)為背景。將標注好的圖片進行不同角度的旋轉(zhuǎn),使訓練樣本數(shù)量翻倍。其中一張標簽圖如圖4所示。

圖4 標簽圖
2)設(shè)置采樣參數(shù)。確定取塊的像素間隔和窗口大小,循環(huán)輸入原圖片和標簽圖片,按照取塊的像素間隔和窗口大小計算塊的數(shù)量,并以塊為單位,計算正負樣本量,并對樣本均勻采樣平衡正負樣本量。
3)設(shè)置輸入向量。對于大多數(shù)建筑物,側(cè)面與頂部的建筑材料相同,這可能造成建筑物側(cè)面與頂部的光譜特征相似,因此不能僅依靠光譜特征作為特征向量,還得加入建筑物側(cè)面的幾何特征和紋理特征一起構(gòu)成輸入向量。幾何特征主要由三個指標組成,分別為:提取面積的平方根與周長之比、周長與端點個數(shù)之比、特征基元的面積與外界矩形面積之比,組成三維形狀特征向量。紋理特征能反映一幅圖像中某一個局部區(qū)域內(nèi)的排列規(guī)則,但紋理特征只能反映地物表面的某些特征,不能反映更高層次的信息。紋理的描述可利用直方圖和像素相對位置的二階灰度共生矩陣的四個特性描繪子作為輸入向量,這四個描繪子分別為:一致性、熵、對比度和自相關(guān)。
4)歸一化輸入。在訓練一個模型時,為了加快學習過程,減少實驗時間,歸一化輸入特征向量。歸一化輸入主要分為兩步。第一步為零值均衡化,即訓練值與平均值之間的差的方差。第二步為根據(jù)上一步得到的方差歸一化數(shù)據(jù)集。
5)訓練和測試。根據(jù)設(shè)定的學習效率、迭代次數(shù)、神經(jīng)元個數(shù)和連接權(quán)值等數(shù)據(jù),得到神經(jīng)網(wǎng)絡(luò)中各參數(shù)的最或然值,然后進行測試,得到實驗區(qū)A和實驗區(qū)B的提取結(jié)果,如圖5和圖6所示。

圖5 實驗區(qū)A

圖6 實驗區(qū)B
對提取結(jié)果使用三個參數(shù)即側(cè)面漏檢率、側(cè)面誤檢率和側(cè)面總錯誤率來評價提取精度,其計算表達分別如式(2)、式(3)和式(4)所示。
(2)
(3)
(4)
式中:FSOC表示側(cè)面漏檢率;FSCE表示側(cè)面誤檢率;FSTE表示側(cè)面總錯誤率;FN表示建筑物側(cè)面未被檢測到的像素點的總數(shù);FE表示非建筑物側(cè)面像素點被誤檢為建筑物側(cè)面像素點的總數(shù);FY表示建筑物側(cè)面像素的真實總數(shù)。利用上述公式計算三個評定參數(shù),其計算結(jié)果如表1和表2所示。

表1 傳統(tǒng)方法建筑物側(cè)面提取精度表

表2 深度學習方法建筑物側(cè)面提取精度表
從表1、表2可以看出,深度學習方法提取的結(jié)果比傳統(tǒng)方法(Otsu算法)的精度略高,而且方法更簡便,說明這種提取方法是可行的。
建筑物實際高度估算分兩個步驟:計算提取的建筑物側(cè)面對應建筑物高部分的長度、利用式(1)所示方法計算建筑物實際高。
本文實驗區(qū)內(nèi)的建筑物側(cè)面大多為平行四邊形,可以通過直接測量的方式得到建筑物側(cè)面的長度。論文采用漁網(wǎng)法計算建筑物側(cè)面長度。根據(jù)漁網(wǎng)法的思想,在二值圖像上生成網(wǎng)線,并進行邏輯非運算,得到裁剪的線,對裁剪出來的線通過連通分量的形式統(tǒng)計在一個數(shù)組內(nèi),用拉依達規(guī)則進行篩選,再計算剩余線的像元個數(shù),求平均值,得到側(cè)面長度的最終結(jié)果。
計算出側(cè)面長度后,利用式(1)方法估算建筑物的高度。選取十棟建筑物的計算高度和實際高度進行比較,結(jié)果如表3和表4所示。

表3 基于傳統(tǒng)方法提取建筑物側(cè)面的反演結(jié)果精度評定

表4 基于深度學習方法提取建筑物側(cè)面的反演結(jié)果精度評定
為了更直觀地對比兩種方法建筑物側(cè)面提取的誤差對比,構(gòu)建了兩種方法反演的建筑物絕對誤差對比折線圖,其結(jié)果如圖7所示。

圖7 絕對誤差對比圖
從圖7可以看出,兩種方法都存在著一定的誤差,還需要不斷的改進??傮w而言,深度學習方法的絕對精度略高于閾值分割方法。
實驗發(fā)現(xiàn)以下情況會對本文方法的效果產(chǎn)生影響:建筑物底部植被過于茂盛,會導致建筑物與地面接觸的邊界線無法被直觀地選取出來;有的房屋的屋頂與側(cè)面的結(jié)構(gòu)和材質(zhì)比較一致,會干擾建筑物側(cè)面的提??;建筑物頂部結(jié)構(gòu)復雜,參差不齊,會導致側(cè)面不是一個規(guī)則的平行四邊形,影響側(cè)面長度的計算;過密集的建筑物群,露出的建筑物側(cè)面較少。
通過實驗對比發(fā)現(xiàn),在高分辨率遙感影像中利用建筑物側(cè)面信息估算建筑物高是可行的,而且可以與陰影計算建筑物高的方法相互補充,可以彌補陰影計算的一些缺陷,如比較密集的建筑物群區(qū)域,仍然可以獲取建筑物側(cè)面信息的情況。同時,本文方法不易實現(xiàn)的某些情況在陰影方法中可以實現(xiàn),如建筑物側(cè)面與頂部材質(zhì)比較一致時的情況。本文方法和陰影提取方法的互補性程度是后續(xù)研究需要進一步深入驗證的內(nèi)容。