陳 彪,彭欣月,周素紅,陳家亮,孔憲娟,卞明月,林高遠
(1.奧格科技股份有限公司,廣州510000;2.中山大學 地理科學與規(guī)劃學院,廣州510275)
中國農(nóng)村地域遼闊,建筑物作為典型的地物要素,是農(nóng)村生活空間的主體,同時也是鄉(xiāng)村振興用地的重要保障之一(徐濤 等,2022)。此外,農(nóng)村建筑物的三維場景一張圖是鄉(xiāng)村信息化建設的重要數(shù)據(jù)之一,通過對農(nóng)村建筑物識別可有效分析當前農(nóng)村的密集程度和土地利用率(古杰 等,2013;王利忠 等,2019),同時對優(yōu)化鄉(xiāng)村發(fā)展布局、促進鄉(xiāng)村振興實施具有重要的現(xiàn)實意義。但現(xiàn)階段農(nóng)村房屋數(shù)據(jù)較為稀缺,如何快速、準確地構(gòu)建農(nóng)村三維建筑模型是鄉(xiāng)村信息化建設的首要內(nèi)容。
早期三維建筑建模依靠人機交互,在二維矢量數(shù)據(jù)的基礎上,利用3dsMAX、CAD等軟件手動構(gòu)建建筑物三維模型(謝小魁 等,2016;單杰 等,2019)。該方式模型精度高,但存在建模成本高、耗時長、覆蓋范圍小、真實紋理采集困難等問題,無法滿足大范圍快速建模的需要(張春敏 等,2018;張俊輝 等,2020)。隨著傾斜攝影技術的廣泛應用,自動化三維建筑建模取得很大進展。也有研究結(jié)合航空立體像對與3dsMAX軟件完成了三維建模以及紋理映射(程慧,2013;李德仁 等,2015;文雄飛 等,2016;張春敏 等,2018)。陳良超等(2018)提出一種基于底面紋理的傾斜攝影模型動態(tài)單體化方法。周曉敏等(2016)采用傾斜影像聯(lián)合空中三角測量技術,通過多視影像密集匹配和自動紋理關聯(lián),實現(xiàn)城市高精度真三維模型的構(gòu)建。傾斜攝影技術為三維模型領域帶來新的方法,但該類方法計算過程復雜且對數(shù)據(jù)質(zhì)量具有較高的要求,所構(gòu)建的三維模型在近地面時常存在紋理模糊、丟失、扭曲形變等問題,無法還原精細、完整的真實建筑物的空間信息(王琦 等,2012;張茂正 等,2022)。此外,建筑單體化還需進行二次操作(包括建筑結(jié)構(gòu)重建與紋理貼圖),耗時更長。
近年來,高分辨率衛(wèi)星的飛速發(fā)展,為地物識別分析提供更豐富的途徑和資源(王艷陽 等,2020)。高分辨率衛(wèi)星數(shù)據(jù)集空間分辨率高,地物邊界、形狀和紋理也更加清晰,足以支撐對目標地物的識別,且覆蓋范圍大、采集周期較短、成本相對較低、受氣象條件影響較小,使得利用高分辨率衛(wèi)星影像快速制作大范圍三維建筑物模型成為現(xiàn)實(陳良超 等,2018)。如曹治國等(2006)利用IKONOS衛(wèi)星立體像對實現(xiàn)城市場景的快速三維重建。龍北平等(2021)基于無人機遙感影像利用遷移學習法實現(xiàn)鄉(xiāng)村建筑物的快速檢測,并結(jié)合參數(shù)化建模方法完成鄉(xiāng)村區(qū)域建筑物的三維模型重建。為了更好地滿足精細化實景三維建模的需求,基于多源數(shù)據(jù)融合的三維建模成為主流研究方向。目前,常見的融合建模方法主要結(jié)合航空攝影技術與LiDAR或地面近景攝影技術(連蓉 等,2017)。如張俊輝等(2020)利用WorldView-3 衛(wèi)星、Geo-Eye-1 衛(wèi)星影像和互聯(lián)網(wǎng)眾源影像完成迪拜市建筑物單體化建模。孫保燕等(2019)融合航攝影像與地面照片重建桂林市靖江王陵的三維模型。Yu 等(2021)利用深度學習從航空影像中提取建筑輪廓并構(gòu)建一級細節(jié)(LOD1)模型。上述研究中,最優(yōu)紋理的挑選與映射仍是三維重建需攻克的關鍵技術。大多數(shù)研究方法均圍繞城市三維建模展開,鮮少有針對農(nóng)村地區(qū)三維建筑建模的一套完整方案。若直接將城市三維建模方法應用在農(nóng)村地區(qū),會存在投資成本高、維護周期長等問題。
鑒于此,本文提出一種基于多源數(shù)據(jù)融合的農(nóng)村建筑智能識別與三維建模方法,基于高分遙感影像識別建筑的輪廓,形成基礎白模,然后依靠現(xiàn)場采集人員利用手機設備完善模型細節(jié),最后提供多端設備及三維技術展示建模成果。并以廣東省云浮市新興縣河村單體建筑為建模對象,采集建立了村莊的精細化三維建筑模型,以期實現(xiàn)鄉(xiāng)村精細化的管理。
在農(nóng)村地區(qū),眾包建模在資金投入方面顯然比傾斜攝影等建模方法更具成本優(yōu)勢,但眾包建模往往需要在操作流程上簡單易用,以便公眾參與。本文提出的基于多源數(shù)據(jù)融合的農(nóng)村建筑智能識別與三維建模方法,分為粗模生成和深化建模2個階段。在粗模生成階段,基于高分辨率遙感影像利用深度學習算法初步勾勒建筑基本形態(tài),包括位置、尺寸及方位;為解決由模型精度不高引起的建筑輪廓畸形等問題,提出建筑輪廓正則化算法和自適應的建筑校正算法;融合農(nóng)村的建筑高度信息則可拉伸成基礎三維白模。在深化建模階段,現(xiàn)場采集人員在基礎白模的基礎上,通過模型替換、尺寸調(diào)整、紋理貼圖等方式,逐步深化為精細化的三維建筑模型。最后,通過自動化的三維模型融合技術形成完整的農(nóng)村電子沙盤,支撐智慧農(nóng)村建設的各項應用??傮w技術流程如圖1所示。
圖1 農(nóng)村建筑建??傮w技術流程Fig.1 Overall technical flow of rural building modeling
基于深度學習的建筑目標提取已被證明比傳統(tǒng)的方法更有效(Bittner et al., 2018;胡舒 等,2020),其中,Mask R_CNN 算法(He et al., 2017;陸清嶼 等,2021)在建筑物識別方面表現(xiàn)出魯棒性,因此,利用Mask R_CNN算法實現(xiàn)建筑物的自動識別,其技術路線如圖2所示,主要分為模型訓練和模型測試2個階段。首先,從影像數(shù)據(jù)截取建筑物遙感影像建立樣本訓練集,利用LabelMe標注工具標記出遙感影像中建筑物的輪廓;然后,將訓練集輸入到Mask R_CNN網(wǎng)絡架構(gòu)中,經(jīng)過多次迭代得到最優(yōu)的建筑目標識別模型。Mask R_CNN能同時分割出建筑與背景部分,對于每一個建筑都能產(chǎn)生與原圖相同大小的分割掩膜。
圖2 建筑物目標識別技術路線Fig.2 The technology route of building object recognition
基于Mask R_CNN算法的建筑物目標識別方法步驟為:首先,將裁剪好的遙感影像輸入到預訓練好的神經(jīng)網(wǎng)絡(卷積層1)中進行卷積、池化,得到對應的特征圖(圖3);接著,對特征圖的每個像素設定固定的感興趣區(qū)域(ROI)數(shù)量,從而獲得多個候選ROI;然后,將候選ROI輸入至區(qū)域建議網(wǎng)絡(RPN)進行前景(建筑物)和背景分割以及邊界框優(yōu)化,精煉出前景得分最高的ROI;下一步,將精煉后的ROI 進行ROI Align 操作,使得特征圖像素能與原圖像素完全對齊;最后對ROI通過卷積層2進行建筑分類、邊框回歸和建筑掩膜生成。
圖3 Mask R_CNN算法的核心網(wǎng)絡結(jié)構(gòu)Fig.3 The core network structure of the Mask R_CNN algorithm
建筑物目標識別模型輸出的結(jié)果為掩膜圖像,而粗模生成需得到建筑的底部輪廓,因此需要從掩膜圖像中提取建筑外輪廓,并對建筑輪廓正則化。本文結(jié)合Ostu算法(Ostu, 2007;宋森森 等,2019)對掩膜圖像進行閾值分割并提取建筑外輪廓。Ostu算法原理是根據(jù)直方圖確定閾值將灰度圖像分割成目標和背景2部分,使得目標與背景的類間距離最大。結(jié)合k-means 聚類算法,建筑輪廓提取與正則化步驟為:
1)輸入掩膜圖像,利用Ostu 算法進行分割,取9×9 的內(nèi)核執(zhí)行2 次開運算,平滑圖像邊緣、消除細狹縫、截斷細連通;
2)提取分割后的幾何輪廓,得到多個輪廓多邊形Pi(i= 1,2,...,n);
3) 計算圖像中每個多邊形的面積APi(i=1,2,...,n),如果APi值在十分位數(shù)以下則直接刪除;利用k-means聚類算法對APi進行分類,將聚類集合中數(shù)量少且面積過小的多邊形刪除;
5)利用Douglas-Peucker 算法對Pi進行優(yōu)化,減少建筑輪廓中重復或過于密集的點,并以最終的優(yōu)化結(jié)果為建筑輪廓。
通常,由于影像分辨率、樹木遮擋、算法識別精度等影響因素,識別的建筑輪廓并不能完美匹配真實情況,會出現(xiàn)多個建筑識別為一個建筑、建筑方位抖動、建筑邊角缺失等問題??紤]到農(nóng)村建筑一般具有尺寸和方位的一致性,提出自適應的模型校正方法,對建筑大小和方位施加約束。
1.3.1 建筑分割 遙感影像中的農(nóng)村地區(qū)成片建筑在尺寸和風格上基本一致且布局緊密,如圖4-a 所示。但受樹木、地面等干擾物的影響,或因相鄰建筑分布緊密、建筑物目標識別模型精度不足等,掩膜圖像會存在較小或很大的建筑輪廓。通過計算掩膜面積發(fā)現(xiàn):一定區(qū)域范圍的建筑面積呈近似正態(tài)分布。因此,可利用正態(tài)分布閾值控制方法對識別后的建筑大小進行校正。
圖4 建筑掩膜面積正態(tài)分布驗證 [a.原始遙感建筑影像;b.建筑掩膜圖像;c.掩膜像素面積計算;d.原始影像與掩膜像素面積疊加圖;e.掩膜面積直方圖及正態(tài)曲線;f.根據(jù)正態(tài)分布閾值控制刪除的建筑(紅色線框)]Fig.4 Verification of normal distribution of building mask area[a.Original remote sensing building image; b.building mask image;c.calculation of mask pixel area; d.overlay of original image and mask pixel area; e.mask area histogram and normal curve;f.controlled deletion of buildings according to normal distribution threshold (red frame)]
假設目標區(qū)域內(nèi)有n個建筑,且所有的建筑像素面積AM={A1,A2,...,Am,...,An}可用正態(tài)分布表示:
式中:Aμ為區(qū)域內(nèi)建筑像素面積的均值;Aσ為區(qū)域內(nèi)建筑像素面積的標準差。
如果第m個建筑像素面積Am(m=1,2,...,n) 在 區(qū) 間(Aμ-Aσ*λ1,Aμ+Aσ*λ2)內(nèi),則不做處理;其中,λ1、λ2為正態(tài)分布閾值控制參數(shù)。如果Am<Aμ-Aσ*λ1,則將該建筑剔除;如果Am>Aμ+Aσ*λ2,則將該建筑分割為面積較小的2個建筑。
1.3.2 建筑旋轉(zhuǎn) 由于建筑一般為成片修建,所以相鄰的建筑朝向應該是一致的。建筑分割后,對其進行方位矯正,具體步驟如下為:
1)遍歷目標區(qū)域內(nèi)所有建筑,計算第j(j=1,2,...,n)個建筑的底面面積Aj;
4)比較dkj與R的大小,如果dkj≤R,則將此相鄰建筑記入集合S,集合S包括第j個建筑;
5)設建筑輪廓的長底邊為標準,計算集合S中所有建筑房屋朝向,并將結(jié)果記入集合ε={εj,εk,...,εn}。
6)對集合ε中的元素按一定的角度閾值進行聚類,若相近角度的建筑數(shù)量超過一定閾值,則認為該片區(qū)建筑呈現(xiàn)相同的建筑朝向,并對這些建筑進行旋轉(zhuǎn),使該緩沖區(qū)內(nèi)的建筑旋轉(zhuǎn)角度一致。
構(gòu)造實體幾何(CSG)的基本思想是通過對基本CSG 體素如球、圓柱體、立方體等進行幾何變換、局部修改和布爾運算構(gòu)造空間實體(隋剛 等,2003)。該方法建模速度快,對農(nóng)村地區(qū)簡單型建筑模型的適配性較強,可用于本文建筑模型庫的構(gòu)建。
建筑物CSG 建模流程包括2 個部分:1)分析三維建筑模型的基本CSG體素;2)對基本CSG體素進行空間幾何變換和布爾運算構(gòu)建三維建筑模型。如圖5所示,構(gòu)建過程為:首先,根據(jù)測量的長寬高確定房屋最大外輪廓(M1)、陽臺輪廓(M2)以及第一層平臺輪廓(M3);然后,利用差運算(?):M1?M2?M3,最后得到二層全敞開式陽臺型房屋模型。
圖5 二層全敞開式陽臺型建筑構(gòu)造過程Fig.5 Construction process of two-floor fully open balcony type building
同理,利用CSG 對不同的屋頂樣式進行構(gòu)造,如帶女兒墻的平屋頂、人字形屋頂,步驟見表1。
表1 基本屋頂模型生成算法Table 1 Basic Roof Model Generation Algorithm
分別建立建筑數(shù)據(jù)庫,包括場景表(scene表)、建筑單體信息表(building 表)、建筑模型模板表(template表)和建筑紋理表(texture表),如圖6所示。scene表是以村或其他區(qū)域為單元,方便數(shù)據(jù)對接和業(yè)務管理。building 表和texture 表分別存儲遙感影像識別建立的建筑數(shù)據(jù)及紋理數(shù)據(jù)。template表存儲CSG 三維建模模版,通過傳遞對應參數(shù)可生成三維模型。需要注意的是,CSG引擎生成的模型并不一定能直接用于紋理貼圖,會出現(xiàn)錯亂等問題,可通過頂點關系和參數(shù)重新計算UV 及補充頂點。
圖6 建筑數(shù)據(jù)組織Fig.6 Building data organization
本文以廣東省云浮市新興縣河村為研究區(qū)域,該地區(qū)建筑既保留原始農(nóng)村風貌,又有不少新式建筑,單體面積小,樓高一般不超過3層?;诒貞跋駭?shù)據(jù)識別建筑物,并以手機攝影圖像作為建筑立面紋理,采用眾包的方式實現(xiàn)河村地區(qū)的三維建筑重建。
2.1.1 基于遙感影像識別建筑物 采用Mask R_CNN 建筑目標識別模型,在必應影像地圖上截取大量建筑數(shù)據(jù)集,圖片數(shù)據(jù)包括中國各大城鄉(xiāng)建筑樣式,具有形狀、樣式、光譜特征等內(nèi)容多樣化的特點,能滿足模型訓練的需要。為了更好地評估模型,將數(shù)據(jù)集按照8∶2劃分訓練集和驗證集。訓練集用于模型算法訓練,共800 張。測試集共200張用于測試模型的性能。數(shù)據(jù)集的樣例見圖7。
圖7 建筑樣本示例Fig.7 Building sample example
精度分析方面,采用精度(Accuracy Precision, AP)指標及交并比(Intersection over Union,IoU)進行評估,結(jié)果表明:要求交并比為AP50時,模型精度為0.578;AP60時,模型精度為0.443;AP70時,模 型 精 度 為0.298;其 中,AP50、AP60、AP70分別表示交并比(Intersection over Union,IoU①*IoU = Area of Overlap Area of Union,表示檢測結(jié)果掩膜與直值掩膜之間的重疊程度,其中Area of Overlap為檢測掩膜與直值掩膜的交集,Area of Union為檢測掩膜與真值掩膜的并集,通常情況下,當IoU ≥50%時即認為檢測成功。)在50%、60%和70%時的識別精度。
為了展示模型的分割效果,從測試集中隨機挑選4個樣本圖像,包括均勻分布型建筑、疏松型建筑和密集型建筑,從不同角度且密集度較高的建筑物圖片展示實驗結(jié)果,如圖8所示。
從圖8 可知,模型識別精度與建筑物的形態(tài)、布局、清晰度高度相關,當建筑物形態(tài)規(guī)則且分布整齊時,模型識別精度高,檢測效果良好,如圖8-c2和d2所示,而當建筑物呈密集式分布,輪廓清晰度低,人眼也難以分辨時,模型識別精度較低,檢測難度也更大,如圖8-a2 和b2 所示。在圖8-b 中,圖像背景噪音也是影響識別精度的因素之一。
圖8 不同密集程度建筑物識別與輪廓提取結(jié)果Fig.8 The results of building recognition and contour extraction with different degrees of density
2.1.2 生成基礎白模 建筑輪廓提取后,根據(jù)先驗知識自定義建筑初始高度拉伸成基礎三維白模,如河村地區(qū)的建筑多為2~3層,高度約為7~10 m,可將白模統(tǒng)一高度初始設置為10 m,為鄉(xiāng)村管理和鄉(xiāng)村規(guī)劃提供基礎數(shù)據(jù)。若存在無法識別或需補充的建筑,可通過手工操作補充添加。
2.2.1 建立農(nóng)村建筑模型庫 上述基礎白模可用于初步認識該地區(qū)的建筑分布及簡單的農(nóng)村信息化管理。但模型精細度不足以反映河村的真實場景,因此可在基礎白模上繼續(xù)深化建模。調(diào)研人員預先對河村地區(qū)建筑進行摸底調(diào)查,對該地區(qū)的建筑類型進行分析整理,利用CSG 方法構(gòu)建河村建筑模型庫,最大程度地還原當?shù)亟ㄖL格,部分模型如圖9 所示,包括老式建筑、新式建筑、附屬類建筑和公共設施等多套模型。
圖9 河村建筑模型庫Fig.9 Building model library of He Village
此外,考慮到農(nóng)村地區(qū)建筑類型多樣性以及屋頂樣式復雜化,分別從建筑類型、樓層、屋頂和騎樓風格4個維度對建筑模型進行分類,各維度的下級內(nèi)容如表2 所示,能夠覆蓋實驗區(qū)域河村的90%建筑風格類型。用戶可通過層數(shù)、屋頂樣式等快速過濾篩選,定位到目標建筑模型,如圖10所示。為了滿足后續(xù)的紋理貼圖、模型尺寸調(diào)整等建模步驟,建立CSG模型時采用按層、按模塊(如屋頂模塊、陽臺模塊等)的組合方式,并具備單面選擇和參數(shù)化修改的能力。
表2 建筑庫模型分類Table 2 Classification of building library models
圖10 建筑庫模型快速檢索Fig.10 Fast retrieval of building library models
2.2.2 建筑尺寸調(diào)整 外業(yè)采集人員根據(jù)現(xiàn)場情況將基礎白模替換為基于CSG的精細化模型,此時的模型尺寸為模板尺寸,故需根據(jù)測量結(jié)果重新生成。外業(yè)人員借助外部測量工具,如步數(shù)測量、卷尺,可得到農(nóng)村建筑層長寬高尺寸,接著可在手機端上應用測量結(jié)果實現(xiàn)建筑模型尺寸調(diào)整,具體操作如圖11所示。圖11-a為原模型展示,圖11-b效果圖為模板模型的尺寸示意圖,指明CSG構(gòu)造時可調(diào)整的參數(shù)。采集人員根據(jù)現(xiàn)場測量結(jié)果輸入對應的參數(shù),如建筑每一層的長寬高及陽臺的長寬高,最后利用CSG的參數(shù)化構(gòu)造技術實時生成調(diào)整尺寸后的模型,在圖11-a1展示。
圖11 三層筒子樓模型尺寸調(diào)整示例Fig.11 An example of model size adjustment of a three-floor bungalow
2.2.3 建筑紋理貼圖 為了進一步還原真實場景,需對建筑模型賦予紋理信息。為提升作業(yè)效率,預設樣本紋理庫,包括標準紋理庫和樣本紋理庫。標準紋理庫是指地面、墻、欄桿、廊檐等無明顯差異特征的紋理庫,用于重復鋪滿某個建筑表面;樣本紋理庫是指具備一定普適性的、多要素疊合的建筑立面,如農(nóng)村房屋側(cè)面帶窗戶的墻面,用于單張鋪滿某個建筑表面。房屋正面具備較強的識別特征,如門、窗、對聯(lián)、店面等均具有區(qū)域特征,宜采用手機拍攝的方式采集補充。由于CSG建模已采用分層、分模塊的方式,故手機拍攝時也應逐層、逐模塊補充紋理信息,以此實現(xiàn)最佳的建模效果。此外,拍攝得到的照片將保存到紋理庫中,方便后續(xù)紋理復用,提高效率。
利用手機拍攝時具有一定局限,如因拍攝不便造成的拍攝不正或拍攝不全。因此需通過裁剪、拼接及校正等操作形成正射立面紋理圖像。圖12為某個建筑第一層的立面紋理獲取流程,首先,分別對3張采集照片圖12-a~c裁剪出對應的紋理圖像區(qū)域,裁剪范圍如圖12-a1~c1所示,然后,利用透視變換算法將其拉伸矯正。最后將裁剪后的紋理圖像進行拼接,形成正射建筑立面紋理圖像,如圖12-d 所示,通過這種方式得到的建筑紋理真實感較強。紋理拼接完成后,通過紋理映射技術將圖12-d所示的紋理圖像賦予三維模型對應的表面,形成帶豐富立面紋理風格的三維建筑模型,結(jié)果如圖13所示。
圖12 圖像裁剪與拼接Fig.12 Image cropping and stitching
圖13 紋理貼圖Fig.13 Texture mapping
2.2.4 模型深化 根據(jù)上述步驟構(gòu)建精細化模型后,在單獨瀏覽的情況下比較順暢,但在大范圍模型展示時則會出現(xiàn)卡頓現(xiàn)象,不利于全場景的展示和應用?;诖?,本文提出模型優(yōu)化策略,利用三維輕量化技術從模型優(yōu)化、紋理治理、多級LOD等方面提升渲染性能,同時結(jié)合地形高程數(shù)據(jù)進行貼地融合,最終滿足在手機端順暢瀏覽的需求。最終效果如圖14所示。
圖14 云浮市新興縣河村三維建筑模型Fig.14 3D building model of Hecun Village, Xinxing County, Yunfu City
針對現(xiàn)階段農(nóng)村房屋數(shù)據(jù)較為稀缺,鄉(xiāng)村信息化建設不足等現(xiàn)狀,本文將高分辨率遙感影像與手機拍攝圖像相結(jié)合,通過粗模生成和深化建模2個階段實現(xiàn)三維建筑建模。在粗模生成過程中,利用Mask R_CNN算法基于高分辨率遙感影像識別建筑物,生成基礎白模,勾勒建筑基本形態(tài),包括位置、尺寸和方位,并提出了建筑輪廓正則化算法和自適應的建筑校正算法提高模型精度。在深化建模過程中,現(xiàn)場采集人員通過模型替換、尺寸調(diào)整、紋理映射等操作,逐步深化為精細化的三維建筑模型。最后,通過自動化的三維模型融合技術形成多端可訪問的農(nóng)村電子沙盤,支撐智慧農(nóng)村建設的各項應用。并結(jié)合實地調(diào)研,實現(xiàn)廣東省云浮市新興縣河村的三維建筑模型重建。與手工建模和傾斜攝影建模方法(謝小魁 等,2016;張春敏 等,2018;單杰 等,2019))相比,在數(shù)據(jù)獲取方面更加便捷,可實現(xiàn)眾包建模,節(jié)省了大量人力物力,具有采集成本低、更新周期短、簡單易用等優(yōu)點,對推進農(nóng)村建筑智能化建模具有較強的實用價值及良好的應用前景。
當前本文所述農(nóng)村智能建模方法還有一些需要改進和深化的地方:①對于遙感影像數(shù)據(jù)質(zhì)量差和建筑分布密集的地區(qū),模型識別精度還有待提高;②建筑的準確定位和方位比較難以把控,需補充完善策略幫助現(xiàn)場采集人員進行精準定位;③需建立一個能覆蓋大范圍地區(qū)的農(nóng)村建筑模型庫;④建筑立面紋理提取過程較為復雜,需要提高自動化能力。