周 磊 龔征絳 費(fèi)煥強(qiáng) 陳 武 查 楊 喻擎蒼
(浙江理工大學(xué) 浙江杭州 310018)
嫁接機(jī)種類(lèi)主要有全自動(dòng)嫁接機(jī)、半自動(dòng)嫁接機(jī)及手動(dòng)嫁接機(jī)。全自動(dòng)嫁接機(jī)價(jià)格貴,難以推廣,而半自動(dòng)和手動(dòng)嫁接機(jī)自動(dòng)化程度較低,生產(chǎn)效率低下[1]。由于幼苗莖部較為脆弱,容易造成幼苗莖斷[2],因此,可利用機(jī)器視覺(jué)技術(shù),識(shí)別砧木苗狀態(tài),利用機(jī)器手從幼苗上方抓取幼苗的莖部[3],實(shí)現(xiàn)自動(dòng)取苗,提高嫁接機(jī)器人的嫁接速度和成功率。
視覺(jué)處理模塊由光源、攝像頭,樹(shù)莓派3B 開(kāi)發(fā)板等組成,見(jiàn)圖1。攝像頭安裝在裝置上方,考慮焦距6 mm、選擇視場(chǎng)角60.6°、500 萬(wàn)像素的排線(xiàn)攝像頭。
圖1 取苗裝置
瓜科砧木苗的參數(shù)提取主要包含以下流程:通過(guò)攝像頭實(shí)時(shí)采集圖像,根據(jù)顏色空間選取對(duì)圖像進(jìn)行多值化操作,將相同色彩參數(shù)的像素點(diǎn)連接起來(lái)形成連通域,根據(jù)連通域的內(nèi)外連接確定連通域間的關(guān)系,將圖像中較小連通域去除,即圖像去噪,提取連通域最外層,形成輪廓鏈,根據(jù)輪廓鏈點(diǎn)集計(jì)算最小外接圓,確定子葉的張開(kāi)角度,計(jì)算特征參數(shù)(圖2)。
圖2 參數(shù)提取流程圖
顏色空間的選取決定了多值化后圖像中像素點(diǎn)代表數(shù)值,因此,選擇合適的顏色空間尤為重要,通過(guò)樹(shù)莓派采集的圖像如圖3所示,可以看出兩圖片葉片亮度不一樣。因RGB 顏色空間不能反映顏色的具體信息,HSV 空間能夠直觀反映明暗、色調(diào)以及鮮艷程度,因此,選用HSV 顏色空間[4]。
圖3 采集的圖像
RGB與HSV顏色空間可通過(guò)公式進(jìn)行轉(zhuǎn)換:
利用滴管工具對(duì)圖3具有代表性的像素點(diǎn)進(jìn)行提取,利用轉(zhuǎn)換公式得到HSV 范圍,如表1 所示。結(jié)合表1與連通域形成區(qū)域的分析,提取葉面(邊緣)、葉面(內(nèi)部)、莖、莖白(內(nèi)部)、莖白(邊緣) 數(shù)據(jù),可知 H 值為 76°~145°,S值為 0.24~0.38,V為0.69~1.00的圖像處理結(jié)果最優(yōu)。對(duì)采集到的圖像利用參數(shù)區(qū)間處理,并與RGB 空間下對(duì)比,結(jié)果如圖4 所示,其中左側(cè)在RGB 空間下,右側(cè)在HSV 顏色空間下??梢钥闯鰠?shù)細(xì)化后,HSV空間得到的輪廓鏈較RGB空間下更完整,輪廓鏈更平滑,凸點(diǎn)更少[5]。
圖4 RGB與HSV顏色空間下圖像處理對(duì)照?qǐng)D
表1 像素點(diǎn)顏色空間轉(zhuǎn)化
子葉張開(kāi)角度是通過(guò)砧木苗兩片子葉端點(diǎn)計(jì)算得到[7],采用最小外接圓法可以得到砧木苗端點(diǎn)信息,使用opencv 中自帶的minEnclosingCircle法得到如圖5 所示結(jié)果。根據(jù)圖5 計(jì)算得到最小外接圓算法的平均耗時(shí)為92.5 ms。由于傳統(tǒng)最小外接圓算法使用的是四點(diǎn)確定一個(gè)圓的算法,該法雖然保險(xiǎn),但是運(yùn)算量過(guò)大,存在優(yōu)化空間。因此,本研究提出兩點(diǎn)確定最小外接圓方法[8]。
圖5 傳統(tǒng)最小外接圓算法處理結(jié)果圖
根據(jù)數(shù)學(xué)定理可知,兩個(gè)點(diǎn)若想確定一個(gè)圓,則一個(gè)點(diǎn)必須是圓心,另一個(gè)點(diǎn)與該點(diǎn)的距離是半徑。本研究?jī)牲c(diǎn)確定圓本質(zhì)上是找到輪廓鏈中距離最長(zhǎng)的兩點(diǎn)即直徑,兩點(diǎn)的中心為圓心,兩點(diǎn)距離的一半是半徑[9]。因此,本方法在數(shù)學(xué)意義上是可行的,流程圖如圖6所示:
圖6 兩點(diǎn)確定最小外接圓算法流程圖
為檢驗(yàn)優(yōu)化后最小外接圓算法與傳統(tǒng)方法時(shí)間效能及準(zhǔn)確性,分別從處理時(shí)間及2方法求端點(diǎn)進(jìn)行比較,圖7 為處理時(shí)間的比較。由圖7 可看出,優(yōu)化后最小外接圓算法耗時(shí)最多為13 ms,最少為9 ms,平均處理時(shí)間為11.3 ms,處理時(shí)間較為穩(wěn)定,而傳統(tǒng)最小外接圓算法耗時(shí)最多為112 ms,最少為59 ms,平均處理時(shí)間為77.6 ms,波動(dòng)較大。
圖7 優(yōu)化算法與傳統(tǒng)方法的處理時(shí)間比較
觀察圖7 中6 組實(shí)驗(yàn),第三幅圖的處理時(shí)間發(fā)生了突增,可以推斷輪廓鏈點(diǎn)集大小是影響傳統(tǒng)最小外接圓算法效率的一個(gè)因素[10]。因此,使用Opencv自帶的resize函數(shù),對(duì)同一張砧木苗圖像放大,并分別使用傳統(tǒng)最小外接圓算法與優(yōu)化最小外接圓算法處理,結(jié)果如圖8所示。
圖8 大數(shù)量點(diǎn)集兩者比較
當(dāng)輪廓鏈點(diǎn)集有732個(gè)點(diǎn)時(shí),兩算法處理時(shí)間差距比較明顯,分別為51、8 ms,并隨著點(diǎn)集的不斷增加,差距越來(lái)越大,本研究最大點(diǎn)集數(shù)為233 8,優(yōu)化算法處理時(shí)間為22 ms,而傳統(tǒng)算法時(shí)間為167 ms。因此,傳統(tǒng)外接圓算法的處理速度明顯慢于優(yōu)化外接圓算法。
比較傳統(tǒng)方法對(duì)應(yīng)的端點(diǎn)以及優(yōu)化算法計(jì)算出的端點(diǎn),傳統(tǒng)方法可以得到圓心,遍歷輪廓鏈中的點(diǎn)集,使得某兩點(diǎn)的坐標(biāo)滿(mǎn)足:(x-a)2+(y-b)2=r2,x∈ [0,639],y∈ [0,479],而優(yōu)化的算法可以直接得出端點(diǎn)信息,如表2所示:
表2 兩個(gè)算法取得的端點(diǎn)值誤差
運(yùn)用優(yōu)化外接圓算法,得到了左右端點(diǎn)A、B為 (xA,yA)、(xB,yB),如圖 9 所示。AB 線(xiàn)段的斜率可以表示為:利用反三角函數(shù),求出子葉的在該坐標(biāo)系下的張開(kāi)角度:θAB=arctan(kAB)。
圖9 砧木苗坐標(biāo)示意圖
根據(jù)子葉張開(kāi)角度,提取子葉的最長(zhǎng)截線(xiàn)寬度,如圖10所示。
圖10 垂直法求解最長(zhǎng)截線(xiàn)寬度圖
從大于A 的縱坐標(biāo)開(kāi)始遍歷輪廓,求取任意一點(diǎn)與A 點(diǎn)關(guān)于x 軸的夾角,以C 點(diǎn)作為假設(shè)點(diǎn)開(kāi)始計(jì)算。計(jì)算A 點(diǎn)與C 點(diǎn)間的歐式距離,記為ρ:通過(guò)反三角函數(shù)得出A 點(diǎn)與C 點(diǎn)關(guān)于x 軸方向的夾角,記為θ1:θ1=A點(diǎn)與B點(diǎn)關(guān)于x軸方向的夾角,即 子 葉 的 張 開(kāi) 角 度 , 記 為θ2:θ2=h=sin(θ-θ)*ρ。將輪廓鏈上每12個(gè)點(diǎn)對(duì)應(yīng)的h記錄下來(lái),記為{h1,h2…h(huán)m},對(duì)該集合使用快速排序法,得出h的最大值與此最大值,記 作hm、hm-1, 兩 點(diǎn) 坐 標(biāo) 分 別 對(duì) 應(yīng) 為 (xm,ym)、(xm-1,ym-1)。分別以這兩個(gè)坐標(biāo)點(diǎn)作為起點(diǎn),向AB做垂線(xiàn),得到以下垂線(xiàn)方程:將輪廓鏈上的點(diǎn)集{(x1,y1),(x2,y2)...(xi,yj)},i∈ [0,479],j∈ [0,639]通 過(guò) 計(jì) 算 得 到 的 點(diǎn) 記 作 (xl,yl)、(xl-1,yl-1), 取(xm,ym)與(xl,yl)間距離和(xm-1,ym-1)與 (xl-1,yl-1)間距離較大者就是最長(zhǎng)截線(xiàn)寬。
隨機(jī)選擇100個(gè)實(shí)驗(yàn)樣本,對(duì)比最小外接圓算法得出子葉張開(kāi)角度與實(shí)際張開(kāi)角度,其中表3為其中的四組實(shí)驗(yàn)結(jié)果,對(duì)誤差取絕對(duì)值,其最大誤差為0.64°,最小誤差為0.16°,平均誤差為0.42°,可以滿(mǎn)足計(jì)算子葉張開(kāi)角度的精度要求。
表3 子葉張開(kāi)角度誤差表
隨機(jī)選擇100個(gè)實(shí)驗(yàn)樣本,對(duì)比“垂直法”得到的最長(zhǎng)截線(xiàn)寬度與實(shí)際最長(zhǎng)截線(xiàn)寬度,表4中是隨機(jī)抽取的6 次實(shí)驗(yàn)結(jié)果,最大誤差為8 個(gè)像素,最小誤差為1個(gè)像素,平均誤差為3.6個(gè)。
表4 最長(zhǎng)截線(xiàn)寬度誤差表
通過(guò)研究機(jī)器視覺(jué)視角下砧木苗參數(shù)的提取,結(jié)果表明,子葉張開(kāi)角度和最長(zhǎng)截線(xiàn)寬度的求解精度都比較高,可以滿(mǎn)足下一步取苗需求。該方法可以應(yīng)用于自動(dòng)嫁接機(jī)中,使任何張開(kāi)角度的砧木苗被取苗后保持同一姿態(tài)。