沈陽理工大學(xué)自動(dòng)化與電氣工程學(xué)院 華宇寧 劉永俊
ICP在點(diǎn)云精配準(zhǔn)方面有著重要的作用,與其他配準(zhǔn)方法相比,它可以直接通過對應(yīng)匹配點(diǎn)進(jìn)行配準(zhǔn),但相應(yīng)的ICP算法存在匹配速度慢、誤匹配率高等不足,針對這些不足,本文提出了結(jié)合Harris3D關(guān)鍵點(diǎn)提取和RANSAC算法解決配準(zhǔn)速度和誤匹配問題,通過斯坦福數(shù)據(jù)進(jìn)行傳統(tǒng)ICP和改進(jìn)ICP算法對比實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,改進(jìn)ICP算法有效提高了傳統(tǒng)ICP算法的配準(zhǔn)性能。
在三維重建方法研究中,點(diǎn)云配準(zhǔn)是關(guān)鍵技術(shù)之一,點(diǎn)云配準(zhǔn)就是將不同坐標(biāo)系下的點(diǎn)云數(shù)據(jù)通過旋轉(zhuǎn)、平移剛性坐標(biāo)變換之后得到在同一坐標(biāo)系下幾何拓?fù)湫畔⑤^為完整的點(diǎn)云數(shù)據(jù),其實(shí)質(zhì)是獲取較為合適的旋轉(zhuǎn)平移矩陣,點(diǎn)云配準(zhǔn)根據(jù)目的不同分為粗配準(zhǔn)和精配準(zhǔn),粗配準(zhǔn)是在不清楚兩個(gè)點(diǎn)云的相對位置的情況下,找到這兩個(gè)點(diǎn)云近似的旋轉(zhuǎn)平移矩陣,主要是為精配準(zhǔn)提供初始變換矩陣;精配準(zhǔn)在已知旋轉(zhuǎn)平移矩陣的情況下,通過多次迭代優(yōu)化進(jìn)一步得到更加精確的旋轉(zhuǎn)平移矩陣。
ICP算法在點(diǎn)云精配準(zhǔn)中有著重要作用,與其他配準(zhǔn)方法相比,它可以直接通過對應(yīng)匹配點(diǎn)進(jìn)行配準(zhǔn),其核心思想是,已知兩個(gè)代配準(zhǔn)點(diǎn)云P和Q,匹配兩點(diǎn)云中歐氏距離最近的點(diǎn)來獲取變換矩陣,通過不斷迭代,,來得到最優(yōu)變換矩陣。
傳統(tǒng)ICP算法在實(shí)際應(yīng)用中存在很大的局限性,不能達(dá)到所需要求,具體ICP算法主要存在以下幾點(diǎn)不足之處:
(1)首先一點(diǎn),ICP算法在進(jìn)行點(diǎn)云精配準(zhǔn)時(shí)需要一個(gè)初始的點(diǎn)云位置,需要初始點(diǎn)云和配準(zhǔn)點(diǎn)云在同一坐標(biāo)系下,如果兩個(gè)待配點(diǎn)云歐式距離較遠(yuǎn),會造成匹配錯(cuò)誤,影響最終匹配效果。
(2)一般實(shí)際應(yīng)用中,需要兩配準(zhǔn)點(diǎn)云僅僅是部分重疊關(guān)系,而ICP算法無法確保兩點(diǎn)云的重疊區(qū)域,會造成誤匹配問題。
(3)ICP算法進(jìn)行點(diǎn)云配準(zhǔn)時(shí)需要將所有的點(diǎn)云進(jìn)行查找匹配,如果點(diǎn)云個(gè)數(shù)較多,那查找時(shí)間會較長,嚴(yán)重影響配準(zhǔn)效率。
針對以上ICP算法的不足之處,本文提出了一些改進(jìn)措施,針對點(diǎn)云數(shù)過多問題和誤匹配問題,本文提出了結(jié)和Harris3D關(guān)鍵點(diǎn)提取和RANSAC算法的改進(jìn)方法。改進(jìn)ICP算法基本步驟如圖1所示。
圖1 改進(jìn)ICP算法基本步驟
Harris算法是Chris Harris等提出的一種基于信號的點(diǎn)特征提取算法,主要應(yīng)用于數(shù)字圖像角點(diǎn)提取,原理是利用窗口在圖像上進(jìn)行移動(dòng)。Harris3D算法是在Harris算法基礎(chǔ)上直接提取點(diǎn)云特征點(diǎn),借助離散點(diǎn)云的法線進(jìn)行特征提取。
首先求解離散點(diǎn)云的法線,構(gòu)造法線協(xié)方差矩陣。
然后角點(diǎn)響應(yīng)函數(shù)計(jì)算點(diǎn)云中每個(gè)點(diǎn)的角點(diǎn)響應(yīng)值。
最后根據(jù)角點(diǎn)響應(yīng)閾值判斷當(dāng)前點(diǎn)是否為角點(diǎn),若大于給定閾值,同時(shí)為局部極大值點(diǎn),則判定該點(diǎn)為點(diǎn)云的角點(diǎn),否則不是角點(diǎn)。
我們精配準(zhǔn)之前通過Harris3D關(guān)鍵點(diǎn)提取作為點(diǎn)云中的對應(yīng)點(diǎn),通匹配特征點(diǎn)加快了配準(zhǔn)速度。
RACSAC算法估計(jì)模型數(shù)據(jù)。落在模型內(nèi)的點(diǎn)稱為內(nèi)部樣本點(diǎn),落在模型誤差范圍之外的點(diǎn)稱為外部樣本點(diǎn)。RACSAC算法首先從數(shù)據(jù)中隨機(jī)抽取一個(gè)子集,使用最小方差估計(jì)算法對該子集進(jìn)行建模,然后將剩余的數(shù)據(jù)點(diǎn)代入模型中,并用模型計(jì)算誤差。當(dāng)誤差小于預(yù)設(shè)閾值時(shí),則該點(diǎn)為內(nèi)采樣點(diǎn),否則為外采樣點(diǎn)。通過比較每個(gè)估計(jì)模型中的樣本點(diǎn)數(shù),確定最優(yōu)模型參數(shù)。
圖2是使用二維數(shù)據(jù)集對RACSAC算法的描述。
圖2 RACSAC算法在二維空間的描述圖
為驗(yàn)證本文提出的ICP算法的科學(xué)性,我們使用了斯坦福大學(xué)點(diǎn)云庫中的bunny數(shù)據(jù)集為實(shí)驗(yàn)數(shù)據(jù)集,將傳統(tǒng)ICP算法和改進(jìn)ICP算法進(jìn)行對比。
圖3為點(diǎn)云bunny原始數(shù)據(jù)在兩種算法下配準(zhǔn)效果圖,從圖3中可以看出,原圖經(jīng)傳統(tǒng)ICP算法的配準(zhǔn)后,配準(zhǔn)點(diǎn)較多,配準(zhǔn)誤匹配率較大,導(dǎo)致配準(zhǔn)時(shí)間較長,不過配準(zhǔn)效果非常好,達(dá)到了配準(zhǔn)精度;從改進(jìn)ICP算法的配準(zhǔn)效果圖來看,兩者相差不大,紅綠兩種點(diǎn)云完美融合到一起,配準(zhǔn)效果非常好。
圖3 bunny點(diǎn)云配準(zhǔn)效果圖
我們通過分析表1參數(shù)結(jié)果來對比兩種算法精配準(zhǔn)結(jié)果。
表1 bunny點(diǎn)云配準(zhǔn)結(jié)果
由表1知改進(jìn)ICP算法配準(zhǔn)誤差與傳統(tǒng)ICP算法相差不多,但配準(zhǔn)時(shí)間大大縮短,僅用0.453s可達(dá)到配準(zhǔn)效果。本文改進(jìn)ICP算法可以在保證配準(zhǔn)精度的前提下,大大提高配準(zhǔn)效率,充分證明了本文的改進(jìn)算法具有一定的實(shí)用性和有效性。