張圓圓,何永玲,王躍飛,田文慧,李 諺
(欽州學院 機械與船舶海洋工程學院,廣西 欽州 535011)
甘蔗是我國制糖的主要來源,其制糖壓榨后的蔗渣含有豐富的纖維素,也可作為造紙主要原材料,是農業(yè)部的優(yōu)勢農產品之一,其種植區(qū)主要分布在廣西,占全國總量的60%以上。目前,我國的甘蔗種植機械化程度低,而甘蔗種植屬于勞動密集型產業(yè),整個勞動過程存在耗時、勞動強度大等問題,因此針對我國種植區(qū)域特性,研究小型自動化的甘蔗種植機具有主要意義。
國內研制的甘蔗種植機主要以實時切種為主,該類機械結構龐大,且需要人工將甘蔗喂入機器。國外巴西、澳大利亞等國家甘蔗種植機成功的原因主要在于,蔗田從分布、行距、農藝上都有利于適用機械化。日本沖繩和我國廣西地區(qū)地形相似,因此在甘蔗機械裝置研發(fā)時有一定借鑒意義。日本在甘蔗種植上主要以預切種種植機為主,所以加快研發(fā)甘蔗預切種中蔗節(jié)識別及自動切割等系統(tǒng)顯得尤為重要。
機器視覺技術在甘蔗蔗節(jié)識別上的研究進展有:陸尚平等[1,6]提出的機器視覺與模糊決策在甘蔗種蔗識別機械化中的運用;黃亦其、黃體森等[2]提出基于局部均值的甘蔗莖節(jié)識別;Moshashai K[5]等利用灰度圖像閾值分割的方法對甘蔗莖節(jié)識別做了初步探討?;谏鲜鲅芯炕A,本文進行了基于顏色空間特征提取在甘蔗蔗節(jié)識別上的應用,通過攝像頭采集的圖像提取顏色特征進行灰度處理后,采取進一步的濾波算法處理,利用Sobel算子求取蔗節(jié)邊緣輪廓,提出邊緣擬合、灰度值擬合和中值決策的方案進一步計算出蔗節(jié)中間位置的切割點,對甘蔗種植機中預切種的自動化設計具有很好的實現(xiàn)意義。
甘蔗的蔗節(jié)識別與檢測以圖像信息為研究對象,通過攝像頭模擬人眼,完成蔗節(jié)的莖和節(jié)之間的識別[3]。本實驗研究采用USB驅動,VGA120幀的高清攝像頭將獲取的甘蔗圖像信息經過預處理進行特征提取,然后將切割點的信息發(fā)送給控制器PLC,驅動機械手完成抓取甘蔗、切斷器動作,具體流程如圖1所示。將采集的甘蔗圖像信息傳輸?shù)接嬎銠C,通過計算機軟件的圖像處理、識別,將信息發(fā)送至切斷器,使切斷器刀口移動到分割位置[4],即莖節(jié)處切斷;然后,切斷器繼續(xù)移動至下一處切斷點,完成一根甘蔗的切割后,繼續(xù)下一根甘蔗的處理。
采集圖像的設備主要由USB接口的攝像頭作為硬件,采集幀數(shù)是120幀F(xiàn)PS。圖像的處理軟件基于一種開源軟件OpenCV,基本模塊如圖2所示。OpenCV整體有5個模塊構成,圖2中列出了常用的4個模塊。OpenCV兼容性較強,原因是基于C/C++語言編寫,可以在各種操作系統(tǒng)上運行。其數(shù)據(jù)類型有很多,包含了計算機視覺的許多應用領域。本文應用OpenCV作為視覺識別的工具,在處理問題時可以調用基本函數(shù)庫,為圖像處理提供一個可開發(fā)的平臺,研發(fā)者只需添加自己編寫的程序,直接調用其中的函數(shù)即可,加快了程序開發(fā)進度。
圖1 甘蔗視覺識別系統(tǒng)流程Fig.1 Sugarcane visual identification system process
圖2 OpenCV基本模塊結構Fig.2 Basic module structure of OpenCV
圖像采集時受光線環(huán)境影響較大,由于采集的甘蔗蔗節(jié)處和莖節(jié)處的色彩有一些不同,如果不采取光補償,就會造成圖像的色彩偏差。因此,為了使圖像更加接近本質,采取“參考白”的方法進行圖像補償,將圖像的亮度加大,即RGB數(shù)值調大,將甘蔗的背景選為白色。
彩色圖像中包含非常豐富的信息,對彩色圖像進行色彩分割,其中R、G、B顏色的取值范圍均在0~225之間,因此歸一化到0~1之間,組合共有256×256×256種顏色,遠遠超出人眼辨別的色彩。因此,將RGB顏色進行灰度值轉化,若像素大于閾值就置為黑色,小于閾值置為白色,閾值運算之前,將圖像轉為兩個灰度級,即對圖像進行二值化處理。
2.2.1 形態(tài)學濾波
對二值化后的圖像,需要進行噪聲消除,尤其是孤立的點集噪聲,并將目標點偽目標點進行分割。形態(tài)學濾波器是由數(shù)學形態(tài)學的基本運算構成的濾波器,是有選擇地圖像中有噪聲的結構。形態(tài)學濾波處理方法充分利用形態(tài)學運算所具有的幾何特征和較好的代數(shù)性質,通過膨脹、腐蝕、開、閉、白帽和黑帽等算子進行濾波操作。
膨脹算子就是對二值圖像進行操作,找到像素值為1的點,將它的鄰近像素點都設置成這個值。1值表示白,0值表示黑,因此膨脹操作可以擴大白色值范圍,壓縮黑色值范圍,一般用來擴充邊緣或填充小的孔洞。腐蝕是與膨脹相反的操作,將0值擴充到鄰近像素,擴大黑色部分,減小白色部分,可用來提取骨干信息,去掉毛刺,去掉孤立的像素。開運算就是先腐蝕再膨脹,閉運算是先膨脹再腐蝕。本文采取用最小矩形框的思想將甘蔗莖節(jié)部分包圍起來,然后經過形態(tài)學濾波,即4種算子計算后,得到的基于形態(tài)學濾波的甘蔗莖節(jié)矩形包圍效果圖,如圖3所示。
2.2.2 邊緣檢測
圖像的邊緣特性,尤其是針對甘蔗而言,在邊緣上存在顏色變化,灰度變化和紋理變化,所以表現(xiàn)在區(qū)域特點上是區(qū)域之間有一個過渡,因此采用一階和二階導數(shù)來檢測邊界,可以很容易檢測到灰度值的不連續(xù)性。
1)梯度算子。針對數(shù)字圖像,可表示為
(1)
其中,Δmf=f(m,n)-f(m+1,n),Δnf=f(m,n)-f(m+1,n)。
為了簡化計算,采用絕對值的形式代替平方和的形式,即
G[f(m,n)]=|Δmf|+|Δnf|
(2)
其中,門限為T,若G[f(m,n)]>T,則(m,n)就是邊緣點。
2)羅伯特算子。Robert梯度算子是將相鄰對角上元素的像素差來表示,梯度算子的表達式為
g(m,n)=|f(m,n)-f(m+1,n+1)|+
|f(m+1,n)-f(m,n+1)|
(3)
其中,門限為T,若G[f(m,n)]>T,則(m,n)就是邊緣點。
3)Sobel邊緣檢測算子。Sobel邊緣檢測算子是利用像素的上、下、左右相鄰的灰度的加權值,原理是當邊緣點達道極值時檢測其位置。其表達式為
g(m,n)=|[f(m-1)-f(m+1,n+1)]|
(4)
該方法不僅產生較好的檢測效果,也對噪聲具有平滑作用,因為噪聲加大了計算量,所以可以處理精度要求不高的場合。本文中甘蔗圖像的邊緣處理采用Sobel算法,圖4、圖5為Sobel邊緣檢測的效果。
圖5 Sobel邊緣檢測算子整體方向效果Fig.5 Overall direction effect of Sobel edge detector
2.2.3 中值濾波
甘蔗圖像采集過程中的噪聲主要來源于甘蔗上的白色的蠟粉,加上在圖像傳輸過程中存在的寄生效應,因此針對這些噪聲首先采用平滑法進行初步處理。實驗表明,僅僅通過平滑處理不具有很好的效果,比較普遍采用的就是自適應濾波和中值濾波。中值濾波是一種比較好的消除噪聲影響的方法,是由Turky在1971年中提出來的,其原理是在一個一維序列f1,f2,…,fn,取長度為n,然后從中抽出m個數(shù),fi-k,…,fi-1,fi+1,…,fi+k。其中,k=(m-1)/2,按照從大到小的順序,排序后取中心點的值作為濾波輸出,數(shù)學表示為
yi=Med{fi-k,…,fi-1,fi+1,…,fi+k}
(5)
如果要處理的是二維圖像,圖像中的灰度Xij,其集合為{Xij,(i,j∈Z2)}。當采用C=(2r+1)(2c+1)的尺寸窗口對圖像進行濾波,二維圖像表示為
Yij=MedianXijΔMedian[Xi+j,j+s,(r,s)∈C],
{(i,j)∈Z2}
(6)
經過中值濾波調試后,二值化邊緣效果檢測如圖6所示。
圖6 中值濾波后的邊緣檢測效果圖Fig.6 Edge detection effect after median filtering
經調研,一般留存到第2年種植用的甘蔗種的莖節(jié)部位的蠟粉會淡化很多,甚至不太明顯,但蔗節(jié)處的蠟粉一般較難自然脫落,也正是基于此采用RGB顏色特征來提取蔗節(jié)。
由甘蔗的植株特性可知:甘蔗在蔗節(jié)處有凸起,且較莖部位偏粗,利用這一特點,通過前面圖像的預處理,可以清晰獲得甘蔗的輪廓。通過甘蔗的RGB顏色空間研究,處理后的二值化圖像的邊緣提取中,可以將凸起部分定義為拐點,針對拐點進行再次提取,即就是甘蔗的蔗節(jié)處。
(7)
通過最小二乘法擬合識別出的蔗節(jié)點如圖7所示。
圖7 邊緣擬合的蔗節(jié)識別Fig.7 Sugarcane node recognition based on edge fitting
由于甘蔗蔗種是由當年收獲后進行儲存到下一年耕種,這樣甘蔗莖上的蠟粉基本脫落,但蔗節(jié)處的蠟粉還有部分殘留,因此可以根據(jù)絕灰度值的分布識別蔗節(jié)。將甘蔗灰度圖像轉化成直方圖進行分割,但有些甘蔗灰度值變化不太明顯,因此采用列灰度的線性擬合,求解甘蔗各處的灰度值與擬合線之間的距離。
針對邊緣檢測和灰度值的擬合法在蔗節(jié)識別上單獨使用時都會有可能產生誤差,如果將兩者信息結合,通過綜合決策,就能克服單個信息的誤判斷,使甘蔗蔗節(jié)識別的有效性更高。本文采用中值決策的方法,對識別出的蔗節(jié)的坐標點集合X=(x1,x2,…,xn-1,xn),由這N個點按照大小排列獲得集合,取中間值為中值決策的輸出,公式表示為
(8)
將采集的甘蔗圖像處理轉換的RGB顏色空間R、G、B分量,蔗節(jié)的邊緣擬合分量和灰度值擬合分量構成5個決策因子,令R、G、B顏色識別結果,邊緣擬合結果和灰度值擬合結果得出的蔗節(jié)位置坐標構成決策集{Xr,Xg,Xb,Xs,Xn},并由決策式(8)進行中值輸出。蔗節(jié)的識別流程如圖8所示。
圖8 中值決策的蔗節(jié)識別流程圖Fig.8 Flow chart of sugarcane section recognition based on median decision
經過圖像處理,將中值決策識別出的蔗節(jié)位置坐標進行計算,采取數(shù)學算法求取蔗節(jié)與蔗節(jié)的中間值作為甘蔗預切種中的切割位置,識別效果如圖4所示,可以看出甘蔗識別的位置非常精準。
圖9 甘蔗切割位置識別效果Fig.9 Confirmation chart of sugarcane cutting position
對采樣的甘蔗進行試驗測試,首先選取有效蔗節(jié)數(shù)7、8、9個分為3組,每組50根,根據(jù)蔗節(jié)識別效果統(tǒng)計計算出7個有效蔗節(jié)的成功率有98%,8個有效蔗節(jié)的識別率有95%,9個有效蔗節(jié)的識別率為92%;然后,測試混在一起總的切割成功率為到94.7%,如圖10所示。由圖10可以看出:甘蔗節(jié)數(shù)較少的識別率更高,因為甘蔗節(jié)數(shù)越多,蔗節(jié)與蔗節(jié)之間的距離越短,識別精度降低。
圖10 甘蔗蔗節(jié)識別結果Fig.10 Results of sugarcane cane recognition
本文主要完成了圖像采集的硬件系統(tǒng)搭建,編寫了圖像采集、處理及試驗程序。從甘蔗圖像的蔗節(jié)識別的預處理出發(fā),完成了基于圖像的甘蔗邊緣檢測、濾波除噪、圖像分割等預處理實驗?;诟收嵴峁?jié)的邊緣凸起特性,提出邊緣中心點集線性擬合的蔗節(jié)識別方法,并針對甘蔗蔗節(jié)和莖在顏色灰度上的不連續(xù)性,提出了蔗節(jié)的灰度值擬合。結合R、G、B顏色分量和擬合值的綜合信息,提出中值決策的蔗節(jié)識別方法。算法解決了甘蔗蔗節(jié)識別的問題,對甘蔗種植機預切種階段的機械化研究具有一定的實際意義。