閆如忠,林宇超
(東華大學機械工程學院,上海 201620)
隨著社會的發(fā)展,人們生活水平的提高,對于環(huán)境污染以及身體健康問題也愈來愈重視,綠色蔬菜已然成為了人們?nèi)粘jP(guān)注的物品。在這環(huán)境和商業(yè)的壓力下正在推動著蔬菜的種植者擺脫對除草劑的依賴性。然而在實際培育過程中,缺少去除作物行間雜草有效方法,往往需要人工去除,這效率低下且勞動成本高,難以實現(xiàn)大規(guī)模生產(chǎn)。因此機器視覺導航技術(shù)已經(jīng)成為解決蔬菜行間雜草問題的關(guān)鍵技術(shù)。
早在20世紀70年代末,計算機視覺技術(shù)便開始應(yīng)用在農(nóng)業(yè)中。BONTESEMA等[1]利用非成像光學原理確定每一個作物的坐標位置并使用高速除草刀片去除行間雜草。LEE等[2]通過葉片的伸長度和緊湊性的不同分別來識別出番茄種植區(qū)中的番茄苗和雜草,其中番茄苗的識率為73%,但雜草識別率只有68.8%。紀壽文等[3]分析玉米苗期田地間雜草的形態(tài)特征,依據(jù)植株投影面積,葉片的葉長和葉寬完成田間雜草識別。金小俊等[4]綜合考慮作物和雜草的高度特征以及植株空間分布特征完成作物的識別,實驗表明,作物的識別率為88%。
綜合考慮,在以前的研究中,植株識別過程中位置的判斷都是通過植株的幾何中心確定,但在植株實際生長過程中,由于葉片形狀等原因,其幾何中心往往不是其根部位置。為減少智能除草機的除草誤差,準確定位植物根部位置,研究設(shè)計了一個植株圖像識別及根部定位測量系統(tǒng),首次提出植株根部定位與測量的概念,為除草機提供機器視覺導航的理論依據(jù)。
系統(tǒng)主要的功能是識別出植物根部的位置,判斷出兩株植物根部間的距離以及距離除草機最近的植株根部與機器人間的距離。考慮到系統(tǒng)要求的實時性以及計算機的硬件配置,該系統(tǒng)主要由4個模塊組成,分別是圖像采集模塊、目標識別模塊、目標根部定位模塊、目標測距模塊(如圖1)。圖像采集模塊主要是打開攝像頭顯示實時視頻,并獲取其中一幀圖像;目標識別模塊通過目標植株與雜草的形態(tài)特征的區(qū)別采集到的圖片中區(qū)分出目標植株;目標根部定位模塊則基于植株的葉片生長特征和葉片的形態(tài)特征確定植株根部在坐標系上的位置;目標測距模塊依據(jù)前面獲取的坐標信息進行坐標轉(zhuǎn)換,判斷出目標的實際距離大小。
圖1 系統(tǒng)構(gòu)成
該系統(tǒng)是在Visual C++平臺上,通過OpenCV設(shè)計完成。OpenCV是一個開源的計算機視覺庫,采用C/C++語言編寫,可以運行在Linux/Windows/Mac等操作系統(tǒng)上。OpenCV還提供了Python、Ruby、MATLAB以及其他語言接口[6-7]。
除草機整體由機器視覺系統(tǒng)、刀具控制系統(tǒng)、行走系統(tǒng)以及防撞系統(tǒng)四大系統(tǒng)組成。各個系統(tǒng)間主要通過PCI總線進行相互之間的數(shù)據(jù)通信。機器視覺系統(tǒng)主要由攝像頭,圖像處理系統(tǒng)以及用戶界面組成。首先打開攝像頭,將攝像頭中數(shù)據(jù)通過PCI傳輸?shù)綀D像處理系統(tǒng)中,同時在用戶界面上顯示。圖像處理系統(tǒng)處理后的結(jié)果經(jīng)過PCI傳輸?shù)降毒呖刂葡到y(tǒng)和行走系統(tǒng)上,依據(jù)這個結(jié)果調(diào)整刀具的位置及旋轉(zhuǎn)速度,以及除草機的前進方向和速度。
圖2 除草機整體設(shè)計
圖像采集模塊中的攝像頭是羅技C170,最高分辨率可達1 024×768,通過USB接口直接連接到PC機上。該模塊主要通過在Visual C++上運行的OpenCV完成圖像采集工作,采集頻率為每秒30幀。為從攝像頭中獲取圖像,則必須從第一幀開始一幀一幀地按順序讀取。通過函數(shù)cvCaptureFormCam讀取攝像頭中的信息數(shù)據(jù),將獲取的實時視頻顯示在用戶界面上,觀測攝像頭的拍攝情況。用函數(shù)cvQuery-Frame從攝像頭中抓取一幀,然后解壓并返回這一幀,顯示并保存這幀的信息,其采集到的圖像如圖3所示。
圖3 原始圖像
3.2.1 預(yù)處理
原始圖像在信息采集、傳輸和終端處理的過程中,容易受到噪聲、光線的因素的影響,從而導致圖像出現(xiàn)降質(zhì)[8]。在系統(tǒng)進行圖像信息研究前需進行圖像預(yù)處理,選擇性地突出圖像中有用的信息,去除干擾信息。一般包括圖像灰度化、去噪、二值化、邊緣檢測等。
3.2.1.1 圖像灰度化
由于彩色圖像信息量會遠高于灰色圖像,在彩色圖像中直接進行計算工作量較大,很難滿足除草機器人的實時性與快速識別的要求。在實際應(yīng)用中,為取出圖像不必要信息干擾,加快圖像處理速度,在目標識別之前,應(yīng)先對圖像進行灰度化處理,突出目標物體信息,抑制圖像中的干擾信息,并簡化后期計算的工作量。
因為光波原因,綠色植物與周邊非綠色植物之間有著明顯的顏色差異,綠色植物的綠色特征因子要遠遠高于其他。研究采用WOEBBECKE等提出的超綠特征法[9]對彩色圖像進行背景分割處理。通過研究采集到的彩色圖像的RGB模型可以發(fā)現(xiàn)圖像中G分量的像素值總大于R分量和B分量像素值,其背景分割的算法主要如下:
首先將彩色圖像中的每個像素點取出來,然后取該像素的R、G、B三維顏色分量的灰度值,并計算灰度值Y,計算公式(1)。最后,使像素中的R、G、B的值等于灰度值Y就可以了。最終處理后的結(jié)果如圖4(a)所示。
圖4 預(yù)處理圖像
3.2.1.2 圖像二值化
圖像二值化,就是講圖像上的像素點的灰度值設(shè)置為0或255,即將整個圖像呈現(xiàn)出只有黑和白的視覺效果,使得整個圖像突出綠色植物。對圖像進行閾值分割,通過滑動條判定最合適的閾值大小T,將背景分割后的圖像中的每個像素點的像素值與閾值進行比較,如果大于T,則設(shè)置其灰度值為255,否則灰度值為0。其結(jié)果如圖4(b)所示,其中灰度值為255的白色區(qū)域即綠色植物。
3.2.1.3 圖像去噪
在攝像機采集圖像過程中,由于光線的照射、設(shè)備本身的噪聲以及背景中與超綠特征值類似的干擾物等因素,會導致二值化后的圖像出現(xiàn)噪聲,如圖5(a)中的白色小斑點,這些噪聲會對后面的計算過程產(chǎn)生干擾,所以需要去除,去除的方法主要有:
(1)用一個奇數(shù)點的移動窗口按順序掃描整個圖像,在每次掃描的過程中將窗口的中心的灰度值設(shè)置為這個窗口內(nèi)所有像素點灰度值的中值,結(jié)果如圖5(b)。
(2)通過實驗,設(shè)置一個合理的閾值。將圖像進行連通區(qū)域標記,而后計算每個連通區(qū)域所包含的像素點的個數(shù)值。并與設(shè)置的閾值進行比較,如果大于閾值,則在標記的區(qū)域中保留該區(qū)域,否則去除,最終得到的圖像如圖5(c)。
圖5 二值化圖像去噪
對比圖5(a)、圖5(b)和圖5(c)這3張圖片可以看出,雖然圖5(b)去除噪聲有一定的效果,但還有少數(shù)的噪聲保留下來,不能夠完全去除,圖5(c)中噪聲已經(jīng)被完全去除,綠色植株清晰可見,方便后面的處理過程,所以第二種方法更適合本研究中的去除噪聲。
3.2.1.4 圖像邊緣提取
所謂邊緣,是指其周圍像素灰度有極具變化的那些像素的集合。本研究中采用Canny算子邊緣檢測的方法獲取植物與目標的邊界,即將某個像素點的灰度值與其梯度方向前后的像素灰度值比較,如是最大則是邊緣,優(yōu)點是在提高植物邊緣的敏感性的同時,可以很好地抑制噪聲,如圖4(d)所示。
3.2.2 目標識別與分離
基于形態(tài)特征的雜草識別主要通過研究葉片的邊緣樣式(曲率或葉狀特征)和整個葉片形狀(面積、長度、寬度、周長、矩、無量綱比值等)來實現(xiàn)[10]。對于同一時期的同一種植物,其幾何特征,特別是葉片的形狀基本是一致的。同一時期的不同植物,在葉片的形狀上有著明顯的差異,這為作物的識別提供了理論依據(jù)。
研究主要利用圖像中綠色植物的最小外接矩陣(如圖6)近似地描述不規(guī)則目標的形狀。通過最小外接矩陣的面積、周長和長寬比實現(xiàn)作物與雜草的識別。對面積、周長和長寬比均設(shè)置一個范圍,只有同時滿足這3個范圍的區(qū)域才保留下來,否則將圖像灰度值設(shè)置為0。最終識別后的效果如圖7所示。
圖6 植株識別
圖7 植株分離
一般情況,植株幼苗的葉片均是圍繞著植株的莖均勻分布,植株單莖,莖垂直連接著植株根部,且連接葉片與莖的葉柄要遠遠細于葉柄,因此整個圖像則可被描述成一個輪廓凸形缺陷的結(jié)構(gòu)體,兩個葉片之間一定是這個輪廓中一個凸缺陷,該凸缺陷最低點應(yīng)該是兩片葉片間的交點。且葉片均環(huán)繞著莖,故幾個輪廓點的中心便是莖的所在位置,也是植株根部位置。
目標根部定位的具體算法過程如圖8所示。
圖8 植株識別與根部定位算法流程
首先用cvConvexHull2確定植株輪廓像素點集的凸外形,而后判斷出圖像中對于凸包的各個凸缺陷。在植株生長過程中,其葉片邊緣有可能存在缺口,這也可能形成一個凸缺陷。需要選擇一個合適的閾值T,如果谷底距離凸形的深度L大于T,則在這個缺陷中距離凸形最遠的輪廓點的位置畫上一斑點,這個斑點就表示為植株兩個葉片的交點處。再求每顆植株上的標志斑點的中心處,即斑點橫坐標和縱坐標的平均值,并在這個點上畫上一個更大的斑點,這個斑點就是植物的根部位置(圖9)。
圖9 植株根部定位
通過前面植株特征提取,可以獲取植株根部的坐標信息。攝像機固定在小車上,其鏡頭中心距離小車的位置固定不變,且鏡頭水平于地面,因此圖像的中心對應(yīng)的便是鏡頭中心。通過攝像機成像原理(如圖10),f是攝像機焦距,Z是攝像機到物體的距離,X是物體長度,x是平面上物體圖像。
圖10 攝像機成像原理
根據(jù)前面得到的圖像中植株根部的坐標信息,便可確定出兩顆植株間水平面上的橫向和縱向間的實際距離,與圖像上中心坐標比較,便可以得出植株與攝像機中心的水平距離,從而確定出于除草機的距離。
為了驗證該系統(tǒng)的測距效果,用該系統(tǒng)在植株間固定距離約為100 cm的田地間進行多次測量,并將測量結(jié)果與真實測量值進行了比較,驗證系統(tǒng)的準確度。測量的結(jié)果如表1所示,分析數(shù)據(jù),繪制系統(tǒng)測量距離與直接測量距離的數(shù)值情況圖(圖11),計算誤差值并繪制誤差分布情況(圖12)。
表1 測量統(tǒng)計cm
圖11 測量距離與實際距離
圖12 誤差值分布
從測量值與實際值的分布圖,以及誤差值分布情況可以看出,雖然該視覺系統(tǒng)的測量還存在一定的誤差,并且系統(tǒng)測量結(jié)果與實際測量結(jié)果相比數(shù)值大多數(shù)偏大,但是所有的誤差值均在±5 cm范圍內(nèi),屬于除草機可接受范圍,驗證了該系統(tǒng)的可行性。
經(jīng)過實驗分析,面向智能除草機的植株圖像識別及根部定位測量系統(tǒng)可以完成植株識別,植株根部定位,確定植株根部間以及最近植株根部與除草機的距離,將誤差控制在可行的范圍內(nèi),完全可以滿足除草人的要求,為除草機的視覺導航提供了有力的理論依據(jù)。但是該系統(tǒng)現(xiàn)在只能在PC機上運行,在實際生產(chǎn)中,由于PC機的原因會導致整個除草機過于笨重,因此將該系統(tǒng)移植到DSP上是下一步要研究的內(nèi)容。
[1]BONTSEMA J,VAN Asselt C J,LEMPENS P W J,et al.Intra-row Weed Control:a Mechatronics Approach[J].First IFAC Workshop on Control Applications and Ergonomics in Agriculture,1998:15-17.
[2]LEE W S,SLAUGHTER D C,Giles D K.Robotic Weed Control System for Tomatoes[J].Precision Agriculture,1999,1(1):95-113.
[3]紀壽文,王榮本,陳佳娟,等.應(yīng)用計算機圖像處理技術(shù)識別玉米苗期田間雜草的研究[J].農(nóng)業(yè)工程學報,2001,17(2):154-156.
[4]金小?。陔p目立體視覺的除草機器人行內(nèi)雜草識別方法研究[D].南京:南京林業(yè)大學,2012.
[5]王占全,徐慧.Visual C++數(shù)字圖像處理技術(shù)與工程案例[M].北京:人民郵電出版社,2009.
[6]BRADSKI G,KAEHIER A.學習OpenCV(中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學出版社,2009.
[7]陳勝勇,劉盛.基于OpenCV的計算機視覺技術(shù)實現(xiàn)[M].北京:科學出版社,2008.
[8]胡帆.基于輪廓的物體識別算法研究[D].河北:華北電力大學,2012.
[9]WOEBBECKE D M,MEYER G E,BARGEN K Von,et al.Color Indices for Weed Identification under Various Soil,Residue,and Iighting Conditions[J].Transactions of the ASAE,1995,38(l):259-269.
[10]SLAUGHTER D C,GILESD K,DOWNEY D.Autonomous Robotic Weed Control Systems:A Review[J].Computers and Electronics in Agriculture,2008,61(1):63-78.