馬子領,張瑞珠,吳林峰
(華北水利水電大學機械學院,鄭州 450045)
目前國內對基于視覺工業機械手抓取的已有研究有:(1)基于單目視覺的機械手智能抓取系統[1]。這類系統一般將攝像機安裝在工業機械手工作空間的上方,同時觀察目標和機械手末端執行器,利用攝像機作為中間媒介建立起目標與機械手之間的關系。(2)基于立體視覺的機器人控制系統[2]。這類系統一般是使用兩臺攝像機對目標同時進行拍攝,利用視覺差和立體匹配技術獲取目標的空間位姿,從而對機械手抓取進行控制。這兩種方法都有其局限性:第一種方法要求攝像機能夠同時觀察目標和機械手末端執行器,這對系統的配置要求較高,工作現場的條件時常不能滿足。另外由于攝像機的安裝位置原因,機械手會對目標產生遮擋,導致抓取失敗;第二種方法由于使用到了兩臺攝像機,硬件成本提高,并且計算量大,視場角較小[3]。針對這些問題,楊賀然[4]等提出了單攝像機和工業機械手分別固定安裝在傳送帶兩端的智能抓取系統。這種配置的優點是:系統安裝靈活,能夠充分發揮視覺系統的功能,算法簡單,計算量少。由于該方法中目標和機械手不能同時出現在攝像機視野中,因此也被稱作末端開環視覺系統。顯然,該配置方法不能滿足同一傳送帶上有多個位置需要抓取產品的情況,不利于系統擴展。本文以蘋果手機整機檢測生產線上從傳送帶上抓取位置和姿態各異的手機并以固定姿態放置到檢測設備卡槽或托盤里為研究背景,研究一種基于輔助定位機構的視覺識別技術。該技術的基本思想是將部分視覺功能交由輔助定位機構實現,從而簡化視覺系統設計和降低成本。本文重點研究該技術中的圖像識別算法。
如圖1所示,該系統由輔助定位機構[5]、視覺系統、搬運機械手、傳送帶、手機托盤等組成。
圖1 智能搬運機械手系統三維結構原理圖
輔助定位機構包括導向柱,轉輪1,轉輪2,導向槽,擋板。其功能是將傳送帶上過來的位姿各異的手機進行排列,一個接一個地進入到導向槽里面,最前面的手機到達擋板后即停止不動,等待機械手的抓取,當機械手將緊挨擋板的手機抓走后,導向槽里面的手機在傳送帶帶動下繼續向前移動到擋板并停止等待下一次抓取。
視覺系統包括攝像頭支架、攝像頭及圖像處理程序。其工作原理是:經輔助定位機構初步定位后進入通道槽的手機將呈現正反面及上下方向倒置等組合成的四種不同姿態。假定手機出現正面的情況為A,反面為B,上下倒置的情況分別為C、D,于是AC表示A情況和C情況同時出現,其他三種狀態同理。在系統中存儲這四種狀態典型圖片的特征作為判斷準則,對導向槽里面的圖片進行識別以確定導向槽里面的圖片屬于哪一種狀態,將這種狀態對應的信號指令發給機械手,機械手即可進行相應的操作動作將手機以固定的姿態放置到手機托盤里面。顯然,輔助定位機構的運用大大降低了手機位姿的不確定性,極大地減少了視覺處理的工作量,從而可以簡化視覺系統軟硬件配置,降低系統總成本。
2.1.1 圖像裁剪
為識別手機姿態,需選擇手機本身的特征目標作為識別對象,選擇的原則是為了更好的獲得每個圖像的特征,選擇的目標如圖2所示。
圖2 選擇的目標
圖像裁剪的目的是選擇一組“少而精”的對分類有效的特征。如圖2(c)中除了左邊的有效目標外,還有右邊的白色干擾目標,因此需要對圖像進行裁剪。為了后續處理時不用考慮邊緣像素,裁剪圖形時以略大于包圍有效目標最小矩形的矩形對采集圖像進行裁剪,裁剪后的圖像如圖3所示。
為研究測試整體光照條件變化時該圖像識別算法的有效性,采集了11組非極端光照下不同光照情況下的手機裁剪圖片,圖3所示是其中一組。這里所述極端情況是指超低照度和超高照度,這種情況在工業現場幾乎不可能出現。
圖3 裁剪后圖像
2.1.2 兩次中值濾波和灰度變換
圖像噪聲會使圖像模糊,甚至淹沒圖像特征,從而使圖像識別無法進行。因此,先要對圖像進行濾波,消除干擾噪聲信號。本文采用中值濾波,它能在濾除噪聲的同時很好的保持圖像邊緣。實驗發現,一次中值濾波后,圖像中存在的突變點在很大程度上被消除了。但是,較高光照下的采集圖像經過一次中值濾波后就進行灰度變換,發現由于干擾信號去除不夠徹底導致灰度變換達不到要求,因此需再進行一次中值濾波。測試顯示,所有采集圖片經兩次中值濾波后,后續處理效果都能滿足要求了。
實驗發現,采集圖像經兩次中值濾波后的直方圖顯示圖像像素灰度只在某一灰度范圍出現,這將使閾值分割非常容易出現失效,而且圖像對比度不高,圖像包含信息少。因此,采用線性變換的方法將像素灰度范圍擴展到0~255之間以利于閾值分割等操作。
閾值分割的關鍵是確定合適的閾值。當然,確定閾值的原則只有一個,就是為了從背景中恰當的提取出目標[6]。
2.2.1 圖像特征
在確定閾值之前,首先對四種手機姿態下各圖像的直方圖進行了分析,結果發現圖像的灰度分布呈現兩種情況,一種是圖像背景低灰度值像素集中于低照度范圍,而目標像素與背景像素相比較少;另一種是圖像灰度值并不集中于某一區域,而是在各個范圍內都有分布。
根據直方圖呈現的兩種情況,為方便閾值計算,研究了圖像中灰度值出現次數最多的灰度值和所有像素的灰度值均值。采集的4種姿態11組圖像除去邊緣像素以外出現次數最多的灰度值 (maxcount)和灰度均值 (average)如表1所示。
表1 四種姿態圖像的特征
2.2.2 閾值確定準則
確定閾值的方法很多,本文根據圖像具體特性進行閾值選取。在選取閾值時采用線性運算,線性運算完全滿足要求。
對于直方圖呈現的第一種情況,多數像素灰度分布在低灰度區域,于是考慮將maxcount做線性運算作為閾值,這樣就可將大部分背景置為0,余下的就是目標。不過經分析發現,在第一種情況中,maxcount和average非常接近,為了簡化計算算法,可直接用average做線性運算作為閾值。而對于第二種情況,顯然用與maxcount相關的函數值來選取閾值并不恰當,于是直接用average做線性運算來選取閾值。結論是,無論屬于哪種情況,都用average做線性運算作為分割的閾值。
試驗中發現,在0~255整個區域內實行單一的線性運算是不合適的,例如選取閾值時,對表1中所有的圖像進行閾值分割是合適的,但是如果在實際情況中出現average為135時,閾值,顯然在運算時會溢出,從而不能有效分割圖像。
經進一步試驗,最后采用分段方式確定了決定閾值的準則:
當average<50,閾值T用式 (1)計算。
當average>=50,閾值T用式 (2)計算。
該分段線性閾值分割準則能滿足特征識別的要求。圖4、圖5、圖6、圖7分別是手機四種狀態下average<50和average>=50情況下分割結果的一個例子。雖然圖像邊緣像素未經過直方圖變換處理,但根據圖像裁剪時的設定可知圖像邊緣與目標之間的距離較大,這里直接將邊緣像素灰度置0,其并不影響結果。
式 (1)和式 (2)均是根據本文具體研究對象在正常光照環境下經過多次試驗歸納出來的最佳結果,由于其涵蓋了文中所述的多種情況,因此對其他對象也具有一定的適應性。如果應用對象過于復雜,則可通過調整式中的參數或average分段點的值以適應新對象,也可通過增加average分段即增加閾值判斷的式子去適應新情況,具體如何調整則依據對象在正常光照環境下average的分布情況。
圖像經過直方圖變換后進行的分割可能出現很多微小的目標區域,目標數目甚至會超過255個,這會對區域標記造成嚴重影響。因此,區域標記前對閾值分割后的圖像進行一次中值濾波,以濾去圖像中微小的無效目標。
區域標記[7]是對目標區域進行區分常采用的方式,本文采用一種基于區域生長的快速連通區域標記算法[8]進行區域標記。該方法的特點是在一次圖像掃描中完成所有連通區域的標記,而且該方法不受所標記的圖形形狀的影響,能夠對各種形狀的區域進行標記處理。為計算簡便,所有連通區域標記算法均采用4連通區域準則。
圖像特征是識別圖像的根本依據[910]。本算法先采用面積特征找到面積最大的一個或兩個目標,再采用其位置特征作為識別的依據。
從圖6中可以看到,部分圖像可能存在多個目標區域,造成識別困難,這里選取目標區域中面積最大的目標,因為這個目標才是圖像中最能反應手機方位的最重要依據。但在圖4(a)中,目標被割裂成兩個小目標。所以并不能只選擇面積最大的一個目標來識別圖像,而是需要選擇面積最大的兩個主要目標作為圖像的主要特征,這里分別稱之為第一目標和第二目標。
圖4 AC分割結果
圖5 AD分割結果
圖6 BC分割結果
圖7 BD分割結果
表2是所采集11組圖像中AC姿態時選擇的目標特征,其中 sumx、sumy、ultraxl、ultraxr、ultrayu、ultrayd 的含義如下。
如果圖像中只有一個有效目標,sumx和sumy分別表示該目標區域的質心x坐標和y坐標;如果圖像中存在兩個有效目標,sumx和sumy分別表示兩個目標區域的質心x坐標和y坐標。
ultraxl、ultraxr、ultrayu、ultrayd分別表示第一目標的最小的x方向坐標、最大的x方向坐標、最小的y方向坐標、最大的y方向坐標。
表2 AC目標特征值
采用同樣的方法計算AD、BC和BD姿態的目標特征值。然后對比AC、AD、BC和BD各姿態的目標特征值,發現不同光照下各組圖像特征值之間的差值總體變化很小,只有AC的ultraxr特征值和BC的ultrayu特征值存在一個較大的跳變,其他各特征值的變化范圍均不超過10。因此,考慮以差值變化范圍小的特征值來確定圖像識別的準則,首先計算各特征的平均值,如表3所示,其中的空單元格表示該特征值變化較大,不用其作為判別準則。
表3 各目標特征均值
AC、AD與BC、BD的sumx差別較大,所以可確定一個值M來確定圖像屬于AC、AD或是BC、BD。因AC、AD與BC、BD的sumx距離較遠,故直接取其均值為M,即M=(59+36+258+227)/4=145。
在區別AC、AD時,其各特征區別并不是很大,但ultrayd-ultrayu的值卻相差很大。
對于 AC,ultrayd-ultrayu=122-91=31。
對于 AD,ultrayd-ultrayu=152-58=94。
這里取AC和AD二者的均值來區別AC、AD并取之為N,即N=(31+94)/2=63。
在區別 BC、BD時,其各特征區別也不是很大,但ultraxr-ultraxl的值卻相差很大。
對于 BC,ultraxr-ultraxl=274-244=30。
對于 BD,ultraxr-ultraxl=290-164=126。
于是取BC和BD二者均值來區別BC、BD并取之為Q,即Q=(30+126)/2=78。因此,圖像識別的流程如圖8所示。
圖8 圖像識別流程圖
實驗所用攝像頭為普通視頻聊天攝像頭。根據市場價格計算,采用輔助定位機構+普通攝像頭+低自由度機械手的識別方法相對于采用高端攝像頭+多自由度機械手的方法在成本上至少降低50%以上。
在VC中的測試結果顯示,采集的11組44張典型圖片全部正確識別,但該識別算法本就來自于這些圖片,所以該結果并不能證明算法完全正確。因此,又采集了4張普通光照下的圖片來驗證算法的適應性,實驗過程如下:
1)將實驗設備隨機移動到一個新的室內環境;
2)用同型號的手機作為實驗對象,AC、AD、BC和BD等4種姿態各拍攝一張圖片;
3)將4張圖片依次導入編制的VC程序進行測試。
采集的4張圖像和處理的結果如圖9所示。顯然,新環境下拍攝的圖像的處理結果也完全正確,這證明了在普通光照下該算法的適應性是很好的。
本文以手機整機檢測流水線上用機械手替代人工操作時手機位姿的識別為對象,提出了一種基于輔助定位機構的視覺識別方法,并介紹了基于該方法的系統組成和關鍵子系統的功能。然后通過對非極端光照條件下采集的不同光照下的11組共44張手機圖像進行研究分析,給出了適應性很好的閾值分割準則和特征識別算法,并完成了對圖像的識別。最后,以普通視頻聊天攝像頭為實驗設備采集了一組共4張普通光照下的圖片進了算法適應性驗證。實驗結果證明:在非極端光照且光源環境基本穩定的情況下,所提圖像處理算法是完全正確的,該視覺方法能夠穩定可靠地實現手機位姿識別。為避免工作現場幾乎不可能出現的極端光照情況影響算法的穩定性,采用遮光罩將環境光源進行隔離,在遮光罩里面安裝固定光源。根據該方法提出的實際環境,該方法可以廣泛應用于類手機形狀產品的生產線上。
圖9 采集的圖像及識別結果