一種基於區域配準的深度點雲三維重建方法與流程
2023-10-10 05:17:19 1

本發明涉及立體模型的三維重建技術,從彩色圖像的顏色相似性出發,對彩色圖像進行區域分割,將圖像中的物體分割成具有局部相似性的多個區域,並利用深度信息對相鄰區域進行相似度計算,將相鄰的相似區域進行合併。在得到合併的區域後,利用權重信息的迭代更新進行相鄰時刻的區域預匹配,並對預處理後的區域對所對應的點雲進行三維配準得到變換矩陣,最後將所有時刻的三維點雲按照變換矩陣存儲在柵格立方體中,使用移動立方體算法進行三維表面重建。
背景技術:
三維立體模型重建是計算機視覺、機器人系統與計算機圖形學等領域中重要的研究課題。近些年來,由於Kinect等消費級深度採集設備的出現,該技術在虛擬實境、文物修復、醫學成像、三維列印等領域中都有著廣泛的應用。由於設備硬體上的限制,採集的深度數據往往會出現丟失現象。此外,設備的快速移動會導致配準技術的失敗,產生與真實數據誤差較大的三維模型。目前,一些優化技術可以檢測到閉環,逐漸糾正設備位姿,並將誤差分配到逐幀以減少累計誤差帶來的影響。但是,這些辦法沒有真正解決複雜環境下配準偏移的問題,當移動速度較快,或者物體特徵信息不豐富時,如何獲取較為精確的三維模型仍然是研究中亟待解決的關鍵問題。
技術實現要素:
本發明的目的是提出一種基於區域配準的深度點雲三維重建方法。
本發明的目的是這樣實現的:一種基於區域配準的深度點雲三維重建方法,其特徵在於,對於採集的彩色圖像與深度數據,採用以下步驟進行處理,即可以實現深度點雲的三維重建。
步驟1:對彩色圖像進行區域分割
為對彩色圖像進行區域分割,首先將彩色圖像所有像素點存儲在圖G中,然後使用基於圖的貪心聚類分割方法將彩色圖像過分割成多個區域。具體地,將彩色圖像每個像素初始化為圖G的頂點,像素之間的顏色差異初始化為頂點之間的邊權值。首先計算所有像素之間的顏色差異,計為圖G的邊權值h,按照公式(1)計算:
其中,hij是像素點pi與pj之間的邊權值,(ri,gi,bi)與(rj,gj,bj)分別是兩個像素點的紅綠藍三個顏色值。為了進一步進行區域分割,首先將圖G中每一個頂點當作一個區域,然後根據公式(2)對每兩個區域進行聚類分析,如果兩個區域滿足公式(2),那麼將他們合併為一塊新區域;
Dif(Ci,Cj)≤min(Int(Ci)+f/|Ci|,Int(Cj)+f/|Cj|) (2)
其中,Ci和Cj是待分割的兩個區域,Dif(Ci,Cj)是連接兩個區域Ci和Cj之間的最小的邊權值,Int(Ci)和Int(Cj)分別為區域Ci和Cj包含的圖所對應的最小生成樹中最大的邊權值。|Ci|和|Cj|分別是區域Ci和Cj中的像素點個數,f是分割的閾值參數,設為50。對所有像素點進行處理後,彩色圖像被過分割成多個區域;
步驟2:對相似的過分割區域進行合併
為了對相似的過分割區域進行合併,首先計算所有區域的協方差矩陣,然後計算相鄰區域的相似度,對相似度小於閾值的區域進行合併。具體地,首先根據公式(3)計算每個區域的協方差矩陣A(u(S)):
其中,c(S)是區域S的中心點的三維坐標,u(S)是區域S對應的三維點雲。|u(S)|為u(S)的頂點數量。x是點雲上u(S)任意一個點的三維坐標。對A(u(S))進行矩陣的特徵分解,得到的三個特徵值從大到小分別為w1(S)、w2(S)、wn(S),對應的三個特徵向量分別為T1(S)、T2(S)、N(S);
然後,對圖像中所有相鄰的區域進行相似度計算。具體地,對於圖像中任意兩個相鄰區域Si,Sj,按照公式(4)計算它們之間的相似度csmooth。
其中||·||表示數量積計算,N(Si)與N(Sj)是兩個區域計算得到的最小的特徵向量。如果兩個區域的相似度csmooth小於閾值常數cthod,相鄰區域Si、Sj將合併成為新區域。其中cthod設為0.02m。對相鄰時刻所有區域都進行相似度計算和合併後,得到相鄰時刻兩組合併後的區域集合;
步驟3:匹配相鄰時刻的兩組區域,對所有匹配的區域所對應的點雲進行三維配準
為了進行區域點雲之間的三維配準,首先要進行相鄰時刻的兩組區域之間的區域配對,然後進一步對配對後的區域點雲進行三維配準。具體地,從時刻tk的區域集合中取一塊區域Sm,再從下一時刻tk+1的區域集合中取一塊區域Sn,組成區域對(Sm,Sn)。然後按照公式(5),計算Sm與Sn之間的空間位置關係rmn;
其中,dmn為兩個點雲區域之間所有最臨近點對的平均歐氏距離,按照公式(6)計算。
其中,(xm,ym,zm)是u(Sm)上的任意點的三維坐標,(xn,yn,zn)是在u(Sn)上距離(xm,ym,zm)歐式距離最小的點的三維坐標;
wmn表示兩個點雲的重疊率,按照公式(7)進行計算。
其中,Nw是兩個點雲中歐式距離最小的點對距離小於dthod的點對數,其中dthod設為0.01m;
然後,對相鄰兩個時刻所有區域的點雲進行權值初始化,具體地,區域Sm和Sn的權值e(Sm),e(Sn)分別初始化為Sm和Sn對應點雲u(Sm)和u(Sn)的頂點個數佔該時刻所有點雲的頂點個數合的比例。如果rmn小於閾值rthod,那麼將該組點雲區域對(Sm,Sn)加入預處理集合M中,並分別按照公式(8)更新權值e(Sm),e(Sn),其中rthod設為0.02;
對所有區域對的點雲進行權值計算,迭代更新所有點雲的權值,最終得到包含所有區域對的預處理集合M。
進一步對預處理的區域對進行對應點雲的幾何三維配準。首先從M中取出一對區域,對這兩塊區域對應的三維點雲分別進行幾何特徵提取。具體地,對點雲u(Sm)和u(Sn)中的每個點分別計算FPFH特徵。其特徵在於,對點雲每個點周圍距離小於R的點進行特徵統計形成點特徵直方圖,其中特徵統計包括對距離、角度的統計,R取值為0.5m。然後利用採樣一致性初始配準算法計算物體的四階變換矩陣,具體地,先在u(Sm)中尋找採樣點,然後在另一個點雲u(Sn)中查找與採樣點FPFH特徵相似的所有點,計算每個點對的四階變換矩陣,選擇其中誤差最小的剛體變換矩陣Tkp作為最終變換矩陣。k表示第k時刻,p表示在預處理集合M中的第p對匹配區域。其中,採樣一致性初始配準算法中的採樣點之間的距離不應小於閾值dmin,設為0.1m。
步驟4:融合通過三維配準得到的所有區域的變換矩陣
對於同一個時刻k,將該時刻所有區域的變換矩陣Tkp融合成該時刻的完整變換矩陣Tk,假設時刻k總共有pk組區域對,按照公式(9)計算融合後的變換矩陣Tk;
其中X為權值矩陣,設為(0.70.3),Tkp是時刻k時的第p對區域點雲配準得到的變換矩陣,wkp是時刻k時的第p對區域點雲的重疊率,按照公式(7)進行計算,dkp是時刻k時的第p對區域點雲的平均歐式距離,按照公式(8)進行計算;
步驟5:將不同時刻的深度點雲進行點雲融合與三維表面重建。
為了將不同時刻的深度點雲進行點雲融合與三維表面重建,首先使用截斷符號距離函數(TSDF)進行點雲的融合。具體地,將空間劃分成1283個柵格立方體,將點雲分布在柵格立方體中,然後計算每幀融合後每個柵格立方體的TSDF值;
為了計算每個柵格立方體中的截斷符號距離函數,首先要計算每個柵格立方體中的符號距離函數sdfkg(x),k表示第k時刻,g表示第g個柵格立方體,sdfkg(x)代表著點雲上任意一點x的符號距離函數,按照公式(10)進行計算:
sdfkg(x)=dis(vg,tk)-Dk (10)
其中,tk是相機光心在三維坐標系下的坐標,相機光心坐標設為(320,240),vg是柵格g在三維坐標系下的坐標,dis(vg,tk)表示柵格到光心的距離,Dk是圖像中x對應的像素點所對應的深度值,由Kinect設備相機採集得到。如果sdfkg(x)大於0,tsdfkg(x)按照公式(11)計算,否則按照公式(12)計算:
tsdfkg(x)=min(1,sdfkg(x)/mtruncation) (11)
tsdfkg(x)=min(-1,sdfkg(x)/mtruncation) (12)
其中mtruncation為常量,取值為10。然後計算權重wtkg(x),初始值為1。Wkg(x)為迭代後的權重,計算公式如(13)所示;
Wkg(x)=Wk-1,g(x)+wtkg(x) (13)
最後記錄迭代後的加權TSDF值,標記為TSDFkg(x),按照公式(14)計算。
將Wkg(x)和TSDFkg(x)存儲在對應的柵格g中,進行下個柵格g+1的計算。當對所有時刻的柵格都計算了截斷符號距離函數後,所有點雲已被存儲在柵格立方體中。然後使用移動立方體算法抽取等值面,繪製三維表面,得到立體模型。
本發明利用彩色圖像與深度圖像,能得到具有一定真實度與準確度的三維模型,能夠解決困難環境下的配準偏移問題。進一步實例證明了本發明的實驗效果,適用於如TUM RGB-D庫提供的數據集提供的深度與彩色圖像等。
附圖說明
圖1為本發明實施例經過區域生成後的分割過程結果圖;
圖2為本發明實施例重建的三維模型結果圖。
具體實施方式
下面結合附圖及實施例對發明進行詳細描述。
實施例
本實施例採用TUM RGB-D庫提供的large cabinet,cabinet,teddy數據集進行實驗。在Windows 10作業系統的PC機上進行實驗,硬體配置是2.6GHzCoreTM i5-3230M CPU、8GB RAM;實驗平臺是VS2010。
本發明包括以下具體步驟:
步驟1:對彩色圖像進行區域分割
為對彩色圖像進行區域分割,首先將彩色圖像所有像素點存儲在圖G中,然後使用基於圖的貪心聚類分割方法將彩色圖像過分割成多個區域。具體地,將彩色圖像每個像素初始化為圖G的頂點,像素之間的顏色差異初始化為頂點之間的邊權值。首先計算所有像素之間的顏色差異,計為圖G的邊權值h,按照公式(1)計算:
其中,hij是像素點pi與pj之間的邊權值,(ri,gi,bi)與(rj,gj,bj)分別是兩個像素點的紅綠藍三個顏色值。為了進一步進行區域分割,首先將圖G中每一個頂點當作一個區域,然後根據公式(2)對每兩個區域進行聚類分析,如果兩個區域滿足公式(2),那麼將他們合併為一塊新區域。
Dif(Ci,Cj)≤min(Int(Ci)+f/|Ci|,Int(Cj)+f/|Cj|) (2)
其中,Ci和Cj是待分割的兩個區域,Dif(Ci,Cj)是連接兩個區域Ci和Cj之間的最小的邊權值,Int(Ci)和Int(Cj)分別為區域Ci和Cj包含的圖所對應的最小生成樹中最大的邊權值。|Ci|和|Cj|分別是區域Ci和Cj中的像素點個數,f是分割的閾值參數,設為50。對所有像素點進行處理後,彩色圖像被過分割成多個區域。
步驟2:對相似的過分割區域進行合併
為了對相似的過分割區域進行合併,首先計算所有區域的協方差矩陣,然後計算相鄰區域的相似度,對相似度小於閾值的區域進行合併。具體地,首先根據公式(3)計算每個區域的協方差矩陣A(u(S)):
其中,c(S)是區域S的中心點的三維坐標,u(S)是區域S對應的三維點雲。|u(S)|為u(S)的頂點數量。x是點雲上u(S)任意一個點的三維坐標。對A(u(S))進行矩陣的特徵分解,得到的三個特徵值從大到小分別為w1(S)、w2(S)、wn(S),對應的三個特徵向量分別為T1(S)、T2(S)、N(S)。
然後,對圖像中所有相鄰的區域進行相似度計算。具體地,對於圖像中任意兩個相鄰區域Si,Sj,按照公式(4)計算它們之間的相似度csmooth。
其中||·||表示數量積計算,N(Si)與N(Sj)是兩個區域計算得到的最小的特徵向量。如果兩個區域的相似度csmooth小於閾值常數cthod,相鄰區域Si、Sj將合併成為新區域。其中cthod設為0.02m。對相鄰時刻所有區域都進行相似度計算和合併後,得到相鄰時刻兩組合併後的區域集合。
步驟3:匹配相鄰時刻的兩組區域,對所有匹配的區域所對應的點雲進行三維配準
為了進行區域點雲之間的三維配準,首先要進行相鄰時刻的兩組區域之間的區域配對,然後進一步對配對後的區域點雲進行三維配準。具體地,從時刻tk的區域集合中取一塊區域Sm,再從下一時刻tk+1的區域集合中取一塊區域Sn,組成區域對(Sm,Sn)。然後按照公式(5),計算Sm與Sn之間的空間位置關係rmn。
其中,dmn為兩個點雲區域之間所有最臨近點對的平均歐氏距離,按照公式(6)計算。
其中,(xm,ym,zm)是u(Sm)上的任意點的三維坐標,(xn,yn,zn)是在u(Sn)上距離(xm,ym,zm)歐式距離最小的點的三維坐標。
wmn表示兩個點雲的重疊率,按照公式(7)進行計算。
其中,Nw是兩個點雲中歐式距離最小的點對距離小於dthod的點對數,其中dthod設為0.01m。
然後,對相鄰兩個時刻所有區域的點雲進行權值初始化,具體地,區域Sm和Sn的權值e(Sm),e(Sn)分別初始化為Sm和Sn對應點雲u(Sm)和u(Sn)的頂點個數佔該時刻所有點雲的頂點個數合的比例。如果rmn小於閾值rthod,那麼將該組點雲區域對(Sm,Sn)加入預處理集合M中,並分別按照公式(8)更新權值e(Sm),e(Sn),其中rthod設為0.02。
對所有區域對的點雲進行權值計算,迭代更新所有點雲的權值,最終得到包含所有區域對的預處理集合M。
進一步對預處理的區域對進行對應點雲的幾何三維配準。首先從M中取出一對區域,對這兩塊區域對應的三維點雲分別進行幾何特徵提取。具體地,對點雲u(Sm)和u(Sn)中的每個點分別計算FPFH特徵。其特徵在於,對點雲每個點周圍距離小於R的點進行特徵統計形成點特徵直方圖,其中特徵統計包括對距離、角度的統計,R取值為0.5m。然後利用採樣一致性初始配準算法計算物體的四階變換矩陣,具體地,先在u(Sm)中尋找採樣點,然後在另一個點雲u(Sn)中查找與採樣點FPFH特徵相似的所有點,計算每個點對的四階變換矩陣,選擇其中誤差最小的剛體變換矩陣Tkp作為最終變換矩陣。k表示第k時刻,p表示在預處理集合M中的第p對匹配區域。其中,採樣一致性初始配準算法中的採樣點之間的距離不應小於閾值dmin,設為0.1m。
步驟4:融合通過三維配準得到的所有區域的變換矩陣
對於同一個時刻k,將該時刻所有區域的變換矩陣Tkp融合成該時刻的完整變換矩陣Tk,假設時刻k總共有pk組區域對,按照公式(9)計算融合後的變換矩陣Tk。
其中X為權值矩陣,設為(0.70.3),Tkp是時刻k時的第p對區域點雲配準得到的變換矩陣,wkp是時刻k時的第p對區域點雲的重疊率,按照公式(7)進行計算,dkp是時刻k時的第p對區域點雲的平均歐式距離,按照公式(8)進行計算。
步驟5:將不同時刻的深度點雲進行點雲融合與三維表面重建
為了將不同時刻的深度點雲進行點雲融合與三維表面重建,首先使用截斷符號距離函數(TSDF)進行點雲的融合。具體地,將空間劃分成1283個柵格立方體,將點雲分布在柵格立方體中,然後計算每幀融合後每個柵格立方體的TSDF值。
為了計算每個柵格立方體中的截斷符號距離函數,首先要計算每個柵格立方體中的符號距離函數sdfkg(x),k表示第k時刻,g表示第g個柵格立方體,sdfkg(x)代表著點雲上任意一點x的符號距離函數,按照公式(10)進行計算:
sdfkg(x)=dis(vg,tk)-Dk (10)
其中,tk是相機光心在三維坐標系下的坐標,相機光心坐標設為(320,240),vg是柵格g在三維坐標系下的坐標,dis(vg,tk)表示柵格到光心的距離,Dk是圖像中x對應的像素點所對應的深度值,由Kinect設備相機採集得到。如果sdfkg(x)大於0,tsdfkg(x)按照公式(11)計算,否則按照公式(12)計算:
tsdfkg(x)=min(1,sdfkg(x)/mtruncation) (11)
tsdfkg(x)=min(-1,sdfkg(x)/mtruncation) (12)
其中mtruncation為常量,取值為10。然後計算權重wtkg(x),初始值為1。Wkg(x)為迭代後的權重,計算公式如(13)所示。
Wkg(x)=Wk-1,g(x)+wtkg(x) (13)
最後記錄迭代後的加權TSDF值,標記為TSDFkg(x),按照公式(14)計算。
將Wkg(x)和TSDFkg(x)存儲在對應的柵格g中,進行下個柵格g+1的計算。當對所有時刻的柵格都計算了截斷符號距離函數後,所有點雲已被存儲在柵格立方體中。然後使用移動立方體算法抽取等值面,繪製三維表面,得到立體模型。
本發明利用彩色圖像與深度圖像,能得到具有一定真實度與準確度的三維模型,能夠解決困難環境下的配準偏移問題。實例進一步證明了本發明的實驗效果,適用於如TUM RGB-D庫提供的數據集提供的深度與彩色圖像等。
圖1是本發明實施例經過區域分割後的過程結果圖。從圖中的區域分割結果可以明顯看出,利用本發明對彩色圖像進行區域分割結果的合理性與有效性。
圖2是本發明實施例重建的三維模型結果圖,從圖中的結果可以看出,利用本發明對物體的三維重建結果的真實度與準確度。