1. 什么是三維激光點(diǎn)云
首先,我們需要先理解三維點(diǎn)云(point cloud)的概念。三維點(diǎn)云(Point Cloud)是三維空間中離散點(diǎn)的集合,其中每一個(gè)點(diǎn)至少需要包含一組三維坐標(biāo)(X, Y, Z),用于精確描述這個(gè)點(diǎn)在特定坐標(biāo)系下的具體位置。當(dāng)然,除了位置信息以外,每個(gè)點(diǎn)還可以附加有顏色、法線向量、強(qiáng)度值等其他更多的信息?;诙嗄暝谌S空間技術(shù)上的研發(fā),眾趣科技已經(jīng)能夠通過激光雷達(dá)、結(jié)構(gòu)光深度相機(jī),全景圖像預(yù)測(cè)等多種技術(shù)手段,獲得在某個(gè)點(diǎn)位環(huán)繞的三維點(diǎn)云數(shù)據(jù)。
其次,本文提到的都是剛體點(diǎn)云,下面來(lái)理解下剛體(Rigid)的概念 。剛體(Rigid),是指物體在變換過程中形狀和大小保持不變,任意兩點(diǎn)間的距離恒定不變,也就是說(shuō),其空間變換僅限于平移和旋轉(zhuǎn)(即剛體運(yùn)動(dòng)),不涉及形變或縮放。打個(gè)比方,一個(gè)房間無(wú)論經(jīng)過什么樣的剛體變換,它的大小,面積,天花板和地面的距離,墻面與墻面的距離都是不會(huì)發(fā)生變化的,只是它在三維空間中呈現(xiàn)的具體位置發(fā)生了變化。眾趣科技面對(duì)三維空間的采集數(shù)據(jù),大都是靜止的地面,墻面,家具,室外空間等形態(tài),因此,這些數(shù)據(jù)大都符合剛體的性質(zhì)。
以下則是眾趣科技通過自己研發(fā)的三維激光掃描儀X3 Pro,在某個(gè)掃描點(diǎn)位獲得的三維剛體點(diǎn)云數(shù)據(jù)。


2. 三維激光點(diǎn)云為什么需要配準(zhǔn)
目前眾趣科技的采集設(shè)備,大都是基于架站式的采集方式,也就是說(shuō),通過每個(gè)站點(diǎn)的掃描過程,眾趣科技能夠獲得以這個(gè)站點(diǎn)為中心的三維剛體點(diǎn)云數(shù)據(jù)。但是緊接著的問題就是,這些三維剛體點(diǎn)云數(shù)據(jù)是一堆離散的,以各自的掃描點(diǎn)為坐標(biāo)系的,互相之間沒有關(guān)聯(lián)的數(shù)據(jù),僅僅擁有這些數(shù)據(jù)是無(wú)法給出一個(gè)三維空間的全貌的。因此,我們需要將這些離散的三維點(diǎn)云數(shù)據(jù)擺放到一個(gè)共同的坐標(biāo)系里,讓他們能找到給自己在這個(gè)共同坐標(biāo)系的真實(shí)位置,也就是要解決一個(gè)統(tǒng)一坐標(biāo)系的需求:即通過計(jì)算剛體變換(旋轉(zhuǎn)矩陣和平移向量),實(shí)現(xiàn)各個(gè)三維剛體點(diǎn)云數(shù)據(jù)的空間對(duì)齊。兩個(gè)掃描點(diǎn)獲得的空間數(shù)據(jù),如果不做坐標(biāo)系的統(tǒng)一,結(jié)果如下圖

比較容易想到的,我們可以指定空間當(dāng)中的某個(gè)三維剛體點(diǎn)云數(shù)據(jù)的坐標(biāo)系為共同坐標(biāo)系(實(shí)踐中比較常見的,是第一個(gè)獲得的三維剛體點(diǎn)云數(shù)據(jù)的坐標(biāo)系未共同坐標(biāo)系),根據(jù)掃描時(shí)的位置關(guān)系,挨個(gè)計(jì)算具有匹配關(guān)系的兩個(gè)三維剛體點(diǎn)云數(shù)據(jù)之間的位置,獲得它們兩兩之間的剛體變換(旋轉(zhuǎn)矩陣和平移向量),這種尋找兩個(gè)三維剛體點(diǎn)云數(shù)據(jù)之間的剛體變換的計(jì)算過程,也就是計(jì)算求解旋轉(zhuǎn)矩陣和平移向量的計(jì)算過程,就是配準(zhǔn)。
不難想象,通過配準(zhǔn),就可以將每個(gè)架站采集到的數(shù)據(jù)逐個(gè)的連接,逐個(gè)的進(jìn)行“拼接”,從而得到整個(gè)三維空間的全貌。所以配準(zhǔn)工作,也是后續(xù)處理(如三維重建、場(chǎng)景理解)的基礎(chǔ)。
3. 三維激光點(diǎn)云配準(zhǔn)工作的挑戰(zhàn)
常見的幾種影響到配準(zhǔn)精度的挑戰(zhàn)有:
(1)點(diǎn)云數(shù)據(jù)噪聲與離群點(diǎn):實(shí)際采集的點(diǎn)云數(shù)據(jù)常受傳感器誤差、環(huán)境干擾等影響,包含有噪聲和離群值,這些異常數(shù)據(jù)會(huì)降低配準(zhǔn)精度。例如,不同的激光掃描儀單點(diǎn)掃描的數(shù)據(jù)波動(dòng)范圍在幾厘米不等,這是采集設(shè)備自身就帶有的問題。
(2)點(diǎn)云數(shù)據(jù)不完整與遮擋:因采集設(shè)備視角限制,或現(xiàn)場(chǎng)實(shí)際環(huán)境的影響,點(diǎn)云數(shù)據(jù)有時(shí)存在局部缺失或遮擋。比如,針對(duì)房屋數(shù)據(jù)采集的場(chǎng)景,基于結(jié)構(gòu)光原理的三維采集設(shè)備會(huì)收到太陽(yáng)光線的影響,所以在靠近窗戶陽(yáng)臺(tái)等存在太陽(yáng)光源環(huán)境時(shí),就會(huì)無(wú)法計(jì)算出準(zhǔn)確數(shù)據(jù)信息而造成數(shù)據(jù)的部分缺失;再比如在一些凌亂的狹小的房間里,能夠供采集設(shè)備擺放的空間很有限,而室內(nèi)的物品又凌亂,就會(huì)造成物品之間的遮擋而產(chǎn)生數(shù)據(jù)確實(shí)。
(3)準(zhǔn)確性與效率的平衡:在使用掃描儀現(xiàn)場(chǎng)采集作業(yè)的過程中,希望采集過程耗時(shí)短一直是一個(gè)剛性需求。因此,對(duì)配準(zhǔn)算法的計(jì)算效率要求也較高,要求配準(zhǔn)算法能在一定的計(jì)算時(shí)間內(nèi)得到較好的結(jié)果。
4.三維激光點(diǎn)云配準(zhǔn)的方法有哪些
(1)手動(dòng)選點(diǎn)配準(zhǔn)
手動(dòng)選點(diǎn)的方法,是通過人工選擇兩個(gè)三維剛體點(diǎn)云中能夠看到的共同的特征點(diǎn)點(diǎn)云,比如同一張桌子的桌角點(diǎn)云,同一個(gè)門框的角點(diǎn)點(diǎn)云等,然后通過SVD算法計(jì)算讓這些彼此對(duì)應(yīng)的點(diǎn)云具有最優(yōu)匹配關(guān)系的剛體變換(旋轉(zhuǎn)矩陣和平移向量)。比如同一批特征物體的特征點(diǎn),在三維剛體點(diǎn)云1中的位置坐標(biāo)為(X1, Y1,Z1)(X2, Y2,Z2)……(Xn, Yn,Zn),在三維剛體點(diǎn)云2中的位置坐標(biāo)為(X1’, Y1’,Z1’)(X2’, Y2’,Z2’)……(Xn’, Yn’,Zn’),SVD方法即能求得符合這個(gè)匹配的最優(yōu)解。示例如下圖:

手動(dòng)選點(diǎn)方法的優(yōu)點(diǎn)有:
1. 計(jì)算速度快
2. 可以避開某些移動(dòng)雜點(diǎn)(比如行走中的人)對(duì)配準(zhǔn)計(jì)算造成的影響
3.準(zhǔn)確度較高
相應(yīng)的,缺點(diǎn)有:
1.需要開發(fā)專門的交互界面
2.需要人工投入選點(diǎn),消耗人力。
(2)基于傳統(tǒng)迭代方法的自動(dòng)化配準(zhǔn)
基于迭代方式的成熟算法,能夠在符合一定假設(shè)的前提下,自動(dòng)化的進(jìn)行配準(zhǔn)工作。一般而言,比較成熟的主流算法有ICP算法和NDT算法。
--- ICP(Iterative Closest Point)算法
核心目標(biāo)是迭代尋找源點(diǎn)云與目標(biāo)點(diǎn)云中每個(gè)點(diǎn)的最近鄰對(duì)應(yīng)點(diǎn)對(duì),基于這些點(diǎn)對(duì)計(jì)算最優(yōu)的空間變換參數(shù)(R和T),并應(yīng)用變換更新源點(diǎn)云位置,重復(fù)此過程直至誤差收斂。
關(guān)鍵步驟:
1.尋找對(duì)應(yīng)點(diǎn):對(duì)源點(diǎn)云的每個(gè)點(diǎn),在目標(biāo)點(diǎn)云中搜索其最近鄰點(diǎn)作為匹配點(diǎn)對(duì) 。
2.計(jì)算變換矩陣:通過最小二乘法求解最優(yōu)的R和T,常用SVD分解質(zhì)心化后的對(duì)應(yīng)點(diǎn)坐標(biāo)矩陣實(shí)現(xiàn) 。
3.應(yīng)用變換更新:將變換作用于源點(diǎn)云,使其向目標(biāo)點(diǎn)云靠攏 。
4.誤差評(píng)估與迭代:計(jì)算變換后的均方距離誤差,若未達(dá)閾值則重復(fù)上述步驟
---NDT(Normal Distribution Transform)算法
核心目標(biāo)是將目標(biāo)點(diǎn)云劃分為網(wǎng)格并計(jì)算每個(gè)網(wǎng)格內(nèi)點(diǎn)的正態(tài)分布概率密度函數(shù)(PDF),通過優(yōu)化變換參數(shù)(旋轉(zhuǎn)和平移)使源點(diǎn)云變換后在目標(biāo)點(diǎn)云中的概率密度之和最大化。
關(guān)鍵步驟:
1.將目標(biāo)點(diǎn)云劃分為網(wǎng)格(2D為平面網(wǎng)格,3D為立方體網(wǎng)格),要求每個(gè)網(wǎng)格至少包含6個(gè)點(diǎn)。
2.計(jì)算每個(gè)網(wǎng)格的均值與協(xié)方差矩陣,構(gòu)建多維正態(tài)分布模型。
3.通過迭代優(yōu)化(如牛頓法)調(diào)整變換矩陣,最大化源點(diǎn)云在目標(biāo)分布中的概率。
這些傳統(tǒng)迭代方法的優(yōu)點(diǎn)有:
1.無(wú)需人工參與,自動(dòng)化程序較高
相應(yīng)的,缺點(diǎn)有:
1. 對(duì)位置的初始關(guān)系敏感,不同的初始關(guān)系可能會(huì)導(dǎo)致計(jì)算失敗。
2. 迭代計(jì)算較為耗時(shí),需要設(shè)置合適的收斂條件或者終止計(jì)算條件。
(3)基于AI神經(jīng)網(wǎng)絡(luò)方法的自動(dòng)化配準(zhǔn)
近年來(lái),針對(duì)神經(jīng)網(wǎng)絡(luò)的研究方興未艾。在配準(zhǔn)領(lǐng)域,也有不少基于神經(jīng)網(wǎng)絡(luò)訓(xùn)練的配準(zhǔn)算法的嘗試。大體而言,基于神經(jīng)網(wǎng)路的配準(zhǔn)方法大體分為兩類
---基于特征的方法
1.PointNetLK:結(jié)合PointNet提取點(diǎn)云全局特征,利用Lucas-Kanade算法迭代優(yōu)化變換參數(shù)。
2.Deep Closest Point (DCP) :通過DGCNN提取局部特征,計(jì)算軟對(duì)應(yīng)關(guān)系后使用Kabsch算法估計(jì)變換矩陣。
3.PRNet:基于PointNet++,將點(diǎn)云投影到球面計(jì)算卷積特征以學(xué)習(xí)配準(zhǔn)關(guān)系。
4.D3Feat/3D Smooth Net:學(xué)習(xí)局部特征后結(jié)合RANSAC框架進(jìn)行匹配,在室內(nèi)數(shù)據(jù)集表現(xiàn)優(yōu)異。
---基于全局優(yōu)化的方法
1.端到端學(xué)習(xí)方法:直接通過神經(jīng)網(wǎng)絡(luò)回歸變換矩陣(如DeepICP),但易受噪聲影響。
2.MS-SVConv + UDGE:結(jié)合多尺度描述符網(wǎng)絡(luò)與無(wú)監(jiān)督遷移學(xué)習(xí),在真實(shí)場(chǎng)景數(shù)據(jù)集(如3DMatch)達(dá)到先進(jìn)水平。
基于神經(jīng)網(wǎng)絡(luò)的配準(zhǔn)方法的優(yōu)點(diǎn)有:
1.泛化性較好,在某些場(chǎng)景下可以提高配準(zhǔn)的準(zhǔn)確性。
相應(yīng)的,缺點(diǎn)有:
1.有訓(xùn)練數(shù)據(jù)的積累過程
2.需要準(zhǔn)備訓(xùn)練數(shù)據(jù)和進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,開發(fā)周期較長(zhǎng)。
5.總結(jié)
經(jīng)過配準(zhǔn)工作以后,兩個(gè)具有匹配關(guān)系的三維剛體點(diǎn)云數(shù)據(jù)找到了針對(duì)彼此的正確位置,上圖那個(gè)疊在一起的數(shù)據(jù),配準(zhǔn)后的效果如下圖
經(jīng)過一系列的配準(zhǔn)工作,每個(gè)掃描點(diǎn)位獲得的三維剛體數(shù)據(jù)就被擺放到了同一坐標(biāo)系下的合理位置,最終拼成了一個(gè)完整的三維模型,如下圖:

720°全景
