賈靖 趙暉 周磊 費(fèi)煥強(qiáng) 龔征絳 喻擎蒼
摘要:為了提升蔬菜自動嫁接機(jī)嫁接自動化程度,在嫁接過程中實(shí)現(xiàn)機(jī)器替代人眼進(jìn)行操作,基于機(jī)器視覺分析茄科幼苗輪廓鏈特征參數(shù)、幼苗輪廓鏈鏈角變化、跨距、水平截線寬度、幼苗估計(jì)苗莖及幼苗中心線斜率參數(shù),確定幼苗子葉、真葉和根部位置,根據(jù)幼苗輪廓特征結(jié)合曲線擬合確定切削點(diǎn)位置和切削角度,使用100幅蕃茄幼苗圖像進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)表明,基于機(jī)器視覺的幼苗切削參數(shù)特征識別及定位準(zhǔn)確率較高,幼苗輪廓鏈提取準(zhǔn)確為97%,切削點(diǎn)位置與切削角度確定的準(zhǔn)確率分別為93%和90%。因此基于機(jī)器視覺可以快速、準(zhǔn)確地確定切削點(diǎn)位置及切削角度,提高嫁接機(jī)嫁接過程中嫁接操作準(zhǔn)確率及幼苗成活率。
關(guān)鍵詞:機(jī)器視覺;輪廓提取;特征識別;切削點(diǎn);切削角度;曲線擬合
DOI: 10. 11907/rjdk.191477
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP301
文獻(xiàn)標(biāo)識碼:A
文章編號:1672-7800(2020)001-0025-07
0 引言
隨著現(xiàn)代城鎮(zhèn)化建設(shè)的不斷推進(jìn),農(nóng)村務(wù)農(nóng)人員逐漸減少,因此急需自動化設(shè)備緩解勞力不足的問題。機(jī)器視覺是一門涉及模式識別、人工智能、圖像處理等諸多領(lǐng)域的交叉學(xué)科。隨著農(nóng)業(yè)智能化發(fā)展,機(jī)器視覺技術(shù)越來越多地應(yīng)用于農(nóng)業(yè),提高了農(nóng)業(yè)生產(chǎn)效率和經(jīng)濟(jì)收益。近年來眾多學(xué)者開展了基于機(jī)器視覺的自動嫁接研究。呂谷來等[1]研究了機(jī)器視覺的砧木定位識別方法,可實(shí)現(xiàn)嫁接過程砧木抓取點(diǎn)和子葉方向的精確定位;上海交通大學(xué)機(jī)器人研究所開發(fā)了基于機(jī)器視覺的育苗穴盤定位與檢測系統(tǒng);王霞霞等[2]研發(fā)了基于機(jī)器視覺的嫁接用苗外觀特征自動檢測系統(tǒng),該系統(tǒng)可通過檢測幼苗的生長狀態(tài)、子葉參數(shù)和胚軸參數(shù)分析幼苗的外觀特征參數(shù),實(shí)現(xiàn)對幼苗外觀特征的自動檢測;徐立青等[3]基于機(jī)器視覺的嫁接幼苗特征識別方法,通過求取幼苗子葉方向、幼苗生長點(diǎn)位置以及子葉葉片面積等特征信息,實(shí)現(xiàn)了對瓜科幼苗的特征識別。
但現(xiàn)有方法未能使茄科蔬菜自動嫁接機(jī)在嫁接過程中剝離人工勞動,蔬菜嫁接機(jī)自動化成本較高[4]。本文基于機(jī)器視覺的方法,進(jìn)行蕃茄幼苗輪廓鏈特征參數(shù)研究,改進(jìn)幼苗輪廓鏈參數(shù)設(shè)定,以廉價(jià)的樹莓派作為機(jī)器視覺驅(qū)動平臺,實(shí)現(xiàn)幼苗輪廓鏈特征參數(shù)分析。
1 嫁接農(nóng)藝及輪廓鏈提取
1.1 茄科幼苗嫁接要求
如圖1、圖2所示,根據(jù)已有研究可知,砧木幼苗和接穗苗在執(zhí)行嫁接操作時,需先確定砧木幼苗和接穗苗的切削點(diǎn)位置位于真葉與子葉高度位置的1/2處,然后通過切削點(diǎn)位置繞莖桿中心線旋轉(zhuǎn)相應(yīng)角度[5-6.8,10,12]。因此在進(jìn)行嫁接作業(yè)時,需要確定4個關(guān)鍵參數(shù):根部位置、子葉位置、真葉位置、莖桿中心線斜率。
1.2 輪廓鏈參數(shù)特征分析
本部分主要研究分析茄科幼苗輪廓鏈、輪廓鏈鏈角及輪廓鏈跨距等特性[6]。輪廓鏈指掏空圖像目標(biāo)對象內(nèi)部的點(diǎn),然后將目標(biāo)圖象外部所有像素點(diǎn)連接起來組成連通區(qū)域;跨距是相對于整個輪廓鏈而言的,本文設(shè)置的跨距指在整個輪廓鏈長度所占的千分比;輪廓鏈鏈角指通過跨距參數(shù)設(shè)置形成的向量角,通過設(shè)置不同的跨距形成的輪廓鏈鏈角形態(tài)各不相同,對圖3選擇不同跨距時的鏈角變化如圖4所示。
2 幼苗切削點(diǎn)確定
2.1 水平截線寬度計(jì)算
如果僅通過對輪廓鏈鏈角和跨角等進(jìn)行研究,無法確定切削點(diǎn)和切削角度,還需參考蕃茄幼苗的子葉、真葉高度及根部位置,根部位置確定需要通過參考幼苗莖桿的水平截線寬度[7]。因此先介紹計(jì)算苗莖水平截線寬度的方法。以圖5為例,對圖4中水平截線寬度的計(jì)算方法為:
(1)設(shè)幼苗輪廓鏈的像素坐標(biāo)點(diǎn)為:
2.2 茄科幼苗苗徑估計(jì)
求解圖像中蕃茄幼苗輪廓鏈水平截線寬度后,利用水平截線寬度可以確定茄科幼苗的根部位置,但是如果利用水平截線寬度判斷蕃茄幼苗的切削角度,部分桿莖傾斜角度比較大的幼苗會出現(xiàn)很大誤差,為減少由于幼苗桿莖傾斜角度引起的實(shí)驗(yàn)誤差[8],提出改進(jìn)方法計(jì)算蕃茄幼苗桿莖的估計(jì)苗徑[9],根據(jù)圖像中蕃茄幼苗輪廓鏈像素點(diǎn)坐標(biāo),估計(jì)幼苗苗徑,方法如下:
(1)利用二次擬合法檢測幼苗桿莖的斜率,轉(zhuǎn)換圖像坐標(biāo)設(shè)定曲線擬合公式為:
2.3 幼苗根部位置確定
在進(jìn)行蕃茄幼苗輪廓鏈提取時,蕃茄幼苗根部位置附近的莖桿與土壤顏色相近,由于外界光線、嫁接平臺背景對光線的反射及根部與根系土壤包裹的松散引起土壤掉落到嫁接平臺等問題,導(dǎo)致在進(jìn)行蕃茄幼苗輪廓鏈提取時根部位置輪廓鏈的形態(tài)多樣[10],如圖6所示。
由于在采集圖像時幼苗輪廓鏈識別無法完全去除根部位置包裹土壤的輪廓鏈,所以無法通過蕃茄幼苗輪廓鏈像素坐標(biāo)的縱坐標(biāo)最大值實(shí)現(xiàn)對根部位置的判斷。通過對圖像中蕃茄幼苗估計(jì)苗莖寬度的計(jì)算,可以估計(jì)苗莖寬度,求得莖桿與根部土壤包裹連接點(diǎn)縱坐標(biāo),將該處作為根部位置的縱坐標(biāo),然后定義莖桿中心線對應(yīng)的橫坐標(biāo)與縱坐標(biāo),將該處定義為根部位置[11] 。圖5中蕃茄幼苗根部位置確定的具體實(shí)現(xiàn)方法如下所示:
步驟1:求解蕃茄幼苗輪廓鏈像素點(diǎn)的水平截線寬度。
步驟2:求水平截線寬度平均值。
步驟3:設(shè)定變量avg2,設(shè)置avg與avg2的數(shù)量關(guān)系消除比avg+2大的水平截線寬度,然后再算平均值,并將其賦值于avg2。
步驟4:迭代計(jì)算步驟(2)和(3),并設(shè)置迭代結(jié)束條件。
avg - avg2≤1
(17)
步驟5:輸出圖5中幼苗輪廓鏈,將根部位置以“+”標(biāo)識莖桿與土壤包裹的縱坐標(biāo),并以同樣的方式從上向下標(biāo)識頂端子葉與莖桿相接的縱坐標(biāo)確定幼苗莖桿區(qū)間。針對圖5中幼苗根部位置與莖桿區(qū)間的確定如圖7所示。
圖7是針對圖6圖像中幼苗根部位置及莖區(qū)間確定的標(biāo)識圖。確定根部算法時分別從上向下和從下到上計(jì)算標(biāo)記莖桿的零界點(diǎn),以標(biāo)識幼苗莖桿區(qū)間,并標(biāo)記蕃茄幼苗的莖桿與根部土壤包裹的零界點(diǎn)為根部位置[12]。在確定蕃茄幼苗根部位置時,由于多次處理幼苗時根部土壤掉落于嫁接平臺,掉落的根部土壤影響幼苗根部位置的確定。
3 幼苗輪廓參數(shù)特征研究
根據(jù)蔬菜自動嫁接機(jī)的嫁接農(nóng)藝要求,蕃茄幼苗的切削點(diǎn)定位于幼苗子葉與真葉高度位置的1/2處[13]。為精準(zhǔn)確定蕃茄幼苗切削點(diǎn)位置及切削角度,本文通過對根部位置、子葉和真葉位置特征參數(shù)的分析[14],在自然光線下識別提取100張蕃茄砧木幼苗的輪廓鏈,根據(jù)前文對幼苗根部位置的確定方法,分別討論蕃茄幼苗真葉位置、子葉位置、切削點(diǎn)位置和切削角度的研究方法。
3.1 幼苗真葉位置確定
以圖4為研究對象確定真葉參考點(diǎn)C的位置,分析真葉位置的輪廓鏈鏈角變化,再采集圖像中的像素坐標(biāo)、真葉水平截面寬度及真葉鏈角與根部位置鏈角的關(guān)系。根據(jù)根部位置A與真葉參考點(diǎn)C的輪廓鏈鏈角正負(fù)差異性及真葉位置輪廓鏈鏈角的范圍,通過調(diào)節(jié)輪廓鏈參數(shù)跨距并結(jié)合根部位置的鏈角正負(fù),利用真葉處鏈角與根部位置鏈角相反的原則,確定真葉位置的輪廓鏈鏈角范圍為[15°,50°] u[-50°,-15°],其真葉處鏈角值的正負(fù)取決于根部位置鏈角角度的正負(fù)。通過對圖4中蕃茄幼苗輪廓鏈設(shè)置不同跨距參數(shù),確定真葉位置如圖9所示。
3.2 幼苗子葉及切削點(diǎn)位置確定
為確定子葉參考點(diǎn)B的位置,首先明確子葉參考點(diǎn)B必定位于參考真葉參考點(diǎn)C與要根部位置A之間,然后計(jì)算從根部位置到真葉參考點(diǎn)C之間蕃茄幼苗莖桿輪廓鏈寬度[15],即根據(jù)提取出的莖桿輪廓鏈像素坐標(biāo),將圖像坐標(biāo)中同一水平軸上x的最大值與最小值做差以判斷子葉參考點(diǎn)B的位置,并參考真葉參考點(diǎn)C和根部位置A進(jìn)行位置確定[16],其中,設(shè)定根部位置A與真葉位置C的坐標(biāo)分別為:
根據(jù)根部位置點(diǎn)A、真葉參考點(diǎn)D和子葉參考點(diǎn)位置B,分析蕃茄砧木幼苗外形特征子葉與真葉之間莖桿所占像素點(diǎn)個數(shù),依據(jù)蔬菜嫁接機(jī)嫁接農(nóng)藝的要求,計(jì)算幼苗縱坐標(biāo)方向像素點(diǎn)個數(shù)為真葉參考點(diǎn)C與子葉參考點(diǎn)B 1/2處的像素點(diǎn)個數(shù),然后根據(jù)縱坐標(biāo)值確定幼苗中心線位置的橫坐標(biāo),從而確定蕃茄幼苗切削點(diǎn)位置為:
3.3 幼苗切削角度
基于前文對蕃茄幼苗輪廓鏈特征參數(shù)的分析,根據(jù)蔬菜自動嫁接機(jī)嫁接農(nóng)藝的要求,在確定切削位置之后,需要確定切削點(diǎn)的切削角度[17]。嫁接農(nóng)藝要求幼苗的切削角度為繞幼苗切削點(diǎn)中心線斜率逆時針旋轉(zhuǎn)15°,為確定切削角度,首先求得幼苗桿莖的斜率,然后通過調(diào)節(jié)切削機(jī)構(gòu)使切削裝置旋轉(zhuǎn)適當(dāng)角度,調(diào)節(jié)幼苗切削角度。
試驗(yàn)中針對幼苗中心線及中心線斜率的問題,通過使用最小二乘法多項(xiàng)式曲線擬合的方法擬合蕃茄幼苗中心線的斜率[18],根據(jù)角度為90°時正切值為無窮大的特性,通過變換圖像坐標(biāo)系實(shí)現(xiàn)對幼苗中心線斜率的擬合,其實(shí)現(xiàn)步驟為:
(1)根據(jù)曲線擬合方法使偏差平方和最小。
以圖3中蕃茄幼苗為例,依據(jù)水平截線寬度確定子葉位置(見圖10)。按照公式(22)比較根部位置點(diǎn)A與真葉參考點(diǎn)D之間莖桿水平截線寬度,確定子葉參考點(diǎn)B位置。在圖像坐標(biāo)系中控制縱坐標(biāo)不變,然后計(jì)算根部與真葉位置間輪廓鏈的水平截線寬度,根據(jù)幼苗子葉參考點(diǎn)B輪廓鏈提取時相對莖桿輪廓會有小塊突起的特點(diǎn),通過計(jì)算真葉與根部位置之間的輪廓鏈水平截線寬度確定子葉參考點(diǎn)B的位置。
根據(jù)幼苗中心線的定義與OpenCv算法,在圖像中畫出幼苗的中心線,并利用公式(24)-(32)曲線擬合的方法實(shí)現(xiàn)3次擬合中心線的斜率,再利用OpenCv算法和最小二乘法多項(xiàng)式二次曲線,擬合圖6中蕃茄幼苗的中心線及擬合曲線,結(jié)果如圖12所示。
圖12中黑色曲線為3次擬合中心線,其中白線表示幼苗中心線,根據(jù)幼苗估計(jì)苗莖的定義計(jì)算蕃茄幼苗中心線。將圖像中幼苗中心線所有坐標(biāo)點(diǎn)作為3次擬合的輸入坐標(biāo)[19],變換圖像坐標(biāo)的橫縱坐標(biāo)以擬合中心線斜率。試驗(yàn)表明,圖7中幼苗中心線斜率的擬合曲線如圖12中的黑色曲線所示,嫁接農(nóng)藝要求蕃茄幼苗的切削角度為中心線斜率加15°,所以幼苗中心線斜率曲線擬合精確性的提高是必然的。
3.4 切削點(diǎn)準(zhǔn)確率影響實(shí)驗(yàn)
3.4.1 幼苗子葉位置確定問題
本試驗(yàn)中根據(jù)根部位置、真葉參考點(diǎn)確定幼苗子葉參考點(diǎn),其依據(jù)是根部位置及真葉位置之間水平截線寬度最大值或是突起小塊[20]。但是在試驗(yàn)中由于多次對不同幼苗的拎取,導(dǎo)致幼苗根部土壤掉落于嫁接平臺,背景會影響子葉位置的確定。
如圖13所示,按照確定子葉位置的方法確定圖13中子葉位置時可能出錯,被確定的子葉可能是掉落于嫁接平臺背景上的土壤。子葉位置確定錯誤會影響切削點(diǎn)位置的確定,從而降低切削點(diǎn)位置與切削角度確定的準(zhǔn)確率。因此需定期清理嫁接平臺背景,以保證試驗(yàn)識別切削點(diǎn)位置及切削角度的準(zhǔn)確性。
另外,利用蕃茄幼苗輪廓鏈特征參數(shù)分析子葉參考點(diǎn)B的位置時,由于光線和背景等因素的影響,導(dǎo)致幼苗子葉顏色發(fā)生偏差,或因子葉自然掉落,在識別幼苗時可能出現(xiàn)識別的幼苗無子葉、有一個子葉無法識別、有兩個子葉但是無法全部識別或是零識別的情況,對于以上現(xiàn)象的分析如圖14所示。
圖14中幼苗受光線和背景等外界因素的影響,識別時幼苗子葉輪廓鏈像素點(diǎn)太少,可能導(dǎo)致在試驗(yàn)過程中無法確定子葉的準(zhǔn)確位置。對于子葉缺失問題通過改進(jìn)算法可能無法解決,需在蕃茄幼苗種植過程中加強(qiáng)對幼苗的養(yǎng)護(hù)[21],使幼苗子葉不掉落或設(shè)置嫁接平臺外界光線為固定光源以進(jìn)行圖像采集及處理。
3.4.2 某穴盤槽有多棵幼苗的問題
在提取幼苗輪廓時,除確定子葉位置時可能存在問題外,還可能存在其它影響試驗(yàn)準(zhǔn)確率的因素,如當(dāng)某個穴盤槽中蕃茄幼苗有多個時,利用本文的機(jī)器視覺方法可能無法確定其切削點(diǎn)位置及切削角度,無法實(shí)現(xiàn)對幼苗輪廓鏈的識別與提取,由于不能確定根部位置、子葉、真葉、切削點(diǎn)位置和切削角度,從而切削點(diǎn)位置確定與切削角度準(zhǔn)確率會受到影響。