新四季網

三維場景的重建方法和裝置與流程

2023-04-30 11:41:06 6


本發明實施例涉及圖像處理技術,尤其涉及一種三維場景的重建方法和裝置。



背景技術:

三維重建是指對三維物體建立適合計算機表示和處理的數學模型,是在計算機中建立表達客觀世界的虛擬實境的關鍵技術。實現三維重建的技術主要有kinectfusion技術,其是基於彩色和深度圖像的實時姿態定位匹配(simultaneouslocalizationandmapping,簡稱slam)技術,即利用kinect攝像機圍繞待重建的三維物體進行拍攝,從而實時重建物體的三維模型。但是kinectfusion的工作場景大小和解析度由圖形處理器gpu的顯存大小決定,對於超出該顯存大小的場景將無法計算處理。

另一種三維重建技術kintinous技術,是在kinectfusion的基礎上,擴展到大場景下的一種三維重建技術。與kinectfusion相比,kintinous主要解決了kinectfusion由於gpu顯存限制而導致的場景限制問題。kintinous在實時的姿態估計過程中,基於之前的相機姿態獲取當前的相機姿態,並根據當前的相機姿態,更新三維場景模型。

雖然kintinous解決了kinectfusion三維場景受限的問題,但當系統長時間運行時,由於kintinous中相機姿態的都是基於前一幀的姿態軌跡進行估計得到,當其中某一幀中相機的姿態軌跡出現誤差時,會導致後續幀中相機的姿態軌跡產生累計誤差,因而相機的姿態軌跡偏離真實軌跡,導致重建的三維場景不準確。



技術實現要素:

本發明實施例提供一種三維場景的重建方法和裝置,縮小了相機姿態估 計中的累計誤差。

第一方面,本發明實施例提供一種三維場景的重建方法,包括:

根據當前幀的深度圖像以及參考幀的深度圖像,獲取所述當前幀的第一相機姿態,所述第一相機姿態包括用於獲取所述當前幀的深度圖像的相機的位置信息以及朝向信息;

根據所述當前幀的灰度圖像以及所述參考幀的灰度圖像,估計所述當前幀的第二相機姿態,所述第二相機姿態包括用於獲取所述當前幀的灰度圖像的相機的位置信息以及朝向信息;

根據所述當前幀的第一相機姿態以及所述當前幀的第二相機姿態,獲取所述當前幀的融合後的相機姿態;

根據所述當前幀的深度圖像和所述當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。

其中,所述第一相機姿態為:根據當前幀的深度圖像和參考幀的深度圖像,利用迭代最近點法icp算法獲得的相機姿態。第二相機姿態為:根據當前幀的灰度圖像和參考幀的灰度圖像,利用特徵點匹配算法估計得到的當前幀的相機姿態。

結合第一方面,在第一方面的第一種可能的實現方式中,所述根據當前幀的深度圖像以及參考幀的深度圖像,獲取所述當前幀的第一相機姿態包括:

將所述當前幀的深度圖像中的像素與所述參考幀的深度圖像中的像素進行匹配,根據匹配的像素點對以及所述參考幀的第一相機姿態,獲取所述當前幀的第一相機姿態;相應的,

所述根據所述當前幀的第一相機姿態以及所述當前幀的第二相機姿態,獲取所述當前幀的融合後的相機姿態包括:

根據所述匹配的像素點對的個數以及所述當前幀的像素點個數,獲取匹配成功率;

判斷所述匹配成功率是否小於或等於第一閾值;

若所述匹配成功率小於或等於所述第一閾值,將所述當前幀的第二相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態;

將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融 合,從而獲取所述當前幀的融合後的相機姿態。

本實施例中,根據當前幀的深度圖像中的像素與所述參考幀的深度圖像中的像素進行匹配計算當前幀的第一相機姿態,並計算該過程中的匹配成功率,當匹配成功率小於預設第一閾值時,採用當前幀的第二相機姿態作為當前幀的初始姿態,基於參考幀的第二相機姿態、當前幀的灰度圖像以及參考幀的灰度圖像,迭代獲取當前幀的第二優化相機姿態,從而根據第二優化相機姿態和第一相機姿態進行融合獲取融合後的相機姿態,通過判斷獲取第一相機姿態過程中的匹配成功率,從而可以合理選擇初始姿態,使得融合時的相機姿態更準確。

結合第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,所述根據所述當前幀的第一相機姿態以及所述當前幀的第二相機姿態融合,獲取所述當前幀的融合後的相機姿態還包括:

若所述匹配成功率大於所述第一閾值,將所述當前幀的第一相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態;

將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態。

本實施例中,當相機姿態變化較小,場景幾何信息豐富的情況下,由於icp算法具有精度高速度快,不受光照影響的優點,因此,當獲取第一相機姿態時的匹配成功率大於預設第一閾值時,採用當前幀的第一相機姿態作為當前幀的初始姿態,縮短了特徵匹配計算第二相機姿態算法消耗的時間,滿足實時性的要求。

結合第一方面的第一種可能的實現方式,在第一方面的第三種可能的實現方式中,所述根據所述當前幀的灰度圖像以及所述參考幀的灰度圖像,估計所述當前幀的第二相機姿態包括:

提取所述當前幀的灰度圖像中的特徵點;

提取所述參考幀的灰度圖像中的特徵點;

將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配,根據匹配獲得的特徵點對以及所述參考幀的第二相機姿態,獲取所述當前幀的第二相機姿態;相應的,

所述將所述當前幀的第二相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態包括:

根據所述當前幀的第二相機姿態和所述參考幀的第二相機姿態,將所述當前幀的灰度圖像的特徵點投影到所述參考幀的灰度圖像,獲取所述當前幀的灰度圖像的特徵點到所述參考幀的灰度圖像的特徵點的第一投影誤差;

根據所述當前幀的第二相機姿態和參考幀的第二相機姿態,將所述參考幀的灰度圖像的特徵點投影到所述當前幀的灰度圖像,獲取所述參考幀的灰度圖像的特徵點到所述當前幀的灰度圖像的特徵點的第二投影誤差;

建立所述第一投影誤差以及所述第二投影誤差均小於第二閾值的第一特徵點對的第一能量模型,所述第一能量模型指示所述第一投影誤差以及所述第二投影誤差的大小;

迭代求解所述第一能量模型得到所述當前幀的第二優化相機姿態。

本實施例中,通過對提取當前幀和參考幀的灰度圖像的特徵點並進行匹配,然後計算雙向投影誤差,建立能量模型,從而對第二相機姿態進行優化,使得獲得的第二相機姿態更準確。

結合第一方面的第一至第三種任一種可能的實現方式,在第一方面的第四種可能的實現方式中,所述融合後的相機姿態包括所述融合後的相機姿態的平移矩陣,所述將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態包括:

根據公式t=wicp·ticp+wrgb·trgb獲取融合後的相機姿態的平移矩陣,其中,ticp為所述第一相機姿態的平移矩陣,trgb為所述第二相機姿態的平移矩陣,t為融合後的相機姿態的平移矩陣;

其中,wicp=wicp'/(wicp'+wrgb'),wrgb=1-wicp,wicp為所述第一相機姿態的權重,wrgb所述第二相機姿態的權重;

其中,為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖 像中的所有特徵點個數,c,d為係數。

本實施例中,在將第二優化相機姿態和第一相機姿態進行融合時分別計算第一相機姿態和第二相機姿態的權重,並利用球面線性差值算法將二者融合,計算出融合後的相機姿態的平移矩陣,從而更高效準確的獲得當前幀的相機姿態。

結合第一方面的第一至第四種任一種可能的實現方式,在第一方面的第五種可能的實現方式中,所述融合後的相機姿態包括所述融合後的相機姿態的旋轉矩陣,所述將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態包括:

根據公式獲取融合後的相機姿態的旋轉矩陣,其中,為所述第一相機姿態的旋轉矩陣,為所述第二相機姿態的旋轉矩陣,rq為所述融合後的相機姿態的旋轉矩陣,teta為從的朝向到的朝向的夾角;

其中,wicp=wicp'/(wicp'+wrgb'),wicp為所述第一相機姿態的權重;

為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖像中的所有特徵點個數,c,d為係數。

本實施例中,在將第二優化相機姿態和第一相機姿態進行融合時分別計算第一相機姿態和第二相機姿態的權重,並利用球面線性差值算法將二者融合,計算出融合後的相機姿態的旋轉矩陣,從而更高效準確的獲得當前幀的相機姿態。

結合第一方面,第一方面的第一至第五種任一種可能的實現方式,在第一方面的第六種可能的實現方式中,所述根據所述當前幀的深度圖像和所述當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型包括:

若第二特徵點對的個數小於第三閾值時,將所述當前幀加入到所述參考幀所在的關鍵幀序列從而得到更新後的關鍵幀序列,所述第二特徵點對通過 將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配獲得;

根據所述更新後的關鍵幀序列,獲取所述更新後的關鍵幀序列對應三維點雲,所述三維點雲中的點與所述更新後的關鍵幀序列中灰度圖像的特徵點對應;

根據所述當前幀的融合後的相機姿態,將所述三維點雲的點投影到所述當前幀的灰度圖像,獲取所述三維點雲的點到所述當前幀的灰度圖像的特徵點的第三投影誤差;

建立所述第三投影誤差的第二能量模型,迭代求解所述第二能量模型得到所述當前幀的目標相機姿態;

根據所述當前幀的深度圖像和所述當前幀的目標相機姿態,生成當前幀對應的三維場景模型。

本實施例中,通過將匹配的特徵點和之前保存的關鍵幀的特徵點建立對應關係,將未匹配的特徵點加入到三維點雲結構,從而完成對已有點雲信息的增補,並通過建立更新後的三維點雲到當前幀的束優化約束方程,可以逼近其最優解,最大程度消除了累積誤差。

第二方面,本發明實施例提供一種三維場景的重建裝置,包括:

第一獲取模塊,用於根據當前幀的深度圖像以及參考幀的深度圖像,獲取所述當前幀的第一相機姿態,所述第一相機姿態包括用於獲取所述當前幀圖的深度圖像的相機的位置信息以及朝向信息;

第二獲取模塊,用於根據所述當前幀的灰度圖像以及所述參考幀的灰度圖像,估計所述當前幀的第二相機姿態,所述第二相機姿態包括用於獲取所述當前幀的灰度圖像的相機的位置信息以及朝向信息;

融合模塊,用於根據所述第一獲取模塊獲取得到的所述當前幀的第一相機姿態以及所述第二獲取模塊獲取得到的所述當前幀的第二相機姿態,獲取所述當前幀的融合後的相機姿態;

生成模塊,用於根據所述當前幀的深度圖像和所述融合模塊獲取得到的所述當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。

結合第二方面,在第二方面的第一種可能的實現方式中,所述第一獲取模塊用於:

將所述當前幀的深度圖像中的像素與所述參考幀的深度圖像中的像素進行匹配;根據匹配的像素點對以及所述參考幀的第一相機姿態,獲取所述當前幀的第一相機姿態;相應的,

所述融合模塊用於:

根據所述匹配的像素點對的個數以及所述當前幀的像素點個數,獲取匹配成功率;

判斷所述匹配成功率是否小於或等於第一閾值;

若所述匹配成功率小於或等於所述第一閾值,將所述當前幀的第二相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態;將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態。

結合第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,所述第二獲取模塊用於:

提取所述當前幀的灰度圖像中的特徵點;

提取所述參考幀的灰度圖像中的特徵點;

將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配,根據匹配獲得的特徵點對以及所述參考幀的第二相機姿態,獲取所述當前幀的第二相機姿態;

根據所述當前幀的第二相機姿態和所述參考幀的第二相機姿態,將所述當前幀的灰度圖像的特徵點投影到所述參考幀的灰度圖像,獲取所述當前幀的灰度圖像的特徵點到所述參考幀的灰度圖像的特徵點的第一投影誤差;

根據所述當前幀的第二相機姿態和參考幀的第二相機姿態,將所述參考幀的灰度圖像的特徵點投影到所述當前幀的灰度圖像,獲取所述參考幀的灰度圖像的特徵點到所述當前幀的灰度圖像的特徵點的第二投影誤差;

建立所述第一投影誤差以及所述第二投影誤差均小於第二閾值的第一特徵點對的第一能量模型,所述第一能量模型指示第一投影誤差以及所述第二投影誤差的大小;

迭代求解所述第一能量模型得到所述當前幀的第二優化相機姿態。

結合第二方面的第一或第二種可能的實現方式,在第二方面的第三種可 能的實現方式中,所述融合模塊用於:

根據公式t=wicp·ticp+wrgb·trgb獲取融合後的相機姿態的平移矩陣,其中,ticp為所述第一相機姿態的平移矩陣,trgb為所述第二相機姿態的平移矩陣,t為融合後的相機姿態的平移矩陣;

其中,wicp=wicp'/(wicp'+wrgb'),wrgb=1-wicp,wicp為所述第一相機姿態的權重,wrgb所述第二相機姿態的權重;

其中,為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖像中的所有特徵點個數,c,d為係數。

結合第二方面的第一至第三種任一種可能的實現方式,在第二方面的第四種可能的實現方式中,所述融合模塊用於:

根據公式獲取融合後的相機姿態的旋轉矩陣,其中,為所述第一相機姿態的旋轉矩陣,為所述第二相機姿態的旋轉矩陣,rq為所述融合後的相機姿態的旋轉矩陣,teta為從的朝向到的朝向的夾角;

其中,wicp=wicp'/(wicp'+wrgb'),wicp為所述第一相機姿態的權重;

為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖像中的所有特徵點個數,c,d為係數。

結合第二方面,第二方面的第一至第四種任一種可能的實現方式,在第二方面的第五種可能的實現方式中,所述生成模塊用於:

若第二特徵點對的個數小於第三閾值時,將所述當前幀加入到所述參考幀所在的關鍵幀序列從而得到更新後的關鍵幀序列,所述第二特徵點對通過將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進 行匹配獲得;

根據所述更新後的關鍵幀序列,獲取所述更新後的關鍵幀序列對應三維點雲,所述三維點雲中的點與所述更新後的關鍵幀序列中灰度圖像的特徵點對應;

根據所述當前幀的融合後的相機姿態,將所述三維點雲的點投影到所述當前幀的灰度圖像,獲取所述三維點雲的點到所述當前幀的灰度圖像的特徵點的第三投影誤差;

建立所述第三投影誤差的第二能量模型,迭代求解所述第二能量模型得到所述當前幀的目標相機姿態;

根據所述當前幀的深度圖像和所述當前幀的目標相機姿態,生成當前幀對應的三維場景模型。

本發明實施例的三維場景的重建方法和裝置,通過根據當前幀的深度圖像以及參考幀的深度圖像,獲取當前幀的第一相機姿態,並根據當前幀的灰度圖像以及參考幀的灰度圖像,估計當前幀的第二相機姿態;然後根據當前幀的第一相機姿態以及當前幀的第二相機姿態,獲取當前幀的融合後的相機姿態;最後根據當前幀的深度圖像和當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。本實施例的三維場景的重建方法,通過將基於深度信息的第一相機姿態估計和基於灰度信息的第二相機姿態估計進行融合,縮小了相機姿態估計中的累計誤差,在不同場景下表現更加穩定,使得重建的三維場景更準確。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發明的應用場景圖;

圖2是本發明提供的三維場景的重建方法實施例一的流程圖;

圖3為雙向投影誤差示意圖;

圖4為tsdf體的動態變化示意圖;

圖5為球面線性差值slerp原理示意圖;

圖6為空間中三維點雲的與融合的三維模型的關係示意圖;

圖7為三維點雲與關鍵幀圖像建立約束的過程示意圖;

圖8為特徵點的匹配過程中當前幀與2號關鍵幀的特徵點匹配結果;

圖9為本發明提供的三維場景的重建方法在室內場景4*4*4的區域融合後得到的三維模型;

圖10為本發明提供的三維場景的重建裝置實施例一的結構示意圖;

圖11為本發明提供的三維場景的重建裝置實施例二的結構示意圖。

具體實施方式

為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

本發明應用在三維場景重建中,圖1為本發明的應用場景圖,如圖1所示,包括:室內場景,基於顏色深度rgb-d傳感器的相機(例如kinect攝像機)以及圖形處理器gpu和中央處理器cpu,在實際建模的過程中,需要人手持該相機對室內場景進行掃描,然後將掃描得到的視頻序列傳輸給gpu和cpu進行處理,最後得到重建的三維場景。

現有三維場景重建方法,在對相機的姿態進行跟蹤時,當相機姿態變化較小,場景幾何信息豐富的情況下,以gpu實現的icp算法具有精度高速度快,不受光照影響的優點;但是在大範圍場景的測試中,相機在某個時刻姿態移動較大,或者移動到某個簡單場景,亦或將相機太高,深度信息丟失時,依賴於icp算法的姿態估計算法會導致姿態的累積誤差突然增大,甚至完全跟蹤失敗。而利用特徵點的跟蹤算法,可以彌補icp算法在場景簡單,深度信息丟失嚴重等場景下的跟蹤能力的不足。因此,本發明提出了對兩種姿態跟蹤算法進行融合,在保證實時性的前提下,建立一種新的rgb-d姿態估算器。

圖2是本發明提供的三維場景的重建方法實施例一的流程圖,如圖2所 示,該方法包括以下步驟:

步驟101:根據當前幀的深度圖像以及參考幀的深度圖像,獲取當前幀的第一相機姿態。

其中,第一相機姿態包括用於獲取當前幀的深度圖像的相機的位置信息以及朝向信息。

具體的,第一相機姿態是指:基於rgb-d相機拍攝的當前幀的深度圖像和參考幀的深度圖像,利用迭代最近點法icp算法獲得的相機姿態。相機姿態包括相機的位置信息和朝向信息,用於獲取當前幀圖的深度圖像。其中,icp算法是基於幾何模型的三維物體對準算法,其具有非常精確的配準效果,運算速度非常快。因而,在深度圖像上應用icp算法計算當前幀的第一相機姿態。其中,參考幀為關鍵幀序列中在時間方向上和當前幀最接近的關鍵幀。關鍵幀序列的選取方法如下:初始關鍵幀即為第一幀。將當前幀與參考幀進行匹配時候,內點inliers點的數目大於一定閾值的時候,該閾值可選的為150,認為是準確的匹配。當前幀無法與關鍵幀進行準確匹配時,即將當前幀作為新的關鍵幀。如此遍歷完所有的圖像幀,即完成所有關鍵幀的選取。該過程是在cpu端完成。

步驟102:根據當前幀的灰度圖像以及參考幀的灰度圖像,估計當前幀的第二相機姿態。

其中,第二相機姿態包括用於獲取當前幀的灰度圖像的相機的位置信息以及朝向信息。

具體的,第二相機姿態是指:基於rgb-d相機拍攝的當前幀的灰度圖像和參考幀的灰度圖像,利用特徵點匹配算法估計得到的當前幀的第二相機姿態。

步驟103:根據當前幀的第一相機姿態以及所述當前幀的第二相機姿態,獲取當前幀的融合後的相機姿態。

具體的,根據獲得的當前幀的第一相機姿態和當前幀的第二相機姿態後,進行融合得到當前幀的融合後的相機姿態。結合第二相機姿態,可以彌補第一相機姿態算法在場景簡單,深度信息丟失嚴重等場景下的跟蹤能力的不足問題。

步驟104:根據當前幀的深度圖像和當前幀的融合後的相機姿態,生成 當前幀對應的三維場景模型。

具體的,在本步驟中,根據當前幀的深度圖像和融合後的相機姿態,生成當前幀對應的三維場景模型。具體的,根據當前幀的深度圖像和當前幀的融合後的相機姿態,可以得到當前幀對應的tsdf體,並估計當前幀的tsdf體的姿態。其中,tsdf體是一個三維體,被劃分為規則的體像素voxel,每個體像素裡存儲的是該體像素到被拍攝的物體表面surface的距離,根據深度圖像可以得到對應的tsdf體。

然後保存當前幀的tsdf體和tsdf體的姿態到本地磁碟,需要說明的是,當tsdf體動態移動時,針對tsdf體中每個體素的移動,將每個體素從當前工作區三維體向新建立的三維體拷貝。最後,將當前工作區三維體保存到本地磁碟,與新建立的三維體交換指針位置。當tsdf體移動到已經存儲過的場景,仍然建立新的空tsdf體進行存儲。圖3為tsdf體的動態變化示意圖;如圖3所示,將三維體保存到本地磁碟是一個易受i/o影響的過程。在步驟中,由於後續過程中可以對不同工作區進行有效的融合,因此可以將三維體工作區的大小限制在一個合理大小(2m*2m*2m),該大小場景的三維體在gpu到cpu以及磁碟的拷貝過程中不影響該方法的實時性。

當實時的掃描完成後,統一對所有的tsdf三維體進行融合。即當不再有新的圖像加入時,將保存在本地的tsdf體逐一融合到全局的模型之中,tsdf體中每個體素根據其對應的三維體的姿態對應到目標位置,與之融合。

最後,當空間中的一塊vig融合完畢後,將其利用移動立方體marchingcube算法生成全局的surface信息,並對此surface進行保存。此時清空gpu的顯存,加載下一塊區域的重複執行將掃描過程中已保存的tsdf三維體模型逐一融合到中。

本實施例的三維場景的重建方法,通過根據當前幀的深度圖像以及參考幀的深度圖像,獲取當前幀的第一相機姿態,並根據當前幀的灰度圖像以及參考幀的灰度圖像,估計當前幀的第二相機姿態;然後根據當前幀的第一相機姿態以及當前幀的第二相機姿態,獲取當前幀的融合後的相機姿態;最後根據當前幀的深度圖像和當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。本實施例的三維場景的重建方法,通過將基於深度信息的第一相機姿態估計和基於灰度信息的第二相機姿態估計進行融合,縮小了相機姿 態估計中的累計誤差,在不同場景下表現更加穩定,使得重建的三維場景更準確。

進一步地,在圖1所示實施例的基礎上,所述根據當前幀的深度圖像以及參考幀的深度圖像,獲取所述當前幀的第一相機姿態包括:

將所述當前幀的深度圖像中的像素與所述參考幀的深度圖像中的像素進行匹配,根據匹配的像素點對以及所述參考幀的第一相機姿態,獲取所述當前幀的第一相機姿態;相應的,

所述根據所述當前幀的第一相機姿態以及所述當前幀的第二相機姿態,獲取所述當前幀的融合後的相機姿態包括:

根據所述匹配的像素點對的個數以及所述當前幀的像素點個數,獲取匹配成功率;

判斷所述匹配成功率是否小於或等於第一閾值;

若所述匹配成功率小於或等於所述第一閾值,將所述當前幀的第二相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態;

將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態。

具體的,根據當前幀的深度圖像以及參考幀的深度圖像,獲取當前幀的第一相機姿態包括,將當前幀的深度圖像中的像素與參考幀的深度圖像中的像素進行匹配,根據匹配的像素點對和參考幀的第一相機姿態,獲取當前幀的第一相機姿態。相應的,根據當前幀的第一相機姿態以及當前幀的第二相機姿態,獲取當前幀的融合後的相機姿態具體為:

首先,計算在獲取第一相機姿態時的匹配成功率,具體根據匹配的像素點對的個數以及當前幀的像素點個數來計算;判斷該匹配成功率是否小於或等於第一閾值,如果小於等於第一閾值,則將當前幀的第二相機姿態作為初始姿態,根據該初始姿態、當前幀的灰度圖像以及參考幀的灰度圖像,迭代獲取當前幀的第二優化相機姿態。然後,將當前幀的第二優化相機姿態和當前幀的第一相機姿態進行融合,獲取當前幀的融合後的相機姿態。

進一步地,所述根據所述當前幀的第一相機姿態以及所述當前幀的第二相機姿態融合,獲取所述當前幀的融合後的相機姿態還包括:

若所述匹配成功率大於所述第一閾值,將所述當前幀的第一相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態;

將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態。

具體的,由於匹配成功率大於第一閾值,此時利用icp算法獲取第一相機姿態時的匹配較好,且icp算法具有精度高速度快,不受光照影響的優點,因此採用當前幀的第一相機姿態作為初始姿態,基於初始姿態、當前幀的灰度圖像以及參考幀的灰度圖像,迭代獲取當前幀的第二優化相機姿態,將當前幀的第二優化相機姿態和當前幀的第一相機姿態進行融合,從而獲取當前幀的融合後的相機姿態,縮短了特徵匹配計算初始姿態時消耗的時間,滿足實時性的要求。

進一步地,所述根據所述當前幀的灰度圖像以及所述參考幀的灰度圖像,估計所述當前幀的第二相機姿態包括:

提取所述當前幀的灰度圖像中的特徵點;

提取所述參考幀的灰度圖像中的特徵點;

將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配,根據匹配獲得的特徵點對以及所述參考幀的第二相機姿態,獲取所述當前幀的第二相機姿態;相應的,

所述將所述當前幀的第二相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態包括:

根據所述當前幀的第二相機姿態和所述參考幀的第二相機姿態,將所述當前幀的灰度圖像的特徵點投影到所述參考幀的灰度圖像,獲取所述當前幀的灰度圖像的特徵點到所述參考幀的灰度圖像的特徵點的第一投影誤差;

根據所述當前幀的第二相機姿態和參考幀的第二相機姿態,將所述參考幀的灰度圖像的特徵點投影到所述當前幀的灰度圖像,獲取所述參考幀的灰度圖像的特徵點到所述當前幀的灰度圖像的特徵點的第二投影誤差;

建立所述第一投影誤差以及所述第二投影誤差均小於第二閾值的第一特徵點對的第一能量模型,所述第一能量模型指示所述第一投影誤差以及所述 第二投影誤差的大小;

迭代求解所述第一能量模型得到所述當前幀的第二優化相機姿態。

具體的,在根據當前幀的灰度圖像以及參考幀的灰度圖像,估計當前幀的第二相機姿態之前還包括:將rgb-d相機拍攝的當前幀的rgb彩色圖像轉化為灰度圖像,具體是通過對rgb-d相機拍攝的當前幀的rgb彩色圖像進行灰度變換,將彩色圖像轉化為灰度圖像。然後對灰度圖像進行高斯金字塔分層,使得該方法能夠更好的應對尺度的變化和運動模糊的情況。這裡對原始解析度(640x480)的圖像,做兩次降採樣(加上原始的圖像總共是3個層次),每次降採樣都採用高斯作為卷積的內核。通過對圖像進行高斯金字塔分層,使得系統能夠更好的應對尺度的變化和運動模糊的情況。接著,提取當前幀和參考幀的灰度圖像中的特徵點,其中,灰度圖像上特徵點的檢測和提取都採用fast特徵點,提取出的特徵點信息包括:

1)特徵點在灰度圖像上的二維坐標uv;

2)特徵點在圖像金字塔中的層次索引;

3)特徵點在當前幀坐標系下的三維坐標;

4)特徵點的fast描述符;

5)特徵點描述符的索引。對於每一個特徵點來說,僅保存該特徵點在關鍵幀中的索引,以及該關鍵幀在全局所有關鍵幀的索引即可。

最後,對當前幀的灰度圖像中的特徵點和參考幀的灰度圖像中的特徵點進行匹配,根據匹配的特徵點對和參考幀的第二相機姿態,獲取當前幀的第二姿態。

其中,迭代獲取當前幀的第二優化相機姿態具體為,根據當前幀的第二相機姿態和參考幀的第二相機姿態,利用雙向投影誤差,獲取第二優化相機姿態。利用當前幀的第二相機姿態與參考幀的第二相機姿態,可以把當前幀的灰度圖像的特徵點投影到參考幀的灰度圖像,同時把參考幀的灰度圖像的特徵點投影到當前幀的灰度圖像。

具體的,依據當前幀的第二相機初始姿態,以及當前幀的參考幀的相機姿態,基於雙向投影誤差算法,對當前幀的第二相機姿態進行優化。圖4為雙向投影誤差示意圖;如圖4所示,可以利用三維的投影約束來剔除外點outliers,每一幀的特徵點都有一個局部的三維坐標,利用求得的當前幀與參 考幀的相對姿態,可以把當前幀的灰度圖像的特徵點投影到參考幀,同時把參考幀的灰度圖像的對應的特徵點投影到當前幀,這兩次投影都對應一個投影誤差,當這個誤差超過一定閾值,即認為為outliers點。去除outliers點後,利用同樣的投影關係,對所有inliers點建立能量方程,此方程可通過gauss-newton迭代求解,求解得到的姿態即為當前幀的第二優化相機姿態。

去除outliers點後,利用同樣的投影關係,對所有inliers點建立能量方程,建立的方程如下所示:

其中,三維空間到二維圖像的投影關係如下所示:

uvi=k*pose-1*point3di,

而反向投影的過程則是它的逆過程,其關係如下所示:

point3di=pose*depthi*(k-1*uvi),

其中,depth是為了坐標統一到世界坐標系的尺度中,這樣從當前幀投影到參考幀的轉化關係為:

在方程(1)中,只有poseref是需要優化的,此方程可通過gauss-newton迭代求解,求解得到的姿態即為當前幀的rgb相機姿態。

進一步地,所述融合後的相機姿態包括所述融合後的相機姿態的平移矩陣,所述將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態包括:

根據公式t=wicp·ticp+wrgb·trgb獲取融合後的相機姿態的平移矩陣,其中,ticp為所述第一相機姿態的平移矩陣,trgb為所述第二相機姿態的平移矩陣,t為融合後的相機姿態的平移矩陣;

其中,wicp=wicp'/(wicp'+wrgb'),wrgb=1-wicp,wicp為所述第一相機姿態的權重,wrgb所述第二相機姿態的權重;

其中,為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖 像中的所有特徵點個數,c,d為係數。

進一步地,所述融合後的相機姿態包括所述融合後的相機姿態的旋轉矩陣,所述將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態包括:

根據公式獲取融合後的相機姿態的旋轉矩陣,其中,為所述第一相機姿態的旋轉矩陣,為所述第二相機姿態的旋轉矩陣,rq為所述融合後的相機姿態的旋轉矩陣,teta為從的朝向到的朝向的夾角;

其中,wicp=wicp'/(wicp'+wrgb'),wicp為所述第一相機姿態的權重;

為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖像中的所有特徵點個數,c,d為係數。

根據獲取當前幀的融合後的相機姿態的旋轉矩陣,其中,為第一相機姿態的旋轉矩陣,為第二相機姿態的旋轉矩陣,rq為融合後的相機姿態的旋轉矩陣,teta為從的朝向到的朝向的夾角。

具體的,為了比較第一相機姿態估計和第二相機姿態估計在各自場景下的工作情況,在各自估算過程中,分別記錄下:wicp和wrgb分別表示第一相機姿態的權重和第二相機姿態的權重,為當前幀的深度圖像中的像素和參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為當前幀的灰度圖像中的所有的特徵點個數,a,b,c,d為係數。

上述權重的計算,通過選擇合適的參數,可以指數曲線設置在合適的範圍內。wicp和wrgb的取值為0~1之間的實數。例如,利用icp對第一相機姿態進行估計時,當ncicp/nticp>25%時,icp有較好的工作效果,當ncicp/nticp<10%時, 跟蹤效果顯著下降。當選取ncicp/nticp=25%時,wicp的值為0.5,ncicp/nticp=10%時,wicp值為0.01,計算出相應的係數值。a,b,c,d通過仿真統計得到,其取值滿足如下關係:b和d均為小於0.5的正數,在本實施例中,選取a=-4.621,b=0.4621,c=-1.386,d=0.1386。

在得到相應權重係數後,分別對兩種姿態估計得到的姿態進行加權即可得到當前幀的相機姿態,由於旋轉矩陣r不能通過直接加權得到,通過其四元數的表達形式rq進行球面線性插值slerp計算,得到旋轉矩陣r和平移矩陣t,利用r和t得到當前幀的相機姿態。圖5為球面線性差值slerp原理示意圖,如圖5所示,從的朝向到的朝向的夾角為teta。

進一步地,所述根據所述當前幀的深度圖像和所述當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型包括:

若第二特徵點對的個數小於第三閾值時,將所述當前幀加入到所述參考幀所在的關鍵幀序列從而得到更新後的關鍵幀序列,所述第二特徵點對通過將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配獲得;

根據所述更新後的關鍵幀序列,獲取所述更新後的關鍵幀序列對應三維點雲,所述三維點雲中的點與所述更新後的關鍵幀序列中灰度圖像的特徵點對應;

根據所述當前幀的融合後的相機姿態,將所述三維點雲的點投影到所述當前幀的灰度圖像,獲取所述三維點雲的點到所述當前幀的灰度圖像的特徵點的第三投影誤差;

建立所述第三投影誤差的第二能量模型,迭代求解所述第二能量模型得到所述當前幀的目標相機姿態;

根據所述當前幀的深度圖像和所述當前幀的目標相機姿態,生成當前幀對應的三維場景模型。

具體的,對當前幀的灰度圖像中的特徵點和參考幀的灰度圖像中的特徵點進行匹配時候,第二特徵點對,即內點inliers點的數目大於第三閾值的時候,該閾值可選的為150,認為是準確的匹配。當第二特徵點對的個數小於第三閾值時,認為無法匹配,將當前幀作為新的關鍵幀,並加入到關鍵幀序列中,從而得到更新後的關鍵幀序列。

圖6為空間中三維點雲的與融合的三維模型的關係示意圖。其中,三維點雲中的每一個特徵點包括以下信息:

1)特徵點所在的關鍵幀索引;

2)特徵點在此關鍵幀上所對應的圖像金字塔層級;

3)特徵點在此圖像金字塔層級圖片上對應的點的索引。

根據此結構,可以由空間的某個三維點雲,對應到某關鍵幀的相應特徵點位置。對三維點雲僅需依據此索引結構,即可索引到關鍵幀的相應特徵點的相應信息。

圖7為三維點雲與關鍵幀圖像建立約束的過程示意圖,如圖7所示,三維點p與三維點q,建立匹配關係:p在framea上匹配,p點與framea建立約束,p在frameb上匹配,p點與frameb建立約束,framec上未匹配,不建立約束。q點未獲得匹配,反射投影到空間中,作為新三維點加入三維點雲中。由於特徵點會出現在多個關鍵幀中,對於每一個關鍵幀中的信息,都會按照上述結構存儲在特徵點對應的容器中。由此,建立了從特徵點和關鍵幀雙向索引。對於每一個三維點雲,其對應一個索引組,存儲各個關鍵幀上對應特徵點的索引。通過以上結構,可以根據某一特徵點索引到相關的所有關鍵幀;同時在每一個關鍵幀上,特徵點都是順序存儲在關鍵幀的容器中,從某一關鍵幀也可以索引到某一個特徵點。由於關於特徵點的具體信息都保存在關鍵幀中,空間中點雲只保存索引。這樣防止保存了冗餘的特徵信息,迭代過程也更加迅速。同時,三維點雲的索引不僅是為了便捷的獲取其對應的特徵描述量等信息。更重要的是,每一組索引對應了三維空間中點與二維關鍵幀平面的約束關係。對三維空間點位置的優化,以及關鍵幀對應的相機姿態的優化,都依賴於此約束關係。

三維點雲的更新主要包括將已有點雲與當前關鍵幀點雲進行匹配,和加入新點雲,這兩個過程。

當有檢測出有新的關鍵幀後,需要對此關鍵幀上信息與已有的三維點雲之間建立約束關係,對點雲中每個三維點與此關鍵幀的索引根據上述約束關係進行更新。已有點雲與此關鍵幀上進行匹配主要通過將三維點雲向當前關鍵幀進行投影,利用如下公式進行計算:

uvi=k·pose-1·p3di

p3di=pose·depth·k-1·uvi

兩式分別表示了將三維點雲向關鍵幀投影得到二維坐標,以及將關鍵幀中二維坐標特徵點反射投影得到三維坐標的關係。其中p3di表示三維點雲的三維坐標,k和pose表示關鍵幀對應的相機的內參與外參。uvi表示關鍵幀上的二維坐標。在相應的關鍵幀中,在投影坐標uvi的臨近像素內進行搜索。

為了對三維點雲進行優化,需要建立三維點雲與關鍵幀之間的約束關係。當找到相應的匹配特徵點時,該特徵點在當前關鍵幀中的一組索引信息,即被加入到該特徵點對應的索引組中,此索引組裡保存了此三維點與所有關鍵幀的約束關係。

對於沒有成功獲得匹配的特徵點,根據此關鍵幀對應的相機姿態信息,將特徵點反射投影到空間中,即為新的三維點雲。將新的三維點雲加入到全局的三維點雲中,完成了對已有點雲信息的增補。在將三維點雲向當前關鍵幀投影進行匹配時,並沒有採用所有的三維點雲,而是將新加入的關鍵幀(參考幀)之前的若干關鍵幀建立約束的所有點雲,投影到當前關鍵幀中,進行局部的投影匹配。圖8為特徵點的匹配過程中當前幀與2號關鍵幀的特徵點匹配結果,其中,上面圖示為當前幀與2號關鍵幀的匹配結果,左下為2號關鍵幀上所有的特徵點,右下為當前幀與關鍵幀匹配上的特徵點。

當檢測是否存在閉合迴路時,我們將相機的當前位置作為先驗信息,在此附近選取關鍵幀及其對應的三維點雲進行投影匹配。該匹配過程與rgb跟蹤過程中的匹配類似。對於特徵匹配成功的inlier設置閾值180。當匹配上的特徵點數目超過此數目時,利用icp算法對當前關鍵幀,與待匹配的關鍵幀進行驗證。icp成功匹配後即可認為迴路成功閉合。閉合迴路的三維點雲與關鍵幀間的約束關係,同樣按照上述過程建立。

已有點雲與此關鍵幀上進行匹配主要通過將三維點雲向當前關鍵幀進行投影,利用如下公式進行計算:

uvi=k·pose-1·p3di

p3di=pose·depth·k-1·uvi

兩式分別表示了將三維點雲向關鍵幀投影得到二維坐標,以及將關鍵幀中二維坐標特徵點反射投影得到三維坐標的關係。其中p3di表示三維點雲的三維坐標,k和pose表示關鍵幀對應的相機的內參與外參。uvi表示關鍵幀上 的二維坐標。在相應的關鍵幀中,在投影坐標uvi的臨近像素內進行搜索。

對空間中的特徵點,根據其特徵點所對應的關鍵幀組索引,建立優化公式:

其中,d(x,y)表示兩者之間的歐氏距離。qij表示三維點j在關鍵幀i上的投影位置。同時,在每一個關鍵幀i上,三維點j對應的特徵點的坐標為xij。投影與特徵點坐標之差即為二者間的誤差,依據此誤差建立約束方程。優化目標是將三維點與其投影對應的特徵點間誤差最小。

通過levenberg-marquardt(lm)算法迭代優化,可以逼近其最優解。當最優解達到時,該公式對應的相機軌跡和三維點雲坐標即達到最優值,最大程度消除了累積誤差。

進一步地,如果進行束優化後,三維點雲坐標進行了更新,則根據束優化後的三維點雲坐標求解所述當前幀的tsdf體的三維姿態增量。具體過程為:由於三維點雲的坐標與tsdf體上的對應點的坐標一一對應,可以將這些三維特徵點視為其對tsdf體上的點的採樣。假設在一個tsdf體上有n個採樣點,通過建立以下優化公式,可以對tsdf體的姿態轉換增量進行求解:

其中,表示第i個特徵點在優化過後的三維坐標值,表示第i個特徵點在優化之前的三維坐標值。[rinc|tinc]分別表示希望求解的旋轉增量和位移增量。同樣通過lm算法進行迭代優化,獲得方程的最優解即為當前優化結果下的此tsdf體的旋轉增量和位移增量。

理論上需要對每一個保存的tsdf體做此類操作。但事實上,當有新關鍵幀加入時,主要修正的點雲信息為最近幾個關鍵幀的信息。因此可以設置合適的閾值,僅對特徵點位置發生一定變化的tsdf三維體區域進行姿態更新。這種做法也可以保證方法的實時性。

對於已經保存到本地的tsdf三維體信息,各自對應修正過的[r|t]信息。 在全部輸入掃描結束後,根據gpu的內存大小,在全局坐標系下對空間進行分塊,確定每塊空間坐標區域,得到對於每一塊空間區域在gpu中生成其對應大小的tsdf體。此時將掃描過程中已經保存到本地的tsdf三維模型根據其坐標,進行坐標轉換後,逐一加載到此空間tsdf三維體中。其中對應的每一個體素,經過[r|t]的坐標轉換即可得到目標體素在中的位置,其融合關係由每個體素中tsdf值fk及其權重wk確定,其中k表示每個體素單元的索引,p表示每個體素單元的物理位置:

當空間中一塊vig融合完畢後,將其由marchingcube算法提取點雲生成全局的surface信息,並對此surface進行保存。此時清空gpu的顯存,加載下一塊區域的重複執行將掃描過程中已保存的tsdf三維體模型逐一融合到中。

在實際操作中,由於坐標準換後的體素位置並不是整數。直接取整會出現三維表面值不連續的情況。針對此種情況,可以選取將該體素取整插入到目標體素後,對整個tsdf三維體採用濾波平滑處理。但這樣會導致值不精確,表面接縫初過於平滑模糊等問題。更可靠的方案是,對目標tsdf體中的每一個體素,由[r|t]-1確定其在原tsdf體中的位置。對原tsdf體目標值周圍的鄰近體素(27個)進行插值,可以獲得該目標體素的tsdf值和權重信息,以上tsdf的更新方程可以如下進行:

f(p')=interpolation(f([r|t]-1p))

w(p')=interpolation(w([r|t]-1p))

由於插值過程計算簡單獨立,可以並行處理,整個過程可以高效的完成。

圖9為本發明提供的三維場景的重建方法在室內場景4*4*4的區域融合 後得到的三維模型。

本實施例的三維場景的重建方法,相機的姿態軌跡接近真實軌跡,重建後的三維物體準確。

圖10為本發明提供的三維場景的重建裝置實施例一的結構示意圖,如圖10所示,該裝置包括:

第一獲取模塊11,用於根據當前幀的深度圖像以及參考幀的深度圖像,獲取所述當前幀的第一相機姿態,所述第一相機姿態包括用於獲取所述當前幀的深度圖像的相機的位置信息以及朝向信息;

第二獲取模塊12,用於根據所述當前幀的灰度圖像以及所述參考幀的灰度圖像,估計所述當前幀的第二相機姿態,所述第二相機姿態包括用於獲取所述當前幀的灰度圖像的相機的位置信息以及朝向信息;

融合模塊13,用於根據所述第一獲取模塊獲取得到的所述當前幀的第一相機姿態以及所述第二獲取模塊獲取得到的所述當前幀的第二相機姿態,獲取所述當前幀的融合後的相機姿態;

生成模塊14,用於根據所述當前幀的深度圖像和所述融合模塊獲取得到的所述當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。

本實施例的三維場景的重建裝置,通過根據當前幀的深度圖像以及參考幀的深度圖像,獲取當前幀的第一相機姿態,相機姿態包括用於獲取所述當前幀圖的深度圖像的相機的位置信息以及朝向信息,並根據當前幀的灰度圖像以及參考幀的灰度圖像,估計當前幀的第二相機姿態;然後根據當前幀的第一相機姿態以及當前幀的第二相機姿態,獲取當前幀的融合後的相機姿態;最後根據當前幀的深度圖像和當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。本實施例的三維場景的重建裝置,通過將基於深度信息的第一相機姿態估計和基於灰度信息的第二相機姿態估計進行融合,縮小了相機姿態估計中的累計誤差,在不同場景下表現更加穩定,使得重建的三維場景更準確。

本實施例提供的三維場景的重建裝置,可以用於執行本發明圖1所示實施例提供的三維場景的重建方法的技術方案,其實現原理類似,此處不再贅述。

進一步的,所述第一獲取模塊11用於:

將所述當前幀的深度圖像中的像素與所述參考幀的深度圖像中的像素進行匹配;根據匹配的像素點對以及所述參考幀的第一相機姿態,獲取所述當前幀的第一相機姿態;相應的,

所述融合模塊13用於:

根據所述匹配的像素點對的個數以及所述當前幀的像素點個數,獲取匹配成功率;

判斷所述匹配成功率是否小於或等於第一閾值;

若所述匹配成功率小於或等於所述第一閾值,將所述當前幀的第二相機姿態作為初始姿態,基於所述初始姿態、所述當前幀的灰度圖像以及所述參考幀的灰度圖像,迭代獲取所述當前幀的第二優化相機姿態;將所述當前幀的第二優化相機姿態和所述當前幀的第一相機姿態進行融合,從而獲取所述當前幀的融合後的相機姿態。

本實施例提供的三維場景的重建裝置,可以用於執行上述實施例提供的三維場景的重建裝置的技術方案,其實現原理和技術效果類似,此處不再贅述。

進一步地,所述第二獲取模塊12用於:

提取所述當前幀的灰度圖像中的特徵點;

提取所述參考幀的灰度圖像中的特徵點;

將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配,根據匹配獲得的特徵點對以及所述參考幀的第二相機姿態,獲取所述當前幀的第二相機姿態;

根據所述當前幀的第二相機姿態和所述參考幀的第二相機姿態,將所述當前幀的灰度圖像的特徵點投影到所述參考幀的灰度圖像,獲取所述當前幀的灰度圖像的特徵點到所述參考幀的灰度圖像的特徵點的第一投影誤差;

根據所述當前幀的第二相機姿態和參考幀的第二相機姿態,將所述參考幀的灰度圖像的特徵點投影到所述當前幀的灰度圖像,獲取所述參考幀的灰度圖像的特徵點到所述當前幀的灰度圖像的特徵點的第二投影誤差;

建立所述第一投影誤差以及所述第二投影誤差均小於第二閾值的第一特徵點對的第一能量模型,所述第一能量模型指示第一投影誤差以及所述第二投影誤差的大小;

迭代求解所述第一能量模型得到所述當前幀的第二優化相機姿態。

本實施例提供的三維場景的重建裝置,可以用於執行上述實施例提供的三維場景的重建裝置的技術方案,其實現原理和技術效果類似,此處不再贅述。

進一步地,所述融合模塊13用於:

根據公式t=wicp·ticp+wrgb·trgb獲取融合後的相機姿態的平移矩陣,其中,ticp為所述第一相機姿態的平移矩陣,trgb為所述第二相機姿態的平移矩陣,t為融合後的相機姿態的平移矩陣;

其中,wicp=wicp'/(wicp'+wrgb'),wrgb=1-wicp,wicp為所述第一相機姿態的權重,wrgb所述第二相機姿態的權重;

其中,為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖像中的所有特徵點個數,c,d為係數。

本實施例提供的三維場景的重建裝置,可以用於執行上述實施例提供的三維場景的重建裝置的技術方案,其實現原理和技術效果類似,此處不再贅述。

所述融合模塊13用於:

根據公式獲取融合後的相機姿態的旋轉矩陣,其中,為所述第一相機姿態的旋轉矩陣,為所述第二相機姿態的旋轉矩陣,rq為所述融合後的相機姿態的旋轉矩陣,teta為從的朝向到的朝向的夾角;

其中,wicp=wicp'/(wicp'+wrgb'),wicp為所述第一相機姿態的權重;

為所述當前幀的深度圖像中的像素和所述參考幀的深度圖像中的像素之間匹配的像素點個數,nticp為當前幀的深度圖像中的所有像素點的個數,a,b為係數;

為所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點之間匹配的特徵點個數,ntrgb為所述當前幀的灰度圖 像中的所有特徵點個數,c,d為係數。

本實施例提供的三維場景的重建裝置,可以用於執行上述實施例提供的三維場景的重建裝置的技術方案,其實現原理和技術效果類似,此處不再贅述。

進一步地,所述生成模塊14用於:

若第二特徵點對的個數小於第三閾值時,將所述當前幀加入到所述參考幀所在的關鍵幀序列從而得到更新後的關鍵幀序列,所述第二特徵點對通過將所述當前幀的灰度圖像中的特徵點與所述參考幀的灰度圖像中的特徵點進行匹配獲得;

根據所述更新後的關鍵幀序列,獲取所述更新後的關鍵幀序列對應三維點雲,所述三維點雲中的點與所述更新後的關鍵幀序列中灰度圖像的特徵點對應;

根據所述當前幀的融合後的相機姿態,將所述三維點雲的點投影到所述當前幀的灰度圖像,獲取所述三維點雲的點到所述當前幀的灰度圖像的特徵點的第三投影誤差;

建立所述第三投影誤差的第二能量模型,迭代求解所述第二能量模型得到所述當前幀的目標相機姿態;

根據所述當前幀的深度圖像和所述當前幀的目標相機姿態,生成當前幀對應的三維場景模型。

本實施例提供的三維場景的重建裝置,可以用於執行上述實施例提供的三維場景的重建裝置的技術方案,其實現原理和技術效果類似,此處不再贅述。

圖11為本發明提供的三維場景的重建裝置實施例二的結構示意圖,所述三維場景的重建裝置的控制器1400包括通信接口1401、存儲器1403和處理器1402,其中,通信接口1401、處理器1402、存儲器1403、通過總線1404相互連接;總線1404可以是外設部件互連標準(peripheralcomponentinterconnect,簡稱pci)總線或擴展工業標準結構(extendedindustrystandardarchitecture,簡稱eisa)總線等。所述總線可以分為地址總線、數據總線、控制總線等。為便於表示,圖11中僅用一條粗線表示,但並不表示僅有一根總線或一種類型的總線。

所述通信接口1401用於與openflow交換機通信。

存儲器1403,用於存放程序。具體地,程序可以包括程序代碼,所述程序代碼包括計算機操作指令。存儲器1403可能包含隨機存取存儲器(randomaccessmemory,簡稱ram),也可能還包括非易失性存儲器(non-volatilememory),例如至少一個磁碟存儲器。

處理器1402,用於執行存儲器1403所存放的程序,實現本發明前述方法實施例的方法:

包括:根據當前幀的深度圖像以及參考幀的深度圖像,獲取所述當前幀的第一相機姿態,所述相機姿態包括用於獲取所述當前幀圖的深度圖像的相機的位置信息以及朝向信息;

根據所述當前幀的灰度圖像以及所述參考幀的灰度圖像,估計所述當前幀的第二相機姿態;

根據所述當前幀的第一相機姿態以及所述當前幀的第二相機姿態,獲取所述當前幀的融合後的相機姿態;

根據所述當前幀的深度圖像和所述當前幀的融合後的相機姿態,生成當前幀對應的三維場景模型。

上述的處理器1402可以是通用處理器,包括中央處理器(centralprocessingunit,簡稱cpu)、網絡處理器(networkprocessor,簡稱np)等;還可以是數位訊號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者電晶體邏輯器件、分立硬體組件。

本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成。前述的程序可以存儲於一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:rom、ram、磁碟或者光碟等各種可以存儲程序代碼的介質。

最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀