樊孝常,梁玉斌,楊 陽,崔鐵軍
(天津師范大學(xué)地理與環(huán)境科學(xué)學(xué)院,天津 300387)
建筑物三維模型在城市規(guī)劃、災(zāi)害分析和應(yīng)急響應(yīng)等領(lǐng)域具有廣泛應(yīng)用.常見的三維建模方式主要包括三維建模軟件手工建模、三維激光掃描點(diǎn)云建模和攝影測量技術(shù)建模.手工建模需要研究人員基于點(diǎn)線面進(jìn)行模型構(gòu)建,建模過程耗時(shí)耗力;而激光掃描建模設(shè)備昂貴,數(shù)據(jù)采集過程復(fù)雜[1].
隨著無人機(jī)(unmanned aerial vehicle,UAV)技術(shù)的快速發(fā)展,其成本低、時(shí)效高、響應(yīng)迅速的優(yōu)勢日益顯現(xiàn)[2-3].無人機(jī)數(shù)據(jù)在各領(lǐng)域的應(yīng)用越來越廣泛[4-5].運(yùn)動(dòng)結(jié)構(gòu)恢復(fù)算法(structure from motion,SFM)和多視圖立體匹配算法(multi view stereo,MVS)的不斷完善,使基于無人機(jī)影像的攝影測量技術(shù)能夠更好地實(shí)現(xiàn)實(shí)景三維模型的重建[6-7].無人機(jī)影像構(gòu)建的實(shí)景三維模型在施工場地土方測量和公路邊坡災(zāi)害識別等各個(gè)方面都有較強(qiáng)的實(shí)用性[8].建筑物是三維模型的重要組成部分,傾斜影像增加了建筑物的立面紋理結(jié)構(gòu)信息,逐漸成為建筑實(shí)景三維建模的主要數(shù)據(jù)來源[9-10].然而,與常規(guī)航空影像相比,傾斜影像顯著增加了攝影測量數(shù)據(jù)處理的復(fù)雜性,如何高效準(zhǔn)確地構(gòu)建建筑物三維模型成為攝影測量的研究熱點(diǎn)[11-13].李大軍等[14]應(yīng)用Mask R-CNN 神經(jīng)網(wǎng)絡(luò)識別無人機(jī)影像中的建筑目標(biāo),發(fā)現(xiàn)它比傳統(tǒng)航空影像的建筑識別更加高效與智能.陳麗君[15]改良傳統(tǒng)Mask R-CNN 算法,增加了訓(xùn)練模型的穩(wěn)健性,提高了識別建筑影像的準(zhǔn)確率.邵振峰[16]提出了一種基于航空立體像對的人工目標(biāo)三維提取與重建方法,研究開發(fā)了一體化立體影像平臺,通過平臺實(shí)現(xiàn)了部分復(fù)雜建筑目標(biāo)的三維提取與重建.
傳統(tǒng)傾斜攝影測量實(shí)景三維建模方法利用全部影像進(jìn)行建模,普遍適用于建筑密度高的城市區(qū)域,但對于建筑密度較低的村鎮(zhèn)區(qū)域來說,該方法未能充分利用照片內(nèi)含的語義信息,引入了大量非建筑區(qū)域的非必要同名點(diǎn),降低了三維重建的效率.因此,本研究將深度學(xué)習(xí)技術(shù)與攝影測量技術(shù)結(jié)合,在圖像匹配之前篩選包含建筑的影像,在不損失建筑物模型信息和精度的前提下,提高建筑物三維建模的效率.
本研究將深度學(xué)習(xí)技術(shù)與攝影測量技術(shù)相結(jié)合,首先利用深度學(xué)習(xí)技術(shù)構(gòu)建并訓(xùn)練Mask R-CNN 神經(jīng)網(wǎng)絡(luò)模型,使用該模型剔除傾斜影像中不包含建筑的影像,然后將篩選出的影像與下視影像結(jié)合,組成參與建模的影像集.利用攝影測量技術(shù)進(jìn)行建模,研究出一種不降低最終建模精度且有效減少模型構(gòu)建時(shí)間的方法.本研究過程主要包括6個(gè)部分,分別為數(shù)據(jù)獲取、數(shù)據(jù)準(zhǔn)備、Mask R-CNN 神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建及訓(xùn)練、含建筑影像篩選、三維重建和對比評估,具體技術(shù)流程如圖1 所示.
圖1 技術(shù)流程圖Fig.1 Technical scheme
Mask R-CNN 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)識別建筑目標(biāo)的流程主要包括4個(gè)部分:①特征提取,將影像輸入CNN 網(wǎng)絡(luò)提取特征;②獲得建議框,通過區(qū)域生成網(wǎng)絡(luò)得到影像目標(biāo)的可能位置,用矩形建議框標(biāo)記;③分類和回歸,利用感興趣對齊層對建議框微調(diào),得到較為準(zhǔn)確的目標(biāo)位置及大小;④像素分割,以像素級形式分割ROI,并按類別劃分其像素,具體流程如圖2 所示.
圖2 Mask R-CNN 建筑目標(biāo)檢測流程圖Fig.2 Flowchart of Mask R-CNN detection
根據(jù)構(gòu)建方式的不同,將SFM 分為增量式SFM與全局SFM.增量式SFM 在三維重建過程中能夠逐漸增加參與迭代計(jì)算的影像數(shù)量,直至所有影像都參與模型的構(gòu)建.為使三維重建更具穩(wěn)健性,本研究采用增量式SFM 構(gòu)建方法.首先對研究區(qū)進(jìn)行影像識別,獲取輸入影像包含的內(nèi)參數(shù)信息;然后進(jìn)行特征提取與構(gòu)建圖像對.使用尺度不變特征變換算法(scale-invariant feature transform,SIFT)及其改進(jìn)算法進(jìn)行特征提取,增強(qiáng)匹配的穩(wěn)健性. 本研究在特征匹配之前,根據(jù)POS 信息將影像兩兩生成匹配對,控制影像匹配的數(shù)量;之后進(jìn)行特征匹配,按照生成的影像匹配對逐個(gè)進(jìn)行匹配.影像匹配結(jié)束后,利用RANSAC 算法剔除誤匹配的特征點(diǎn),得到可靠的匹配點(diǎn).在上述過程的基礎(chǔ)上進(jìn)行增量式重建,得到優(yōu)化后的影像參數(shù)及初始的空間點(diǎn);最后進(jìn)行三維點(diǎn)上色與重新三角化,根據(jù)對應(yīng)影像位置的顏色對三維點(diǎn)進(jìn)行上色處理,得到三維稀疏點(diǎn)云模型.
本研究的數(shù)據(jù)處理過程均在Dell Precision Tower 7810 工作站中完成,工作站操作系統(tǒng)為Windows 10專業(yè)工作站版,處理器為Intel Xeon E5-2630,內(nèi)存為128 GB,同時(shí)配有NVIDIA Quadro M4000 的顯卡.使用Python3.6、CUDA9.0、cuDNN7.0.5、TensorFlow-GPU1.9.0和Keras2.16 進(jìn)行實(shí)驗(yàn)環(huán)境的搭建.
研究區(qū)位于廣西省來賓市武宣縣(23°37′9″N~23°39′26″N,109°39′24″E~109°42′27″E),東西長約為5.7 km,南北寬約為4.7 km,總面積約為9.1 km2. 研究區(qū)是平坦的鄉(xiāng)村區(qū)域,主要包含大片的農(nóng)作物種植區(qū)、零散分布的村落、道路、裸地、樹林和水塘等.研究區(qū)衛(wèi)星影像信息如圖3 所示.
圖3 研究區(qū)衛(wèi)星影像圖Fig.3 Satellite image map of the studied area
2018 年秋季,使用垂直起降的固定翼無人機(jī)搭載傾斜攝影系統(tǒng)采集影像數(shù)據(jù). 研究區(qū)每個(gè)鏡頭均拍攝1 955 張影像,5個(gè)鏡頭共獲得9 775 張影像.攝像機(jī)1—5 號鏡頭分別對應(yīng)無人機(jī)飛行方向的后、前、右、左、下5個(gè)方向.無人機(jī)同時(shí)搭載有GPS/INS 組合系統(tǒng),能夠準(zhǔn)確獲取航測時(shí)曝光點(diǎn)位的POS 數(shù)據(jù).POS數(shù)據(jù)包含2 部分內(nèi)容:一部分記錄每個(gè)曝光點(diǎn)位的絕對位置;另一部分記錄無人機(jī)在每個(gè)曝光點(diǎn)位相對于導(dǎo)航坐標(biāo)系的飛行姿態(tài),即每個(gè)曝光時(shí)刻該無人機(jī)的側(cè)滾角φ、俯仰角ω、偏航角κ.無人機(jī)影像在研究區(qū)的POS 分布如圖4 所示.由圖4 可以看出,影像的曝光點(diǎn)位均勻分布于研究區(qū)內(nèi),無人機(jī)每條航線間相互平行.
圖4 研究區(qū)POS 分布圖Fig.4 POS distribution map of the studied area
本研究首先用CrowdAI 官方提供的用于Map Challenge 比賽的數(shù)據(jù)集(數(shù)據(jù)集1)進(jìn)行預(yù)訓(xùn)練[17],該數(shù)據(jù)集包含了針對建筑物的大量人工標(biāo)注完善的衛(wèi)星影像瓦片,將這些數(shù)據(jù)用于神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練,可使模型從衛(wèi)星影像中初步識別包含建筑的區(qū)域.數(shù)據(jù)集1 共包括訓(xùn)練集、驗(yàn)證集和測試集3個(gè)部分.訓(xùn)練集部分標(biāo)注了280 741 張影像瓦片,驗(yàn)證集部分標(biāo)注了60 317張影像瓦片,測試集沒有標(biāo)注.衛(wèi)星圖像標(biāo)注示例如圖5 所示.
圖5 衛(wèi)星圖像數(shù)據(jù)標(biāo)注示例Fig.5 Example of satellite image annotation
不同于數(shù)據(jù)集1 的影像區(qū)域,研究區(qū)內(nèi)不僅建筑分布分散,地表還增加了許多綠色植被,需要人工標(biāo)注出具有研究區(qū)特色的數(shù)據(jù)集(數(shù)據(jù)集2),進(jìn)一步訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型.數(shù)據(jù)集2 是對無人機(jī)下視影像進(jìn)行人工標(biāo)注后獲得的瓦片數(shù)據(jù),包括2 306 張訓(xùn)練集瓦片,600 張驗(yàn)證集瓦片.無人機(jī)影像數(shù)據(jù)標(biāo)注示例如圖6 所示.
圖6 無人機(jī)影像數(shù)據(jù)標(biāo)注示例Fig.6 Example of UAV image data annotation
2.2.1 神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練
數(shù)據(jù)集1 含有大量建筑密集的影像瓦片,故使用數(shù)據(jù)集1 進(jìn)行模型的預(yù)訓(xùn)練.預(yù)訓(xùn)練共包括160 輪,每輪訓(xùn)練1 000 步.預(yù)訓(xùn)練過程訓(xùn)練集及驗(yàn)證集的損失分布如圖7 所示.
圖7 預(yù)訓(xùn)練損失分布圖Fig.7 Distribution of pretraining loss
由圖7 可以看出,模型訓(xùn)練在0~65 輪之間損失值逐漸降低,準(zhǔn)確度逐漸提升;而65 輪之后的訓(xùn)練由于訓(xùn)練次數(shù)過多,出現(xiàn)模型過擬合的現(xiàn)象.其中,在第62 輪時(shí)取得最低驗(yàn)證集損失值,將第62 輪得到的權(quán)重文件作為預(yù)訓(xùn)練部分的結(jié)果.
使用數(shù)據(jù)集2 進(jìn)行模型的精準(zhǔn)訓(xùn)練,將預(yù)訓(xùn)練獲得的權(quán)重文件作為訓(xùn)練的初始權(quán)重文件,在此基礎(chǔ)上進(jìn)行29 輪訓(xùn)練,每輪訓(xùn)練100 步.精準(zhǔn)訓(xùn)練過程訓(xùn)練集及驗(yàn)證集的損失分布如圖8 所示. 由圖8 可以看出,模型在第24 輪時(shí)取得最低驗(yàn)證集損失值,將第24輪得到的權(quán)重文件作為精準(zhǔn)訓(xùn)練部分的結(jié)果.Mask RCNN 神經(jīng)網(wǎng)絡(luò)預(yù)測模型的最終訓(xùn)練集損失值為0.683,驗(yàn)證集損失值為1.033.
圖8 精準(zhǔn)訓(xùn)練損失分布圖Fig.8 Distribution of precision training loss
2.2.2 影像篩選
將傾斜影像剪切成能夠輸入神經(jīng)網(wǎng)絡(luò)尺寸(300×300 像素)的瓦片,利用Mask R-CNN 神經(jīng)網(wǎng)絡(luò)預(yù)測模型對傾斜影像進(jìn)行篩選.為保證最終模型的完整性,該步驟只對后、前、右、左4個(gè)方向鏡頭的影像做篩選,下視影像全部保留參與重建.每個(gè)鏡頭篩選影像用時(shí)分別為47.02、47.03、46.42 和48.25 min,均在47 min 上下波動(dòng);每個(gè)鏡頭篩選出包含建筑的影像的數(shù)量分別為1 359、1 367、1 361 和1 409 張,共7 451張無人機(jī)影像用于研究區(qū)三維模型的構(gòu)建.圖9 為2 組單幅影像神經(jīng)網(wǎng)絡(luò)建筑識別的效果展示.由圖9 可以看出,神經(jīng)網(wǎng)絡(luò)識別出的建筑分布與影像中實(shí)際建筑分布情況基本一致,神經(jīng)網(wǎng)絡(luò)的建筑檢測結(jié)果符合影像的真實(shí)情況.
圖9 建筑檢測結(jié)果示例Fig.9 Example of Building inspection results
常規(guī)三維重建過程不做地物類型區(qū)分,將全部影像作為輸入數(shù)據(jù)進(jìn)行整體三維重建;而基于本研究方法的三維重建過程則利用神經(jīng)網(wǎng)絡(luò)篩選的傾斜影像和全部下視影像對研究區(qū)進(jìn)行三維重建.2種重建方法都通過OpenMVG[18]和增量式SFM 分別進(jìn)行圖像匹配和三維重建.對比2種方法的效率與精度,結(jié)果如表1 所示.
表1 三維重建時(shí)間及精度統(tǒng)計(jì)表Tab.1 Statistics of 3D reconstruction time and accuracy
由表1 可知,從建模精度來看,常規(guī)三維重建方法和本研究方法的均方根誤差分別為0.68 像素和0.69 像素,基本一致;從建模時(shí)間來看,常規(guī)方法總共耗時(shí)24.33 h,而本研究方法總共耗時(shí)12.31 h,節(jié)省了49.4%的數(shù)據(jù)處理時(shí)間.
2種三維重建方法生成的稀疏點(diǎn)云圖如圖10 所示.從圖中可以看出,與常規(guī)方法相比,本研究方法的點(diǎn)云數(shù)量在研究區(qū)邊緣區(qū)域較為稀疏,在建筑分布區(qū)域無明顯差異.
2種方法建模對應(yīng)的重投影誤差統(tǒng)計(jì)分布直方圖如圖11 所示.
圖11 重投影誤差統(tǒng)計(jì)分布直方圖Fig.11 Statistical distribution histogram of reprojection error
由圖11 可知,2種建模方法的重投影誤差頻率分布較為相似,大部分像點(diǎn)重投影誤差都集中在1個(gè)像素以內(nèi),誤差較小.從像點(diǎn)數(shù)目來看,常規(guī)方法建模的像點(diǎn)數(shù)比本研究方法建模的像點(diǎn)數(shù)多了約703 000個(gè),本研究方法的像點(diǎn)數(shù)在地表建筑較為密集的區(qū)域比較集中,其他區(qū)域較為分散;常規(guī)方法建模會(huì)在全區(qū)域生成像點(diǎn),像點(diǎn)數(shù)比本研究方法多較為合理.在常規(guī)方法和本研究方法稀疏重建的基礎(chǔ)上,進(jìn)一步對研究區(qū)域內(nèi)某一建筑密集區(qū)進(jìn)行密集點(diǎn)云重建,重建結(jié)果如圖12 所示.
圖12 用于密集點(diǎn)云對比的建筑Fig.12 Comparison of buildings selected for dense cloud comparison
使用開源軟件Cloud Compare 計(jì)算對應(yīng)密集點(diǎn)之間的距離.先將2種建模方法生成的每棟建筑的密集點(diǎn)云進(jìn)行對齊處理,使用該軟件的M3C2(multiscale model to model cloud comparison)插件計(jì)算2個(gè)密集點(diǎn)云之間的對應(yīng)點(diǎn)距離.選定的5 棟建筑對應(yīng)密集點(diǎn)之間距離的統(tǒng)計(jì)結(jié)果如表2 所示.
由表2 可以看出,5 棟建筑對應(yīng)密集點(diǎn)的標(biāo)準(zhǔn)差均在0.04~0.06 m 范圍內(nèi),對應(yīng)到影像上為0.57~0.86個(gè)像素.建筑1、4 和5 對應(yīng)密集點(diǎn)的最大距離略大,主要集中在窗戶和遮擋嚴(yán)重的區(qū)域,這些區(qū)域的密集匹配穩(wěn)定性較差.建筑2 和3 的對應(yīng)密集點(diǎn)最大距離均小于1 m.建筑密集點(diǎn)云和2種方法生成密集點(diǎn)的對應(yīng)距離如圖13 所示.由圖13可以看出,對應(yīng)密集點(diǎn)之間的距離在窗戶和不易觀測的墻體角落等區(qū)域較大,大部分對應(yīng)密集點(diǎn)的距離都在厘米尺度,本研究方法與常規(guī)方法生成的密集點(diǎn)云結(jié)果基本一致.
為了減少建模時(shí)間與計(jì)算量,提升影像建模的效率,本研究提出了一種使用深度學(xué)習(xí)技術(shù)對影像進(jìn)行篩選的方法,并將該方法用于影像三維重建,與常規(guī)方法做對比,得到以下結(jié)論:
(1)本研究方法在建模之前使用神經(jīng)網(wǎng)絡(luò)模型對村鎮(zhèn)區(qū)域的建筑影像進(jìn)行篩選,減少了影像的數(shù)量,比常規(guī)方法建模節(jié)省了49.4%的時(shí)間,提升了建模效率.
(2)篩選包含建筑的影像并未減少建筑相關(guān)影像之間的匹配.從建模的重投影誤差來看,常規(guī)方法的均方根誤差為0.68 像素,本研究方法的均方根誤差為0.69 像素,兩者基本一致.從2種方法生成的點(diǎn)云模型對比來看,2種方法大部分對應(yīng)密集點(diǎn)之間的距離均在厘米尺度.本研究方法與常規(guī)方法在建模精度上基本一致,表明減少非建筑圖像數(shù)量不會(huì)降低三維重建的精度.
綜上所述,本研究方法構(gòu)建的影像模型的精度與常規(guī)方法相差不大,但大大減少了影像建模的時(shí)間,提高了效率,實(shí)驗(yàn)結(jié)果達(dá)到預(yù)期效果,這為特定地區(qū)的三維建模任務(wù)提供了一種效率高、計(jì)算量少、成本低的可行方法.