田紅霞,府偉娟,賀飛越,包賽賽,楊明潮
(中煤浙江測繪地理信息有限公司,浙江杭州 310021)
隨著我國“智慧城市”建設(shè)的迅速發(fā)展,城市真三維模型作為“智慧城市”建設(shè)的重要基礎(chǔ)設(shè)施,承載著城市中基礎(chǔ)的數(shù)據(jù)信息,構(gòu)建城市真三維模型在目前社會(huì)發(fā)展中具有廣闊的應(yīng)用前景以及不可估量的經(jīng)濟(jì)價(jià)值。隨著傾斜攝影測量技術(shù)的不斷發(fā)展,以及三維可視化的不斷進(jìn)步,短時(shí)間內(nèi)高效率的大面積三維建模成為現(xiàn)實(shí),這些技術(shù)的發(fā)展為我國“智慧城市”的建設(shè)提供了重要的基礎(chǔ)數(shù)據(jù)[1-2]。根據(jù)傾斜攝影測量的建模的技術(shù)機(jī)理,構(gòu)建的模型是一個(gè)連續(xù)的整體,是一個(gè)連續(xù)的TIN 網(wǎng)加紋理貼圖,并沒有實(shí)現(xiàn)目標(biāo)對象的單體化[3]。然而,對大多數(shù)傾斜攝影三維模型的應(yīng)用來說,單體化后的三維成果可以進(jìn)行屬性編輯,可以選中單個(gè)地物要素,具備GIS 查詢和管理等功能,因此,實(shí)現(xiàn)三維模型的單體化能夠打破了只能在三維模型中漫游瀏覽的局限功能,使地物要素管理更加智能化、精細(xì)化[4-6]。
目前,應(yīng)用最廣泛的單體化方法是以下四種。①參照傾斜攝影三維模型進(jìn)行單體化建模,即利用人工干預(yù)的手段在傾斜攝影實(shí)景模型的基礎(chǔ)上重新構(gòu)建出單個(gè)的立體模型,這種方法比傳統(tǒng)人工建模,在速度上有所提升;②邏輯單體化,即將矢量面數(shù)據(jù)覆蓋到三維模型的表面,通過點(diǎn)選矢量圖層的屬性來達(dá)到單獨(dú)選中三維模型的效果,這種方式?jīng)]有真正將目標(biāo)對象進(jìn)行分離,限制了模型數(shù)據(jù)的應(yīng)用空間;③ID 單體化,即給目標(biāo)對象包含的三角面的預(yù)點(diǎn)賦予對應(yīng)矢量面的ID 值,來達(dá)到單獨(dú)選中的效果。該方法需要對模型數(shù)據(jù)進(jìn)行預(yù)處理,屬于一種折中的方法;④基于LiDAR 激光點(diǎn)云進(jìn)行自動(dòng)建模,該方法前期需要對LiDAR 激光點(diǎn)云數(shù)據(jù)進(jìn)行分類處理,且模型精度受制于LiDAR 點(diǎn)云密度,需要的人工干預(yù)工作量大[7-11]。
傾斜攝影測量技術(shù)以高精度、大范圍的方式全面感知復(fù)雜場景,生成“全要素、全紋理”的包含高精度具有量測性的實(shí)景三維模型,實(shí)景三維模型更符合人們的認(rèn)知。但傾斜攝影三維模型各地理要素?zé)o法單獨(dú)處理,使得傾斜攝影三維模型的應(yīng)用僅局限于場景瀏覽[12-13]。鑒于此,筆者以瑞安市發(fā)改局“萬畝千億”三維可視化平臺(tái)輔助決策系統(tǒng)項(xiàng)目為依托,獲取測區(qū)范圍無人機(jī)傾斜影像,開展基于可視化平臺(tái)的建筑物單體化及信息提取研究。
實(shí)現(xiàn)三維模型建筑物單體化主要工作包括三維建模、建筑物輪廓提取、模型單體化三個(gè)方面的內(nèi)容。本次研究工作目的是使可視化平臺(tái)中三維模型數(shù)據(jù)能夠更好的被管理。采用UNet 網(wǎng)絡(luò)算法對數(shù)字正射影像(DOM)中建筑物的幾何、紋理特征進(jìn)行詳細(xì)地分析,提出對建筑物進(jìn)行粗略定位的方法,獲取并篩選出建筑物的輪廓。在三維建筑物模型中獲取建筑物高度信息,將建筑物輪廓矢量數(shù)據(jù)關(guān)聯(lián)建筑物高度信息,拉伸建筑物輪廓矢量,從而獲得建筑物單體化模型。具體流程如圖1所示。
圖1 工作流程Figure 1 Work Flow
無人機(jī)傾斜攝影建模是一種高效的三維建模技術(shù),其原理主要是利用無人機(jī)搭載的傾斜攝影系統(tǒng),從一個(gè)正射、四個(gè)傾斜等五個(gè)不同的角度采集影像數(shù)據(jù),通過圖像處理、配準(zhǔn)、拼接等技術(shù)實(shí)現(xiàn)三維建模[14-15]。主要包括攝影數(shù)據(jù)采集、影像處理、自動(dòng)空中三角測量、三維建模等步驟。
UNet 模型是一種典型的具有“編碼—解碼”結(jié)構(gòu)的深度學(xué)習(xí)模型,其基本結(jié)構(gòu)如圖2 所示。UNet呈左右對稱結(jié)構(gòu),左側(cè)為模型編碼部分,右側(cè)為解碼部分。編碼部分由4 個(gè)子模塊組成,每個(gè)子模塊對模型進(jìn)行二倍下采樣,每經(jīng)過一個(gè)子模塊,圖像分辨率下降為原來的二分之一。解碼部分也是由4個(gè)子模塊組成,每個(gè)子模塊對輸入圖像進(jìn)行二倍上采樣,每經(jīng)過一個(gè)子模塊,圖像的分辨率上升為輸入圖像的二倍。此外,為了幫助模型在解碼階段恢復(fù)圖像的細(xì)節(jié)特征,在解碼部分加入了編碼部分對應(yīng)分辨率的特征圖[15]。
圖2 UNet基本結(jié)構(gòu)Figure 2 UNet basic structure
2021 年6 月,對依托項(xiàng)目所在區(qū)域進(jìn)行影像數(shù)據(jù)采集。采用大疆無人機(jī)搭載睿鉑DG3 PRO 五鏡頭相機(jī)(2 400×5=12 000 萬像素,42.8mm 等效鏡頭),航飛高度為100m,獲取4 685張航拍影像。
對航攝影像進(jìn)行三維建模,主要包括航線布設(shè)及數(shù)據(jù)采集、影像預(yù)處理、自動(dòng)空中三角測量、傾斜三維模型生產(chǎn)4個(gè)方面。
1)航線布設(shè)及數(shù)據(jù)采集。航飛前先對測區(qū)周邊環(huán)境進(jìn)行勘察,收集地形地貌信息,保障無人機(jī)能正常進(jìn)行航飛作業(yè)。像控點(diǎn)需選在無遮擋的環(huán)境下布設(shè),像控點(diǎn)與像控點(diǎn)之間間隔在300~400m之間,且盡量上下左右之間均勻分布。在航線參數(shù)設(shè)置上,一般航向重疊度設(shè)置不小于70%,旁向重疊度不小于60%。航飛前應(yīng)確保天氣和飛行條件,觀察風(fēng)力風(fēng)向,云層厚度和光照可見度。
2)影像處理。將航飛回來的數(shù)據(jù)進(jìn)行導(dǎo)出整理,確保POS 數(shù)據(jù)能一一對應(yīng)不同影像,剔除一些往返路途所拍攝的無用影像,減少數(shù)據(jù)處理時(shí)間。如若天氣變化原因,出現(xiàn)不同架次的影像色彩存在差異,則需在勻光勻色軟件上進(jìn)行色彩自動(dòng)調(diào)節(jié)。
3)自動(dòng)空中三角測量。將預(yù)處理完成后的影像進(jìn)行空中三角測量及加密,當(dāng)生成點(diǎn)云數(shù)據(jù)后,導(dǎo)入控制點(diǎn)文件,為調(diào)整影像所帶來的經(jīng)度和高程誤差,則需要在相應(yīng)影像上選定對應(yīng)控制點(diǎn)進(jìn)行精確定位。最后進(jìn)行整體空三平差。
4)三維建模。確??罩腥菧y量完成無誤后,調(diào)整模型所需范圍和瓦塊切塊大小,選定模型空間參考系統(tǒng)和紋理壓縮比例后,即可自動(dòng)生成三維模型。同時(shí),生成數(shù)字正射影像圖。
利用大疆智圖軟件將數(shù)字正射影像進(jìn)行對比度和色彩飽和度調(diào)整、勻色、銳化與去霧等預(yù)處理,將滿足規(guī)范重疊度的影像合成一張分辨率為0.1m的研究區(qū)域數(shù)字正射影像,并將該研究區(qū)域南面的89幢建筑物做訓(xùn)練,北面的97幢建筑物用作測試。
研究區(qū)域正射影像的南面建筑物是訓(xùn)練數(shù)據(jù),采用人工手動(dòng)繪制建筑物輪廓作為訓(xùn)練標(biāo)簽,為獲取更為精確的訓(xùn)練樣本,需要嚴(yán)格按照建筑物外輪廓進(jìn)行繪制,共繪制了89 個(gè)訓(xùn)練標(biāo)簽,如圖3 所示,手動(dòng)繪制的訓(xùn)練標(biāo)簽緊貼正射影像建筑物外輪廓。
圖3 人工繪制建筑物輪廓Figure 3 Artificial draw for building outline by articical
根據(jù)研究區(qū)域正射影像可知,在進(jìn)行標(biāo)簽制作時(shí),訓(xùn)練區(qū)建筑物輪廓周圍存在居民自主搭建的附屬建筑物如晾衣架、遮陽板等,對精確繪制建筑物輪廓存在一定的影響。經(jīng)多次實(shí)驗(yàn),分析周圍相似建筑物輪廓,尋找沒有遮擋的建筑物,進(jìn)行模仿繪制輪廓。
該研究實(shí)驗(yàn)環(huán)境為Windows10、處理器為Intel(R)Core(TM)i79700k CPU @3.60GHz 3.60GHz,64G運(yùn)行內(nèi)存,1T 硬盤,顯卡為NVIDIA GeForce GTX 2080S,使用GPU 加速計(jì)算,在Python 編程語言下搭建Pytorch深度學(xué)習(xí)框架。
(1)影像標(biāo)簽裁剪及增強(qiáng)
將正射影像及對應(yīng)的標(biāo)簽數(shù)據(jù)采用重疊方式分割成1 024×1 024 像素大小的子影像,每幅子影像重疊區(qū)域的寬度均為512 像素。因此,試驗(yàn)區(qū)影像分割后共得到800 張子影像,分割標(biāo)簽與分割影像相同,確保標(biāo)簽的行列數(shù)、像元大小必須與影像的行列數(shù)、分辨率對應(yīng)一致。由于建筑物樣本較少,造成了整個(gè)數(shù)據(jù)的正負(fù)樣例分布極其不平衡。因此,將生成的800 張子影像及標(biāo)簽進(jìn)行訓(xùn)練數(shù)據(jù)增強(qiáng),增強(qiáng)訓(xùn)練數(shù)據(jù)能夠較大地減少計(jì)算機(jī)視覺模型的泛化誤差,同時(shí)訓(xùn)練數(shù)據(jù)的數(shù)量大小也會(huì)影響模型的質(zhì)量效果,因此,通過多角度旋轉(zhuǎn)和多種鏡像的幾何變換增廣兩種數(shù)據(jù)增強(qiáng)方式,將訓(xùn)練數(shù)據(jù)集擴(kuò)充到原始的4.5倍,如圖4所示。
圖4 訓(xùn)練標(biāo)簽數(shù)據(jù)增強(qiáng)Figure 4 Data enhancement for label training data enhancement
(2)模型訓(xùn)練
由于UNet網(wǎng)絡(luò)模型是一個(gè)普適性的算法模型,因此需要針對訓(xùn)練區(qū)的訓(xùn)練樣本進(jìn)行專門訓(xùn)練,生成專門用于提取建筑物輪廓矢量的訓(xùn)練模型。采用UNet網(wǎng)絡(luò)模型對訓(xùn)練樣本中的3 600張子影像進(jìn)行訓(xùn)練,將訓(xùn)練樣本按9∶1 比例隨機(jī)分為訓(xùn)練集和驗(yàn)證集。訓(xùn)練模型用時(shí)為12h,對360張子影像驗(yàn)證集進(jìn)行自動(dòng)建筑物輪廓提取驗(yàn)證,用時(shí)約為30min。
在樣本進(jìn)行訓(xùn)練時(shí),最佳的迭代訓(xùn)練次數(shù)難以快速準(zhǔn)確確定,一般來說訓(xùn)練次數(shù)越高,提取效果越好,但是消耗的時(shí)間也越長。為解決這一問題可以先設(shè)定一個(gè)理論最優(yōu)訓(xùn)練次數(shù),然后逐漸逼近,找出最佳的訓(xùn)練次數(shù)。
(1)初始輪廓的提取
將研究區(qū)域正射影像的北面作為目標(biāo)測試區(qū)域,該區(qū)域占地面積約為0.07km2,共97 幢建筑物,建筑物周圍居民自搭自建的附屬設(shè)施與高大植被較少。用生成好的UNet 訓(xùn)練模型對目標(biāo)區(qū)域進(jìn)行建筑物的初始輪廓提取,提取的建筑物輪廓整體較為完整,如圖5a 所示,但同時(shí)也存在部分建筑物輪廓缺失及輪廓邊框存在明顯的鋸齒的情況,如圖5b所示。
圖5 建筑物初始輪廓提取Figure 5 Extraction for rough building outline
(2)輪廓優(yōu)化操作
那么,造成建筑物輪廓缺失的原因是什么呢?通過分析可知,首先,缺失區(qū)域建筑物屋頂玻璃反光導(dǎo)致正射影像中部分信息缺失,使得在進(jìn)行建筑物輪廓提取過程中提取輪廓出現(xiàn)空洞現(xiàn)象;其次,缺失區(qū)域建筑物周圍有高大植被覆蓋屋檐,以及居民自主搭建的附屬建筑物,導(dǎo)致提取的建筑物輪廓存在明顯鋸齒狀;最后,缺失建筑物屋頂材質(zhì)及紋理不一致,導(dǎo)致一個(gè)建筑物割裂成兩個(gè)輪廓?;谝陨先齻€(gè)方面的分析,采用神經(jīng)網(wǎng)絡(luò)中UNet網(wǎng)絡(luò)模型提取建筑物初始輪廓不能完整反映建筑物實(shí)體輪廓情況,需對初始輪廓進(jìn)行適當(dāng)?shù)娜斯そ换?yōu)化操作。優(yōu)化操作主要包括去除噪點(diǎn)、補(bǔ)充空洞區(qū)域及鋸齒狀邊緣修改完善等工作。因此,通過人工交互優(yōu)化操作后,建筑物輪廓整體較為完整,建筑物輪廓包裹正射影像建筑物較為完整,能較為真實(shí)反映建筑物輪廓邊界信息(圖6)。
圖6 優(yōu)化后的建筑物輪廓Figure 6 Optimized building outline
(3)精度統(tǒng)計(jì)
為了驗(yàn)證UNet模型提取建筑物輪廓的精度,以人工提取目標(biāo)測試區(qū)域內(nèi)建筑物的輪廓邊長作為參考數(shù)據(jù),共采集了72條建筑物的輪廓邊長。將優(yōu)化后的建筑物輪廓的邊長與之對應(yīng)的人工提取輪廓邊長進(jìn)行比較,具體邊長精度統(tǒng)計(jì)數(shù)據(jù)見表1所示。
表1 建筑物輪廓邊長精度統(tǒng)計(jì)Table1 Accuracy statistics for the length of building outline
通過表1 建筑物輪廓邊長精度對比分析,比較72 條檢測邊長,較差Δ>0.05m 的邊長數(shù)量為9 條,較差Δ≤0.05m 的邊長數(shù)量為63 條,通過比對表明UNet 模型提取建筑物的初始輪廓,再經(jīng)過人工交互優(yōu)化操作的建筑物輪廓,能夠滿足建筑物單體化輪廓提取的要求,在建筑物單體化研究方面具有一定的推廣性。
根據(jù)重建建筑物三維模型測量出目標(biāo)區(qū)的建筑物高度,將提取建筑物輪廓的矢量數(shù)據(jù)關(guān)聯(lián)建筑物高度信息,在ArcScene 中以建筑物高度信息為拉伸基準(zhǔn),拉伸建筑物輪廓矢量,生成了建筑物單體化模型(圖7)。在三維建筑物模型上量取建筑物高度時(shí),要注意屋頂?shù)母綄俳ㄖ锛靶蔽蓓?,防止建筑物的高度失真,影響單體化模型的精度。另外,在完成三維模型建筑物單體化后,可對其進(jìn)行屬性信息賦值,掛接屬性表的關(guān)聯(lián)屬性值采用單個(gè)建筑物的ID 值,將屬性表的信息準(zhǔn)確賦值到建筑物上,為后期查詢建筑物信息提供信息基礎(chǔ)。
圖7 建筑物模型單體化Figure 7 Monomerization for building model
基于UNet 網(wǎng)絡(luò)提取正射影像的建筑物輪廓及優(yōu)化操作為實(shí)現(xiàn)三維建筑物模型單體化研究具有一定意義。通過將優(yōu)化后的建筑物輪廓的邊長與之對應(yīng)的人工提取輪廓邊長進(jìn)行精度分析與比較,大部分檢測邊長的較差小于0.05m,表明該方法能夠滿足建筑物單體化輪廓提取的要求,在建筑物單體化研究方面具有一定的推廣性。