趙 暉 賈 靖 周 磊 費煥強 龔征絳 喻擎蒼
(浙江理工大學 浙江杭州 310018)
國內外的自動整理供夾技術已經有了一定的研究進展,多家公司已經研發并推出了多種嫁接機器人產品[1]。但這些整理供夾裝置自動化程度不高,主要以被動的振動式整理為主[2],還沒有實現對嫁接夾的主動整理功能。振動方案結構簡單,易于維護。但也存在著穩定性差,工作噪音大,需要有保證嫁接夾輸送方向和放置狀態的裝置和防止嫁接夾互相掛接的裝置等缺點。
針對現有的自動化嫁接機整理供夾操作的自動化程度不高的現狀。筆者提出一種利用計算機視覺技術,對嫁接夾的位置、狀態進行識別。便于后續的柔性機械臂的抓取,以實現嫁接夾的主動供夾操作。對嫁接機小型化,自動化的發展產生一定的影響。
本研究視覺處理模塊主要由光源、攝像頭、鏡頭及微型計算機等組成,見圖1。攝像頭安裝在圖1A所示的機械臂終端夾取裝置上,攝像頭中心點即夾取裝置中心隨夾取裝置一同運動。微型計算機采用Raspberry Pi 3b+,30 w像素攝像頭,13.6 mm焦距鏡頭,以實現采集圖像的最佳效果。
試驗樣本為圖1C所示的平口嫁接夾,該嫁接夾長22 mm,寬22 mm,夾口最大張開寬度10.5 mm,廣泛使用于現在的瓜科、茄科作物如番茄,西瓜,甜瓜等農作物的嫁接。

圖1 視覺處理模塊及實驗樣本
嫁接夾識別定位的過程包括:圖像顏色提取及顏色空間的轉換,連通域提取,連通關系確定,去噪點,提取質心及角點,目標夾取裝置旋轉角度判斷等。首先,通過圖像顏色空間的轉換將實時采集的目標圖像多值化,多值化后將相鄰的屬于同一類別的像素點進行整合,形成連通域,提取出連通域后,判斷相鄰連通域關系,去除目標連通域干擾因素,并去除較小的噪點,提高目標的連通域的識別精度。最后,將所得的連通域外圍輪廓鏈提取出來,根據輪廓鏈信息計算質心,角點,終端旋轉角度等信息。主要的目標定位識別流程見圖2。

圖2 定位識別流程
在對目標輪廓提取之前,需對圖片顏色空間信息進行定義,目前顏色空間定義方法可以分為兩大類:基色顏色空間和色、亮分離顏色空間。前者是典型的RGB顏色空間,后者包括YUV顏色空間和HSV顏色空間等[3]。
對于RGB顏色空間來說,本研究攝像頭采集到的目標圖像即是基于RGB顏色空間模型。因此,對于RGB顏色空間的目標圖像多值化,只需要提取目標圖像的每個像素點的RGB數值信息,并通過這些信息定義該像素點的顏色,通過試驗得出最佳定義方式。
對于HSV顏色空間來說,提取到的圖像像素點的RGB數值信息可以通過以下公式(1)~(3)將RGB轉換為HSV數值,其中max等于R,G,B數值中的最大者,其中min等于R,G,B數值中的最小者。


本研究分別通過RGB顏色空間及HSV顏色空間對采集到的目標圖像進行多值化處理,并對兩種顏色空間下的識別效果及識別速度進行比較。HSV顏色空間模型下的識別效果及識別速度均優于RGB顏色空間模型。因此,選擇基于HSV顏色空間模型進行多值化處理。圖3為RGB顏色空間模型和HSV顏色空間模型下調試前及調試后的識別效果。

圖3 識別效果對比圖
當然,要達到圖3的識別效果,只能僅靠顏色空間的轉換及圖像顏色的提取。對于多值化后提取出的初步結果,會包含很多影響識別效果及識別精確度的信息,以下針對列舉內容提出解決方式,以提高識別成功率。
目標輪廓提取是圖像處理,機器視覺和計算機視覺的基本工具,特別是在特征檢測和特征提取領域。關于目標輪廓提取步驟有:(1)對圖片進行多值化處理,提取圖片的顏色空間信息。(2)圖片多值化處理完成后,將靠近的同色號像素點進行整合形成連通域,并將連通域的輪廓顯示出來。(3)為了提高后續圖像處理速度,節省時間,對整合好的連通域進行預處理,去除相對目標對象體積較小的無價值連通域。初步處理后的連通域見圖4。
由圖4可知,初步整合的輪廓圖雖然可以識別出目標輪廓,但會將識別目標內部的空位作為獨立的連通域顯示,不利于之后的質心、角點的計算。因此,需要對得到的連通域進行處理,確定連通域之間的關系,對特殊的連通域進行去除,與其他連通域合并等操作。
關于連通域之間的關系有內連接和外連接2種,連通域連接關系示意圖見圖5。A,B,C區域分別為3個連通域,A連通域為B連通域的子集,則A連通域與B連通域的關系為內連接。B連通域與C連通域的輪廓有部分重合,則B連通域與C連通域的關系為外連接。

圖4 初步整合的輪廓

圖5 連通域連接關系示意圖
連通關系的確定方式:將初步提取到的所有連通域都標記為外連接,然后逐個遍歷檢查每個連通域的連接情況,每次檢查到一個連通域A與另一連通域B為內連接關系,則將連通域A的標記改為內連接。在所有連通域都檢查完畢后,對連通關系進行處理。對于兩個內連接關系來說,將小的連通域與大的連通域合并;對于外連接關系來說,暫時不做處理,合并示意圖見圖6。

圖6 合并后示意圖
連接關系處理完成之后,還要進行去噪聲處理,在識別圖像中輪廓時設置參數控制噪聲的體積大小的參數,通過修改噪聲體積的大小以實現去除噪聲,從而提取出清晰的目標輪廓。在本研究中對于修改噪聲體積參數數值以去除圖像中的噪聲,通過數次實驗調試,對噪聲參數的設置值為30,即將小于30個像素的連通域設置為噪點,在識別過程中進行忽略。圖7為經過優化后的目標輪廓提取圖。

圖7 優化后的目標輪廓提取圖
為了量化提取到的輪廓的精確程度,本文采用輪廓光滑度r對提取到的輪廓的精確程度進行定義。輪廓光滑度r的計算方法為,對提取到的輪廓鏈的像素點,取相同跨距計算輪廓鏈每個像素點在此跨距的鏈角[5],可得到一條橫坐標為像素點編號,縱坐標為鏈角角度的曲線。求輪廓的光滑度問題即可轉化為求這條曲線的光滑度問題。計算曲線光滑度的具體方法為:對鏈角曲線圖進行線性擬合,減小輪廓曲線的誤差。將擬合后曲線各點角度值與原曲線點角度值差值的絕對值累加,即得到曲線的光滑度r。r的值越小,表示輪廓光滑度越高;r的值越大,表示輪廓光滑度越低。
圖8中的紅色與綠色2條鏈角曲線分別為取跨距為千分之50時,基于RGB顏色空間模型下經過參數優化后獲得的鏈角曲線及基于HSV顏色空間模型下經過參數優化后獲得的鏈角曲線。因為曲線上下波動劇烈,直接對整條曲線進行擬合效果較差,所以分別對兩條曲線進行分段2次擬合。擬合后曲線與原曲線的對比見圖9和圖10。
分別計算曲線輪廓的光滑度r,圖10的輪廓光滑度r1=2.04;圖9的輪廓光滑度r2=5.66。當輪廓光滑度r<3時,所得輪廓曲線比較準確,可以滿足本文下一步試驗要求。對RGB顏色空間模型和HSV顏色空間模型下單個目標及多個目標分別進行100次識別。HSV顏色空間模型在識別效果及平均識別時間上均優于RGB顏色空間模型。

圖8 鏈角曲線

圖9 RG B鏈角曲線對比圖

圖10 H SV鏈角曲線對比圖
采集到的圖像背景的復雜度及顏色同樣會對圖像處理的時間及精度產生影響,為研究不同背景顏色下的識別效果。本研究分別采用了在HSV顏色空間中分屬幾個色域的白色、黑色、黃色、藍色及綠色。、本研究的識別目標主體由紅色的夾體及銀色的彈簧圈兩部分組成,后續的目標對象姿態分類及抓取點提取對兩部分的識別要求不同。對于姿態分類,需要我們將紅色夾體部分及銀色彈簧圈部分都識別出來并作為一個整體;對于抓取點的提取,需要我們只識別紅色夾體部分,以消除彈簧圈位置不同對抓取點提取的影響。
因此,本研究對背景顏色的要求是對紅色目標及銀色目標識別效果及識別效率均比較高。表1為各進行100次實驗下不同背景顏色下分別對嫁接夾紅色主體及銀色鋼圈的識別輪廓光滑度及平均識別時間。
由表1可知,對于主體部分的識別來說,黑色背景的識別效果最好,白色背景及綠色背景次之,黃色背景和藍色背景的識別效果較差。對于鋼圈部分的識別來說,綠色背景的識別效果最好,藍色背景及黃色背景次之,白色背景和黑色背景的識別效果較差。總的來看,只有綠色背景對于主體部分及鋼圈部分的識別效果和平均識別時間均可以滿足本文的要求,因此選擇綠色背景作為試驗背景顏色。

表1 輪廓光滑度及平均識別時間
對于目標對象抓取點,本研究結合對目標對象夾取裝置的設計,將目標對象主體部分的質心定為抓取點。因此,計算出上文提取出的目標對象主體部分輪廓鏈的質心,即可得到抓取點。
本研究定義獲取到的目標對象的連通域為Is,遍歷連通域Is,得到此連通域中每個像素點的橫、縱坐標值,通過Is的幾何矩計算連通域的質心[4]。
Is的幾何矩ma,b(Is)為:

上式a,b均≥0,其中a+b表示幾何矩的階數,x與y表示屬于Is的某個像素點對應的橫、縱坐標,Is(x,y)為此處像素坐標點的對應像素值。當a+b=0,Is(x,y)=1時,此時Is的零階矩就表示此連通域的面積Ai:

同理,連通域Is的一階矩有:

一階矩與面積的比值即為連通域Is的質心(xIs,yIs):

利用公式(4)~(7)即可計算出質心坐標,即抓取點位置。圖11即質心提取效果圖,圖中的綠色十字標志的E點即為識別出的目標對象抓取點。

圖11 抓取點提取效果
成功提取到抓取點后,終端夾取裝置就可以根據獲得的抓取點信息移動到抓取點正上方。此時還需要提供終端夾取裝置的旋轉角度,才能使終端裝置對準待夾取目標,完成夾取操作。
根據圖12提取到的目標對象輪廓鏈有A,B,C,D 4個角度變化很大的角點,其中A,B,C點的角度變化幅度超過150°,C點的角度變化幅度超過90°,且A,B,D角點角度與C點角度互為正負。通過提取出B,D兩個角點,并根據B,D角點的像素坐標,結合質心像素坐標計算出目標夾取裝置旋轉角度。

圖12 角點示意圖
本研究提取到的目標對象輪廓鏈為一系列連續的像素點,我們可以分別取不同像素跨距,計算相鄰輪廓鏈的鏈角,以確定鏈角變化幅度較大的A,B,C,D點的坐標位置。圖13的兩條曲線分別為跨距35像素時的鏈角變化曲線圖及跨距75像素時的鏈角變化曲線圖。
因為輪廓鏈是閉合的,因此得到的鏈角變化曲線圖是周期變化的,觀察曲線圖可知,起始點B位置到虛線處B位置為一個周期。總的來看選擇低跨距時,曲線對角度變化比較敏感,可以偵測出較小的角度波動變化,因此曲線波動比較明顯。選擇高跨距時,對大角度變化識別準確,但無法識別較小的角度波動。對于本研究目標來說,要識別的A,B,C,D 4個點的角度變化很大,均超過90°。因此選擇高跨距對目標角點進行識別。
對圖13的鏈角變化曲線圖進行分析可知,圖中在一個周期內有1個變化范圍超過90°的角點及3個變化范圍超過-100°的角點。顯然唯一的一個變化范圍超過90°的角點即為圖12中的角點C,角點C左側的角點分別為角點D,角點A和角點B。

圖13 鏈角變化曲線
對于目標夾取裝置旋轉角度的判斷,只需知道其中B,D兩點的坐標,結合本文前面得到的質心坐標,即可計算。圖14為目標夾取裝置旋轉角度判斷其中一種情況的舉例,O點位置為提取到的抓取點位置,同時也是攝像頭的中心位置。E點和F點為目標夾取裝置最終需要旋轉到的理想夾取位置,B點和F點為待夾取目標識別出的角點現在所處的位置,OB與OE之間的夾角為。此時,需要將目標夾取裝置順時針旋轉,以達到理想的抓取位置。

圖14 角度判斷情況舉例
因為識別目標的狀態未知,所以OB可能位于4個象限的任何一個,需要分情況考慮。當OB在象限中的角度-120°≤β<60°時,采用順時針旋轉;當OB在象限中的角度60°<β<240°時,采用逆時針旋轉;當OB在象限中的角度0°≤β<60°時采用順時針旋轉,旋轉角度的判斷流程圖15。

圖15 旋轉角度判斷流程
隨機選擇100個不同的實驗樣本目標,對樣本的質心提取結果與實際樣本質心位置進行對比,表2是其中5組的試驗結果。
系統測量質心坐標與實際質心坐標位置的誤差如上表所示,最大誤差為4個像素,最小誤差為0個像素,平均誤差為2.1個像素,可以滿足抓取點定位的精度要求。
隨機選擇100個不同的實驗樣本目標,對樣本的角點提取結果與實際樣本質心位置進行對比,表3是其中5組的試驗結果。
系統測量角點坐標與實際角點坐標位置的誤差見表3,最大誤差為3個像素,最小誤差為0個像素,平均誤差為1.9個像素,可以滿足旋轉角度判斷的精度要求。

表3 角點提取結果對比
本研究通過機器視覺的方法對嫁接夾的定位識別方法進行了研究,實驗結果表明識別定位精度較高,可以滿足對下一步夾取操作的需求。該方法可以用于自動嫁接機中,實現自動整理上夾操作,對嫁接機小型化,自動化有實用價值。