唐昊,馮德俊,曹文峰,德云樂強(qiáng),王淳
(1.中國工程物理研究院計算機(jī)應(yīng)用研究所,四川 綿陽 621900;2.西南交通大學(xué) 地球科學(xué)與環(huán)境工程學(xué)院,成都 610097)
對于基本測繪數(shù)據(jù)匱乏地區(qū)(如國外某區(qū)域、貧困落后地區(qū))進(jìn)行大區(qū)域建筑物三維建模時,獲取建筑物高度信息是該工作的關(guān)鍵。當(dāng)前獲取建筑物高度信息的方法可分為三類。一是利用影像的立體像對,根據(jù)空中三角測量原理計算建筑物高度,該方法理論精度較高,但需要具有一定重疊度的兩幅或多幅影像。二是獲取建筑物的陰影信息,計算陰影長度,然后根據(jù)太陽高度角和方位角,模擬陰影與建筑物之間的空間幾何關(guān)系估算建筑物高度,該方法只需要一幅影像,成本相對較低,但當(dāng)建筑物比較密集,或地面地物復(fù)雜時,無法獲取建筑物完整的陰影信息。三是利用LiDAR數(shù)據(jù)獲取建筑物的高度信息,該方法適用范圍較小[1-2]。
課題組做了多年的陰影反演建筑物高度的研究[3-6],采用基于建筑物陰影圖像特征或者用深度學(xué)習(xí)方式提取建筑物陰影,去噪后再根據(jù)光照模型反演建筑物高度。研究發(fā)現(xiàn),該方法有一定的局限性,如建筑物比較密集時,前排建筑物陰影可能會投影到后排建筑物上,導(dǎo)致提取的建筑物陰影不完整;或者相鄰建筑物的陰影粘連在一起;或者太陽光照不強(qiáng)時,地面陰影不明顯;或者投影到地面的陰影受地面植被等物體較大的影響等,這些情況均會導(dǎo)致這部分建筑物的高度無法通過陰影信息進(jìn)行計算。
因此,論文試圖利用深度學(xué)習(xí)等方法獲取建筑物側(cè)面信息,計算其長度,然后根據(jù)衛(wèi)星與建筑物之間的空間幾何關(guān)系,估算建筑物的高度,以彌補(bǔ)利用陰影信息計算建筑物高度方法的缺陷。國內(nèi)外已有部分文獻(xiàn)在研究該問題[7],但研究內(nèi)容主要涉及的是較簡單的場景,并且沒有和陰影提取方法進(jìn)行對比結(jié)合。
論文方法研究需具備以下前提條件。
1)空間分辨率較高的遙感影像??臻g分辨率較高的遙感影像才能得到像素較多的側(cè)面,如亞米級的QuickBird影像或分辨率更高的航空影像。
2)非正射投影成像。利用建筑物側(cè)面估算建筑物高度時,必然需要在遙感影像中可見建筑物的側(cè)面,而當(dāng)衛(wèi)星高度角為90°或接近90°時,遙感影像的側(cè)面顯示不明顯。因此,可見側(cè)面的長度不能太短,否則無法識別出對應(yīng)建筑物的高度信息。
3)太陽和衛(wèi)星處于建筑物的同側(cè)。當(dāng)太陽和衛(wèi)星處于建筑物的同側(cè)時,建筑物側(cè)面的光譜特征比較明顯,結(jié)合形狀特征和紋理特征,有利于建筑物側(cè)面的提取。
4)建筑物外部結(jié)構(gòu)規(guī)則、整齊。如果建筑物外部結(jié)構(gòu)不規(guī)則,則需要使用更加復(fù)雜的物理模型對建筑物高度進(jìn)行計算。并且建筑物外部結(jié)構(gòu)不規(guī)則會影響建筑物側(cè)面的提取精度,也不利于建筑物高度的反演。
5)建筑物側(cè)面被遮擋少。當(dāng)建筑物比較密集時,相鄰建筑物之間會相互遮擋,或則相鄰建筑物的陰影會投影到另一棟建筑物側(cè)面上;如果地面植被較多時,也會對建筑物側(cè)面產(chǎn)生遮擋。
在滿足以上五個前提的情況下,衛(wèi)星和建筑物的空間位置如圖1所示。
圖1 衛(wèi)星與建筑物的空間位置關(guān)系示意圖
從圖1可以看出,建筑物的高度信息與衛(wèi)星的方位角和衛(wèi)星的高度角有著緊密聯(lián)系。因?yàn)檫b感影像是二維圖,需要將影像復(fù)原到三維圖才能計算,二維圖和三維圖的關(guān)系如圖2所示。從圖2可以看出,影像上的建筑側(cè)面呈現(xiàn)為B面,而真實(shí)的建筑物的側(cè)面為A面。建筑物的實(shí)際高度與建筑物側(cè)面長度的關(guān)系如式(1)所示。
(1)
式中:H代表建筑物的實(shí)際高度;L代表建筑物側(cè)面在影像上的長度;β代表衛(wèi)星的高度角。
圖2 建筑物側(cè)面三維和二維的關(guān)系圖
實(shí)際上,大部分情況下衛(wèi)星拍攝的平行視線與建筑物朝向并不垂直,實(shí)際的形狀如面C所示,這樣需要考慮衛(wèi)星方位角與建筑物的朝向關(guān)系,十分復(fù)雜。為了簡化算法,只需要考慮建筑物的棱線方向,棱線即為建筑物側(cè)面的主方向,見圖3,確定棱線與屏幕Y方向的夾角,根據(jù)三角關(guān)系即可以計算出側(cè)面的實(shí)際長度。
圖3 構(gòu)建建筑物的棱線
論文實(shí)驗(yàn)區(qū)是四川省成都市某區(qū)域,實(shí)驗(yàn)數(shù)據(jù)是融合后的QuickBird影像。建筑物側(cè)面提取方法有兩種。一是傳統(tǒng)的閾值分割(Otsu算法)[8],并結(jié)合數(shù)學(xué)形態(tài)學(xué)進(jìn)行處理。二是利用深度學(xué)習(xí)方法LVQ(learning vector quantization)神經(jīng)網(wǎng)絡(luò)[9-10]提取建筑物側(cè)面信息。下面對第二種方法的處理過程進(jìn)行簡單介紹。
本文使用的 LVQ神經(jīng)網(wǎng)絡(luò),即學(xué)習(xí)矢量量化神經(jīng)網(wǎng)絡(luò),這是一種前向神經(jīng)網(wǎng)絡(luò),主要用于訓(xùn)練競爭的神經(jīng)網(wǎng)絡(luò),且其中包含有監(jiān)督學(xué)習(xí)的方法。因此LVQ神經(jīng)網(wǎng)絡(luò)可以像神經(jīng)元一樣進(jìn)行分類,這樣就能克服無監(jiān)督學(xué)習(xí)算法對分類產(chǎn)生的誤差及影響。根據(jù)LVQ神經(jīng)網(wǎng)絡(luò)能夠監(jiān)督學(xué)習(xí)這一特性,可利用LVQ神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行簡單的二分類。例如,輸入一幅影像,設(shè)定其判別條件為圖片中是否含有飛機(jī),如果有飛機(jī)則可以將此圖片定義為1輸出,若圖片中沒有飛機(jī),則將圖片定義為0輸出。本文便是利用這一特點(diǎn)將LVQ神經(jīng)網(wǎng)絡(luò)視為一個分類器,將影像分為若干塊,影像特征滿足建筑物側(cè)面的影像塊定義為1,影像特征不滿足建筑物側(cè)面的影像塊定義為0,然后將定義為1的影像塊設(shè)為前景,定義為0的影像塊設(shè)為背景,這樣便能達(dá)到提取建筑物側(cè)面的目的。
1)選取訓(xùn)練樣本。從遙感影像上裁剪大量的大小為256像素×256像素的能夠清晰看到建筑物側(cè)面的圖片并進(jìn)行標(biāo)注,將圖片轉(zhuǎn)為灰度圖像,然后將圖片中建筑物側(cè)面設(shè)為前景,其他地方設(shè)為背景。將標(biāo)注好的圖片進(jìn)行不同角度的旋轉(zhuǎn),使訓(xùn)練樣本數(shù)量翻倍。其中一張標(biāo)簽圖如圖4所示。
圖4 標(biāo)簽圖
2)設(shè)置采樣參數(shù)。確定取塊的像素間隔和窗口大小,循環(huán)輸入原圖片和標(biāo)簽圖片,按照取塊的像素間隔和窗口大小計算塊的數(shù)量,并以塊為單位,計算正負(fù)樣本量,并對樣本均勻采樣平衡正負(fù)樣本量。
3)設(shè)置輸入向量。對于大多數(shù)建筑物,側(cè)面與頂部的建筑材料相同,這可能造成建筑物側(cè)面與頂部的光譜特征相似,因此不能僅依靠光譜特征作為特征向量,還得加入建筑物側(cè)面的幾何特征和紋理特征一起構(gòu)成輸入向量。幾何特征主要由三個指標(biāo)組成,分別為:提取面積的平方根與周長之比、周長與端點(diǎn)個數(shù)之比、特征基元的面積與外界矩形面積之比,組成三維形狀特征向量。紋理特征能反映一幅圖像中某一個局部區(qū)域內(nèi)的排列規(guī)則,但紋理特征只能反映地物表面的某些特征,不能反映更高層次的信息。紋理的描述可利用直方圖和像素相對位置的二階灰度共生矩陣的四個特性描繪子作為輸入向量,這四個描繪子分別為:一致性、熵、對比度和自相關(guān)。
4)歸一化輸入。在訓(xùn)練一個模型時,為了加快學(xué)習(xí)過程,減少實(shí)驗(yàn)時間,歸一化輸入特征向量。歸一化輸入主要分為兩步。第一步為零值均衡化,即訓(xùn)練值與平均值之間的差的方差。第二步為根據(jù)上一步得到的方差歸一化數(shù)據(jù)集。
5)訓(xùn)練和測試。根據(jù)設(shè)定的學(xué)習(xí)效率、迭代次數(shù)、神經(jīng)元個數(shù)和連接權(quán)值等數(shù)據(jù),得到神經(jīng)網(wǎng)絡(luò)中各參數(shù)的最或然值,然后進(jìn)行測試,得到實(shí)驗(yàn)區(qū)A和實(shí)驗(yàn)區(qū)B的提取結(jié)果,如圖5和圖6所示。
圖5 實(shí)驗(yàn)區(qū)A
圖6 實(shí)驗(yàn)區(qū)B
對提取結(jié)果使用三個參數(shù)即側(cè)面漏檢率、側(cè)面誤檢率和側(cè)面總錯誤率來評價提取精度,其計算表達(dá)分別如式(2)、式(3)和式(4)所示。
(2)
(3)
(4)
式中:FSOC表示側(cè)面漏檢率;FSCE表示側(cè)面誤檢率;FSTE表示側(cè)面總錯誤率;FN表示建筑物側(cè)面未被檢測到的像素點(diǎn)的總數(shù);FE表示非建筑物側(cè)面像素點(diǎn)被誤檢為建筑物側(cè)面像素點(diǎn)的總數(shù);FY表示建筑物側(cè)面像素的真實(shí)總數(shù)。利用上述公式計算三個評定參數(shù),其計算結(jié)果如表1和表2所示。
表1 傳統(tǒng)方法建筑物側(cè)面提取精度表
表2 深度學(xué)習(xí)方法建筑物側(cè)面提取精度表
從表1、表2可以看出,深度學(xué)習(xí)方法提取的結(jié)果比傳統(tǒng)方法(Otsu算法)的精度略高,而且方法更簡便,說明這種提取方法是可行的。
建筑物實(shí)際高度估算分兩個步驟:計算提取的建筑物側(cè)面對應(yīng)建筑物高部分的長度、利用式(1)所示方法計算建筑物實(shí)際高。
本文實(shí)驗(yàn)區(qū)內(nèi)的建筑物側(cè)面大多為平行四邊形,可以通過直接測量的方式得到建筑物側(cè)面的長度。論文采用漁網(wǎng)法計算建筑物側(cè)面長度。根據(jù)漁網(wǎng)法的思想,在二值圖像上生成網(wǎng)線,并進(jìn)行邏輯非運(yùn)算,得到裁剪的線,對裁剪出來的線通過連通分量的形式統(tǒng)計在一個數(shù)組內(nèi),用拉依達(dá)規(guī)則進(jìn)行篩選,再計算剩余線的像元個數(shù),求平均值,得到側(cè)面長度的最終結(jié)果。
計算出側(cè)面長度后,利用式(1)方法估算建筑物的高度。選取十棟建筑物的計算高度和實(shí)際高度進(jìn)行比較,結(jié)果如表3和表4所示。
表3 基于傳統(tǒng)方法提取建筑物側(cè)面的反演結(jié)果精度評定
表4 基于深度學(xué)習(xí)方法提取建筑物側(cè)面的反演結(jié)果精度評定
為了更直觀地對比兩種方法建筑物側(cè)面提取的誤差對比,構(gòu)建了兩種方法反演的建筑物絕對誤差對比折線圖,其結(jié)果如圖7所示。
圖7 絕對誤差對比圖
從圖7可以看出,兩種方法都存在著一定的誤差,還需要不斷的改進(jìn)??傮w而言,深度學(xué)習(xí)方法的絕對精度略高于閾值分割方法。
實(shí)驗(yàn)發(fā)現(xiàn)以下情況會對本文方法的效果產(chǎn)生影響:建筑物底部植被過于茂盛,會導(dǎo)致建筑物與地面接觸的邊界線無法被直觀地選取出來;有的房屋的屋頂與側(cè)面的結(jié)構(gòu)和材質(zhì)比較一致,會干擾建筑物側(cè)面的提??;建筑物頂部結(jié)構(gòu)復(fù)雜,參差不齊,會導(dǎo)致側(cè)面不是一個規(guī)則的平行四邊形,影響側(cè)面長度的計算;過密集的建筑物群,露出的建筑物側(cè)面較少。
通過實(shí)驗(yàn)對比發(fā)現(xiàn),在高分辨率遙感影像中利用建筑物側(cè)面信息估算建筑物高是可行的,而且可以與陰影計算建筑物高的方法相互補(bǔ)充,可以彌補(bǔ)陰影計算的一些缺陷,如比較密集的建筑物群區(qū)域,仍然可以獲取建筑物側(cè)面信息的情況。同時,本文方法不易實(shí)現(xiàn)的某些情況在陰影方法中可以實(shí)現(xiàn),如建筑物側(cè)面與頂部材質(zhì)比較一致時的情況。本文方法和陰影提取方法的互補(bǔ)性程度是后續(xù)研究需要進(jìn)一步深入驗(yàn)證的內(nèi)容。