徐張群,鄭相周,黃偉軍
(華中農業大學工學院,湖北武漢430070)
茶葉起源于中國,也是由中國人最先開發飲用,經歷了幾千年的發展,其在中國擁有著巨大的消費量。近年來,我國茶葉的種植面積和產量也占到世界總量的61%和42%[1]。目前高檔茶葉的采摘以人工采摘為主,采摘成本占生產成本的一半,且效率過低[2-4]。使用自動化技術或機械手采摘替代人工采摘是茶葉采摘的必然趨勢[5]。
仿人茶葉機械手采摘系統使用圖像識別技術確定鮮葉及其采摘位置,然后驅動機械手到采摘點進行采摘。圖像識別和機械手控制是茶葉自動化采摘的兩個關鍵技術。在傳統方法中[6-8],分別使用獨立的基于PC的圖像處理系統識別茶葉,PLC或單片機控制機械手運動,這樣導致系統造價高,占用空間大,不利于推廣使用。嵌入式系統可將圖像識別和控制集成在一起,提供了克服傳統方法缺陷的途徑。
本項目組前期研究提出的雙機械手分區采摘系統[9],硬件由圖像采集裝置、機械手運動裝置和鮮葉收集裝置等構成,軟件包括圖像識別、采摘策略和運動控制等。圖像采集裝置由嵌入式圖像處理系統和光柵投影儀構成,通過圖像處理確定鮮葉及其采摘位置坐標??刂葡到y根據鮮葉采摘位置和分布特點,將采摘區域分配給兩個機械手,使用蟻群算法[10]規劃采摘路徑,控制兩個機械手同時采摘;采摘后的鮮葉使用收集裝置收集至容納箱中。保證質量與提高效率是名優茶自動化采摘的基本要求,主要通過鮮葉快速準確識別和機械手高速運動來保證。
本文提出了使用基于TMS320F28335的DSP將圖像識別和運動控制集成起來,采用OV7670攝像頭采集圖像,用圖像處理方法識別鮮葉及其采摘位置,然后控制機械手運動到目標位置完成采摘控制。
鮮葉一芽一葉約0.1 g,一芽兩葉約0.3 g。按照1 kg/h(8 kg/d,人工1.5 kg/d)采摘要求,雙機械手采摘時單個機械手采摘頻率不大于1.5 s/次,鮮葉識別速度不小于1.2個/s。茶葉采摘系統需高速采集和識別鮮葉圖像,驅動8個電機操控機械手運動到三維采摘點,控制末端執行器完成采摘動作和真空發生器完成鮮葉收集,因此對系統有較高的要求。根據系統工作需求,選擇TMS320F28335的DSP作為控制核心。系統構成如圖1所示。

圖1 采摘機械手系統結構Fig.1 System structure of picking mechanical hand
TMS320F28335[11]在性能上能夠滿足處理圖像的需求,ePWM模塊可控制機械手的8臺電機運動,其他接口可控制末端執行器和真空發生器。選用OV7670攝像頭作為圖像獲取裝置,使用SCCB總線控制,輸出320×240分辨率的RGB格式圖像。為了減少因為采集圖像對處理器產生的高占用,在攝像頭上增加一個384 k字節的FIFO,用來緩存采集到的圖像數據。采用伺服驅動器和伺服電機組合使用作為執行裝置,調節伺服驅動器的雙排插針,將伺服驅動器設置為位置控制模式,使用脈沖個數和方向信號對電機的轉動位置進行控制。
攝像頭將采集的圖像緩存到FIFO中,DSP讀取FIFO圖像保存到DSP片上的外擴SRAM中,并對圖像進行處理提取鮮葉的數量和位置,進行圖像坐標系和機械手坐標系轉換,驅動執行裝置完成相應動作。流程如圖2所示。

圖2 系統運行流程圖Fig.2 System running flow chart
參考一種嵌入式機器視覺裝置[12],DSP、攝像頭、伺服驅動器和伺服電機之間的連接如圖3所示。將攝像頭的引腳和DSP對應GPIO引腳相連接,其中SCL和SDA用于DSP和攝像頭之間的SCCB通信,SCL為時鐘線,SDA為數據線。通過SCCB設置攝像頭內的寄存器,控制攝像頭輸出的格式、分辨率等。攝像頭將圖像緩存到FIFO中,DSP控制攝像頭FIFO讀時鐘來讀取FIFO中的數據,圖像按字節通過攝像頭D0—D7輸出到DSP中進行保存。
伺服驅動器通過杜邦線和DSP相連,向PUL輸入脈沖信號控制電機轉動速度和角度,將DIR置為高電平控制伺服電機轉動的方向,其中正負號表示輸入有效電平為高電平或低電平。伺服電機的U,V,W三相通過排線導出分別和伺服驅動器相連,編碼反饋器通過串口與伺服驅動器相連。

圖3 硬件連接圖Fig.3 The connection between hardwares

圖4 圖像處理流程圖 Fig.4 Image processing flow chart
系統軟件部分包括圖像獲取和圖像處理兩部分,運行流程圖如圖4所示。通過攝像頭和DSP通信后獲取茶葉的RGB圖像信息,先對圖像進行二值化,分割出鮮葉的圖像信息,然后使用開運算消除干擾和噪點,得到只包含鮮葉二值信息的圖像,最后對二值圖像進行二值域圖像標記,提取出鮮葉的個數信息和位置信息。
DSP控制攝像頭采集圖像數據分為兩部分,攝像頭向FIFO中緩存圖像數據和DSP從FIFO中讀取圖像數據。緩存圖像數據過程:等待OV7670幀同步信號,將FIFO寫指針復位,FIFO寫使能,攝像頭開始將一幀圖像信息寫入到FIFO中,等待第二個OV7670幀信號,將FIFO寫使能禁止,此時FIFO中存有一幀圖像數據。讀取圖像數據過程:將FIFO讀指針復位,給攝像頭發送時鐘信號,讀取第一個像素高字節,再次發送時鐘信號,讀取第一個像素低字節,依次循環讀取剩余像素。本試驗設置攝像頭采集的圖像分辨率為320×240,總共需讀取153 600次8位數據。在程序中,每讀到兩個8位數據,將其合并為一個16位的數據,表示一個像素點的RGB值,并存儲在DSP的SRAM中。采集到的圖像如圖5-a所示。
采集圖像的格式設置為RGB565,圖像中一個像素點的16位數據中,前5位表示紅色分量的值,中間6位表示綠色分量,后面5位表示藍色分量。通過RGB顏色空間的綠色分量可以將鮮葉分離出來[13],分離彩色圖像三通道,紅色、綠色、藍色分量分別如圖5-b、5-c、5-d所示。通過觀察和對各分量圖中不同部位的灰度值進行統計分析,綠色分量圖中鮮葉和其他區域的灰度值差別最大,可以很顯著地將老葉和鮮葉區分開來,而紅色分量和藍色分量的區分能力較弱。在實驗室環境下,通過多次實驗統計老葉和鮮葉綠色分量的區間范圍,設置合適的閾值區間,將區間內的像素點標記為白色區域,其他像素點標記為黑色區域,得到只包含白色和黑色的二值圖像,如圖6-a所示,其中大塊的白色部分表示的即是鮮葉。閾值區間能夠保證識別出全部鮮葉而不會把過多的干擾信息識別到二值圖中。圖像的二值化處理在3.1節圖像采集的過程中同步進行,將多個步驟里的循環合并到一起,以達到精簡程序和提高DSP工作效率的目的。

圖5 茶葉彩色圖片和三通道分量圖Fig.5 Color pictures of tea and three-channel components image
從二值圖中可以看到,由于硬件和光照原因,背景中有部分像素點處于二值域區間內,導致出現噪點;綠色分量值從低(老葉)向高(背景)過渡的邊界處的部分像素點出現在二值區間內;并且老葉中顏色較淺部分(茶葉莖脈)和鮮葉灰度值相似,也處于二值區間中,這些都對鮮葉的識別造成了干擾。常用的濾波方式如均值濾波、高斯濾波可以除去較小面積的噪點,對面積較大的干擾區域無法去除,采取圖像形態學中的腐蝕膨脹(開運算)對以上產生的干擾和噪聲進行處理[14]。其計算量相對較小,適用于嵌入式芯片。
開運算可以使物體輪廓變得圓潤、填充細小的縫隙、消除突出的部位,也可以消除背景區域上分布的一些小的噪聲區域而并不明顯地改變目標區域的位置和形狀。其原理是先對目標做腐蝕運算后再做膨脹運算,其中腐蝕運算可以消除圖像背景中的噪點、老葉邊緣部位的干擾和老葉莖脈帶來的干擾,膨脹的作用是粗化二值圖中的白色區域,對腐蝕過的二值圖像進行形態學上的還原。
在二值圖6-a上對圖像進行腐蝕,采用3×3大小的正方形模板,腐蝕后的圖像如圖6-b所示。經過腐蝕處理,原二值圖像中老葉莖脈區域的干擾和老葉邊緣區域的噪點已經被去除,留下只包含茶葉鮮葉圖像的二值圖像。相比原二值圖,腐蝕后的鮮葉要比原二值圖的鮮葉面積小一些。對腐蝕后的圖像再做膨脹處理,膨脹使用的3×3正方形模板,膨脹后的圖像如圖6-c所示。膨脹的過程和腐蝕的過程相反,將因為腐蝕而導致鮮葉大小和形狀產生的變化進行修正,最后準確地將茶葉的鮮葉部分提取出來并保留原本的形狀信息和位置信息。
獲取了茶葉鮮葉的圖像信息,還需將鮮葉的位置和個數提取出來,才能將信息量化并操控機械手。本試驗采用一種在DSP設備上容易實現和操作的基于行程二值圖像連通域標記法,使用四連通判定,對膨脹后的二值圖進行標記,為直觀顯示標記結果,將相互不連通的鮮葉區域標記為深淺不同的綠色,如圖6-d所示。

圖6 圖像處理Fig.6 Image processing
對進行二值域圖像標記后的圖像進行處理和計算,使用平均坐標法求出每片鮮葉在圖像中的形心坐標,位置如表1所示。對圖像坐標系和實際坐標系進行標定,將鮮葉相對圖像坐標系中的坐標轉化為其在機械手坐標系中的實際位置,然后進一步將位置信息轉化為DSP操控機械手的脈沖信號以及方向信號。圖像中坐標信息和實際機械手坐標信息轉換原理圖如圖7所示。

表1 鮮葉在圖像中的像素坐標值
(1)
式中L為實際物體的尺寸(m),l為物體在圖像中的尺寸(pixel),k為實際尺寸和圖像尺寸的比例,即單位像素在實際坐標系中所表示的長度。設置DSP的PWM模塊,利用DSP數字輸出對模擬電路進行控制,使其輸出一系列幅值相等的脈沖。通過換算使用脈沖的個數來控制伺服電機轉動的角度,最后轉化為伺服電機帶動采茶機械手移動的距離,引導機械手移動到二維平面中的采摘點進行采摘。計算公式如式(2)所示:
(2)
其中,n為脈沖個數,a為圖像中位置距離,k為圖像進行標定后實際距離同圖像上單位像素長度的比例,m為編碼器分辨率,d為伺服電機所連接帶輪周長。

圖7 坐標轉換原理圖Fig.7 Coordinate conversion schematic
通過仿真器將DSP和電腦連接,使用CCS軟件中的CLOCK ENABLE功能,觀察統計程序運行的時鐘周期。對上述圖像重復處理消耗時間如表2所示,由于使用的DSP主頻為150 M Hz,每秒鐘能夠產生150 M個時鐘周期,計算得到其平均耗時為766.1 ms。

表2 上述圖像處理時間
對不同圖像進行處理,處理時間如表3所示,平均耗時為765.3 ms,DSP對包含不同數量鮮葉圖像的處理時間相差不超過0.5%??梢钥闯觯O計系統對鮮葉數量不同的圖像識別時間差異不大,處理時間相比使用電腦進行處理稍慢,但處理時間滿足設計需求。

表3 不同圖像處理時間
攝像頭在不同高度采集鮮葉圖像會對處理結果產生影響。將圖像采集裝置放置于三腳架上,通過調節三腳架旋鈕改變攝像頭到茶葉平面的垂直距離即圖像采集的高度,在不同高度處分別采集30幅圖像并進行處理,實驗結果如表4所示。

表4 不同圖像采集高度識別率統計
對實驗中采集到的圖像進行處理,通過和原圖像進行對比,當圖像采集高度為700 mm時能夠正確識別25幅,準確率為83%,識別成功率最高。未能正確識別的原因是因為部分老葉表面比較光滑,光線照射其上會產生反射,導致采集圖像中該部位綠色分量變大,在后續閾值操作的過程中被誤判定為鮮葉。當圖像采集高度為500 mm和900 mm時識別成功率較低,除了因為葉片亮度提升導致的誤判,還由于高度不同對圖像處理所造成的干擾。圖像采集距離太近導致干擾面積大,開運算采用的模板相對較小,未能完全消除干擾;圖像采集高度太高會導致所采集到的圖像中部分鮮葉面積過小,經過開運算后被消除。合適的采摘高度對于圖像識別的準確率至關重要,影響圖像識別準確率的關鍵因素是通過高度把圖像中干擾控制得小于模板,而鮮葉圖像則大于模板,保證開運算能夠消除干擾和噪點而不會消除鮮葉圖像。
本試驗為茶葉的自動化采摘提出了一種新的解決方案,基于DSP的茶葉采摘系統能夠滿足茶葉鮮葉識別并控制機械手這一需求,圖像處理的平均速度為766 ms/幅,在圖像采集高度為700 mm時,識別準確率為83%。作為采茶機器人的先行實驗,驗證了使用DSP作為名優茶采摘機械手的圖像處理和控制集成部分是可行的,使用性能更好的DSP芯片和攝像頭,可以滿足實際采摘情況中對分辨率和處理速度的更高要求。該方案將茶葉的圖像處理以及機械手控制兩部分功能在一片DSP上實現,相比傳統使用PC進行處理和控制,其成本更低,集成度更高,空間體積更小,便于安裝使用。