徐 敏,陳州堯
(1. 廈門理工學(xué)院,廈門 361024;2.江西理工大學(xué),贛州 341000)
現(xiàn)有的碼垛機(jī)器人往往固定位置,通過(guò)示教方式對(duì)物料包實(shí)現(xiàn)上、下料操作。將機(jī)器視覺引入到碼垛機(jī)器人中,能改變碼垛機(jī)器人以固定姿態(tài)活動(dòng)的局限性,提升碼垛機(jī)器人的靈活性[1]。但是當(dāng)機(jī)器視覺面對(duì)的對(duì)象姿態(tài)不規(guī)則、尺寸、質(zhì)量不等、位置變化不定、環(huán)境、場(chǎng)景語(yǔ)義差異大時(shí)[2],即使是兩個(gè)同類物體,在從圖像角度看來(lái)差異也很大,而大多數(shù)的物料包屬于此類。
現(xiàn)有的對(duì)物料包識(shí)別的研究較少,具體有:文獻(xiàn)[1]對(duì)整體顏色一致,且無(wú)圖案的物料包通過(guò)OTSU域值識(shí)別出整個(gè)碼垛,再經(jīng)CANNY、SOBEL求邊緣,并結(jié)合形態(tài)學(xué)操作,最終得到單個(gè)物料包的連通域和中心;文獻(xiàn)[3]每次采集單獨(dú)一個(gè)表面有圖案的物料包的圖像,經(jīng)預(yù)處理和分割后,通過(guò)匹配模板和分割塊的SIFT特征,實(shí)現(xiàn)定位物料包的目的;文獻(xiàn)[4]對(duì)兩袋以上下方式堆疊在一起的化肥袋圖像分別進(jìn)行了去噪、SOBEL邊緣檢測(cè)、OTSU域值、形態(tài)學(xué)操作、希爾迪奇法細(xì)化,最終識(shí)別出了兩袋的邊緣,根據(jù)面積大小,保留大面積的屬于上面一袋的區(qū)域;文獻(xiàn)[5]對(duì)化肥袋圖像求得的化肥袋邊緣檢測(cè)邊緣的HARRIS角點(diǎn),用最小二乘法擬合角點(diǎn),得到以邊角角點(diǎn)為頂點(diǎn)的四邊形來(lái)擬合物料包。上述文獻(xiàn)[1,4,5]由傳統(tǒng)處理手段達(dá)到了識(shí)別物料包的邊緣的目的,可見物料包堆放和物料包圖案并不復(fù)雜。而文獻(xiàn)[3]只是以流水線上的一個(gè)包為分析對(duì)象。本文對(duì)圖案復(fù)雜、擺放不規(guī)則的多個(gè)物料包進(jìn)行了識(shí)別研究,通過(guò)初步截取物料包的位置,再對(duì)截取圖像和模板圖像檢測(cè)SURF特征點(diǎn),計(jì)算特征向量并通過(guò)FLANN算法匹配特征點(diǎn),使用優(yōu)良的匹配點(diǎn)對(duì)計(jì)算圖像對(duì)之間的單應(yīng)性矩陣,最終檢測(cè)到物料包的角點(diǎn),達(dá)到識(shí)別物料包的目的,為碼垛機(jī)器人碼垛提供了較為靈活、準(zhǔn)確的物料包圖像位置信息。
SURF算法采用的是Hessian矩陣行列式近似值圖像,即將原圖像的每一點(diǎn)通過(guò)Hessian矩陣運(yùn)算后生成一個(gè)變換圖像。SURF特征點(diǎn)的尋找就是在變換圖像中尋找特征點(diǎn),并在原圖像中對(duì)應(yīng)位置標(biāo)識(shí)出來(lái)。某一點(diǎn)的Hessian矩陣的描述如下[6]:
相應(yīng)的特征值:
為滿足特征點(diǎn)的尺度無(wú)關(guān)性,在進(jìn)行Hessian矩陣構(gòu)造前,先進(jìn)行高斯濾波。具體實(shí)施中,用圖像的灰度值L(x,y)代替函數(shù)f(x,y)。新的Hessian矩陣如下:
其中,σ代表高斯濾波尺度。為減少計(jì)算量,采用一定大小的箱式濾波模板代替一定尺度的高斯濾波,用Dxx、Dyy、Dxy表示Hessian矩陣的行列式如下:
其中:
若某一點(diǎn)的行列式值大于其周圍26點(diǎn),便將該點(diǎn)作為SURF特征點(diǎn)。
特征向量又稱為特征點(diǎn)描述向量。特征點(diǎn)描述用來(lái)表示極值點(diǎn)周圍像素分布情況,也稱為描述子。為求出描述子的方向,通常選用一個(gè)6S的圓,對(duì)每個(gè)像素計(jì)算邊長(zhǎng)為4S的Haar小波。特征點(diǎn)為原點(diǎn),方差2S的高斯函數(shù)為權(quán)重函數(shù)。計(jì)算60°滑動(dòng)窗口內(nèi)像素在x和y方向的小波模的和?;瑒?dòng)窗以5°為一步轉(zhuǎn)動(dòng),選擇轉(zhuǎn)動(dòng)一周模值最大的向量,做為描述子的方向。
特征向量需要在特征點(diǎn)周圍選取長(zhǎng)度20像素的正方形區(qū)域,并將區(qū)域方向旋轉(zhuǎn)至與描述子方向一致。每個(gè)區(qū)域被分成了16個(gè)子區(qū)域,對(duì)每一個(gè)子區(qū)域分別計(jì)算每個(gè)像素點(diǎn)在Haar小波x和y方向上的響應(yīng)值dx和dy,再分別求出作為特征向量,最終會(huì)形成64維的特征向量。如果在每個(gè)子區(qū)域分開求為正和為負(fù)的dx和dy,即求將會(huì)有128維的特征向量。
目標(biāo)識(shí)別算法中最耗時(shí)的部分是在大規(guī)模的數(shù)據(jù)集中尋找匹配的高維向量對(duì)。FLANN算法稱為快速近似最近鄰搜索算法,這種近似的算法可能會(huì)使得性能上有些損失,但是帶來(lái)了千倍于速度快的線形搜索的效率[7]。FLANN算法采用歐式距離,定義如式(5)所示,具體匹配的流程為[8~10]:先找到圖像I1某一特征點(diǎn)m1在圖像I2中具有最小距離dist的匹配點(diǎn)對(duì)(m1,m2),之后根據(jù)所有匹配點(diǎn)的dist計(jì)算最小距離min,設(shè)置閾值若最小距離dist<T,則將m2作為m1候選匹配點(diǎn);否則,尋找I1中的下一特征點(diǎn),同時(shí)剔除m1。
實(shí)驗(yàn)圖像如圖1、圖2所示。需要將每個(gè)包識(shí)別出來(lái)。由于是彩色圖像,圖像可識(shí)別的特征太多,實(shí)驗(yàn)將黃色包的中間綠色橢圓、綠色包的中間紅色矩形作為首要識(shí)別的標(biāo)志。采用先將RGB圖像分離出H、S、V三個(gè)通道,設(shè)置分離圖1中的綠色區(qū)域,設(shè)置,分離圖2中的紅色區(qū)域。分離出來(lái)的結(jié)果如圖3、圖4所示。
圖1 一種黃色包
圖2 一種綠色包
圖3 提取圖1的綠色部分
圖4 提取圖2的紅色部分
對(duì)圖3、圖4,接著進(jìn)行灰度化、基本全局域值、9×9的結(jié)構(gòu)元素實(shí)施閉操作、忽略面積小于或是形狀不符合橢圓形圖標(biāo)或方形圖標(biāo)的連通域,并用紅色橢圓標(biāo)記出需要識(shí)別的標(biāo)志,并得到各個(gè)橢圓的中心、長(zhǎng)短軸長(zhǎng)度、方位角。最終得到的效果圖如圖5和圖6所示。
圖5 識(shí)別綠色標(biāo)識(shí)
圖6 識(shí)別紅色標(biāo)識(shí)
圖2這類標(biāo)志在正中間的目標(biāo)物,只需通過(guò)識(shí)別了標(biāo)志就表示識(shí)別到了目標(biāo)物,標(biāo)志的中心就能作為目標(biāo)物的質(zhì)心,供碼垛時(shí)機(jī)械臂末端執(zhí)行器動(dòng)作了。但是對(duì)于圖1中的目標(biāo)物,識(shí)別出不在中心的標(biāo)志,一般情況下,是無(wú)法執(zhí)行碼垛的;要是圖中的包有被遮擋,如圖7所示,即便能識(shí)別出黃色包的綠色橢圓標(biāo)志的一部分和綠色包的紅色矩形的一部分,如圖8所示,部分橢圓位置不能和標(biāo)志重合,處理結(jié)果不能用于工程實(shí)踐中。據(jù)此,在以上實(shí)驗(yàn)基礎(chǔ)上,引入SURF算法實(shí)施目標(biāo)識(shí)別,具體流程如圖9所示。
圖7 壓蓋嚴(yán)重的三個(gè)包
圖8 提取圖7綠色標(biāo)志
圖9 引入SURF特征目標(biāo)檢測(cè)流程圖
依照?qǐng)D9流程,具體操作為:對(duì)圖7中的3個(gè)包識(shí)別出標(biāo)志的位置,以圖8中紅色橢圓為中心,在圖7中截取方向與橢圓一致,長(zhǎng)和寬分別為橢圓長(zhǎng)軸2倍和短軸5倍的矩形作為每個(gè)包的大致范圍,放置于與原圖同樣大小的白色背景中,如圖10所示。若是矩形有部分超出了圖像的范圍,對(duì)應(yīng)地方不會(huì)顯示。判斷像素是否在矩形內(nèi)可以通過(guò)判斷像素是否在矩形的四條邊圍成的區(qū)域內(nèi),具體采用下面公式:
圖10 目標(biāo)物的大體位置
其中,(x,y)為像素點(diǎn)坐標(biāo),(x0,y0)為橢圓的中心坐標(biāo),分別為橢圓的短軸在圖像坐標(biāo)系的方位角、橢圓的長(zhǎng)半軸、短半軸長(zhǎng)度。
再通過(guò)對(duì)3個(gè)圖和模板圖像(圖11)分別進(jìn)行SURF特征點(diǎn)檢測(cè)、計(jì)算特征向量、利用FLANN匹配算法匹配特征描述向量、舍去匹配點(diǎn)對(duì)之間距離大于3倍最小距離的匹配點(diǎn)對(duì)、使用好匹配點(diǎn)對(duì)求出單應(yīng)性矩陣、找到目標(biāo)物的四個(gè)角點(diǎn)并依次連接四個(gè)角點(diǎn),得出目標(biāo)物的中點(diǎn)。匹配的效果如圖12(a)、12(c)、12(e),識(shí)別出來(lái)的包在原圖中的效果如圖13(b)、13(d)。對(duì)于不能識(shí)別的包,可以采用將部分能識(shí)別的包搬走,再采集圖像處理的方式,或是直接在圖7中截取圖片作為模板,再匹配,效果如圖14(a)、14(b)所示。
圖11 模板圖像
圖12 識(shí)別目標(biāo)物輪廓的效果圖
圖13 圖7部分區(qū)域作為模板的匹配效果
對(duì)于圖1、圖2中擺放整齊的物料包,識(shí)別出來(lái)的標(biāo)志區(qū)域準(zhǔn)確。而圖7存在壓蓋嚴(yán)重的情況,識(shí)別出來(lái)的標(biāo)志區(qū)域不準(zhǔn)確,造成了后來(lái)截取的物料包的大致區(qū)域并不是很理想,可以看到截取區(qū)域與目標(biāo)物料包的方位不一致,在圖11(c)中特別明顯。截取的區(qū)域與模板圖像進(jìn)行匹配,由于物料包形變嚴(yán)重,與模板圖像并不存在嚴(yán)格意義上的仿射變換,導(dǎo)致識(shí)別出來(lái)的效果不是很精確,如圖12(a)、12(b)所示。對(duì)于遮擋嚴(yán)重的物料包,特征點(diǎn)匹配到了干擾物上了,如圖12(e)。對(duì)于這類難處理的目標(biāo),直接在原圖上截取的模板參與匹配,可達(dá)到識(shí)別物料包的目的,如圖13所示。
本文通過(guò)對(duì)物料包圖案、碼放方式復(fù)雜的多物料包的實(shí)施RGB轉(zhuǎn)HSV操作,并分離出三通道,設(shè)置H、S、V范圍,達(dá)到識(shí)別物料包的標(biāo)志。根據(jù)物料包的標(biāo)志位置截取各個(gè)物料包的大致區(qū)域。之后,對(duì)各個(gè)區(qū)域?qū)嵤┝嘶赟URF算法的物料包識(shí)別,達(dá)到了逐一識(shí)別物料包的目的。證明了該方法適用于識(shí)別一些復(fù)雜的多物料包,具有一定的工程應(yīng)用價(jià)值。
[1] 陳州堯,徐敏,蘇鷺梅.一種碼垛視覺系統(tǒng)中物料袋的識(shí)別與定位方法[J].制造業(yè)自動(dòng)化,2015,37(3):47-49.
[2] 賈偉,劉彥賓,劉煒,等.一種物料袋場(chǎng)景圖像自適應(yīng)增強(qiáng)算法[J].計(jì)算應(yīng)用研究,2015,32(9).
[3] 童上高,張昊,李文藝,等.多品種分類碼垛視覺識(shí)別系統(tǒng)研究[J]. 制造業(yè)自動(dòng)化,2013,35(6):112-114.
[4] 張?zhí)旌?基于機(jī)器視覺的編織袋圖像處理與分析[D].濟(jì)南大學(xué), 2010:37-40.
[5] 劉華冠.基于機(jī)器視覺的袋裝物料位姿自動(dòng)識(shí)別研究[D].濟(jì)南大學(xué),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] 劉立,詹茵茵,羅揚(yáng),等.尺度不變特征變換算子綜述[J].中國(guó)圖像圖形學(xué)報(bào),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.