文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.174745
中文引用格式: 李艷文,崔揚,,李立新. 基于先驗知識的草莓機器手目標(biāo)定位算法[J].電子技術(shù)應(yīng)用,,2018,44(10):149-152.
英文引用格式: Li Yanwen,Cui Yang,,Li Lixin. Target localization algorithm for strawberry robot-arm based on prior knowledge[J]. Application of Electronic Technique,,2018,44(10):149-152.
0 引言
早期的草莓采摘機械一般將果實和莖葉一起收獲,,然后再由人工將果實和莖葉進行分離。1996年,,日本率先發(fā)明了利用機器視覺識別采摘果實的機器手[1],。基于機器視覺技術(shù)的機器手采摘草莓的作業(yè)流程一般是,,先尋找成熟的草莓,,在不破壞果實的前提下將其與枝椏分離,然后放到托盤中[2],。實現(xiàn)這一流程的自動化需要以下幾個步驟:(1)根據(jù)草莓的成熟度判斷是否可以采摘,;(2)確定待采摘草莓的位置;(3)切斷草莓的果梗,,并接住草莓,;(4)將草莓放置在盤中。這4步中的前兩步屬于定位步驟,,在整個機器手的設(shè)計中具有重要地位,。因此,如何設(shè)計精準(zhǔn)的定位算法是草莓機器手設(shè)計的關(guān)鍵,。目前主流的定位算法大多基于機器視覺技術(shù),。
由于要求機器手能分辨草莓的成熟度,因此傳統(tǒng)基于機器視覺的定位算法通過判斷草莓的顏色來進行識別,但單純根據(jù)顏色進行判斷可能會誤將某些顏色相近的其他果實作為識別目標(biāo),,比如小番茄等,,因此又出現(xiàn)了基于紋理特征進行識別的支持向量機(SVM)分類算法[3]。但基于SVM的分類算法需要預(yù)先設(shè)計特征向量,,人工設(shè)計的特征向量難以準(zhǔn)確描述草莓的外觀紋理特征,,因此誤識率很高。
本文研究開發(fā)一款實用的采摘草莓機器手,,提出了一種結(jié)合顏色先驗知識和深度學(xué)習(xí)的識別算法,,可以精確地識別草莓。由于草莓的成熟度可以通過顏色進行預(yù)分類,,為此先將機器手獲取的圖片轉(zhuǎn)換至HSV空間[4],,并對H通道進行分割。分割后的候選目標(biāo)區(qū)域有多個,,為了得到最精確的定位目標(biāo),,將多個候選區(qū)域輸入預(yù)訓(xùn)練的深度卷積網(wǎng)絡(luò)(CNN)進行識別,將識別精度最高的候選目標(biāo)作為最終的定位結(jié)果輸出,。在對CNN進行訓(xùn)練時,,選擇的正樣本包括各種形態(tài)的成熟草莓,為了避免機器手采摘不完整的候選目標(biāo),,在負(fù)樣本中放入大量的草莓局部圖片,。實驗證實,本文基于顏色先驗知識的算法可以得到準(zhǔn)確的定位結(jié)果,。
1 草莓機器手的結(jié)構(gòu)設(shè)計
機器手本體主要由3條機器臂和1根裝有電纜的軟管組成,,如圖1所示。兩條機械臂在同一平面,,負(fù)責(zé)機器手在水平面直線伸縮動作,,另一根機械臂在垂直面掃描運動。為了簡化控制和識別,,采用三機械臂系統(tǒng),,把柱坐標(biāo)轉(zhuǎn)化成直角坐標(biāo),便于準(zhǔn)確定位,。夾取部分由機器手組成,,夾住草莓果實果柄部分,采摘時,,機械手伸出摘下,。機械手動力由舵機控制提供。行走系統(tǒng)設(shè)計成四輪小車,,設(shè)計了減震系統(tǒng),,提高機器手穩(wěn)定性和越野性。機器手智能識別算法是研究的關(guān)鍵,在基于顏色先驗知識進行預(yù)分割的基礎(chǔ)上,,采用深度學(xué)習(xí)輔助草莓機器手進行目標(biāo)定位,,可以有效精確地識別草莓,確保機器手準(zhǔn)確采摘,。
2 基于顏色先驗知識的草莓候選目標(biāo)分割
本文先基于HSV顏色模型對草莓圖像進行分割,,以得到草莓的候選區(qū)域,機器手獲取的圖像顏色空間為RGB,,因此先通過式(1)轉(zhuǎn)換為HSV空間[4],。
草莓機器手需要根據(jù)草莓顏色確定草莓的成熟度,根據(jù)統(tǒng)計[2],,成熟草莓顏色值h位于[0,,5]和[150,220]之間,,因此根據(jù)式(2)對圖像進行閾值分割得到二值化圖像,。
基于h通道進行二值化后,相鄰的候選區(qū)域有一定的粘連,,再通過形態(tài)運算處理得到最終的候選區(qū)域結(jié)果[5],如圖2所示,。
圖2(e)通過對圖2(d)二值化區(qū)域取最大外接矩形得到,,從圖2(e)可見,由于采用了形態(tài)濾波,,即使草莓部分被莖葉遮擋,,也可以得到完整草莓候選區(qū)域。
3 基于深度卷積網(wǎng)絡(luò)的目標(biāo)識別定位
基于顏色先驗知識得到目標(biāo)候選區(qū)域后,,草莓機器手需要在候選目標(biāo)中挑選最符合要求的區(qū)域作為采摘的對象,。傳統(tǒng)做法是計算草莓的紋理特征,如共生矩陣等人工設(shè)計的特征向量,,而后訓(xùn)練支持向量機(SVM)作為分類器進行分類[3],,但人工設(shè)計的特征難以涵蓋草莓的多種形態(tài),因此SVM的分類效果較差,。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,,深度卷積網(wǎng)絡(luò)在圖像分類中展現(xiàn)出了極大的優(yōu)勢[6]:不需要人工定義特征;圖像的特征在學(xué)習(xí)的過程中自動提取出來,;隨著訓(xùn)練樣本的增加,,卷積網(wǎng)絡(luò)可以學(xué)習(xí)到精準(zhǔn)的目標(biāo)特征。
機器手獲取的圖像中草莓目標(biāo)較小,,因此本文在訓(xùn)練模型時,,先基于Cifar10數(shù)據(jù)集對卷積網(wǎng)絡(luò)進行訓(xùn)練,而后用訓(xùn)練得到的網(wǎng)絡(luò)參數(shù)初始化本文的卷積網(wǎng)絡(luò)。為了適應(yīng)Cifar10卷積網(wǎng)絡(luò)參數(shù),,在對候選目標(biāo)進行分類識別時,,先將候選目標(biāo)圖像縮放到標(biāo)準(zhǔn)尺寸32×32,具體步驟如下:
(1)用Cifar10數(shù)據(jù)集對卷積網(wǎng)絡(luò)進行預(yù)訓(xùn)練,;
(2)用步驟(1)得到的網(wǎng)絡(luò)參數(shù)初始化本文的卷積網(wǎng)絡(luò),,為了減少訓(xùn)練參數(shù),同時由于候選目標(biāo)較小,,本文所用卷積網(wǎng)絡(luò)與步驟(1)相比少了一層全連接層,;
(3)基于草莓樣本對步驟(2)初始化后的卷積網(wǎng)絡(luò)進行微調(diào);
(4)將基于顏色先驗知識分割得到的目標(biāo)候選區(qū)域輸入步驟(3)得到的卷積網(wǎng)絡(luò)進行識別,;
(5)選擇步驟(4)中識別概率最大的候選區(qū)域作為最終的定位結(jié)果輸出,。
本文采用的訓(xùn)練卷積網(wǎng)絡(luò)和識別卷積網(wǎng)絡(luò)如圖3所示。
本文所用的訓(xùn)練樣本和驗證樣本各取600張,,正負(fù)樣本各300張,,為了避免因樣本較少而導(dǎo)致的過擬合現(xiàn)象[7],先采用Cifar10數(shù)據(jù)集進行網(wǎng)絡(luò)訓(xùn)練,,用訓(xùn)練后的網(wǎng)絡(luò)參數(shù)來對圖3(a)的訓(xùn)練模型進行初始化,,再用本文所采集的樣本進行微調(diào)訓(xùn)練。由于文中所用樣本較少,,因此在用圖3網(wǎng)絡(luò)進行迭代訓(xùn)練時每次輸入10張正負(fù)隨機樣本,,迭代30次剛好覆蓋整個數(shù)據(jù)集。
由于草莓機器手采摘的草莓目標(biāo)必須滿足預(yù)設(shè)的草莓標(biāo)準(zhǔn),,因此本文訓(xùn)練時采用的草莓樣本都是符合設(shè)定標(biāo)準(zhǔn)的圖片,,而在負(fù)樣本中包括了大量不符合預(yù)設(shè)標(biāo)準(zhǔn)的負(fù)樣本圖片,如不完整草莓,、與草莓相似的植物,、草莓莖葉等,部分樣本如圖4所示,。
4 仿真結(jié)果與分析
為了驗證本文算法,,先用Cifar10數(shù)據(jù)集迭代訓(xùn)練10 000次[8],由于數(shù)據(jù)比較多,,為了提高訓(xùn)練速度,,訓(xùn)練時選取學(xué)習(xí)率為0.001,再用本文所用的訓(xùn)練樣本和驗證樣本對模型進行微調(diào),,由于本文樣本偏少,,因此學(xué)習(xí)率取0.000 1。Cifar10模型訓(xùn)練精度和損失曲線如圖5所示,,用本文數(shù)據(jù)進行微調(diào)后的模型精度和損失曲線如圖6所示,。
從圖5可見,,Cifar10訓(xùn)練100 00次后,精度可以達(dá)到0.73,,但這樣的精度無法適用于草莓機器手,。對網(wǎng)絡(luò)模型進行微調(diào)的訓(xùn)練結(jié)果如圖6所示,在經(jīng)過400次迭代后,,精度在本文的驗證樣本中即可以接近1.0,,而損失函數(shù)也在400次迭代后接近0,因此本文所用的微調(diào)模型完全可以達(dá)到草莓機器手所需要的精度,。
圖7中展示了兩幅草莓機器手采集的圖片經(jīng)過顏色分割并輸入圖3(b)卷積網(wǎng)絡(luò)識別后的輸出結(jié)果,。從圖中可以看到,識別的結(jié)果基本符合人對成熟草莓的主觀定義,,最符合主觀標(biāo)準(zhǔn)的識別結(jié)果甚至可以達(dá)到1.000 0,,即使存在多個符合人眼標(biāo)準(zhǔn)的候選區(qū)時,本文所提出的算法也可以給出客觀的打分排序,。對于圖中出現(xiàn)的粘連目標(biāo),,本文算法也可以分別給出客觀的識別結(jié)果。
本文算法基于C++語言實現(xiàn),,所運行平臺配置為:CPU為i5處理器,,內(nèi)存4 GB,所用GPU卡為Nvidia quadro k620,,顯存2 GB,。一幅分辨率為1 280×960的圖片顏色分割需要80 ms,對候選區(qū)域的識別需要320 ms,,因此,本文算法完全可以滿足草莓機器手的實時性要求,。
5 結(jié)束語
本文設(shè)計了一種基于顏色先驗知識和深度學(xué)習(xí)的草莓機器手識別算法,,經(jīng)過實驗驗證,本算法可以滿足機器手的精度和實時性要求,。但由于樣本有限,,對一些特殊樣本無法涵蓋,導(dǎo)致機器手偶然會出現(xiàn)定位失敗的情況,,后續(xù)可以通過適當(dāng)增加樣本規(guī)模來解決,。
參考文獻(xiàn)
[1] 徐世亮.農(nóng)業(yè)采摘機器人設(shè)計與研究[J].硅谷,2014,,156(12):21-22.
[2] 張凱良,,楊麗.高架草莓采摘機器人設(shè)計與試驗[J].農(nóng)業(yè)機械學(xué)報,2012,,43(9):165-171.
[3] 蘇慧嘉,,鄭繼明.結(jié)合游程長度與共生矩陣的圖像拼接篡改檢查方法[J].計算機科學(xué),,2017,44(6):150-154.
[4] 褚江,,陳強.自然圖像顏色空間統(tǒng)計規(guī)律性研究[J].計算機科學(xué),,2014,41(11):309-312.
[5] 周開軍,,周鮮成.基于多變量屬性分類的圖像形態(tài)濾波方法研究[J].儀器儀表學(xué)報,,2015,36(8):1735-1743.
[6] KRIZHEVSKY A,,SUTSKEVER I,,HINTON G E.ImageNet classification with deep convolutional neural networks[J].Advances in Neural Information Processing Systems,2012,,2:1097-1105.
[7] HENTSCHEL C,,WIRADARMA T P,SACK H.Fine tuning CNNS with scarce training data-Adapting imagenet to art epoch classification[C].IEEE International Conference on Image Processing,,2016,,8:3693-3697.
[8] 殷瑞,蘇松志,,李紹滋.一種卷積神經(jīng)網(wǎng)絡(luò)的圖像矩正則化策略[J].智能系統(tǒng)學(xué)報,,2016,11(1):43-48.
作者信息:
李艷文1,,崔 揚2,,李立新3
(1.哈爾濱工業(yè)大學(xué) 機電工程學(xué)院,黑龍江 哈爾濱150001,;
2.杭州電子科技大學(xué) 計算機學(xué)院,,浙江 杭州310018;3.中電??导瘓F,,浙江 杭州310012)