閆龍,張偉
一種室內(nèi)建筑點云平面圖快速生成方法*
閆龍1,張偉2
(1.山東工商學院 管理科學與工程學院,山東 煙臺 264005;2.山東工商學院 信息與電子工程學院,山東 煙臺 264005)
針對三維點云數(shù)據(jù)展開處理,提出了一種室內(nèi)環(huán)境建筑立面圖的快速生成方法。首先將點云數(shù)據(jù)經(jīng)過網(wǎng)格中值濾波算法進行數(shù)據(jù)精簡,然后基于抽樣一致性算法(RANSAC)建立新的坐標系,并將點云在、、方向進行新坐標系內(nèi)對齊。去除屋頂和地面后將點云向XOY平面內(nèi)投影,利用簡化的LSD算法檢測線段得到墻壁的精確位置。該方法減少了墻面、地面等大平面的檢測過程,可以快速得出室內(nèi)建筑墻壁的平面圖。經(jīng)過實驗結(jié)果對比,比同類算法速度更快,墻壁位置定位更精確。
RGB-D;RANSAC;概率密度;室內(nèi)環(huán)境
場景理解是人工智能的重要研究方向,在機器人導航、虛擬顯示、自動駕駛及遙感測量等領(lǐng)域有廣泛的應(yīng)用。隨著計算機視覺、人工智能技術(shù)以及機器人技術(shù)的發(fā)展,越來越多學者針對三維場景理解的關(guān)鍵技術(shù)展開了大量研究[1-3]。場景理解是機器人對場景進行推斷和認知的過程,目前主要包含目標檢測與識別、物體之間關(guān)系推理以及語義分割等內(nèi)容。
根據(jù)場景理解的對象不同大致可分為室內(nèi)室外兩大類,室外場景主要針對道路、汽車、行人等對象;室內(nèi)場景主要包括地板、墻面、天花板、桌子、椅子、沙發(fā)、床、衣柜、箱子等基本要素和其他雜物。
根據(jù)數(shù)據(jù)來源不同,對室內(nèi)建筑的理解研究大致可分為三類:①以圖像為對象。徐風堯等[4]利用深度學習模型對室內(nèi)樓道環(huán)境分析,將樓道環(huán)境對象分為路、門、窗戶、消防栓、門把手和背景六類,實現(xiàn)了對象的分割與識別。劉天亮等[5]提出了一種由粗到精的室內(nèi)場景空間布局估計方法,采用VGG-16全卷積神經(jīng)網(wǎng)絡(luò)對彩色圖像進行處理,預(yù)測了室內(nèi)的布局類別。②以激光點云三維數(shù)據(jù)為對象。IKEHATA等[6]根據(jù)點云計算視點空間,進行分割優(yōu)化后提出了室內(nèi)環(huán)境空間結(jié)構(gòu)模型。賈小鳳等[7]利用點云數(shù)據(jù)進行了精細化建模。③圖像與點云的結(jié)合。GUPTA等[8]利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)在雜亂的RGB-D圖像中識別了場景內(nèi)容(桌、椅、床等),估算目標對象的位置并在數(shù)據(jù)庫中檢索對應(yīng)的模型以替換掉數(shù)據(jù)不完整的目標。代具亭等[9]提出了一個基于RGB-D數(shù)據(jù)的場景語義網(wǎng)絡(luò),提高了語義分割的準確率。
本文主要針對RGB-D數(shù)據(jù)的室內(nèi)場景展開研究。目前研究中,利用RGB-D點云數(shù)據(jù)進行室內(nèi)環(huán)境的理解有以下三個難點:①室內(nèi)環(huán)境比較復雜,雜物比較多,相互之間可能存在遮擋,此時物體因為遮擋導致信息不全難以識別; ②玻璃窗戶、鏡面或其他非漫反射的部分難以獲得較好的三維點云數(shù)據(jù),對環(huán)境理解造成較大的干擾;③大范圍環(huán)境內(nèi)采集的數(shù)據(jù)噪聲較多,點云碎片化嚴重,對場景分割和理解帶來很大的困難。室內(nèi)環(huán)境三維點云如圖1所示。
圖1 室內(nèi)環(huán)境三維點云
對圖像的理解可以靠大量的標注樣本數(shù)據(jù)庫進行神經(jīng)網(wǎng)絡(luò)學習加以分類,而利用點云數(shù)據(jù)完成室內(nèi)環(huán)境理解的研究則難以使用此類方法,因為點云是離散的點,難以進行標注,深度學習的方法在此并不適用。因此在本文中利用幾何和統(tǒng)計學的方法研究點云的理解問題。
在研究中發(fā)現(xiàn):如果能將點云中的屋頂、地面、墻壁首先識別并分離出來,即可得到建筑的總體格局,也可對每個房間獨立分析;在去除屋頂和地面后大部分的家具或其他障礙物的點云失去了連接的部分,自然被獨立出來。
通過以上兩點可知,墻壁的識別是室內(nèi)環(huán)境分析的突破口。本文即從墻壁的特征著手,將三維點云經(jīng)過濾波、降維、坐標轉(zhuǎn)換、形態(tài)學計算等過程,最終提取出室內(nèi)環(huán)境的建筑平面圖。
本文采用了Satoshi Ikehata的數(shù)據(jù),其中apartment1部分共分為16個空間,每個空間由多幅RGB-D數(shù)據(jù)經(jīng)過ICP算法進行了整合,形成了一幅全景數(shù)據(jù)。每個空間約300 000個點。每個點包含了height、width、、、、red、green、blue、x、y、z、intensity 12個分量。其中、、為三維坐標值,red、green、blue為點的顏色分量,x、y、z為該點的法向量,intensity為點的灰度值。
在獲取點云數(shù)據(jù)時,由于設(shè)備精度,操作者經(jīng)驗環(huán)境因素帶來的影響,以及電磁波的衍射特性,被測物體表面性質(zhì)變化和數(shù)據(jù)拼接配準操作過程的影響,點云數(shù)據(jù)中不可避免出現(xiàn)一些噪聲。在點云處理流程中濾波處理作為預(yù)處理的第一步,對后續(xù)的影響比較大。點云濾波過程將點云數(shù)據(jù)中的孤點、噪點、孔洞等識別并去除,將點云中的數(shù)據(jù)精簡壓縮,減少運算量,才能夠更好進行配準、特征提取、曲面重建、可視化等后續(xù)處理。常用的點云濾波處理算法包括Bilateral雙邊濾波、Gaussian高斯濾波、條件濾波、直通濾波、基于隨機采樣一致性濾波等。
本文中采用網(wǎng)格中值法進行濾波,依據(jù)點云范圍建立三維網(wǎng)格,網(wǎng)格疏密可根據(jù)精簡比例調(diào)整。統(tǒng)計落在各網(wǎng)格內(nèi)的點,并計算平均值和中值。網(wǎng)格法點云濾波如圖2所示。在三維網(wǎng)格內(nèi)利用中值點(圖2中黑點所示)代替網(wǎng)格內(nèi)所有點。網(wǎng)格內(nèi)幾何中值點可由以下公式確定:
函數(shù)表示兩點間的距離,具體為:
式(1)中:i坐標為(i,i,i),j坐標為(j,j,j)。原始數(shù)據(jù)為4 933 156點,經(jīng)過該方法精簡后為3 197 368點,為原來的64.8%。
圖2 網(wǎng)格法點云濾波
基于RANSAC算法的點云坐標對齊如圖3所示。原始數(shù)據(jù)中,點云坐標系與世界坐標系有一定偏差,如圖3(a)所示。為了方便后續(xù)的數(shù)據(jù)處理,在此對數(shù)據(jù)進行對齊處理。根據(jù)Manhattan假設(shè),室內(nèi)環(huán)境可認為存在于、、三方向垂直的坐標系中,在此尋找點云數(shù)據(jù)的、、方向,并建立旋轉(zhuǎn)矩陣使點云坐標系與世界坐標系對齊。
新坐標系可由如下方法獲得:首先選擇z>0.9的點,采用隨機抽樣一致性方法(RANSAC)確定軸向量。向量與所有點的法向量相乘,找到與向量垂直的兩個方向,選其中之一為方向。向量與向量叉乘,計算得出與、相互垂直的正交方向,得到點云坐標系--。
根據(jù)公式(1)將點云旋轉(zhuǎn),使點云坐標系和世界坐標系重合,新坐標new如圖3(b)所示,可以看出點云坐標系與世界坐標系達成了一致。
圖3 基于RANSAC算法的點云坐標對齊
將點云投影到面,把數(shù)據(jù)維度從3D降到2D,大大降低了計算復雜度O。從幾何角度看,點云數(shù)據(jù)投影到面后,墻面處聚集的點較多,投影點的密度也較大。天花板或地面投影后點分布較為均勻,密度也較小。利用該特征可以把墻面與天花板分割開。
通過建立坐標直方圖來去除地面和天花板點云。然后利用簡化的LSD方法檢測直線段,采用下面兩個步驟完成線段的檢測與融合:①梯度和方向計算。計算各點梯度值,將點按照梯度值排序,梯度值越大即具有顯著邊緣特性的點作為種子點,把梯度劃分成20個等級,以種子點開始從梯度最高的等級依次向下搜索,直至所有點變?yōu)閁SED。②直線區(qū)域增長。由種子點搜索角度滿足并且狀態(tài)為UNUSED的點(八鄰域)形成直線區(qū)域。鄰域內(nèi)在角度承受范圍 (﹣11.25~11.25°)內(nèi)滿足整個區(qū)域的方向角的點加入到這個區(qū)域。
檢測結(jié)果如圖4所示,圖中紅線為檢測到的線段,線段所在的位置即代表墻壁立面點云的位置;黑點為墻壁立面在坐標系的投影點。
圖4 檢測結(jié)果對比
從圖4可以看出,線段幾乎覆蓋了所有的投影點,檢測結(jié)果較為完整。
在獲取墻壁直線圖后,根據(jù)坐標位置可抽取到對應(yīng)的立面點云如圖5所示。
圖5 墻壁立面點云
數(shù)據(jù)中有3 135 466個點,在筆記本i7-6700 CPU+16G RAM+MatlabR2015平臺上運行。Ikehata的結(jié)果得到的點比較多,但同時保留了較多的噪點,運用本文方法得到了大部分墻壁的結(jié)構(gòu),噪點比較少。Ikehata用時76.25 s,本文用時16.45 s,時間僅為原來的1/5。從效率來看,本文方法速度更快;從提取效果上看,采用本文方法的噪點減少了很多,且能識別出房屋建筑的主要結(jié)構(gòu)。經(jīng)驗證,減少的噪點大部分是玻璃等物品的鏡面反射所引起的。
本文基于Manhattan假設(shè)對室內(nèi)環(huán)境點云進行了分析,通過濾波、坐標對齊和直線檢測等步驟提取了建筑立面結(jié)構(gòu),算法速度更快,檢測的線段很好地反映了建筑立面所在的位置與結(jié)構(gòu)。根據(jù)此結(jié)果可迅速建立三維模型圖。
[1]PHAM Q,HUA B,NGUYEN T,et al.Real-Time progressive 3D semantic segmentation for indoor scenes[C]//IEEE Winter Conference on Applications of Computer Vision,2019.
[2]CHEN Y,MENSINK T,GAVVES E.3D neighborhood convolution:learning depth-aware features for RGB-D and RGB semantic segmentation[C]//International Conference on 3D Vision,2019.
[3]HU Y,CHEN Z,LIN W.RGB-D semantic segmentation:a review[C]//IEEE International Conference on Multimedia & Expo Workshops,2018.
[4]徐風堯,王恒升.移動機器人導航中的樓道場景語義分割[J].計算機應(yīng)用研究,2018,35(6):1863-1866.
[5]劉天亮,馮希龍,顧雁秋,等.一種由粗至精的RGB-D室內(nèi)場景語義分割方法[J].東南大學學報(自然科學版),2016(4):681-687.
[6]IKEHATA S,YANG H,F(xiàn)URUKAWA Y.Structured Indoor Modeling[C]//2015 IEEE International Conference on,2015.
[7]賈小鳳,呂棟,姜傳苓,等.基于激光點云數(shù)據(jù)的室內(nèi)精細三維模型建立[J].北京測繪,2018(11):1281-1284.
[8]GUPTA S,ARBELAEZ P,GIRSHICK R,et al.Aligning 3D models to RGB-D images of cluttered scenes[C]//2015 IEEE Conference on Computer Vision,2015.
[9]代具亭,湯心溢,劉鵬,等.基于彩色-深度圖像和深度學習的場景語義分割網(wǎng)絡(luò)[J].科學技術(shù)與工程,2018(20):286-291.
TP391
A
10.15913/j.cnki.kjycx.2020.01.066
2095-6835(2020)01-0159-03
閆龍(1981—),男,山東泰安人,博士,副教授,主要研究方向為機器視覺與智能制造。張偉,男,碩士研究生。
山東省教育廳高等學??萍加媱潱ň幪枺篔17KA068)資助
〔編輯:嚴麗琴〕