李晶晶 孫小強 蔡苑彬 倪敏成
(1、武警廣東省總隊梅州支隊,廣東 梅州514000 2、31121 部隊,廣東 汕頭515041)
Point Cloud Library(PCL)由于其內(nèi)部的算法機(jī)制,通過對特征重構(gòu)、搭建優(yōu)化模型,從而成為了一個獨立的大型的處理二維三維圖像和點云數(shù)據(jù)的開源工程。在當(dāng)前,依靠計算機(jī)、信息技術(shù),視覺識別在物體、分點的精確的和可靠性均相比于以前實現(xiàn)質(zhì)效的大幅提高。本文通過構(gòu)建常見物體的點云數(shù)據(jù)模型庫,對基于PCL 機(jī)器人視覺識別算法進(jìn)行了研究,提出了一種形狀特征的實時識別算法。
機(jī)器視覺在越來越多領(lǐng)域得到充分應(yīng)用,也這是如此,其作為人工智能領(lǐng)域成為發(fā)展最快速的分支之一。其發(fā)展的階段大體可以分為:1950 年,基于平面體系的分析和識別;1960 年由二維構(gòu)造分析轉(zhuǎn)移至三維體系分析以及空間構(gòu)造分析;1960 年后機(jī)器視覺的研究進(jìn)入了新階段,即Marr 教授提了當(dāng)時較為權(quán)威的Marr 視覺理論[1];1980 年,機(jī)器視覺的研究開始走出實驗室而被更多地應(yīng)用于實際生活、生產(chǎn)中,同時,愈來愈多新方法、新概念被提出。
如圖1 所示,為一個典型的工業(yè)視覺應(yīng)用系統(tǒng)。其涵蓋了光源、控制執(zhí)行模塊、光學(xué)成像系統(tǒng)、圖像捕捉系統(tǒng)、圖像數(shù)字化模塊和圖像處理及決策模塊。由此圖我們可以看出其工作流程,第一步是目標(biāo)物體圖像信號化處理,主要是借助相機(jī)或其它圖像采集工具;第二步是送給圖像處理系統(tǒng),這期間需要將這一圖像信號轉(zhuǎn)變成數(shù)字信號;第三步是提取目標(biāo)物體的特征,主要是根據(jù)像素分布、亮度和顏色等信息,進(jìn)行各種圖像處理來;第四步是輸出判斷結(jié)果,最終根據(jù)預(yù)設(shè)的容許度和其他條件得出。從上述介紹中,我們可以得出,機(jī)器視覺系統(tǒng)是最終用于實際檢測、測量和控制的,主要是用計算機(jī)來模擬人的視覺功能,進(jìn)行實時收集、處理和理解客觀事物的圖像的智能化系統(tǒng)。
圖1 視覺應(yīng)用系統(tǒng)
主要是數(shù)據(jù)采集、預(yù)處理、建模、特征提取四個程序步驟。本系統(tǒng)首先使用Kinect 系統(tǒng)采集點云數(shù)據(jù),其次對采集的數(shù)據(jù)進(jìn)行濾波等實時預(yù)處理,之后使用聚類分析對識別目標(biāo)進(jìn)行建模,最后應(yīng)用識別算法對目標(biāo)實現(xiàn)特征提取。系統(tǒng)主要分為以下四個模塊,一是點云數(shù)據(jù)采集、二是點云實時預(yù)處理、三是聚類分析和四是特征識別。
機(jī)器人視覺識別系統(tǒng)對目標(biāo)對象進(jìn)行點云圖像的獲取作為首要步驟。為獲取此時點云圖像數(shù)據(jù),得到基于場景2.5D 的深度圖像(即每個像素點除了有灰度信息還有深度信息),需要對所在環(huán)境進(jìn)行信息識別,得到的數(shù)據(jù)圖像傳送至算法流程中,最終完成點云圖像實時預(yù)處理過程。
對于一副由采集到的點云圖像,為提高系統(tǒng)的識別率,在對數(shù)據(jù)點進(jìn)行濾波處理,就好像采集數(shù)據(jù)總會存在誤差一樣難以避免,在進(jìn)行圖像采集時,無論你是通過何種方式得到的灰度圖像,其中肯定會夾雜著些許的噪點,這就需要通過一些方法對圖像處理以后來實現(xiàn)有效的降低噪點數(shù)量的目的。本文在研究對比了多種降噪方法以后決定采取均值濾波法進(jìn)行圖像處理。借助于圖形中的像素點,均值濾波通過把圖像分成多個模塊利用各個模塊的平均值替代更替像素值,以達(dá)到平滑圖像的目的,是一種非線性處理數(shù)字圖像的方法。
高效分聚類獲取可顯著提高目標(biāo)的識別效率,因此,在實時識別算法處理過程中,點云聚類獲取是整理流程中最為關(guān)鍵的一環(huán)。點云聚類實現(xiàn)過程主要包括:一是將圖像每個像素點的灰度信息和深度信息向量化成[grey, depth]。二是為得到N 個分類及每個分類的像素數(shù)量,通過向量的歐式距離對圖像進(jìn)行最鄰近聚類分析。三是嚴(yán)格選取聚類數(shù)量處于500-25000 之間的分類,從而作為最終識別的目標(biāo)分類,其余分類舍棄。
CVFH 是在基于二維構(gòu)造體系下,通過對特征進(jìn)行分布提取,概述聚類的整體形狀、特征。CVFH 特征直方圖立足于視點特征直方圖來進(jìn)行特征數(shù)據(jù)點的計算描述,CVFH 特征直方圖和特征直方圖都屬于全局特征描述。
在2.3 的基礎(chǔ)上,為得到形狀特征的數(shù)字描述,可以對獲得的分類進(jìn)行CVFH 特征算子計算。
如圖2 所示,為完成對工件的定位,并給出每個目標(biāo)物的高度信息和形狀信息,本次實驗主要是由本文提出的算法進(jìn)行??梢钥吹剑谠囼炁_上分別放置橫向尺寸相同,縱向尺寸不同的研究對象,縱向尺寸分別為10mm、15mm 和20mm。
圖2 機(jī)器人工作區(qū)域
如圖3 所示,之所以對圖像進(jìn)行灰度閾值分割,實現(xiàn)工件與背景分離,是因為目標(biāo)物顏色為白色,與黑色背景區(qū)別較大。因此可以通過軟件查看圖像的直方圖,明確不同區(qū)域的灰度值,從圖中可以看出當(dāng)88-92 的灰度范圍值可以分辨初工件和背景;因此本文取中間值90,此外為保證像素點均勻性,本文將閾值的像素點設(shè)置為0。
為獲得分割后均勻的區(qū)域塊,需要對分割閾值的區(qū)域進(jìn)行重合,主要考慮放圖像分割后,會在區(qū)域內(nèi)存在邊界和壞點,具體如圖所示中分割前后的效果圖,為便于分辨,本文通過不同顏色來進(jìn)行不同連通點云聚類甄別,之所以采用面積分割方法去除圖像中面積較小的連通區(qū)域,是因為在相機(jī)固定情況下工件在圖像中的面積是固定的。最后運用到了霍夫變換算法,其主要用來從圖像中分離出工件的圓形區(qū)域提取點云聚類,進(jìn)行圓形區(qū)域擬合(圖4)。
之所以機(jī)器人不僅要獲得二維坐標(biāo)信息還必須得到工件高度信息才能完成抓取動作,是由于由于待抓取工件高度不同。基于PCL 機(jī)器人視覺算法分析方法中,為使2 個相機(jī)的作用特征基本保持一致,本人通過采用極線約束方法,利用視差法原理來進(jìn)行工件高度的預(yù)測和分析(圖5)。
圖4 經(jīng)過閾值分割和區(qū)域連接后的提取點云聚類效果圖
圖5 左右相機(jī)圖像極線校正
圖6 立體匹配模型
在左右相機(jī)圖像中找到相同的特征點,然后進(jìn)行視差計算是圖像立體匹配的原理。之所以利用極線校正方法對左右兩個相機(jī)的圖像進(jìn)行處理,主要目的在于提高像素的識別效率和可靠性;雙目相機(jī)極線校正主要在于使2 個相機(jī)的作用特征基本保持一致獲得相同的光軸平行、焦距參量。視覺立體匹配就是首先要在左右相機(jī)成像平面中找到相同特征點的圖像坐標(biāo),然后根據(jù)三角定位法來求得該點的深度信息。圖6 演示了通過極線校正后在公共成像平面上左右相機(jī)的光軸互相平行的立體匹配模型。
本文通過基于PCL 機(jī)器人視覺識別算法分析進(jìn)行了研究,提出了一種形狀特征的實時識別算法,構(gòu)建了常見物體的點云數(shù)據(jù)模型庫,分析了實驗過程中的主要點云處理步驟,如點云分割、特征提取等過程