孫 奧 金 鑫 管相源 史平凡 康 蕊 徐 照
(東南大學(xué)土木工程學(xué)院,南京 211189)
隨著智慧城市管理的需要,建筑運維逐漸受到人們的重視,然而傳統(tǒng)的建筑運維信息的獲取方法存在效率低下、人力成本高等問題,不符合智慧城市的發(fā)展需求[1-2]。本文以建筑窗戶構(gòu)件為例,提出一種自動化的建筑空間特征提取方法,以滿足建筑運維需要。
如今無人機技術(shù)發(fā)展迅速,已具備體積小、飛行穩(wěn)定、操作簡便等優(yōu)點,在國土調(diào)查、地籍地形測繪、城市規(guī)劃、城市三維建模等領(lǐng)域有著廣泛的應(yīng)用。無人機可以實現(xiàn)360°無死角拍攝,突破了傳統(tǒng)航空攝影垂直拍攝無法獲得建筑物表面紋理的弊端,具有高效、精確、目標(biāo)遮擋小的特點,現(xiàn)已成為地物信息采集的重要手段,能夠快速地對大范圍、大體量的地物地貌進行掃描以獲取相關(guān)信息顯得尤為重要。羅峰、黃振妥[3]介紹了通過無人機傾斜攝影測量技術(shù)獲取三維實景模型,使用相關(guān)軟件實現(xiàn)房屋外輪廓的繪制和層數(shù)的判斷,并以廣州市金融城西區(qū)房屋面積摸查為例驗證了其可行性。與傳統(tǒng)測量方式相比,無人機傾斜攝影作業(yè)效率和應(yīng)用價值都更高。楊明等[4]采取基于無人機的三維激光雷達掃描,結(jié)合地面站補點的方式,對廣州番禺區(qū)某房屋分散的項目進行掃描。相比于傳統(tǒng)測繪手段,不僅降低了人力物力成本,而且達到了相關(guān)標(biāo)準(zhǔn)的地籍測量精度。馬金龍、于沐等[5]運用無人機獲取渠道視頻信息并將視頻分幀得到圖像,對圖像進行處理后結(jié)合計算機圖像識別技術(shù)實現(xiàn)了渠道襯砌破損程度的檢測,該方法具有節(jié)約時間、操作簡便等優(yōu)點。
隨著人工智能等技術(shù)的發(fā)展,運用目標(biāo)檢測算法和深度學(xué)習(xí)以實現(xiàn)智能化地識別建筑空間結(jié)構(gòu)特征逐漸成為研究熱點。鄧瑞[6]等人用自己制作的地標(biāo)建筑物數(shù)據(jù)集對改進的Faster-CNN模型進行訓(xùn)練,并根據(jù)每次測試的結(jié)果微調(diào)參數(shù),實驗結(jié)果顯示,改進的Faster-CNN模型對地標(biāo)建筑物的識別率超過90%,識別效果較其他常見模型好。高磊[7]提出基于領(lǐng)域高差分析的建筑物識別提取方法,并利用資源三號衛(wèi)星影像數(shù)據(jù)進行實驗。結(jié)果表明與傳統(tǒng)的面向?qū)ο蟮姆诸惙椒ㄏ啾?,該方法提取建筑物的精度較高,其檢測率和正確率分別達到90.2%、94.8%。許博鳴、劉曉峰等[8]基于卷積神經(jīng)網(wǎng)絡(luò)對建筑物進行分類的思想,以MobileNet為基礎(chǔ)模型進行了三個階段的遷移學(xué)習(xí),480次迭代后在增強后的模糊數(shù)據(jù)集上達到了95.6%的準(zhǔn)確率,并將其移植到移動端以實現(xiàn)自然場景中建筑物的快速識別。
本文從高效的建筑物的空間特征智能識別出發(fā),通過無人機掃描建筑物影像,獲得采集建筑物空間特征的視頻材料,并使用RTMP實時推流至遠程平臺,再通過YOLOv3算法進行實時處理與分析,實現(xiàn)快速提取建筑物的空間特征的目的,最終完成建筑物的三維重建工作。技術(shù)路線如圖1所示。
圖1 技術(shù)路線圖
YOLO算法[9]是Redmon 等人于2016年提出的一種目標(biāo)檢測算法,經(jīng)過幾年的發(fā)展,形成了v3版本的YOLO算法。YOLOv3是一種One-stage的目標(biāo)檢測卷積神經(jīng)網(wǎng)絡(luò),僅使用一個卷積神經(jīng)網(wǎng)絡(luò)其原始圖像進行直接的特征提取,其具有算法簡潔和檢測速度快的優(yōu)點。YOLOv3算法相較于前兩代算法,其改進主要有:調(diào)整了網(wǎng)絡(luò)結(jié)構(gòu); 利用多尺度特征進行對象檢測; 在對象分類中使用Logistic取代了Softmax。YOLOv3神經(jīng)網(wǎng)絡(luò)[9-13]主要由兩個部分構(gòu)成:神經(jīng)網(wǎng)絡(luò)和檢測器。神經(jīng)網(wǎng)絡(luò)是將圖片計算為一個13×13×125的向量,該向量包含了預(yù)測的目標(biāo)位置和類別信息。檢測器是將神經(jīng)網(wǎng)絡(luò)輸出的向量進行“解碼”操作,輸出物品的分類和位置信息。
YOLOv3使用維度聚類(K-mean)作為候選框來預(yù)測邊界框。每個邊界框含有4個坐標(biāo)參數(shù)tx、ty、tw、th。如果單元格偏離圖像的左上角(cx,cy),并且前面的邊界框具有寬度和高度pw,ph,則預(yù)測對應(yīng)于:
bx=σ(tx)+cx
by=σ(ty)+cy
bw=pwetw
bh=pheth
每個框使用多標(biāo)記分類預(yù)測邊界框可能包含的類。在訓(xùn)練期間,本文采用獨立的Logistic分類器,使用二元交叉熵損失進行類預(yù)測。
YOLOv3預(yù)測3種不同尺度的方框——第82層、第94層、第106層,他們分別從不同的尺度檢測圖像。在分配上,在最小的13*13特征圖上(有最大的感受野)應(yīng)用較大的先驗框(116x90),(156x198),(373x326),適合檢測較大的對象。中等的26*26特征圖上(中等感受野)應(yīng)用中等的先驗框(30x61),(62x45),(59x119),適合檢測中等大小的對象。較大的52*52特征圖上(較小的感受野)應(yīng)用較小的先驗框(10x13),(16x30),(33x23),適合檢測較小的對象。
在使用YOLOv3對目標(biāo)進行識別時,首先要將待測的圖像調(diào)成固定的像素大小并輸入到神經(jīng)網(wǎng)絡(luò),本文將圖像分成N×N個網(wǎng)格,當(dāng)對其進行識別時,每個網(wǎng)格預(yù)測中心落在該網(wǎng)格上的構(gòu)架,每個網(wǎng)格預(yù)測B個邊界框,每個邊界框包括x、y、w、h以及置信度5個預(yù)測值,其中,x、y代表邊界框相當(dāng)于網(wǎng)格來說的中心點橫坐標(biāo)和縱坐標(biāo),w和h代表邊界框相對于整幅圖像的寬度和高度,置信度為所預(yù)測的邊界框中含有目標(biāo)的置信度和該邊界的準(zhǔn)確度。
YOLOv3是一種優(yōu)秀的目標(biāo)檢測算法,但是對于無人機實時檢測建筑物空間特征,由于對象的距離尺度較大,對于一些距離較遠、目標(biāo)較小的建筑物空間特征檢測效果不盡理想。項目組使用一些優(yōu)化策略加以改進,使算法能更好的適用于無人機建筑物空間特征檢測。
1.2.1 參數(shù)調(diào)整
無人機遠程實時檢測建筑物空間特征的檢測效率,主要依賴于地面工作站的檢測效果。地面工作站的檢測權(quán)重效果差,將致使檢測準(zhǔn)確率下降,進一步導(dǎo)致無人機檢測不到所需的建筑物空間特征。與此同時,地面工作站性能較差,經(jīng)過算法處理后的檢測視頻幀數(shù)過低,甚至出現(xiàn)檢測窗口崩壞等問題。為解決這些問題,項目組對YOLOv3算法進行參數(shù)調(diào)整。對于檢測權(quán)重的訓(xùn)練,本文將Batch和Subdivision等參數(shù)調(diào)高,以節(jié)省計算機的顯存,獲得更好的檢測精度; 對于無人機實時檢測時,本文將Batch和Subdivision等參數(shù)調(diào)低,以適應(yīng)視頻流的檢測。
1.2.2 端口設(shè)計
在無人機遠程實時檢測建筑物空間特征中,視頻流的傳輸存在一定的延遲性,如何降低延遲是本文設(shè)計端口優(yōu)化策略的主要目的。本文采用了Nginx搭建RTMP推流服務(wù)器用于接收無人機實時傳回的視頻流,平臺接收端使用YOLOv3端口解析RTMP地址并實時對視頻流進行檢測,最后實時將檢測結(jié)果顯示在屏幕上。實測使用Nginx搭建服務(wù)器相比一般的直播推送端口延遲明顯降低。
對于一個簡單的規(guī)則建筑物,實際的輪廓可只由少量的邊、角和點所決定[14]。對于單個規(guī)則建筑而言,可以使用其邊角點位置。通過一定的拓撲關(guān)系,快速建立建筑物的輪廓模型。項目組通過建筑物空間特征提取方法,能獲得建筑物邊角點位置,記錄其中的拓撲關(guān)系,實現(xiàn)建筑物三維模型的快速建立。
本文借助無人機航拍的圖片、視頻等建筑物影像數(shù)據(jù),提出了一種快速建立三維模型的方法,主要包括如下三個過程:
1)使用YOLO算法識別獲取圖片中各物體在圖中的大小、位置等信息,并提取出來;
2)根據(jù)攝像機的焦距等相機參數(shù)、無人機到被拍攝物的距離等位置關(guān)系依據(jù)以下公式計算出實際的位置關(guān)系;
3)通過程序?qū)⒔ㄖ奈恢藐P(guān)系信息編寫為Shapefile數(shù)據(jù),將其導(dǎo)入CityEngine等三維建模軟件中,使用基于CGA規(guī)則的建筑物建模方法,自動化建模得到建筑物的輪廓模型,為后續(xù)的建筑物快速三維重建打下了基礎(chǔ)[15]。
無人機可以通過激光測距測得照片中心點對應(yīng)的實地地點與無人機鏡頭之間的距離,記為L。對于攝影系統(tǒng),拍攝遠處物體時,物方最大視場角為:
其中,ymax是底片或者感光元件的對角線長度,f是相機等效焦距。由于底片或者感光元件一般都是矩形的,長和寬都要小于對角線長度,所以為了使成像不至于出現(xiàn)暗角,實際的視場角要小于計算出來的最大視場角ωmax。
在相機坐標(biāo)系(u-O-v)中,設(shè)照片中心點坐標(biāo)為(u0,v0),要求其落在屋頂上。屋頂邊緣點記為i點,坐標(biāo)為(ui,vi)。
則i點到照片中心點的實地距離為:
其中,α為無人機鏡頭的俯角。
建筑高度即為無人機飛行高度h0與無人機到建筑物的高差L·sinα的差值,為:
h=h0-L·sinα
建筑物空間特征提取通過YOLO算法處理與分析無人機掃描的建筑物影像數(shù)據(jù),提取出建筑物空間特征信息與位置關(guān)系,借助無人機航拍的影像快速得到建筑物的輪廓模型。后續(xù)通過無人機掃描建筑物圖像,獲得采集建筑物立面細節(jié)的貼圖材料,使用貼圖完善建筑物三維模型表面細節(jié),最終完成建筑物的三維重建工作。
采用從互聯(lián)網(wǎng)獲取的大量窗戶或建筑立面圖像,經(jīng)過細節(jié)裁剪后得到包含264張窗戶空間特征圖片的數(shù)據(jù)集,再使用LabelImg軟件對圖像中的窗戶構(gòu)件進行標(biāo)注,每一張圖片均有與之相對應(yīng)的同名txt注釋文件,其中包含窗戶構(gòu)件邊界的位置信息。
在YOLOv3神經(jīng)網(wǎng)絡(luò)正式訓(xùn)練之前,可以對YOLOv3神經(jīng)網(wǎng)絡(luò)模型進行預(yù)訓(xùn)練。預(yù)訓(xùn)練采用遷移學(xué)習(xí)的思想,從類似問題訓(xùn)練過的模型開始,而不是從零開始訓(xùn)練一個新的模型,這樣可以節(jié)省大量的時間[16-18]。
本文訓(xùn)練的預(yù)權(quán)重采用的是從YOLO官網(wǎng)下載的預(yù)權(quán)重darknet53.conv.74,這個是基于Google的ImageNet,利用開源訓(xùn)練集進行訓(xùn)練。隨后,使用本文的數(shù)據(jù)集對預(yù)訓(xùn)練模型進行重新訓(xùn)練,即對預(yù)訓(xùn)練模型的權(quán)重進行微調(diào),從而得到針對結(jié)構(gòu)圖紙圖像的YOLOv3神經(jīng)網(wǎng)絡(luò)模型及對應(yīng)權(quán)重。
本文實驗采用Intel Core(TM)i7-7700處理器、8G內(nèi)存以及NVIDIA GeForce GTX1050Ti顯卡的硬件配置,整個實驗過程在Ubuntu18.04操作系統(tǒng)上進行,使用Python2.7作為編程語言,使用Darknet53作為深度學(xué)習(xí)框架來進行建筑物空間特征的識別。此外,本文還采用CUDA10.2來進行GPU加速,以獲得更高的訓(xùn)練和檢測效率。
在無人機建筑掃描方面,使用精靈PHANTOM 4 RTK無人機用于掃描建筑物表面信息,并實時傳回服務(wù)器進行識別。
使用優(yōu)化策略前,識別速度慢,視頻檢測幀率低,識別窗口容易崩潰,而且存在多檢的情況。使用優(yōu)化策略后,將無人機遠程推流輸入到神經(jīng)網(wǎng)絡(luò)中,可以快速準(zhǔn)確地獲得識別框,窗口內(nèi)窗戶空間特征都被標(biāo)記了出來,沒有明顯的錯檢和漏檢,其置信度達到了90%以上,訓(xùn)練的Avg_loss的變化情況如圖2所示。
圖2 Avg_loss變化情況
使用優(yōu)化前后的YOLOv3分別對視頻流進行檢測。第一張為檢測原圖,第二張為優(yōu)化前檢測截圖,存在錯檢、漏檢的情況,第三張為優(yōu)化后檢測截圖,檢測效果較好,檢測窗口穩(wěn)定,視頻檢測幀率為每秒13幀左右。如圖3~圖4所示。
本文針對市面上常見的空間特征提取方法靈活性差、智能化程度低、人力成本高等問題,提出了一種基于無人機掃描與YOLO識別自動化的建筑構(gòu)件提取方法,以滿足建筑運維需要。
建筑物空間特征提取通過YOLO處理與分析無人機掃描的建筑物影像數(shù)據(jù),提取出建筑物空間特征信息與位置關(guān)系,借助無人機航拍的影像快速得到建筑物的輪廓模型,可為后續(xù)的建筑物快速三維重建打下了基礎(chǔ)。
圖3 YOLOv3識別效果對比
圖4 YOLO實時識別無人機遠程推流畫面
本文進行了驗證無人機實時識別的效果的實驗,將無人機采集的影像傳輸?shù)竭h程服務(wù)器進行實時空間特征提取。實驗結(jié)果表明,實時傳輸、識別效果良好,可以快速準(zhǔn)確地獲得識別框,沒有明顯的錯檢和漏檢,其置信度達到了90%以上。