徐 敏,陳州堯
(1. 廈門理工學院,廈門 361024;2.江西理工大學,贛州 341000)
現有的碼垛機器人往往固定位置,通過示教方式對物料包實現上、下料操作。將機器視覺引入到碼垛機器人中,能改變碼垛機器人以固定姿態活動的局限性,提升碼垛機器人的靈活性[1]。但是當機器視覺面對的對象姿態不規則、尺寸、質量不等、位置變化不定、環境、場景語義差異大時[2],即使是兩個同類物體,在從圖像角度看來差異也很大,而大多數的物料包屬于此類。
現有的對物料包識別的研究較少,具體有:文獻[1]對整體顏色一致,且無圖案的物料包通過OTSU域值識別出整個碼垛,再經CANNY、SOBEL求邊緣,并結合形態學操作,最終得到單個物料包的連通域和中心;文獻[3]每次采集單獨一個表面有圖案的物料包的圖像,經預處理和分割后,通過匹配模板和分割塊的SIFT特征,實現定位物料包的目的;文獻[4]對兩袋以上下方式堆疊在一起的化肥袋圖像分別進行了去噪、SOBEL邊緣檢測、OTSU域值、形態學操作、希爾迪奇法細化,最終識別出了兩袋的邊緣,根據面積大小,保留大面積的屬于上面一袋的區域;文獻[5]對化肥袋圖像求得的化肥袋邊緣檢測邊緣的HARRIS角點,用最小二乘法擬合角點,得到以邊角角點為頂點的四邊形來擬合物料包。上述文獻[1,4,5]由傳統處理手段達到了識別物料包的邊緣的目的,可見物料包堆放和物料包圖案并不復雜。而文獻[3]只是以流水線上的一個包為分析對象。本文對圖案復雜、擺放不規則的多個物料包進行了識別研究,通過初步截取物料包的位置,再對截取圖像和模板圖像檢測SURF特征點,計算特征向量并通過FLANN算法匹配特征點,使用優良的匹配點對計算圖像對之間的單應性矩陣,最終檢測到物料包的角點,達到識別物料包的目的,為碼垛機器人碼垛提供了較為靈活、準確的物料包圖像位置信息。
SURF算法采用的是Hessian矩陣行列式近似值圖像,即將原圖像的每一點通過Hessian矩陣運算后生成一個變換圖像。SURF特征點的尋找就是在變換圖像中尋找特征點,并在原圖像中對應位置標識出來。某一點的Hessian矩陣的描述如下[6]:

相應的特征值:

為滿足特征點的尺度無關性,在進行Hessian矩陣構造前,先進行高斯濾波。具體實施中,用圖像的灰度值L(x,y)代替函數f(x,y)。新的Hessian矩陣如下:

其中,σ代表高斯濾波尺度。為減少計算量,采用一定大小的箱式濾波模板代替一定尺度的高斯濾波,用Dxx、Dyy、Dxy表示Hessian矩陣的行列式如下:

其中:

若某一點的行列式值大于其周圍26點,便將該點作為SURF特征點。
特征向量又稱為特征點描述向量。特征點描述用來表示極值點周圍像素分布情況,也稱為描述子。為求出描述子的方向,通常選用一個6S的圓,對每個像素計算邊長為4S的Haar小波。特征點為原點,方差2S的高斯函數為權重函數。計算60°滑動窗口內像素在x和y方向的小波模的和。滑動窗以5°為一步轉動,選擇轉動一周模值最大的向量,做為描述子的方向。
特征向量需要在特征點周圍選取長度20像素的正方形區域,并將區域方向旋轉至與描述子方向一致。每個區域被分成了16個子區域,對每一個子區域分別計算每個像素點在Haar小波x和y方向上的響應值dx和dy,再分別求出作為特征向量,最終會形成64維的特征向量。如果在每個子區域分開求為正和為負的dx和dy,即求將會有128維的特征向量。
目標識別算法中最耗時的部分是在大規模的數據集中尋找匹配的高維向量對。FLANN算法稱為快速近似最近鄰搜索算法,這種近似的算法可能會使得性能上有些損失,但是帶來了千倍于速度快的線形搜索的效率[7]。FLANN算法采用歐式距離,定義如式(5)所示,具體匹配的流程為[8~10]:先找到圖像I1某一特征點m1在圖像I2中具有最小距離dist的匹配點對(m1,m2),之后根據所有匹配點的dist計算最小距離min,設置閾值若最小距離dist<T,則將m2作為m1候選匹配點;否則,尋找I1中的下一特征點,同時剔除m1。
實驗圖像如圖1、圖2所示。需要將每個包識別出來。由于是彩色圖像,圖像可識別的特征太多,實驗將黃色包的中間綠色橢圓、綠色包的中間紅色矩形作為首要識別的標志。采用先將RGB圖像分離出H、S、V三個通道,設置分離圖1中的綠色區域,設置,分離圖2中的紅色區域。分離出來的結果如圖3、圖4所示。

圖1 一種黃色包

圖2 一種綠色包

圖3 提取圖1的綠色部分

圖4 提取圖2的紅色部分
對圖3、圖4,接著進行灰度化、基本全局域值、9×9的結構元素實施閉操作、忽略面積小于或是形狀不符合橢圓形圖標或方形圖標的連通域,并用紅色橢圓標記出需要識別的標志,并得到各個橢圓的中心、長短軸長度、方位角。最終得到的效果圖如圖5和圖6所示。

圖5 識別綠色標識

圖6 識別紅色標識
圖2這類標志在正中間的目標物,只需通過識別了標志就表示識別到了目標物,標志的中心就能作為目標物的質心,供碼垛時機械臂末端執行器動作了。但是對于圖1中的目標物,識別出不在中心的標志,一般情況下,是無法執行碼垛的;要是圖中的包有被遮擋,如圖7所示,即便能識別出黃色包的綠色橢圓標志的一部分和綠色包的紅色矩形的一部分,如圖8所示,部分橢圓位置不能和標志重合,處理結果不能用于工程實踐中。據此,在以上實驗基礎上,引入SURF算法實施目標識別,具體流程如圖9所示。

圖7 壓蓋嚴重的三個包

圖8 提取圖7綠色標志

圖9 引入SURF特征目標檢測流程圖
依照圖9流程,具體操作為:對圖7中的3個包識別出標志的位置,以圖8中紅色橢圓為中心,在圖7中截取方向與橢圓一致,長和寬分別為橢圓長軸2倍和短軸5倍的矩形作為每個包的大致范圍,放置于與原圖同樣大小的白色背景中,如圖10所示。若是矩形有部分超出了圖像的范圍,對應地方不會顯示。判斷像素是否在矩形內可以通過判斷像素是否在矩形的四條邊圍成的區域內,具體采用下面公式:

圖10 目標物的大體位置

其中,(x,y)為像素點坐標,(x0,y0)為橢圓的中心坐標,分別為橢圓的短軸在圖像坐標系的方位角、橢圓的長半軸、短半軸長度。
再通過對3個圖和模板圖像(圖11)分別進行SURF特征點檢測、計算特征向量、利用FLANN匹配算法匹配特征描述向量、舍去匹配點對之間距離大于3倍最小距離的匹配點對、使用好匹配點對求出單應性矩陣、找到目標物的四個角點并依次連接四個角點,得出目標物的中點。匹配的效果如圖12(a)、12(c)、12(e),識別出來的包在原圖中的效果如圖13(b)、13(d)。對于不能識別的包,可以采用將部分能識別的包搬走,再采集圖像處理的方式,或是直接在圖7中截取圖片作為模板,再匹配,效果如圖14(a)、14(b)所示。

圖11 模板圖像

圖12 識別目標物輪廓的效果圖

圖13 圖7部分區域作為模板的匹配效果
對于圖1、圖2中擺放整齊的物料包,識別出來的標志區域準確。而圖7存在壓蓋嚴重的情況,識別出來的標志區域不準確,造成了后來截取的物料包的大致區域并不是很理想,可以看到截取區域與目標物料包的方位不一致,在圖11(c)中特別明顯。截取的區域與模板圖像進行匹配,由于物料包形變嚴重,與模板圖像并不存在嚴格意義上的仿射變換,導致識別出來的效果不是很精確,如圖12(a)、12(b)所示。對于遮擋嚴重的物料包,特征點匹配到了干擾物上了,如圖12(e)。對于這類難處理的目標,直接在原圖上截取的模板參與匹配,可達到識別物料包的目的,如圖13所示。
本文通過對物料包圖案、碼放方式復雜的多物料包的實施RGB轉HSV操作,并分離出三通道,設置H、S、V范圍,達到識別物料包的標志。根據物料包的標志位置截取各個物料包的大致區域。之后,對各個區域實施了基于SURF算法的物料包識別,達到了逐一識別物料包的目的。證明了該方法適用于識別一些復雜的多物料包,具有一定的工程應用價值。
[1] 陳州堯,徐敏,蘇鷺梅.一種碼垛視覺系統中物料袋的識別與定位方法[J].制造業自動化,2015,37(3):47-49.
[2] 賈偉,劉彥賓,劉煒,等.一種物料袋場景圖像自適應增強算法[J].計算應用研究,2015,32(9).
[3] 童上高,張昊,李文藝,等.多品種分類碼垛視覺識別系統研究[J]. 制造業自動化,2013,35(6):112-114.
[4] 張天厚.基于機器視覺的編織袋圖像處理與分析[D].濟南大學, 2010:37-40.
[5] 劉華冠.基于機器視覺的袋裝物料位姿自動識別研究[D].濟南大學,2011:33-38.
[6] Herbert Bay,Andreas Ess,Tinne Tuytelaars,Luc Van Gool.SURF: Speeded Up Robust Features[J].Computer Vision and Image Understanding,2008,110(3):346-359.
[7] 劉立,詹茵茵,羅揚,等.尺度不變特征變換算子綜述[J].中國圖像圖形學報,2013,18(8):890-890.
[8] Marius M,David G L.Fast approximate nearest neighbors with automatic algorithm configuration[C].Proceedings of International Conference on Computer Vision Theory and Application.Lison,Portugal:Springer,2009:1-10.
[9] Marius M,Radu B R,Gary B,etal.REIN-a fast,robust,Scalable recognition infrastructure[C].Proceedings of International Conference on Robotics and Automation.Shanghai,China:IEEE,2011:2939-2946.
[10] Marius M,David G L.Fast matching of binary features[C].Proceedings of the Conference on Computer and Robot Vision.Toronto,Canada:IEEE,2012:404-410.