欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于曼哈頓假設(shè)的場(chǎng)景重建方法與流程

文檔序號(hào):12035845閱讀:1144來(lái)源:國(guó)知局
一種基于曼哈頓假設(shè)的場(chǎng)景重建方法與流程

本發(fā)明屬于計(jì)算機(jī)視覺(jué)領(lǐng)域,尤其針對(duì)場(chǎng)景三維重建,具體涉及一種基于曼哈頓假設(shè)的場(chǎng)景重建方法。



背景技術(shù):

近年來(lái),隨著深度感知技術(shù)的發(fā)展,實(shí)現(xiàn)3d室內(nèi)場(chǎng)景的實(shí)時(shí)3d場(chǎng)景掃描成為可能。業(yè)界提出了幾個(gè)系統(tǒng),并產(chǎn)生了有希望的結(jié)果。另一方面,隨著增強(qiáng)現(xiàn)實(shí)(ar)成為學(xué)術(shù)和行業(yè)的熱門(mén)話題,迫切需要實(shí)時(shí)3d掃描,因?yàn)槲覀冋鎸?shí)場(chǎng)景的3d幾何的復(fù)原是使虛擬對(duì)象無(wú)縫對(duì)齊的關(guān)鍵。在微軟的頭戴顯示器hololens中,許多基于ar的應(yīng)用程序需要掃描當(dāng)前房間的3d幾何。

使用深度相機(jī),直接記錄3d信息,實(shí)現(xiàn)3d掃描的關(guān)鍵是估計(jì)每?jī)蓚€(gè)連續(xù)輸入幀之間的相機(jī)運(yùn)動(dòng)。首先是使用迭代最近點(diǎn)(icp)來(lái)估計(jì)由兩個(gè)深度幀獲得的點(diǎn)云之間的對(duì)應(yīng)關(guān)系。然后,兩點(diǎn)云可以通過(guò)估計(jì)的相機(jī)運(yùn)動(dòng)合并。

然而,在基于icp的方法中,需要豐富的紋理特征,通過(guò)場(chǎng)景中的幾何特征,魯棒地估計(jì)正確的相機(jī)運(yùn)動(dòng)。對(duì)于3d空間中的兩個(gè)純2d平面,最接近的點(diǎn)可能不是正確的對(duì)應(yīng)關(guān)系。在這種情況下,icp可能會(huì)產(chǎn)生錯(cuò)誤的相機(jī)運(yùn)動(dòng)。此外,icp需要大量采樣點(diǎn),需要迭代才能收斂到最終的對(duì)應(yīng)關(guān)系,這意味著相對(duì)較重的計(jì)算成本。即使一些基于icp的系統(tǒng)使用gpu實(shí)現(xiàn)實(shí)時(shí)性能,但是仍然不適用于許多實(shí)際應(yīng)用,因?yàn)間pu可能被其他任務(wù)占用,從而導(dǎo)致基于icp的系統(tǒng)無(wú)法及時(shí)計(jì)算。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于曼哈頓假設(shè)的場(chǎng)景重建方法。

在對(duì)室內(nèi)場(chǎng)景進(jìn)行三維重建時(shí),由于大部分的場(chǎng)景結(jié)構(gòu)符合曼哈頓假設(shè),即場(chǎng)景是由多個(gè)互相正交的平面組成,如天花板,墻面,地板。當(dāng)深度相機(jī)采集的圖像序列包含足夠的正交平面時(shí),可能存在大的平面區(qū)域,因?yàn)槠矫嫱ǔ>哂幸恢碌念伾?如墻面,天花板等),所以只能提取很少的特征。在這種情況下,基于曼哈頓假設(shè)的方案給出了精確的運(yùn)動(dòng)估計(jì)。首先估計(jì)記錄幀的所有3d點(diǎn)的法線方向;然后通過(guò)主成分分析(pca)估計(jì)出三個(gè)主要正交平面(如墻壁,天花板,地板等場(chǎng)景中大的平面區(qū)域)的法向量方向。由于是通過(guò)所有深度點(diǎn)來(lái)估計(jì)平面的法向量,隨機(jī)噪聲被極大的濾除,使得估計(jì)的法向量十分準(zhǔn)確;通過(guò)每個(gè)像素點(diǎn)在三維坐標(biāo)中的位置進(jìn)一步確定主平面坐標(biāo);最后,我們通過(guò)由平面坐標(biāo)和法向量獲取的變換矩陣來(lái)估計(jì)相機(jī)的姿態(tài),并利用每一幀圖像的相機(jī)姿態(tài)拼接出場(chǎng)景三維模型。本發(fā)明方法包括以下步驟:

步驟(1)、通過(guò)深度相機(jī)拍攝采集獲得室內(nèi)場(chǎng)景的圖像序列,計(jì)算圖像中每個(gè)像素點(diǎn)法向量,具體是:

首先,將圖像序列中記錄幀的所有像素點(diǎn)通過(guò)深度相機(jī)的相機(jī)模型轉(zhuǎn)換為3d坐標(biāo);然后通過(guò)某像素點(diǎn)的相鄰4個(gè)像素點(diǎn)的3d坐標(biāo)計(jì)算獲得該點(diǎn)法向量。

d1(u,v)=d(u+k,v)-d(u-k,v)(1)

d2(u,v)=d(u,v+k)-d(u,v-k)(2)

其中,k是表示兩個(gè)像素點(diǎn)之間距離,為可調(diào)整參數(shù);d1、d2為經(jīng)過(guò)像素點(diǎn)d(u,v)的向量;

將d1、d2帶入公式(3)中,獲得d(u,v)的法向量n(u,v);

n(u,v)=ψ(d1(u,v)×d2(u,v))(3)

其中,×是交叉乘積,ψ是將法線轉(zhuǎn)換為單位向量的函數(shù):ψ(normal)=normal·||normal||-1

步驟(2)、通過(guò)建立球面坐標(biāo)進(jìn)行法向量統(tǒng)計(jì),從所有像素點(diǎn)的法向量中提取出近似主平面法向量的法向量集合,具體是:

2.1單位球形坐標(biāo)建立

將步驟(1)獲得的法線n=(x,y,z)轉(zhuǎn)換成球坐標(biāo)形式n=(α,β,γ),其中α是法線n和軸x之間的角度,β是法線n與軸線y之間的角度,γ是法線n與軸線z之間的角度。

2.2法向量統(tǒng)計(jì)

將單位球形坐標(biāo)中的每個(gè)基細(xì)分為180個(gè)區(qū)間,即每個(gè)區(qū)間為1度范圍;然后將三個(gè)分別屬于每一個(gè)基的區(qū)間組合成一個(gè)容器,將每個(gè)法向量n存入其對(duì)應(yīng)的容器中。

所述的基指代α,β,γ所在的坐標(biāo),即α,β,γ為0~180度;

2.3主法向量集合的提取

由于一幀圖像中有大量屬于某一主平面的像素點(diǎn),因此該平面法向量對(duì)應(yīng)的容器中法向量數(shù)量將遠(yuǎn)大于其他容器,故將包含法向量數(shù)量最多的容器中所有法向量設(shè)為第一個(gè)主平面的法向量集l1;

根據(jù)主平面的法向量垂直關(guān)系,第二個(gè)主平面的法向量集l2見(jiàn)公式(4):

θ1<θ(α1,α2)+θ(β1,β2)+θ(γ1,γ2)<θ2(4)

其中θ(a,b)=cos(a)*cos(b),θ1=π*100/180,θ2=π*80/180;

第三個(gè)主平面的法向量集l3為同時(shí)距離l1和l280°到100°的法向量集;

步驟(3)、主成分分析

將3個(gè)法向量集l1、l2、l3中的所有法向量作為pca的輸入,然后pca提取這些法向量中的主要方向,得到三個(gè)相互正交的特征向量,同時(shí)將這些向量設(shè)置為主平面的法向量n1、n2、n3;其中pca法輸出的最小特征值所對(duì)應(yīng)的特征向量為第一個(gè)主平面的法向量,反之最大特征值所對(duì)應(yīng)的特征向量為第三個(gè)主平面的法向量。

步驟(4)、首先計(jì)算每個(gè)3d點(diǎn)在法向量n1、n2、n3上的投影位置,然后利用投影位置提取主平面在法向量上的位置d1,d2,d3,于是每個(gè)主平面可以表示成點(diǎn)法向量形式(n,d),具體是:

4.1通過(guò)將深度相機(jī)光學(xué)中心設(shè)置為坐標(biāo)原點(diǎn),計(jì)算每個(gè)像素點(diǎn)3d坐標(biāo)d(u,v)分別位于三個(gè)主平面法向量上的投影位置pif=d(u,v)·ni,i=1,2,3。

4.2在理想狀態(tài),對(duì)于法向量為ni的平面,平面距離相機(jī)光學(xué)中心的距離d等于平面上點(diǎn)在平面法向量上的投影位置,即d(u,v)·ni=d;但是由于深度相機(jī)本身噪聲與精度的原因,平面上的部分點(diǎn)在平面法向量上的投影位置不等于平面距離相機(jī)光學(xué)中心的距離,故對(duì)所有每個(gè)像素點(diǎn)的投影位置使用一維均值漂移算法提取峰值,峰值peak所對(duì)應(yīng)的投影位置正是主平面到相機(jī)光學(xué)中心的距離d。因此我們通過(guò)該步驟得到了三個(gè)主平面距離相機(jī)光學(xué)中心的距離d1,d2,d3。

步驟(5)、通過(guò)之前得到的三個(gè)主平面的法向量與距離信息,計(jì)算相機(jī)姿態(tài)變換矩陣;并通過(guò)每一幀的相機(jī)姿態(tài)變換矩陣與所有像素的3d坐標(biāo)進(jìn)行場(chǎng)景的重建,具體是

第f幀圖像到第g幀圖像的相機(jī)姿態(tài)變換矩陣可以表示成如下形式:

其中r是大小為3×3的旋轉(zhuǎn)矩陣,t是大小為3×1的平移向量。

將第一幀的攝像機(jī)坐標(biāo)設(shè)置為全局坐標(biāo),即場(chǎng)景的世界坐標(biāo),使得幀f中的每個(gè)像素點(diǎn)3d坐標(biāo)df(u,v)通過(guò)相機(jī)姿態(tài)變換矩陣還原到全局坐標(biāo)中:

df'(u,v)=t1,2·t2,3…tf-1,f·df(u,v)(8)

將所有幀中還原到全局坐標(biāo)后的像素點(diǎn)3d坐標(biāo)df'(u,v)累加,得到場(chǎng)景的3d點(diǎn)云,并用opengl渲染最終得到場(chǎng)景重建后的三維模型。

本發(fā)明的有益效果是:

這種基于曼哈頓假設(shè)的平面方法,可以在幾何和紋理特征較少的情況下重建室內(nèi)場(chǎng)景且計(jì)算量小,這對(duì)于基于圖像特征的方法和基于icp的方法來(lái)說(shuō)都是重要且具有挑戰(zhàn)性的。本發(fā)明的主要思想是涉及曼哈頓假設(shè),其通過(guò)建立單位球星坐標(biāo)高效地估計(jì)主平面的法向量,并利用一維均值漂移算法快速且準(zhǔn)確地計(jì)算得到相機(jī)光學(xué)中心的距離然后通過(guò)3個(gè)主平面的信息計(jì)算相機(jī)運(yùn)動(dòng)。由于本發(fā)明的平面信息是由大量點(diǎn)計(jì)算得到,因此比只有單個(gè)點(diǎn)的特征點(diǎn)方法更具有魯棒性。

附圖說(shuō)明

圖1為計(jì)算法線的平面模型;

圖2為3d笛卡爾坐標(biāo)系中的單位球體;

圖3為l1,l2,l3主軸正交圖;

圖4為本發(fā)明方法流程圖。

具體實(shí)施方式

下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的分析。

一種基于曼哈頓假設(shè)的場(chǎng)景重建方法,如圖4所示包括以下步驟:

步驟(1):通過(guò)深度相機(jī)采集獲得室內(nèi)場(chǎng)景的圖像序列,計(jì)算圖像中每個(gè)像素點(diǎn)法向量。

首先,將圖像序列中記錄幀的所有像素點(diǎn)通過(guò)深度相機(jī)的相機(jī)模型轉(zhuǎn)換為3d坐標(biāo);然后通過(guò)某像素點(diǎn)的相鄰4個(gè)像素點(diǎn)的3d坐標(biāo)計(jì)算獲得該點(diǎn)法向量。具體表現(xiàn)形式如圖1,其中圖1中o-uv是像素坐標(biāo)系,o-xyz是相機(jī)坐標(biāo)系。

d1(u,v)=d(u+k,v)-d(u-k,v)(1)

d2(u,v)=d(u,v+k)-d(u,v-k)(2)

其中,k是表示兩個(gè)像素之間距離,為可調(diào)整參數(shù);d1,d2為經(jīng)過(guò)像素點(diǎn)d(u,v)的向量,d(u,v)是像素坐標(biāo)系(u,v)位置上像素點(diǎn)的d(u,v)的3d坐標(biāo)。

將d1,d2帶入公式(3)中,獲得法向量

n(u,v)=ψ(d1(u,v)×d2(u,v))(3)

其中,×是交叉乘積,ψ是將法線轉(zhuǎn)換為單位向量的函數(shù):ψ(normal)=normal·||normal||-1。

步驟(2):通過(guò)建立球面坐標(biāo)進(jìn)行法向量統(tǒng)計(jì),從所有像素點(diǎn)的法向量中提取出近似主平面法向量的法向量集合,該步驟的具體表現(xiàn)形式如圖2。

2.1單位球形坐標(biāo)建立

在所拍攝的圖像中將有大量屬于某一主平面(如墻壁)的點(diǎn),這些點(diǎn)在步驟1中計(jì)算出的法向量方向非常相近,且都與該主平面法向量非常相近。同時(shí),由于不規(guī)則物體和傳感器本身產(chǎn)生的干擾和噪聲,某一幀圖像所有像素點(diǎn)計(jì)算出的法向量中將有大部分與主平面法向量方向不相近。所以在三維坐標(biāo)的基礎(chǔ)上建立單位球形坐標(biāo)系。

將計(jì)算出的法線n=(x,y,z)轉(zhuǎn)換成球坐標(biāo)形式n=(α,β,γ),其中α是法線n和軸x之間的角度,β是法線n與軸線y之間的角度,γ是法線n與軸線z之間的角度。

2.2法向量統(tǒng)計(jì)

首先將單位球形坐標(biāo)中的每個(gè)基細(xì)分為180個(gè)區(qū)間,即每個(gè)區(qū)間為1度范圍,其中此處的基指代α,β,γ所在的坐標(biāo),即α,β,γ為0~180度。然后將三個(gè)分別屬于每一個(gè)基的區(qū)間組合成一個(gè)容器,容器總數(shù)量為三個(gè)基區(qū)間數(shù)量的乘積,即5832000,其中每一個(gè)容器分別存放屬于其區(qū)間的法向量,例如某區(qū)間存放α在90°~91°,β在90°~91°,γ在90°~91°的法向量。最后將每個(gè)法向量n存入其對(duì)應(yīng)的容器中。

2.3主法向量集合的提取

由于一幀圖像中有大量屬于某一主平面的像素點(diǎn),因此該平面法向量對(duì)應(yīng)的容器中法向量數(shù)量將遠(yuǎn)大于其他容器。于是本發(fā)明將包含最多法向量的容器中所有的法向量設(shè)置為第一個(gè)主平面的法向量集l1,根據(jù)曼哈頓假設(shè),圖像中的主平面是正交關(guān)系,即兩個(gè)主平面的法向量垂直。于是當(dāng)我們將每一個(gè)容器看作一個(gè)向量,即將各個(gè)容器表示成其對(duì)應(yīng)區(qū)間中值角度的向量l=(α,β,γ),例如將存放α在90°~91°,β在90°~91°,γ在90°~91°法向量的容器表示為向量l=(90.5,90.5,90.5)。根據(jù)主平面的法向量垂直關(guān)系,我們可以判斷出第二個(gè)主平面的法向量對(duì)應(yīng)的容器l2,其向量表示l2與第一個(gè)主平面的l1之間的角度約為90°??紤]到誤差范圍,我們將距離l180°到100°范圍所有容器中包含最多法向量的容器中所有的法向量設(shè)置為第二個(gè)主平面的法向量集l2,其中容器l2的提取公式見(jiàn)公式(4).。

θ1<θ(α1,α2)+θ(β1,β2)+θ(γ1,γ2)<θ2(4)

其中θ(a,b)=cos(a)*cos(b),θ1=π*100/180,θ2=π*80/180

最后在距離l1和l280°到100°范圍內(nèi)的容器中中尋找l3。并將l3中所有的法向量設(shè)置為第三個(gè)主平面的法向量集l3

步驟(3):主成分分析

由于三個(gè)主平面的法向量是相互正交的,但僅通過(guò)計(jì)算3個(gè)法向量集l1,l2,l3內(nèi)法線的平均值來(lái)提取主平面的法向量將不能獲得最精確的值,并且它們提取的向量互相之間很大概率上不是正交關(guān)系。故本發(fā)明利用主成分分析法(pca)中特征向量的線性無(wú)關(guān)特性,選用pca法來(lái)提取主平面法向量。

將3個(gè)法向量集l1,l2,l3中的所有法線量作為pca的輸入,然后pca將提取這些法向量中的主要方向。最后,我們得到三個(gè)相互正交的特征向量,并將這些向量設(shè)置為主平面的法向量n1,n2,n3,其中pca法輸出的最小特征值所對(duì)應(yīng)的特征向量為第一個(gè)主平面的法向量,反之最大特征值所對(duì)應(yīng)的特征向量為第三個(gè)主平面的法向量。

步驟(4):通過(guò)計(jì)算每個(gè)3d點(diǎn)在法向量n1,n2,n3上的坐標(biāo)提取主平面在法向量上的位置d1,,d2,d3,于是每個(gè)主平面可以表示成點(diǎn)法向量形式(n,d):

通過(guò)將深度相機(jī)光學(xué)中心設(shè)置為坐標(biāo)原點(diǎn),計(jì)算每個(gè)像素點(diǎn)3d坐標(biāo)d(u,v)分別位于三個(gè)主平面法向量上的投影位置pif=d(u,v)·ni,i=1,2,3;在理想狀態(tài),對(duì)于法向量為ni的平面,平面距離攝像機(jī)光學(xué)中心的距離d等于平面上點(diǎn)在平面法向量上的投影位置,即d(u,v)·ni=d;但是由于深度相機(jī)本身噪聲與精度的原因,平面上的部分點(diǎn)在平面法向量上的投影位置不等于平面距離相機(jī)光學(xué)中心的距離;故對(duì)所有每個(gè)像素點(diǎn)的投影位置使用一維均值漂移算法提取峰值,峰值peak所對(duì)應(yīng)的投影位置正是主平面到相機(jī)光學(xué)中心的距離d。

圖3中l(wèi)1,l2,l3分別為三個(gè)正交的主平面法向量,l1軸上的曲線代表l1軸上不同投影位置上3d點(diǎn)的數(shù)量,其中最高點(diǎn)peak所對(duì)應(yīng)的投影位置正是主平面到相機(jī)光學(xué)中心的距離d。圖3中也可以觀察到一些較小的峰,它們表示含有少量樣品的簇,并且它們也代表與主平面平行的小平面。然而,本發(fā)明只需要主平面的信息即可重建場(chǎng)景,因此通過(guò)該步驟得到了三個(gè)主平面距離相機(jī)光學(xué)中心的距離d1,d2,d3。

步驟(5):該步驟通過(guò)之前得到的三個(gè)主平面的法向量與距離信息,計(jì)算相機(jī)的姿態(tài)變換矩陣,并通過(guò)每一幀的相機(jī)姿態(tài)變換矩陣與所有像素的3d坐標(biāo)進(jìn)行場(chǎng)景的重建。

從幀f到幀g的相機(jī)姿態(tài)變換矩陣可以表示成如下形式:

其中r是大小為3×3的旋轉(zhuǎn)矩陣,t是大小為3×1的平移向量。。

本發(fā)明通過(guò)上述1~4步驟獲得了三個(gè)垂直主平面的信息。在這一步驟中,我們使用平面法向量,即li來(lái)計(jì)算從幀g到f的旋轉(zhuǎn)矩陣r:

并通過(guò)計(jì)算相鄰幀的平面偏移量來(lái)獲得平移向量t,并將其轉(zhuǎn)換為相機(jī)坐標(biāo):

本發(fā)明將第一幀的攝像機(jī)坐標(biāo)設(shè)置為全局坐標(biāo),即場(chǎng)景的世界坐標(biāo),使得幀f中的每個(gè)像素點(diǎn)3d坐標(biāo)d(u,v)通過(guò)相機(jī)姿態(tài)變換矩陣還原到全局坐標(biāo)中:

df'(u,v)=t1,2·t2,3…tf-1,f·df(u,v)(8)

通過(guò)公式(8)計(jì)算得到了深度相機(jī)拍攝場(chǎng)景的所有圖像序列中每一個(gè)3d點(diǎn)在世界坐標(biāo)中的位置,于是通過(guò)將所有幀中還原到全局坐標(biāo)后的像素點(diǎn)3d坐標(biāo)df'(u,v)累加,得到場(chǎng)景的3d點(diǎn)云,并用opengl渲染最終得到場(chǎng)景重建后的三維模型。

上述實(shí)施例并非是對(duì)于本發(fā)明的限制,本發(fā)明并非僅限于上述實(shí)施例,只要符合本發(fā)明要求,均屬于本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
马公市| 都兰县| 留坝县| 赫章县| 洛浦县| 东方市| 浦江县| 甘谷县| 呈贡县| 寿宁县| 元阳县| 乌拉特中旗| 玉林市| 庆云县| 田东县| 茂名市| 江源县| 丰宁| 赣州市| 呼伦贝尔市| 土默特右旗| 呼图壁县| 阿拉善盟| 修文县| 九龙城区| 封开县| 古丈县| 耒阳市| 临沭县| 呼玛县| 阜平县| 合山市| 都昌县| 高青县| 桦甸市| 新津县| 甘肃省| 阿拉尔市| 福清市| 霞浦县| 永德县|