【论文笔记】基于 VR 的移动机器人真实环境三维建模系统
文章目錄
- 摘要
- 關(guān)鍵詞
- 1 引言
- 2 系統(tǒng)框架
- 2.1 點(diǎn)云地圖與重定位
- 2.2 生成模型地圖
- Step 1: 去噪聲和降采樣
- Step 2: 計(jì)算每個(gè)點(diǎn)的法線
- Step 3: Possion 曲面重建生成模型
- Step 4: 點(diǎn)云三角化生成紋理貼圖
- Step 5: 模型和紋理貼圖進(jìn)行配對(duì)
- 3 實(shí)驗(yàn)與分析
- 3.1 SLAM 點(diǎn)云地圖生成
- 結(jié)論
- 3.2 三維地圖模型的生成
- 結(jié)論
- 3.3 重定位
- 結(jié)論
- 4 結(jié)論
摘要
【針對(duì)問(wèn)題】傳統(tǒng)的虛擬現(xiàn)實(shí)技術(shù)存在速度慢和模型與現(xiàn)實(shí)物體尺度之間存在偏差的問(wèn)題。
【提出模型】基于 VR 的移動(dòng)機(jī)器人的真實(shí)環(huán)境三維建模系統(tǒng)。
【具體細(xì)節(jié)】(1)視覺SLAM——高精度的、稠密的三維點(diǎn)云地圖;(2)將三維點(diǎn)云通過(guò)曲面重建為室內(nèi)三維
模型并導(dǎo)入到 unity 3D 中;(3)借助 VR 設(shè)備將室內(nèi)三維模型置于三維立體的虛擬環(huán)境中;(4)再用視覺SLAM技術(shù)實(shí)現(xiàn)室內(nèi)重定位,實(shí)時(shí)映射機(jī)器人在模型中完成交互。
【達(dá)到效果】(1)具有快速性;(2)解決了場(chǎng)景尺度偏差問(wèn)題;(3)生成地圖具有復(fù)用性;(4)讓操作人員具有場(chǎng)景感。
關(guān)鍵詞
1 引言
虛擬現(xiàn)實(shí)(Virtual Reality, VR)通過(guò)計(jì)算機(jī)模擬虛擬環(huán)境從而給人以沉浸感
意義:對(duì)實(shí)際物體建立合適的數(shù)學(xué)模型,以便機(jī)器人更好地分析作業(yè)
虛擬三維場(chǎng)景的構(gòu)建工具:
建模軟件 →\rightarrow→ 3DS MAX →\rightarrow→ 通用性軟件;建模效率低,建模者要求高(對(duì)實(shí)時(shí)渲染環(huán)境要求更高);
三維激光掃描建模技術(shù) →\rightarrow→ 速度快、精度高、成本低;數(shù)據(jù)量大 →\rightarrow→ 難以在 VR 系統(tǒng)內(nèi)運(yùn)行,要和全站儀等測(cè)繪設(shè)備一同使用 →\rightarrow→ 對(duì)操作者要求高;
SLAM技術(shù) →\rightarrow→ 可以更加高效地構(gòu)建場(chǎng)景 →\rightarrow→ 分為基于激光雷達(dá)的和基于視覺傳感器的
基于激光雷達(dá) →\rightarrow→ 優(yōu)點(diǎn):不受光照的影響 →\rightarrow→ 代表:Junhao Xiao 等人提出通過(guò) LOAM 算法構(gòu)建點(diǎn)云地圖實(shí)現(xiàn)三維場(chǎng)景地圖 →\rightarrow→ 不足之處:每個(gè)點(diǎn)顏色表示其高度但卻缺失了地圖原有的顏色和紋理信息, 點(diǎn)云地圖的表示形式也使結(jié)構(gòu)細(xì)節(jié)模糊或缺失
基于視覺傳感技術(shù) →\rightarrow→ 體積小、便攜容易、具有豐富的色彩和紋理信息
(1)ORB-SLAM 2:第一個(gè)用于單目相機(jī)、雙目相機(jī)和RGB-D相機(jī)的開源系統(tǒng);具有閉環(huán)、重定位和地圖重用部分;缺點(diǎn)是使用單目相機(jī) →\rightarrow→ 魯棒性較差
(2)VINS-Mono:單目視覺慣性系統(tǒng)的實(shí)時(shí)SLAM框架;慣性單元 + 視覺信息 緊耦合;能解決單目上尺度不確定的問(wèn)題;構(gòu)建出稀疏三維地圖
(3)Voxgraph:基于符號(hào)距離函數(shù)的大規(guī)模三維重建方法;子地圖 →\rightarrow→ 降低存儲(chǔ)和優(yōu)化的代價(jià);通過(guò)實(shí)時(shí)獲得重力方向來(lái)降低位姿估計(jì)問(wèn)題的維度(系統(tǒng)假設(shè))。
本文工作 →\rightarrow→ 視覺SLAM技術(shù)與VR技術(shù)結(jié)合 →\rightarrow→ 基于 VR 的移動(dòng)機(jī)器人的真實(shí)環(huán)境三維建模系統(tǒng) →\rightarrow→ 效果:解決人工建模效率低下、激光SLAM缺乏紋理結(jié)構(gòu)信息問(wèn)題;驗(yàn)證重定位模塊有效、模型地圖可以復(fù)用。
2 系統(tǒng)框架
由機(jī)器人端和虛擬現(xiàn)實(shí)端兩個(gè)模塊組成
機(jī)器人端:
VR端:
2.1 點(diǎn)云地圖與重定位
VR手柄控制 →\rightarrow→ 數(shù)據(jù)采集;
視覺SLAM算法 →\rightarrow→ 稠密點(diǎn)云三維場(chǎng)景地圖構(gòu)建;
前端 →\rightarrow→ 采用 VINS-Mono 作為視覺-慣導(dǎo)里程計(jì)初步估計(jì)位姿、生成子點(diǎn)云地圖; →\rightarrow→ 完成后端所需要的三個(gè)約束計(jì)算;
后端 →\rightarrow→ 三種約束(配準(zhǔn)約束、里程計(jì)約束和回環(huán)約束)構(gòu)造最小二乘完成對(duì)位姿圖的優(yōu)化;
arg?min?x∑(i,j)∈R∣∣eregi,j(TWSi,TWSj)∣∣σr2+∑(i,j)∈O∣∣eodomi,j(TWSi,TWSj)∣∣ΣO2+∑(i,j)∈L∣∣eloopi,j(TWSi,TWSj)∣∣ΣL2\arg\min_{x} \sum_{(i,j)\in R} ||e_{reg}^{i,j}(\pmb{T_{WS^{i}}},\pmb{T_{WS^{j}}})||_{\sigma_{r}}^{2} + \sum_{(i,j)\in O} ||e_{odom}^{i,j}(\pmb{T_{WS^{i}}},\pmb{T_{WS^{j}}})||_{\Sigma_{O}}^{2} + \sum_{(i,j)\in L} ||e_{loop}^{i,j}(\pmb{T_{WS^{i}}},\pmb{T_{WS^{j}}})||_{\Sigma_{L}}^{2} argxmin?(i,j)∈R∑?∣∣eregi,j?(TWSi?TWSi?,TWSj?TWSj?)∣∣σr?2?+(i,j)∈O∑?∣∣eodomi,j?(TWSi?TWSi?,TWSj?TWSj?)∣∣ΣO?2?+(i,j)∈L∑?∣∣eloopi,j?(TWSi?TWSi?,TWSj?TWSj?)∣∣ΣL?2?
? χ={TWS1,TWS2,?,TWSN}→\chi=\{ \pmb{T_{WS^{1}}},\pmb{T_{WS^{2}}},\cdots,\pmb{T_{WS^{N}}} \}\rightarrowχ={TWS1?TWS1?,TWS2?TWS2?,?,TWSN?TWSN?}→ 里程計(jì)初始估計(jì)的位姿,是四維向量;
? R、O、L →\rightarrow→ 準(zhǔn)配約束(registration)、里程計(jì)約束(odometry)、回環(huán)約束(loop)
2.2 生成模型地圖
稠密三維點(diǎn)云 →\rightarrow→ 曲面重建算法處理 →\rightarrow→ 精細(xì)化三維場(chǎng)景模型和與之對(duì)應(yīng)的紋理貼圖
曲面重建算法:基于 Possion 重建改進(jìn)
Step 1: 去噪聲和降采樣
去噪 →\rightarrow→ 統(tǒng)計(jì)濾波器 →\rightarrow→ 除去離群點(diǎn) →\rightarrow→ 離群點(diǎn)存在會(huì)導(dǎo)致建模出的場(chǎng)景不平滑
? 原理:點(diǎn)pip_{i}pi?通過(guò)KNN鄰近算法得到領(lǐng)域快Bj∈Nbhd(pi)B_{j}\in\pmb{Nbhd}(p_{i})Bj?∈NbhdNbhd(pi?),計(jì)算pip_{i}pi?與領(lǐng)域中心點(diǎn)的距離xxx,根據(jù)距離分布滿足高斯分布的原理,剔除平均距離在標(biāo)準(zhǔn)差范圍之外的點(diǎn)即為剔除離群點(diǎn);
降采樣 →\rightarrow→ 最遠(yuǎn)點(diǎn)采樣法 →\rightarrow→ 滿足完備性的基礎(chǔ)上提高速度 →\rightarrow→ 盡可能覆蓋空間中所有點(diǎn)
? 原理:在輸入點(diǎn)云數(shù) NNN 的集合 AAA 中隨機(jī)選擇點(diǎn) P0P_{0}P0? 作為起始點(diǎn) →\rightarrow→ 得到采樣集合 B={P0}B=\{ P_{0} \}B={P0?} →\rightarrow→ 計(jì)算集合 AAA 中剩余點(diǎn)到集合 BBB 中點(diǎn)的距離 →\rightarrow→ 選擇距離最遠(yuǎn)的點(diǎn)作為 P1P_{1}P1? 添加到集合 BBB 中
? →\rightarrow→ 當(dāng)集合 B 中點(diǎn)數(shù)大于1,滿足公式:
max?(min?[d1,1d1,2?d1,Nd2,1d2,2?d2,N????dN?2,1dN?2,2?dN?2,NdN?1,1dN?1,2?dN?1,N])\max\big( \min \big[ \begin{matrix} d_{1,1} & d_{1,2} & \cdots & d_{1,N} \\ d_{2,1} & d_{2,2} & \cdots & d_{2,N} \\ \cdots & \cdots & \cdots & \cdots \\ d_{N-2,1} & d_{N-2,2} & \cdots & d_{N-2,N} \\ d_{N-1,1} & d_{N-1,2} & \cdots & d_{N-1,N} \end{matrix} \big] \big) max(min[d1,1?d2,1??dN?2,1?dN?1,1??d1,2?d2,2??dN?2,2?dN?1,2????????d1,N?d2,N??dN?2,N?dN?1,N??])
? di,j→d_{i,j}\rightarrowdi,j?→ 集合 AAA 中剩余點(diǎn)到采樣集合 BBB 中的距離
? max?min?(?)→\max\min(\cdots)\rightarrowmaxmin(?)→ 先取矩陣中每一列的最小值 →\rightarrow→ 一個(gè)行向量 →\rightarrow→ 向量中元素最大值對(duì)應(yīng)的點(diǎn) →\rightarrow→ 采樣點(diǎn)
? →\rightarrow→ 直到獲得 NNN 個(gè)采樣點(diǎn)
Step 2: 計(jì)算每個(gè)點(diǎn)的法線
根據(jù)領(lǐng)域計(jì)算質(zhì)心 →oi=1k∑j=0j<kpj\rightarrow o_{i}=\frac{1}{k}\sum_{j=0}^{j<k}p_{j}→oi?=k1?∑j=0j<k?pj?
構(gòu)建協(xié)方差矩陣 →\rightarrow→ cov=1k∑Bj∈Nbhd(pi)(Bj?oi)(pi?oi)T\pmb{cov}=\frac{1}{k}\sum_{B_{j}\in\pmb{Nbhd}(p_{i})}(B_{j}-o_{i})(p_{i}-o_{i})^{T}covcov=k1?∑Bj?∈NbhdNbhd(pi?)?(Bj??oi?)(pi??oi?)T
協(xié)方差矩陣 SVD 分解 →\rightarrow→ 最小特征值對(duì)應(yīng)的特征向量即為法線 N?\pmb{\vec{N}}NN
Step 3: Possion 曲面重建生成模型
思想:for 點(diǎn)云SSS,MMM = 物體表面 →\rightarrow→ ?M\partial{M}?M = 物體的邊界,N?→\pmb{\vec{N}} \rightarrowNN→ 物體內(nèi)外的方向
隱式地?cái)M合一個(gè)由物體派生的指示函數(shù) χM\chi_{M}χM?:曲面重構(gòu)問(wèn)題 →\rightarrow→ 重構(gòu)指示函數(shù) →\rightarrow→ 等值面提取
χM(q)={1,q∈M0,q?M,q代表點(diǎn)云中的一個(gè)點(diǎn)\chi_{M}(q) = \begin{cases} 1,&q\in M \\ 0,&q \notin M \end{cases} ,q代表點(diǎn)云中的一個(gè)點(diǎn) χM?(q)={1,0,?q∈Mq∈/M?,q代表點(diǎn)云中的一個(gè)點(diǎn)
基本原理:
? (1)對(duì)輸入點(diǎn)集建立深度為 D\pmb{D}DD 的八叉樹 ?\pmb{\varrho}?? 拓?fù)潢P(guān)系并對(duì)每一個(gè)節(jié)點(diǎn) ooo 附加 一個(gè)節(jié)點(diǎn)函數(shù) FoF_{o}Fo?
? oc→o_{c} \rightarrowoc?→ 節(jié)點(diǎn)的中心; ow→o_{w} \rightarrowow?→ 節(jié)點(diǎn)的寬度
Fo(q)=F(q?ocow)1ow3(1)F_{o}(q)=F(\frac{q-o_{c}}{o_{w}})\frac{1}{o_{w}^{3}} \tag{1} Fo?(q)=F(ow?q?oc??)ow3?1?(1)
? (2)引入基函數(shù) F\pmb{F}FF 描述節(jié)點(diǎn)函數(shù)和向量場(chǎng) V?\pmb{\vec{V}}VV 之間的關(guān)系
F(q)=F(q2D)(2)F(q)=F(\frac{q}{2^{D}}) \tag{2} F(q)=F(2Dq?)(2)
? (3)引入高通濾波器將有向點(diǎn)集的表面重建轉(zhuǎn)換為一個(gè)空間泊松問(wèn)題
F(x,y,z)=(B(x)B(y)B(z))?nB(t)={1,∣t∣<50,otherwise(3)F(x,y,z)=(B(x)B(y)B(z))^{*n} \tag{3} \\ B(t) = \begin{cases} 1,&|t|<5 \\ 0,& otherwise \end{cases} F(x,y,z)=(B(x)B(y)B(z))?nB(t)={1,0,?∣t∣<5otherwise?(3)
? (4)指示函數(shù)所代表的表面梯度域的向量場(chǎng)
V?(q)=∑s∈S∑o∈NgbrD(s)αo,sFo(q)s.N?(4)\pmb{\vec{V}}(q) = \sum_{s\in S}\sum_{o \in Ngbr_{D}(s)}\alpha_{o,s}F_{o}(q)s.\pmb{\vec{N}} \tag{4} VV(q)=s∈S∑?o∈NgbrD?(s)∑?αo,s?Fo?(q)s.NN(4)
? NgbrD(s)Ngbr_{D}(s)NgbrD?(s) →\rightarrow→ 當(dāng)前節(jié)點(diǎn) s.ps.ps.p 的八個(gè)臨近節(jié)點(diǎn)
? α{o,s}\alpha\{o,s\}α{o,s} →\rightarrow→ 插值的權(quán)重
? (5)求解問(wèn)題簡(jiǎn)化
∑o∈?∣∣<Δχ???V?,Fo>∣∣2=∑o∈?∣∣<Δχ,Fo>?<??V?,Fo>∣∣2(5)\sum_{o\in\varrho}\big|\big| \big< \Delta\chi-\nabla\cdot\vec{\pmb{V}},F_{o} \big> \big|\big|^{2}=\sum_{o\in\varrho}\big|\big| \big< \Delta\chi,F_{o} \big> - \big< \nabla\cdot\vec{\pmb{V}},F_{o} \big> \big|\big|^{2} \tag{5} o∈?∑?∣∣?∣∣??Δχ???VV,Fo??∣∣?∣∣?2=o∈?∑?∣∣?∣∣??Δχ,Fo??????VV,Fo??∣∣?∣∣?2(5)
? 求解函數(shù) χ\chiχ 的方法:通過(guò)該函數(shù)在函數(shù)空間投影的拉普拉斯算子與 FoF_{o}Fo? 構(gòu)成的向量逼近 vvv 解決轉(zhuǎn)換成 ∑o∈?∣∣v?vo∣∣2\sum_{o\in\varrho}||v-v_{o}||^{2}∑o∈??∣∣v?vo?∣∣2;
? 矩陣操作求解向量 →\rightarrow→ 算法定義了一個(gè) v×vv \times vv×v 階矩陣 LLL →\rightarrow→ 每一項(xiàng)是拉普拉斯算子和每一個(gè)節(jié)點(diǎn)函數(shù)的點(diǎn)乘結(jié)果 ?\longrightarrow? 求解 min?x∈R∣?∣∣∣Lx?v∣∣\min_{x\in R^{|\varrho|}}||\pmb{Lx - v}||minx∈R∣?∣?∣∣Lx?vLx?v∣∣ ?\longrightarrow? 移動(dòng)立方體法 ?\longrightarrow? 提取得到等值面
Step 4: 點(diǎn)云三角化生成紋理貼圖
對(duì)在表面 SSS 的點(diǎn)進(jìn)行三角化操作:沿著三角化的頂點(diǎn)與貼圖平面 UVUVUV 坐標(biāo)進(jìn)行匹配映射,貼圖顏色信息為三個(gè)點(diǎn)對(duì)應(yīng)的三個(gè)通道的灰度平均值
Step 5: 模型和紋理貼圖進(jìn)行配對(duì)
將貼圖與法線正向方向 的模型一側(cè)匹配映射
3 實(shí)驗(yàn)與分析
構(gòu)建方法評(píng)估數(shù)據(jù)集 →\rightarrow→ EuRoC數(shù)據(jù)集
-
三維重建數(shù)據(jù)包獲得工具 →\rightarrow→ Release D435i 相機(jī)
-
系統(tǒng)運(yùn)行平臺(tái) →\rightarrow→ Ubuntu 16.04 64 位臺(tái)式機(jī)
-
CPU →\rightarrow→ i9-10900X(10 核@3.70GHz)
-
GPU →\rightarrow→ 64G 內(nèi)存 GTX 2080Ti
-
機(jī)器人運(yùn)行平臺(tái) →\rightarrow→ NVIDIA Jetson Xavier
3.1 SLAM 點(diǎn)云地圖生成
對(duì)比 →\rightarrow→ ORB-SLAM 2 、OKVIS
運(yùn)行次數(shù) →\rightarrow→ 每個(gè)系統(tǒng) 10 次,
計(jì)算指標(biāo) →\rightarrow→ 在數(shù)據(jù)集上的絕對(duì)軌跡誤差(ATE)中的均方根誤差 (RMSE)的平均值來(lái)評(píng)估本文系統(tǒng)的定位精度
結(jié)論
3.2 三維地圖模型的生成
最后本系統(tǒng)經(jīng)過(guò)統(tǒng)計(jì)濾波器(K=50)去噪后獲得具有 86560 個(gè)點(diǎn)的稠密點(diǎn)云地圖
通過(guò)對(duì)改稠密點(diǎn)云地圖進(jìn)行 FPS 降采樣到不同的點(diǎn)云數(shù),再通過(guò)曲面重建生成三維地圖模型
結(jié)論
3.3 重定位
結(jié)論
每次都成功初始化和重定位
系統(tǒng)的重定位平均誤差為 0.31mmm
4 結(jié)論
可推廣應(yīng)用于室內(nèi)特殊環(huán)境下的信息規(guī)劃、室內(nèi)建筑與裝飾設(shè)計(jì)、計(jì)算機(jī)設(shè)施管理以及古文物修復(fù)等多個(gè)領(lǐng)域
總結(jié)
以上是生活随笔為你收集整理的【论文笔记】基于 VR 的移动机器人真实环境三维建模系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Pdf.js body.getReade
- 下一篇: 【正点原子Linux连载】第十八章 Ca