吳浩然,于 海,彭 林,李春龍
(1.國網無錫供電公司,江蘇 無錫 210096;2.全球能源互聯網研究院,南京 210003)
基于點云的部件識別和姿態(tài)估計方法研究
吳浩然1,于 海2,彭 林2,李春龍2
(1.國網無錫供電公司,江蘇 無錫 210096;2.全球能源互聯網研究院,南京 210003)
為了識別與理解裝配環(huán)境中的真實物體對象,提出一種基于配準的3D感知方法,利用點云的相似度對場景中真實物體進行感知,為降低噪聲對配準結果的影響,提出一個基于密度自適應的匹配算法,自適應調整不同來源的點云密度,利用共面四點特征的仿射不變性實現對真實物體的識別。該方法可以減少點云的數據量,降低運算復雜度,還能提高匹配精確度。實驗結果表明,該方法能準確在裝配環(huán)境點云中識別出零部件并能計算出它們的姿態(tài),可用于噪聲條件下增強現實交互應用。
增強現實;場景重構;增強現實裝配
在增強現實裝配環(huán)境中,為了對零部件進行交互操作或者裝配,要求對場景進行深度感知。除了要識別不同的零部件,還要求了解它們在場景中的6自由度姿態(tài)[1-2]。而傳統(tǒng)的增強現實也可以針對某個目標物體進行交互,但所有的交互操作事實上是在2D空間上進行的。傳統(tǒng)增強現實利用平面特征表示增強現實環(huán)境,通過二維空間中對虛擬3D模型處理和分析,這雖然可以實現對場景中的物體識別,但不能獲取物體的空間姿態(tài)。傳統(tǒng)增強現實無法進行真正的虛實融合交互操作,無法對操作的場景進行感知和反饋,一旦工作場景發(fā)生變化,增強現實系統(tǒng)就無法工作。為此本文研究場景感知方法,可以工作在裝配環(huán)境中,有很強的識別和感知能力,能實現3D交互和裝配任務。
1.1識別框架
2D圖像上的物體識別和3D空間中的物體識別是當今計算機視覺的難題之一,識別與模型表達緊密相關,想獲得一個通用的識別方法,首先場景和模型必須有一致的描述格式[3-4]。為了識別物體以及計算它們的姿態(tài),本文用點云格式來描述CAD模型和由視頻圖像重構的場景。通過匹配CAD模型點云和場景點云,可以分析場景中的目標,并進行識別。
本文場景識別方法思路是:(1)場景中出現模型都有一個CAD模型與之匹配;(2)CAD模型與它的點云可以相互轉換,點云的配準過程為一種剛體變換;(3)在參與配準兩個點云中,當CAD模型點云中所有的點與它們最近鄰的場景點歐式距離足夠接近,就認為識別成功,場景中和CAD模型點云配準的那塊點云是目標物體。
該框架有兩個輸入,一是場景點云,二是CAD模型點云庫,由很多常用的零件模型和它們的點云構成,在離線階段建好。為了在場景點云中找到目標模型,本文從模型點云庫中取出一個模型的點云,與場景點云匹配。如果模型的點和場景某一區(qū)域中的點的匹配誤差小于閾值,則認為匹配成功由此識別出場景中出現的目標物體。如果匹配的誤差較大,則認為CAD模型點云不能在場景點云中找到對應,則認為該物體在場景不存在,從CAD模型點云庫中提取另一個點云進行新一輪的配準和驗證。在識別成功之后,得到CAD模型點云在場景中的一個初始姿態(tài)。為了計算出物體在場景中的精確6自由度姿態(tài),通過ICP迭代算法對模型點云和場景點云進行進一步匹配,如果匹配誤差小于閾值則認為姿態(tài)估算完成,場景中的物體被成功識別和姿態(tài)求解,把該物體的CAD模型疊加在場景對應位置上。由于虛擬模型在虛擬空間的姿態(tài)己知,通過一個虛實之間的關系轉換,可以求得該目標模型在虛擬空間的姿態(tài)。
1.2匹配問題
已知同一物體經過不同角度掃描或者由不同的生成方法得到的帶有任意不同初始姿勢的兩個三維點云數據P和Q,則配準的基本問題是尋找一個最佳的變換,包括旋轉、平移和縮放,使得兩個點云重合在一起的,其差異應該小于一定的閾值。
如果從P和Q中選取不同的基集,計算相應的剛性變換,那么一對分別含有三個點的集合,一個在P上,另一個在Q上,就足夠唯一定義一個剛性變換了,描述如下:
pp,j∈P,pq,j∈Q
(1)
要計算從點云P中點轉換到點云Q中的點對應的剛體變換關系,即
果農們也來了,搬走了幾箱子除蟲劑;大戶來生騎著電驢子,愣是在帶貨架上塞滿了多個品種秋播下地的種子、農藥、肥料……
?i={1,…n}pq,j= rotP→Q(pp,j)+tranP→Q+noise
由于點云的空間點很多,按照窮盡搜索的方法來找到這個三點對應顯然不太可能。為此,很多研究者對參與配準的點云進行分析,希望能找一種通用的描述方法,能夠在相似的點云中建立對應關系,降低計算復雜度,把兩者的轉換關系計算出來。為場景和模型點云構建簡化的描述基集,在描述基集中找到對應關系,再映射到全局點云,由此計算模型到場景的6自由度的空間轉換矩陣。
為了得到被測的場景物體的姿態(tài),把虛擬的CAD模型轉換成點云,在場景坐標系統(tǒng)中,把變換后的CAD模型點云與場景物體點云匹配,通過匹配,識別場景出現的物體以及它們的6自由度姿態(tài)。為了降低參與運算的數據量,對輸入的兩個點云提取描述基集,獲得各自的描述基集,采用Ransac的方法匹配對基集進行迭代匹配,去除一些錯誤的矢量對應,估計兩者的剛體轉換關系,接著再把這個轉換關系應到全局點云,如果兩者的匹配誤差小于一定閾值,就認為這個匹配成功。
2.1點云描述基集的提取
點云的描述基集有很多種,其中最常用的是與法向量相關的描述基集,例如一些對局部或者全局形狀進行描述的算子SHOT、FPFH、VFH等[1]。這些描述基集用于噪聲干擾較小的場合時,可以大幅度提高點云之間的配準成功率和效率。但以SFM重構的點云有很多噪聲,使得點云表示的表面特征不全,即使經過濾波處理和增強,和真實場景的表面相比,還是有很大差距。尤其經過濾波之后,點云的密度又下降了許多,所以很難提取點云表面的描述矢量。或者提取到的描述向量無法反應點云的特征,導致錯誤匹配。
為此采用一種共面四點基集,這種方法有較強抗噪性能,最初用于處理不完整點云之間的縫合。假設如果可以找到特殊的四點基集,以代替三點基集,則配準的精度會更高,效果會更好,尤其有噪聲的情況下。從點云P上提取一個不在同一直線的共面點{a,b,c,d},從Q上提取的四個共類似面點{a′,b′,c′,d′},如果這兩對共面點是對應的,那么這兩對共面點滿足仿射不變,也就是說這兩個四點集合經過仿射變換后,可以完全吻合。
對于不在同一直線的共面點集{a,b,c,d},設線段ab和線段cd相交于e點,定義了兩個比率:
r1和r2在仿射變換下是不變的,并且可以唯一地確定仿射變換中的4點。現在,給定一個含有n個點的集合Q,和兩個仿射不變比率r1和r2,提取所有由這兩個不變量確定的4點集合,對于每一對點:{a′,b′,c′,d′}∈Q,計算下面兩個相交點:
e1=a′-r1(b′-a′)
e2=c′-r1(d′-c′)
2.2密度自適應匹配算法
雖然共面四點基集不需要計算和提取法向量,但應用過程中要求參與配準的點云的重疊部分的密度基本相同。本文的場景點云來自SFM,而虛擬模型由虛擬掃描儀生成,兩者的來源不同,因此不能做點云密度相同的假設。針對這些問題,采取密度自適應方法,把兩個點云的下采樣處理作為算法的一個步驟,采用由稀疏到稠密的配準策略,多層次的采樣處理除了增加兩者的相似度,還能減少點云的數據量,提高算法的效率。
2.3基于體素點權重的點云下采樣
在實際配準過程中,為了提高共面四點基集的查找效率,一般采用縮小搜索范圍的策略,直接在兩個點云的重疊部分進行搜索是最合理的選擇。但由于重疊部分也是未知,還需要專門的分析和計算來確定這一塊區(qū)域。有的研究者為縮小搜索范圍而做了一些改變,比如在噪聲很小的點云上,利用局部描述向量來描述點云,再在描述向量集合的基礎上提取進行共面四點基集,再進行點云間的配準。但是,搜索的范圍還是很廣,算法經常得到局部優(yōu)化而不是全局最優(yōu),另外效率也很低。為了提高點云之間的配準效率,有很多解決方法被提出。但其中最重要的是對點云進行下采樣,通過降低點云密度,從而降低了描述基集生成數量,從而縮小了查找對應基集的搜索范圍。在提取共面四點基集之前,將點云密度進行處理,目的是讓參與配準的點云密度基本相同。
常規(guī)的方法主要有三維體素下采樣法,為輸入的點云數據創(chuàng)建一個包圍盒,再把包圍盒細分成很多微小的三維立方體包圍盒,最后對體素內的點進行簡化處理。對在三維立方體包圍盒內的點,不論形狀和分布都以包圍盒中心近似表示,這樣該包圍盒內所有點就縮減成一個點表示,大幅度降低了點云的數據量。該方法下采樣的效率很高,但一般用于點云無噪聲的情況下,有噪聲條件下很少使用。
為了既能減少點云數據,又能保持點云的表面特征,有研究人員使用體素內所有點的重心來近似表示體素中其他點,雖然結果和體素中心法一樣,也就是體素內所有點簡化成一個點。但這種方法利用了點云的數據聚集特點,在有噪聲的條件下,得到的點云結果比體素中心的下采樣法得到的點云結果更真實,表達的表面輪廓更為清晰。
3.1模型點云庫構建
本節(jié)構造的CAD模型數據庫包括常用零部件的CAD模型和它們的點云。首先要對零部件進行3D建模,很多產品在設計階段,3D模型已經被建好,也可以用一些建模軟件構建。有了CAD模型,就可以利用虛擬3D掃描儀,根據點云的密度以及噪聲要求,把CAD模型轉換成為基本上沒有噪聲的點云。虛擬3D掃描儀類似真實的掃描儀,可在CAD模型的虛擬坐標系中按規(guī)劃路徑行走,對目標模型進行掃描,生成模型的表面點云。
3.2 3D識別與配準試驗
3D識別與配準實驗分為兩個部分:一是仿真實驗,另一個是真實場景的實驗。為了驗證本文算法的可行性,首先在沒有噪聲的虛擬數據上測試算法。實驗采用臺式機,Solidworks建模,Point cloud library進行點云可視化處理。
從CAD模型點云庫中任選一個零件的CAD模型和點云。為了模擬真實場景中零件的擺放狀態(tài),重新對CAD模型進行處理,只對零件CAD模型的局部表面進行掃描,被遮擋部分不進行處理,生成的點云只反映的零件的部分表面結構特征。對零件點云(以P表示)做一個姿態(tài)的調整,使之與Q有一個位置和姿態(tài)的差異。參與配準的兩個點云沒有任何噪聲,能準確反映虛擬模型表面特征。接下來,向零件局部點云Q添加的高斯噪聲以模擬真實的場景,點云P不做改變再進行新的匹配。在接近真實噪聲的條件下,零件點云P也能在點云空間中找到對應的局部點云Q。
用SFM方法重構了一個裝配場景,為了提高配準效率和精確度,場景點云經過降噪和下采樣。場景點云經過降噪處理后,仍然有許多噪聲點和場景中物體表面真實的點混在一起。這些噪聲有的是來自場景中的背景,這部分噪聲是由背景的紋理、明暗差異產生的:另一部分的噪聲來自前景的物體,有的是由于光照或者遮擋原因產生的,有的是因為攝像機的鏡頭畸變導致計算錯誤而產生的。CAD模型點云庫中的點云是干凈的沒有噪聲,能精確反映零部件的表面特征。為了識別裝配場景中的真實工具和它們的姿態(tài),每次識別都從虛擬的CAD模型點云庫中取出一個零件點云。
本文提出一種對裝配場景點云進行感知的方法。以點云數據為對象,通過CAD模型點云與場景點云的匹配來對場景中出現的部件進行識別,再利用ICP配準算法獲取該部件在場景中的6自由度姿態(tài)。提出一個基于密度自適應的匹配算法,自適應調整不同來源的點云密度,降低點云共面四點基集的搜素范圍,利用基于體素點權重的點云下采樣方法降低所需匹配的點數,提高匹配速度。在對裝配場景中出現的物體進行匹配的實驗中,本方法成功識別裝配場景中多種常見的工具和零件。實驗采用兩種下采樣方法對點云進行下采樣,而采用基于體素點權重的下采樣方法的。點云配準成功率比利用體素重心法下采樣的點云配準成功率提升了15%。
[1] ALDOMA A, MARTON Z C, TOMBARI F, et al. Point cloud library[J]. IEEE Robotics& Automation Magazine, 2012, 19(3): 80-91.
[2]PARK Y, LEPETIT V,WOO W. ESM-Blur: Handling & rendering blur in 3D trackingand augmentation[C]// Proceedings of the IEEE International Symposium onMixed and Augmented Reality(ISMAR). IEEE, 2009: 163-166.
[3]STRASDAT H, MONTIEL J M M, DAVISON A J. Real-time monocular SLAM: Why filter?[J]. Proceedings of the IEEE International Conference on Robotics andAutomation(ICRA). 2010: 2657-2664.
[4]WHELAN T, KAESS M, JOHANNSSON H, et al. Real-time large-scale dense RGB-DSLAM with volumetric fusion[J]. The International Journal of Robotics Research, 2015, 34(4/5): 598-626.
(本文編輯:楊林青)
Research on Component Recognition and Attitude Estimation Method Based on Point Cloud
WU Haoran1, YU Hai2, PENG Lin2, LI Chunlong2
(1.State Grid Wuxi power supply company, Jiangsu Wuxi 210096, China; 2. Global energy Internet Research Institute, Nanjing 210003, China)
To identify and understand real object objects in an assembly environment, a registration based 3D perception method is proposed. To reduce the influence of noise on registration results, a density based adaptive matching algorithm is proposed to perceive real objects in a scene using the similarity of point cloud. The algorithm can adaptively adjust the density of point clouds from different sources, and realize the recognition of real object by affine invariance of coplanar four point feature. This method can reduce the amount of cloud data and the computational complexity, and also improve the matching accuracy. The experimental results show that the proposed method can identify components accurately in the assembly environment point cloud and calculate their pose. It can be used for augmented reality interactive applications under noisy conditions.
augmented reality; scene reconstruction; augmented reality assembly
10.11973/dlyny201704016
吳浩然(1964—),男,高級工程師,總經理,從事電力系統(tǒng)運行檢修管理工作。
TP391
:A
:2095-1256(2017)04-0431-04
2017-06-03