本發(fā)明涉及基于線性混合形變的汽車工件非剛體三維點云配準方法。
背景技術(shù):
隨著rgb-d攝像機的發(fā)展,使低成本獲取物體高質(zhì)量的三維點云成為可能,同時也促進了立體視覺的發(fā)展和應(yīng)用。三維點云配準是立體視覺中一個十分重要的問題,這項技術(shù)在逆向工程、機器人視覺定位、三維測量等領(lǐng)域有著豐富的應(yīng)用。由besl等人提出的迭代最近點(icp,iterativeclosestpoint)算法是點云配準中比較成熟并且應(yīng)用廣泛的算法。但是icp只能解決剛體變換問題,對于非剛體降采樣后的參考點云p,當(dāng)降采樣后的參考點云p由于自身重力或受到外力發(fā)生形變時,原始的icp方法不再適用。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有icp只能解決剛體變換問題,對于非剛體降采樣后的參考點云p,當(dāng)降采樣后的參考點云p由于自身重力或受到外力發(fā)生形變時,原始的icp方法不再適用的缺點,而提出一種基于線性混合形變的汽車工件非剛體三維點云配準方法。
一種基于線性混合形變的汽車工件非剛體三維點云配準方法具體過程為:
步驟一:輸入?yún)⒖键c云q'和源點云p',利用網(wǎng)格濾波方法進行降采樣,得到降采樣后的參考點云q和源點云p;
步驟二:在降采樣后的源點云p上規(guī)劃變形的點即控制點,并構(gòu)建控制向量s;
步驟三:計算有界調(diào)和權(quán)重集w,構(gòu)建線性混合形變模型;
步驟四:通過迭代最近點方法尋找降采樣后的參考點云q和源點云p相對應(yīng)點的初始對應(yīng)關(guān)系,并通過奇異值分解計算初始剛體變換矩陣;
步驟五:根據(jù)降采樣后的參考點云q和源點云p相對應(yīng)點的初始對應(yīng)關(guān)系以及初始剛體變換矩陣構(gòu)建最小二乘誤差函數(shù);
步驟六:利用lm算法求解最小二乘誤差函數(shù)的最優(yōu)解,得到控制向量s的增量δs;
步驟七:根據(jù)得到的δs更新控制向量s,得到s′,s′=δs+s,通過步驟三中的線′性混合形變模型使降采樣后的源點云p發(fā)生形變,得到發(fā)生形變后的源點云p′;
步驟八:重新通過迭代最近點方法確定參考點云q和發(fā)生形變后的源點云p′的對應(yīng)點關(guān)系,并通過奇異值分解得到剛體變換矩陣,使發(fā)生形變后的源點云p′旋轉(zhuǎn)和平移;
步驟九:將步驟八得到的剛體變換矩陣與步驟四得到的初始剛體變換矩陣的值相乘,得到最初源點云與參考點云間的變換關(guān)系;
步驟十:判斷步驟九得到的最初源點云與參考點云間的變換關(guān)系是否滿足收斂條件,如果滿足則輸出結(jié)果,否則轉(zhuǎn)到步驟四。
本發(fā)明的有益效果為:
本發(fā)明提出了一種基于線性混合形變的汽車工件非剛體三維點云配準方法,通過有界調(diào)和權(quán)重來建立降采樣后的參考點云p形變模型,通過規(guī)劃控制點來控制降采樣后的參考點云p的形變。利用levenberg-marquardt(lm)算法求解非線性最小二乘誤差函數(shù)最優(yōu)解并更新降采樣后的參考點云p的形變量,最后利用奇異值分解來得到剛體變換矩陣。
通過線性混合形變模型來使降采樣后的參考點云p發(fā)生形變,通過對降采樣后的參考點云p規(guī)劃控制點和控制向量以及計算有界調(diào)和權(quán)重,可以較好的描述降采樣后的參考點云p的形變,通過lm法求解最優(yōu)化結(jié)果,可以較快的達到收斂并且可以一定程度上防止局部收斂問題。該方法原理簡單,易于實現(xiàn),通過將變形與匹配相結(jié)合,一定程度上解決了非剛體降采樣后的參考點云p點云配準的問題,并提高了配準精度,加快了配準的收斂速度。
三個收斂條件中的參數(shù)分別為:ε1=10-4,ε2=10-6,kmax=100。從圖3a、3b、3c、3d為迭代最近點方法效果圖,圖3e、3f、3g、3h為本發(fā)明方法效果圖,四張圖分別為迭代次數(shù)為0、5、10、50時的結(jié)果。圖4為本方法與迭代最近點方法誤差結(jié)果與迭代次數(shù)關(guān)系的對比圖;
如圖4所述,迭代次數(shù)為5次時,迭代最近點方法誤差結(jié)果為0.0038,本發(fā)明方法為0.001;迭代次數(shù)為10次時,迭代最近點方法誤差結(jié)果為0.0018,本發(fā)明方法為0.001;迭代次數(shù)為15次時,迭代最近點方法誤差結(jié)果為0.0014,本發(fā)明方法為0.0008;迭代次數(shù)為50次時,迭代最近點方法誤差結(jié)果為0.0008,本發(fā)明方法為0.0004;由該圖可以看出本發(fā)明方法收斂更快,精度更高。
附圖說明
圖1為本發(fā)明方法流程圖;
圖2a為汽車保險杠模型變形前后側(cè)視圖,
圖2b為汽車保險杠模型變形前后俯視圖
圖2c為汽車保險杠模型變形前后主視圖;由于受到自身重力的影響,保險杠從地面拿起之后會發(fā)生形變,表現(xiàn)為兩邊向里收縮;
圖3a為用迭代最近點方法迭代0次對變形前后汽車保險杠點云進行配準的效果圖;
圖3b為用迭代最近點方法迭代5次對變形前后汽車保險杠點云進行配準的效果圖;
圖3c為用迭代最近點方法迭代10次對變形前后汽車保險杠點云進行配準的效果圖;
圖3d為用迭代最近點方法迭代50次對變形前后汽車保險杠點云進行配準的效果圖;
圖3e為采用本發(fā)明方法迭代0次對變形前后汽車保險杠點云進行配準的效果圖;
圖3f為采用本發(fā)明方法迭代5次對變形前后汽車保險杠點云進行配準的效果圖;
圖3g為采用本發(fā)明方法迭代10次對變形前后汽車保險杠點云進行配準的效果圖;
圖3h為采用本發(fā)明方法迭代50次對變形前后汽車保險杠點云進行配準的效果圖;
圖4為本方法與迭代最近點方法誤差結(jié)果與迭代次數(shù)關(guān)系的對比圖。
具體實施方式
具體實施方式一:結(jié)合圖1說明本實施方式,本實施方式的一種基于線性混合形變的汽車工件非剛體三維點云配準方法具體過程為:
步驟一:向程序中輸入?yún)⒖键c云q'和源點云p',利用網(wǎng)格濾波方法進行降采樣,得到降采樣后的參考點云q和源點云p;
步驟二:在降采樣后的源點云p上規(guī)劃變形的點即控制點,并構(gòu)建控制向量s;人為規(guī)劃,在降采樣后的源點云p上選取會發(fā)生形變的點,即為控制點,根據(jù)這些控制點可能發(fā)生運動的自由度(每個點都有x、y、z三個自由度),規(guī)劃控制向量(把所有要求的變量定義為一個向量,例如每個控制點有x、y、z三個變量);
步驟三:計算有界調(diào)和權(quán)重集w,構(gòu)建線性混合形變模型;
步驟四:通過迭代最近點方法尋找降采樣后的參考點云q和源點云p相對應(yīng)點的初始對應(yīng)關(guān)系,并通過奇異值分解計算初始剛體變換矩陣;
步驟五:根據(jù)降采樣后的參考點云q和源點云p相對應(yīng)點的初始對應(yīng)關(guān)系以及初始剛體變換矩陣構(gòu)建最小二乘誤差函數(shù);
步驟六:利用lm算法求解最小二乘誤差函數(shù)的最優(yōu)解,得到控制向量s的增量δs;
步驟七:根據(jù)得到的δs更新控制向量s,得到s′,s′=δs+s,通過步驟三中的線性混合形變模型使降采樣后的源點云p發(fā)生形變,得到發(fā)生形變后的源點云p′;
步驟八:重新通過迭代最近點方法確定參考點云q和發(fā)生形變后的源點云p′的對應(yīng)點關(guān)系,并通過奇異值分解得到剛體變換矩陣,使發(fā)生形變后的源點云p′旋轉(zhuǎn)和平移;
步驟九:將步驟八得到的剛體變換矩陣與步驟四得到的初始剛體變換矩陣的值相乘,得到最初源點云與參考點云間的變換關(guān)系;
步驟十:判斷步驟九得到的最初源點云與參考點云間的變換關(guān)系是否滿足收斂條件,如果滿足則輸出結(jié)果,否則轉(zhuǎn)到步驟四。
具體實施方式二:本實施方式與具體實施方式一不同的是:所述步驟三中計算有界調(diào)和權(quán)重集w,具體過程為:
最小化方程:
并滿足如下約束:
其中δjk為克羅內(nèi)克函數(shù),當(dāng)j=k時δjk值為1,否則δjk值為0;δωj為ωj的增量;ωj為控制點
其它步驟及參數(shù)與具體實施方式一相同。
具體實施方式三:本實施方式與具體實施方式一或二不同的是:所述步驟三中構(gòu)建線性混和形變模型,具體公式為:
其中
其它步驟及參數(shù)與具體實施方式一或二相同。
具體實施方式四:本實施方式與具體實施方式一至三之一不同的是:所述步驟五中根據(jù)降采樣后的參考點云q和源點云p相對應(yīng)點的初始對應(yīng)關(guān)系以及初始剛體變換矩陣構(gòu)建最小二乘誤差函數(shù);具體過程為:
其中t為初始剛體變換矩陣;
其它步驟及參數(shù)與具體實施方式一至三之一相同。
具體實施方式五:本實施方式與具體實施方式一至四之一不同的是:所述步驟六中利用lm算法求解最小二乘誤差函數(shù)的最優(yōu)解,得到控制向量s的增量δs;具體過程為:
lm算法的迭代公式:
其中j為雅克比矩陣,i為單位陣,
迭代規(guī)則為:如果更新的向量
用中心差分方法近似求解雅克比矩陣或
其中ui為第i次輸出;xi為第i次輸入;ui+1為第i+1次輸出;ui-1為第i-1次輸出;δxi為兩次輸入的差值。
用前向差分方法近似求解雅克比矩陣或
用后向差分方法近似求解雅克比矩陣。
其它步驟及參數(shù)與具體實施方式一至四之一相同。
具體實施方式六:本實施方式與具體實施方式一至五之一不同的是:所述步驟八中重新通過迭代最近點方法確定參考點云q和發(fā)生形變后的源點云p′的對應(yīng)點關(guān)系,并通過奇異值分解得到剛體變換矩陣,使發(fā)生形變后的源點云p′旋轉(zhuǎn)和平移;具體過程為:
(1)首先確定兩幅點云的質(zhì)心:
其中n為對應(yīng)點對數(shù)量,取值為正整數(shù);
(2)協(xié)方差矩陣為:
(3)令對協(xié)方差矩陣h進行奇異值分解的結(jié)果為uλv,則剛體變換關(guān)系由下式計算:
其中
其它步驟及參數(shù)與具體實施方式一至五之一相同。
具體實施方式七:本實施方式與具體實施方式一至六之一不同的是:所述步驟十中的收斂條件為:
1)error(p′,q)terror(p′,q)≤ε1
2)||δs||≤ε2(||s||+ε2)
3)k>kmax
其中error(p′,q)terror(p′,q)為誤差函數(shù)的結(jié)果,δs為控制向量s的增量,ε1、ε2為人為設(shè)定的閾值;||s||為控制向量s的模,||δs||為控制向量增量的模,k為迭代次數(shù),即步驟十中轉(zhuǎn)到步驟四的次數(shù),取值為正整數(shù);kmax為迭代的最大次數(shù),取值為正整數(shù);
以上三個條件至少滿足一個即視為收斂。
其它步驟及參數(shù)與具體實施方式一至六之一相同。
具體實施方式八:本實施方式與具體實施方式一至七之一不同的是:所述ε1為10-4,ε2為10-6。
其它步驟及參數(shù)與具體實施方式一至七之一相同。
采用以下實施例驗證本發(fā)明的有益效果:
實施例一:
本實施例一種基于線性混合形變的汽車工件非剛體三維點云配準方法具體是按照以下步驟制備的:
本發(fā)明的目的是公開一種基于線性混合形變的非剛體三維降采樣后的參考點云p配準方法,目的在于解決帶有形變的三維點云配準問題。首先根據(jù)線性混合形變以及有界調(diào)和權(quán)重構(gòu)建了降采樣后的參考點云p的變形方法,結(jié)合對降采樣后的參考點云p規(guī)劃控制部分可以對降采樣后的參考點云p的形變量進行描述。通過用lm算法求解非線性最小二乘誤差函數(shù)來更新形變量,通過奇異值分解算法來得到剛體變換矩陣。
本發(fā)明的具體實施步驟如圖1所示:
(1)輸入兩組點云,并進行降采樣;
(2)在源點云(模板點云)上規(guī)劃變形的控制部分,并建立控制向量;
(3)計算有界調(diào)和權(quán)重,根據(jù)權(quán)重建立線性混合形變模型;
(4)對點云進行初配準,得到點云的初始對應(yīng)關(guān)系以及初始剛體變換矩陣;
(5)通過點的對應(yīng)關(guān)系構(gòu)建非線性最小二乘誤差函數(shù),通過lm算法求解得到形變控制向量增量,使降采樣后的參考點云p發(fā)生形變;
(6)通過奇異值分解得到剛體變換矩陣;
(7)判斷是否滿足收斂條件,不滿足返回(5),滿足退出。
本發(fā)明中可替換的部分:
在步驟(5)中,需要利用數(shù)值差分的方法對誤差函數(shù)近似求解雅克比矩陣,該方法共有三種形式:
1)前向差分:
2)后向差分
3)中心差分
本發(fā)明給出一組實例來進行說明,該實例中三維數(shù)據(jù)由rgb-d攝像機獲得。圖2a、圖2b、圖2c中灰色為原始保險杠模型,黑色為該保險杠收到外力形變后的模型。圖3a、圖3b、圖3c、圖3d、圖3e、圖3f、圖3g、圖3h和圖4給出了點云配準的過程以及本發(fā)明方法與現(xiàn)有迭代最近點方法的效果對比。
在本例中,三個收斂條件中的參數(shù)分別為:ε1=10-4,ε2=10-6,kmax=100。
圖3a為用迭代最近點方法迭代0次對變形前后汽車保險杠點云進行配準的效果圖;
圖3b為用迭代最近點方法迭代5次對變形前后汽車保險杠點云進行配準的效果圖;
圖3c為用迭代最近點方法迭代10次對變形前后汽車保險杠點云進行配準的效果圖;
圖3d為用迭代最近點方法迭代50次對變形前后汽車保險杠點云進行配準的效果圖;
圖3e為采用本發(fā)明方法迭代0次對變形前后汽車保險杠點云進行配準的效果圖;
圖3f為采用本發(fā)明方法迭代5次對變形前后汽車保險杠點云進行配準的效果圖;
圖3g為采用本發(fā)明方法迭代10次對變形前后汽車保險杠點云進行配準的效果圖;
圖3h為采用本發(fā)明方法迭代50次對變形前后汽車保險杠點云進行配準的效果圖;
從圖3a、3b、3c、3d和圖3e、3f、3g、3h對比可以看出在非剛體點云配準中本方法更好的實現(xiàn)了配準要求,并提高了精度;
圖4為迭代次數(shù)與誤差函數(shù)結(jié)果的關(guān)系,其中實線為迭代最近點方法即圖3a、3b、3c、3d的結(jié)果,虛線為本發(fā)明方法即圖3e、3f、3g、3h的結(jié)果,由該圖可以看出本發(fā)明方法收斂更快,精度更高。
為了解決非剛體三維點云配準的問題,本發(fā)明設(shè)計了一種基于線性混合形變的非剛體三維點云配準方法。通過規(guī)劃模板模型的控制部分以及計算有界調(diào)和權(quán)重來建立形變的模型,通過lm算法計算形變量最優(yōu)解,通過奇異值分解計算剛體變換矩陣,最終使兩幅具有剛體變換以及形變的點云重合。實驗結(jié)果表明,該方法精度較高,可以解決汽車工件非剛體的三維點云配準問題。
本發(fā)明還可有其它多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,本領(lǐng)域技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護范圍。