陸軍,韋攀毅,王偉
(1. 哈爾濱工程大學(xué) 智能科學(xué)與工程學(xué)院,黑龍江,哈爾濱 150001;2. 哈爾濱工程大學(xué) 船海裝備智能化技術(shù)與應(yīng)用教育部重點(diǎn)實(shí)驗(yàn)室,黑龍江,哈爾濱 150001)
在計(jì)算機(jī)視覺中,對(duì)由不同傳感器獲得的3D對(duì)象的識(shí)別已得到廣泛研究[1],基于局部特征的物體識(shí)別方法[2],是依據(jù)點(diǎn)的局部特征信息進(jìn)行匹配,進(jìn)而檢測(cè)識(shí)別出目標(biāo)物體. 點(diǎn)簽名法[3]是通過點(diǎn)所在曲線的法向量與參考矢量定義旋轉(zhuǎn)角度對(duì)點(diǎn)深度信息進(jìn)行描述的方法. 該方法易受噪聲的影響. DENG 等[4]使用局部協(xié)方差描述符對(duì)人臉特征進(jìn)行描述,然后通過黎曼核稀疏編碼方式對(duì)人臉進(jìn)行識(shí)別. 該方法目前主要針對(duì)特定的流形. ANDREW等[5-6]]提出基于旋轉(zhuǎn)圖像法的三維點(diǎn)云場(chǎng)景物體識(shí)別方法,該方法主要用于識(shí)別場(chǎng)景中比較規(guī)則的物體,對(duì)于復(fù)雜的室外場(chǎng)景物體,則表現(xiàn)不佳. GUO等[7]提出了一種ROPS(rotational projection statistics)描述符,將鄰域內(nèi)的點(diǎn)映射到二維坐標(biāo)平面上,并通過計(jì)算二維平面上點(diǎn)的低階矩和熵來形成描述符. FROME等[8]提出了三維形狀上下文法,該方法在特征匹配時(shí)需要將場(chǎng)景特征描述向量繞Z軸旋轉(zhuǎn)并計(jì)算與模型描述特征向量的相關(guān)度,計(jì)算量較大.
基于全局特征方法通過描述和對(duì)比三維物體整體形狀中的幾何特征來完成物體的識(shí)別. KHOSHELHAM[9]提出使用廣義的霍夫投票用于目標(biāo)的識(shí)別,對(duì)三維物體的姿態(tài)估計(jì)需要6個(gè)自由度. 這樣增加了時(shí)間和空間的復(fù)雜度,加大投票過程的成本. CHEN等[10]提出一種基于物體表面積的描述符的識(shí)別方法,通過構(gòu)建有向包圍盒中物體表面積的柱狀圖來匹配物體. DROST等[11]提出一種點(diǎn)對(duì)特征全局描述符,該描述符不需要依賴于點(diǎn)周圍鄰域局部曲面的特征計(jì)算,而是利用點(diǎn)與點(diǎn)之間的幾何關(guān)系來構(gòu)建特征描述. 后來許多研究學(xué)者對(duì)該算法進(jìn)行改進(jìn),CHRISTENSEN等[12]對(duì)該描述符加入顏色信息,構(gòu)成顏色點(diǎn)對(duì)特征描述符. 最近VOCK 等[13]在后期匹配搜索方式上進(jìn)行了改進(jìn),但是這些算法對(duì)點(diǎn)對(duì)特征的構(gòu)建都是在原始三維點(diǎn)云中進(jìn)行的,將點(diǎn)云中的所有參考點(diǎn)對(duì)都考慮在內(nèi),計(jì)算量大,消耗了大量的時(shí)間.
本文設(shè)計(jì)了一種基于關(guān)鍵點(diǎn)的點(diǎn)對(duì)特征三維目標(biāo)識(shí)別算法,使用內(nèi)在形狀簽名(intrinsic shape signatures,ISS)算法提取關(guān)鍵點(diǎn)以減少點(diǎn)云數(shù)據(jù),對(duì)關(guān)鍵點(diǎn)集合構(gòu)建點(diǎn)對(duì)特征描述符,利用快速投票方案對(duì)模型點(diǎn)云和場(chǎng)景點(diǎn)云進(jìn)行匹配識(shí)別,迭代最近點(diǎn)(iterative closest point,ICP)算法用于對(duì)物體姿態(tài)進(jìn)行優(yōu)化,完成點(diǎn)云配準(zhǔn),根據(jù)配置后點(diǎn)云的重疊情況實(shí)現(xiàn)點(diǎn)云目標(biāo)識(shí)別. 本文方法不需要對(duì)場(chǎng)景進(jìn)行分割,對(duì)有噪聲、雜波和遮擋的情況下具有良好的適應(yīng)性.
ISS算法是一種利用局部幾何信息來構(gòu)建協(xié)方差矩陣,并根據(jù)求取的特征值之間的關(guān)系來提取關(guān)鍵點(diǎn)的算法. 關(guān)鍵點(diǎn)提取步驟如下:
①對(duì)原始點(diǎn)云建立空間拓?fù)浣Y(jié)構(gòu),方便后續(xù)遍歷搜索.
②選取點(diǎn)云中的任意一點(diǎn)pi作為參考點(diǎn),并以此為中心構(gòu)建半徑為R的鄰域,計(jì)算鄰域內(nèi)的點(diǎn)與參考點(diǎn)pi之間的距離,取倒數(shù)作為權(quán)重并記為wij
③根據(jù)參考點(diǎn)pi的鄰域信息構(gòu)建協(xié)方差矩陣
⑤設(shè)定參數(shù)閾值δ1和δ2,將滿足式(3)的點(diǎn)作為關(guān)鍵點(diǎn),并加入關(guān)鍵點(diǎn)集
重復(fù)上述步驟,直到全部點(diǎn)都檢測(cè)完為止,至此便構(gòu)建完成關(guān)鍵點(diǎn)集合. 提取的關(guān)鍵點(diǎn)一方面會(huì)提高后續(xù)的識(shí)別效率,另一方面會(huì)增強(qiáng)對(duì)噪聲的魯棒性.
全局模型描述由所有模型點(diǎn)對(duì)特征組成,描述了模型曲面上所有點(diǎn)對(duì)特征的全局分布. 與需要密集局部信息的局部方法相比,在本文方法中,模型和場(chǎng)景數(shù)據(jù)由一組稀疏的有向點(diǎn)表示,這些點(diǎn)(關(guān)鍵點(diǎn))可以很容易地從輸入數(shù)據(jù)中提取出來. 使用稀疏數(shù)據(jù)可以顯著提高識(shí)別速度,并且不會(huì)降低識(shí)別率.
點(diǎn)對(duì)特征描述了點(diǎn)云中2個(gè)定向點(diǎn)的相對(duì)位置和方向的關(guān)系. 在關(guān)鍵點(diǎn)集合任意選取2個(gè)點(diǎn)m1, m2且已知這2個(gè)點(diǎn)的三維空間坐標(biāo)以及法向量n1, n2,如圖1所示.
圖1 點(diǎn)對(duì)特征示意圖Fig. 1 Point-to-feature schematic
設(shè)d=m2-m1,并定義點(diǎn)對(duì)特征F為
該點(diǎn)對(duì)特征F是一個(gè)4維向量,其中第1個(gè)分量代表2個(gè)關(guān)鍵點(diǎn)之間的歐式距離,第2個(gè)和第3個(gè)分量分別為向量d與法向量n1,n2,之間的角度,最后一個(gè)分量是2個(gè)關(guān)鍵點(diǎn)的法向量n1,n2,之間的角度. 夾角規(guī)定在(0,π)之間.
全局模型描述可以看作是從點(diǎn)對(duì)特征空間到模型的一種映射關(guān)系,對(duì)模型關(guān)鍵點(diǎn)集合中的任意點(diǎn)對(duì) (mi,mj)∈M2計(jì)算其特征向量Fm(mi,mj). 對(duì)特征向量Fm(mi,mj)進(jìn)行量化處理,建立哈希表. 設(shè)定距離采樣步長(zhǎng)ddist和角度采樣步長(zhǎng)θ=2π/n,其中n為角度量化的區(qū)間數(shù). 如圖2所示,將特征相同的點(diǎn)對(duì)存儲(chǔ)在哈希表的同一個(gè)槽中,以特征向量Fm(mi,mj)為哈希表的索引鍵,而哈希表的值為特征相似的點(diǎn)對(duì)的集合,并記為A.
圖2 全局模型描述Fig. 2 Global model description
哈希表也稱為散列表,是根據(jù)索引鍵直接訪問內(nèi)存數(shù)據(jù)的一種數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),可以實(shí)現(xiàn)數(shù)據(jù)的快速搜索、插入和刪除等操作. 將模型點(diǎn)云中量化的點(diǎn)對(duì)特征向量存儲(chǔ)在哈希表中,以加快識(shí)別階段的特征匹配搜索.
三維目標(biāo)識(shí)別過程見圖3. 在離線階段,創(chuàng)建全局模型描述. 在線階段,只需要選擇場(chǎng)景中的一組參考點(diǎn). 將場(chǎng)景中的所有其他點(diǎn)與參考點(diǎn)配對(duì)以創(chuàng)建點(diǎn)對(duì)特征. 這些特征與全局模型描述中包含的模型特征匹配,并檢索出一組潛在的匹配項(xiàng). 通過使用有效的投票方案,對(duì)每個(gè)潛在對(duì)象姿態(tài)進(jìn)行投票. 通過位姿聚類與優(yōu)化,得到最佳對(duì)象位姿. 最后,通過配準(zhǔn)將模型點(diǎn)云旋轉(zhuǎn)平移到場(chǎng)景中,與待識(shí)別目標(biāo)重合,判斷點(diǎn)與點(diǎn)的歐式距離是否小于閾值,將目標(biāo)點(diǎn)云中的點(diǎn)從多目標(biāo)場(chǎng)景中分割出來.
圖3 目標(biāo)識(shí)別過程Fig. 3 The process of target recognition
對(duì)于場(chǎng)景中的任意參考點(diǎn)sr∈S,假設(shè)該點(diǎn)是識(shí)別目標(biāo)對(duì)象上的點(diǎn),如果假設(shè)是正確的,則模型上一定會(huì)存在一個(gè)點(diǎn)mr∈M與之相對(duì)應(yīng). 通過平移和旋轉(zhuǎn)使2個(gè)對(duì)應(yīng)點(diǎn)及法線在空間中對(duì)齊后,目標(biāo)對(duì)象可以圍繞場(chǎng)景參考點(diǎn)sr的法線旋轉(zhuǎn)一定的角度使模型和場(chǎng)景對(duì)齊,如圖4所示. 因此從模型到場(chǎng)景的剛性變換就可以通過模型上的一個(gè)點(diǎn)mr和繞法線的旋轉(zhuǎn)角α來描述. 稱(mr,α)為模型相對(duì)于場(chǎng)景參考點(diǎn)sr的局部坐標(biāo). 模型到場(chǎng)景的轉(zhuǎn)換公式如下
圖4 模型和場(chǎng)景中的坐標(biāo)變換Fig. 4 Coordinate transformations in models and scenes
式中:Ts→g和Tm→g分別為場(chǎng)景坐標(biāo)系和模型坐標(biāo)系到中間局部坐標(biāo)系下的變換矩陣;Rx(α)為場(chǎng)景參考點(diǎn)si在中間坐標(biāo)系下繞法線(即x軸)的旋轉(zhuǎn)矩陣.
為了提高算法效率,加速對(duì)式(5)方程的求解,利用中間坐標(biāo)系的x-o-y平面將旋轉(zhuǎn)角度α 分成αs和αm兩 部 分,其 中αs和 αm分 別 為 中 間 坐 標(biāo) 系 下sisr和mimr繞法線(即x軸)旋轉(zhuǎn)至x-o-y平面的角度,得到α=αs-αm, 由于匹配的特征點(diǎn)對(duì)具有相似的特征向量,所以當(dāng)在同一坐標(biāo)系下旋轉(zhuǎn)至x-o-y坐標(biāo)平面時(shí),匹配點(diǎn)對(duì)應(yīng)該是對(duì)齊的,因此式(5)中的Rx(α)可以根據(jù)式(6)分解為
可以得到
式中pxy位于中間局部參考系下的x-o-y平面上. 無論是場(chǎng)景還是模型中的點(diǎn)對(duì),pxy都是唯一的. 同時(shí)為了加快算法速度,可以在離線階段對(duì)模型上的點(diǎn)對(duì)事先計(jì)算出αm,并且一起存儲(chǔ)在哈希表中. 在識(shí)別階段只需要對(duì)場(chǎng)景中的參考點(diǎn)對(duì)(sr,si)計(jì)算αs,結(jié)合已知的αm便可計(jì)算出旋轉(zhuǎn)角度α.
根據(jù)角度α,可以確定出模型點(diǎn)云到場(chǎng)景點(diǎn)云的變換矩陣,重復(fù)上述過程,可以得到多個(gè)變換矩陣,其中有一些是錯(cuò)誤的,本文設(shè)計(jì)了基于快速投票的最優(yōu)α的選擇方法,繼而計(jì)算出模型點(diǎn)云到場(chǎng)景點(diǎn)云的變換矩陣,獲得目標(biāo)的位姿.
對(duì)于投票過程,建立一個(gè)二維累加器數(shù)組用于統(tǒng)計(jì)每個(gè)參考點(diǎn)的得票數(shù)量,該數(shù)組的行數(shù)和列數(shù)分別記為Nm和Nangel,分別對(duì)應(yīng)于模型點(diǎn)云中關(guān)鍵點(diǎn)的數(shù)量和旋轉(zhuǎn)角度α量化的份數(shù). 投票過程見圖5.
圖5 快速投票示意圖Fig. 5 Quick voting scheme
快速投票的具體過程如下:
① 首先選取場(chǎng)景中的某一關(guān)鍵點(diǎn)sr作為參考點(diǎn),與其他所有關(guān)鍵點(diǎn)si∈S組成點(diǎn)對(duì)(sr, si),然后計(jì)算點(diǎn)對(duì)特征向量Fs(sr, si),并進(jìn)行離散化處理.
②用離散化的特征向量Fs(sr, si)作為哈希表的索引鍵對(duì)離線階段構(gòu)建好的全局描述符進(jìn)行搜索,返回與特征向量Fs(sr, si)相似的模型點(diǎn)對(duì)(mr, mi).
③根據(jù)對(duì)應(yīng)點(diǎn)對(duì)的坐標(biāo)轉(zhuǎn)換關(guān)系計(jì)算出旋轉(zhuǎn)角度α,并在預(yù)先初始化的二維累加器數(shù)組上對(duì)局部坐標(biāo)(mr, αr)投票加1.
④遍歷場(chǎng)景關(guān)鍵點(diǎn)集合中的所有點(diǎn),對(duì)每一個(gè)關(guān)鍵點(diǎn)執(zhí)行上述步驟.
每個(gè)參考點(diǎn)sr∈S都對(duì)應(yīng)一個(gè)累加器,其中行對(duì)應(yīng)于模型中的每個(gè)關(guān)鍵點(diǎn),列對(duì)應(yīng)一個(gè)將 [0 , 2π]等間距分成若干份后的角度值. 對(duì)與參考點(diǎn)sr組成的所有特征點(diǎn)對(duì)投票完成后,統(tǒng)計(jì)投票結(jié)果,峰值就對(duì)應(yīng)于參考點(diǎn)sr的最優(yōu)局部坐標(biāo). 根據(jù)最優(yōu)局部坐標(biāo)(mr,αr)及式(5)可以得到一個(gè)候選位姿變換[Rs, ts],Rs,ts分別表示模型點(diǎn)云到場(chǎng)景點(diǎn)云的旋轉(zhuǎn)矩陣和平移向量. 遍歷完所有場(chǎng)景參考點(diǎn)以后,會(huì)得到N個(gè)候選位姿變換,記位姿變換集合為C={(R1, t1), (R2,t2),….,(RN, tN)},式中N為候選位姿的個(gè)數(shù). 獲得候選位姿集合C后,需要通過后續(xù)的姿態(tài)優(yōu)化才能確認(rèn)目標(biāo)的最終姿態(tài).
如果選擇的參考點(diǎn)正好位于目標(biāo)物體的表面上,那么通過上述投票方案可以識(shí)別出目標(biāo)物體并確定其姿態(tài). 所以在進(jìn)行投票時(shí)要多選擇一些參考點(diǎn),以保證目標(biāo)物體上有參考點(diǎn)存在. 由于復(fù)雜場(chǎng)景中會(huì)有其他干擾物體存在,使得參考點(diǎn)只有一部分位于目標(biāo)物體表面,為了獲得正確的位姿,本文采用貪婪算法對(duì)候選位姿進(jìn)行聚類,首先對(duì)位姿集合C中的所有位姿按照獲得的投票數(shù)從高到低排列,選取集合中的第1個(gè)候選位姿作為第1個(gè)聚類中心,并記錄其投票數(shù)量. 然后判斷第2個(gè)候選位姿是否與聚類中心相似,若相似將其加入到對(duì)應(yīng)的類別中,并更新投票數(shù)量;否則單獨(dú)建立一個(gè)聚類中心,以此類推,對(duì)所有候選位姿進(jìn)行相同處理. 判斷位姿是否相似的計(jì)算方法如下
式中:p*為聚類中心的位姿;p為判斷的候選位姿;trace表示跡運(yùn)算;t和t*分別為p和p*中的平移向量;ε和δ分別為旋轉(zhuǎn)矩陣的角度閾值和平移向量的距離閾值.
如果2個(gè)位姿滿足式(8)即可判定為相似,屬于同一類別. 候選位姿聚類處理完畢后,選取投票數(shù)量最多的類別,對(duì)該類別中包含的位姿求平均值作為最終的位姿. 盡管聚類得到的位姿與真實(shí)位姿非常相近,但仍然還有一些誤差,本文使用ICP算法對(duì)結(jié)果進(jìn)一步優(yōu)化. 最后,根據(jù)優(yōu)化后的位姿,將模型點(diǎn)云旋轉(zhuǎn)平移到場(chǎng)景中,與待識(shí)別目標(biāo)重合,判斷點(diǎn)與點(diǎn)的歐式距離是否小于閾值,將目標(biāo)點(diǎn)云中的點(diǎn)從多目標(biāo)場(chǎng)景中分割出來.
進(jìn)行相關(guān)實(shí)驗(yàn),對(duì)本文方法進(jìn)行評(píng)估,測(cè)試了算法的可行性、準(zhǔn)確度以及魯棒性. 實(shí)驗(yàn)中使用圖6所示點(diǎn)云,以及一些人工合成的點(diǎn)云數(shù)據(jù). 實(shí)驗(yàn)中設(shè)置點(diǎn)對(duì)特征向量量化參數(shù)ddist=0.05DM,其中DM為模型的直徑,θ=2π/n,其中n= 30;姿態(tài)聚類參數(shù)ε=π/6、δ=0.2DM. 本文實(shí)驗(yàn)是使用Microsoft Visual Studio 2017編譯環(huán)境在Win10操作系統(tǒng)上實(shí)現(xiàn)的.
圖6 模型數(shù)據(jù)Fig. 6 Model data
圖7為半身像模型點(diǎn)云關(guān)鍵點(diǎn)提取結(jié)果,從圖7中可以看出,模型點(diǎn)云經(jīng)過關(guān)鍵點(diǎn)提取后,數(shù)據(jù)量明顯較少、密度明顯降低. 為了便于觀察,將關(guān)鍵點(diǎn)標(biāo)記為藍(lán)色并且放大4倍顯示.
圖7 關(guān)鍵點(diǎn)提取結(jié)果Fig. 7 Down-sampling results and key point extraction results for the point cloud bust
圖8給出了半身像模型在不同場(chǎng)景下的識(shí)別結(jié)果.為了便于顯示觀察,將上述場(chǎng)景標(biāo)記為淺綠色,場(chǎng)景中識(shí)別出的目標(biāo)物體標(biāo)記為深紅色,并用實(shí)心藍(lán)色框標(biāo)記出來. 從圖中可以看出,簡(jiǎn)單場(chǎng)景中的遮擋和重疊為5%~10%,而中等場(chǎng)景和復(fù)雜場(chǎng)景中的遮擋和重疊為10%~20%,盡管這樣,利用本文算法依然能夠?qū)⒛繕?biāo)準(zhǔn)確識(shí)別出來,并且具有較好的識(shí)別效果. 對(duì)于同一目標(biāo)分別在不同復(fù)雜程度場(chǎng)景下進(jìn)行多次實(shí)驗(yàn),定義識(shí)別率等于正確的識(shí)別次數(shù)除以總的識(shí)別次數(shù),統(tǒng)計(jì)實(shí)驗(yàn)數(shù)據(jù)得出不同模型在不同場(chǎng)景下的識(shí)別率如圖9所示,4種模型在簡(jiǎn)單場(chǎng)景下的平均識(shí)別率可以達(dá)到95%以上,中等場(chǎng)景下的平均識(shí)別率也能達(dá)到90%左右,但在復(fù)雜場(chǎng)景下椅子模型的識(shí)別率要明顯低于顯微鏡、鞋和半身像模型,這是因?yàn)橐巫拥哪P捅砻姹容^平滑,點(diǎn)對(duì)特征相似的比較多,容易出現(xiàn)錯(cuò)誤匹配. 表1給出此次實(shí)驗(yàn)結(jié)果參數(shù).
表1 基于關(guān)鍵點(diǎn)的點(diǎn)對(duì)特征三維目標(biāo)識(shí)別算法實(shí)驗(yàn)參數(shù)Tab. 1 Experimental parameters of point-to-feature 3D target recognition algorithm based on key points
圖8 不同場(chǎng)景下的目標(biāo)識(shí)別結(jié)果Fig. 8 Target recognition results of bust in different scenarios
圖9 不同模型在不同場(chǎng)景下的識(shí)別率對(duì)比Fig. 9 Comparison of recognition rates of different models in different scenarios
①關(guān)鍵點(diǎn)選取實(shí)驗(yàn)分析.
根據(jù)第1節(jié)介紹的ISS關(guān)鍵點(diǎn)提取算法,本文選取閾值δ1和δ2為0.975. 以顯微鏡模型點(diǎn)云為例進(jìn)行分析,圖10為顯微鏡模型點(diǎn)云在不同鄰域半徑下的關(guān)鍵點(diǎn)分布情況,圖11為關(guān)鍵點(diǎn)鄰域半徑與關(guān)鍵點(diǎn)數(shù)量以及關(guān)鍵點(diǎn)提取時(shí)間的分析情況,從圖中很容易看出,當(dāng)閾值一定的情況下,隨著鄰域半徑逐漸增大,關(guān)鍵點(diǎn)數(shù)量逐漸減少,但是關(guān)鍵點(diǎn)的提取時(shí)間卻變長(zhǎng),由于本文的描述符是一種基于點(diǎn)對(duì)特征的全局描述符,必須依靠足夠多的關(guān)鍵點(diǎn)來形成點(diǎn)對(duì)特征為后期進(jìn)行投票使用,如果關(guān)鍵點(diǎn)數(shù)量太少,后期形成的點(diǎn)對(duì)特征就少,投票結(jié)果誤差會(huì)比較大,從而影響識(shí)別率,但是如果關(guān)鍵點(diǎn)數(shù)量太多,會(huì)導(dǎo)致后期匹配搜索時(shí)間過長(zhǎng),從而影響識(shí)別速度. 綜合考慮顯微鏡模型點(diǎn)云選取適當(dāng)?shù)泥徲虬霃綖?.026 m. 其余模型點(diǎn)云分析方法類似.
圖10 不同鄰域半徑下關(guān)鍵點(diǎn)分布圖Fig. 10 Distribution of key points at different point neighborhood radius
圖11 關(guān)鍵點(diǎn)鄰域半徑與關(guān)鍵點(diǎn)數(shù)量和提取時(shí)間的關(guān)系Fig. 11 Relationship between the radius of the key neighborhood, the number of key points, and the extraction time
②對(duì)比實(shí)驗(yàn)分析.
為了證明本文設(shè)計(jì)的算法更具優(yōu)越性,與原始點(diǎn)對(duì)特征算法進(jìn)行了對(duì)比實(shí)驗(yàn),圖12給出不同目標(biāo)模型使用兩種算法分別在簡(jiǎn)單場(chǎng)景、中等場(chǎng)景和復(fù)雜場(chǎng)景下的識(shí)別時(shí)間對(duì)比結(jié)果(由于算法的識(shí)別過程分為離線訓(xùn)練和在線識(shí)別兩個(gè)階段,所以不包括離線建立模型特征庫的時(shí)間). 表2給出兩種算法在不同場(chǎng)景下的識(shí)別率對(duì)比結(jié)果,可以看出,本文算法與原始點(diǎn)對(duì)特征算法相比,識(shí)別率略有提高,但在時(shí)間方面,本文算法明顯加快,主要原因是提取的關(guān)鍵點(diǎn),使得在匹配階段以及候選位姿生成階段中與場(chǎng)景點(diǎn)對(duì)匹配的模型點(diǎn)對(duì)更可靠而且數(shù)量更少,加速了投票過程,提升了算法的整體效率.
圖12 不同場(chǎng)景下兩種算法的識(shí)別時(shí)間對(duì)比Fig. 12 Comparison of recognition time of two algorithms in different scenarios
表2 兩種算法在不同場(chǎng)景下的識(shí)別率比較Tab. 2 Comparison of the recognition rates of the two algorithms in different scenarios
③噪聲實(shí)驗(yàn)與分析.
為了分析本文算法對(duì)噪聲的魯棒性,對(duì)構(gòu)建的數(shù)據(jù)集分別加入10%、20%、50%隨機(jī)噪聲進(jìn)行實(shí)驗(yàn),以鞋模型點(diǎn)云為例,圖13展示了鞋模型在不同程度噪聲的復(fù)雜場(chǎng)景下的識(shí)別結(jié)果,可以看出隨著噪聲的增加,識(shí)別效果會(huì)受到一定影響,但是即使高達(dá)50%的隨機(jī)噪聲情況下,依然能夠?qū)⒛繕?biāo)物體準(zhǔn)確識(shí)別并框選出來.
圖13 添加不同程度隨機(jī)噪聲識(shí)別結(jié)果Fig. 13 Adding different levels of random noise recognition results
圖14給出不同算法的對(duì)比結(jié)果,從圖中可以看 出,本文算法對(duì)噪聲的魯棒性最好,即使在50%的噪聲情況下,識(shí)別率依然可以達(dá)到70%以上,綜合實(shí)驗(yàn)結(jié)果說明本文算法對(duì)噪聲具有較強(qiáng)的魯棒性.
圖14 不同程度噪聲下目標(biāo)識(shí)別率對(duì)比Fig. 14 Comparison of target recognition rates under different degrees of noise
本文設(shè)計(jì)了一種基于點(diǎn)對(duì)特征的識(shí)別算法. 首先使用分布較為均勻的ISS算法提取關(guān)鍵點(diǎn)并構(gòu)建關(guān)鍵點(diǎn)集合,在關(guān)鍵點(diǎn)集合中對(duì)任意2個(gè)關(guān)鍵點(diǎn)構(gòu)建點(diǎn)對(duì)特征向量,在不影響識(shí)別率的情況下減小了搜索范圍,提高效率以減少識(shí)別時(shí)間. 將特征向量按固定步長(zhǎng)量化存儲(chǔ)在哈希表中以構(gòu)建全局描述符,利用快速投票方案對(duì)模型點(diǎn)云和場(chǎng)景點(diǎn)云進(jìn)行匹配識(shí)別,并生成候選姿態(tài),利用貪婪算法對(duì)候選位姿進(jìn)行聚類與篩選,利用ICP對(duì)物體姿態(tài)進(jìn)行優(yōu)化,根據(jù)配置結(jié)果,實(shí)現(xiàn)目標(biāo)識(shí)別. 實(shí)驗(yàn)證明本文設(shè)計(jì)的識(shí)別算法計(jì)算復(fù)雜度低,識(shí)別速度快,同時(shí)保持了良好穩(wěn)定的識(shí)別精度.