劉祚時(shí),王亞平, 吳翠琴
(江西理工大學(xué),a.機(jī)電工程學(xué)院;b.電氣工程與自動(dòng)化學(xué)院,江西 贛州 341000)
臍橙作為贛南特色產(chǎn)業(yè),種植面積居世界之首,果實(shí)采摘是一項(xiàng)繁重的勞動(dòng).隨著人口老齡化,農(nóng)業(yè)勞動(dòng)人口不斷縮減,實(shí)現(xiàn)臍橙自動(dòng)化采摘是提高農(nóng)業(yè)自動(dòng)化,解決勞動(dòng)力不足的必然發(fā)展趨勢(shì)[1].在臍橙自動(dòng)化采摘過(guò)程中對(duì)空間果實(shí)準(zhǔn)確、實(shí)時(shí)定位是成功采摘的關(guān)鍵.
雙目視覺(jué)系統(tǒng)具有感知信息量豐富、全局性好、精度高、非接觸式測(cè)量等無(wú)可替代的優(yōu)勢(shì),已廣泛應(yīng)用于機(jī)器人導(dǎo)航、工業(yè)測(cè)量等方面[2-3].針對(duì)工作于自然環(huán)境下的采摘機(jī)器人目標(biāo)識(shí)別和定位,是近年來(lái)研究的熱門課題[4-7].采摘機(jī)器人是一個(gè)高實(shí)時(shí)系統(tǒng),其中識(shí)別定位是影響采摘機(jī)器人實(shí)時(shí)性的關(guān)鍵環(huán)節(jié).提高視覺(jué)定位系統(tǒng)的實(shí)時(shí)性與準(zhǔn)確性,進(jìn)而改善采摘機(jī)器人性能、提高作業(yè)效率是目前采摘機(jī)器人應(yīng)用推廣亟待解決的重要問(wèn)題.文中主要針對(duì)臍橙果實(shí)的快速識(shí)別、立體匹配和三維重建進(jìn)行了研究.采用游程編碼快速進(jìn)行連通區(qū)域標(biāo)記及區(qū)域形狀特征描述;結(jié)合臍橙表面紋理、果形區(qū)分度小的特點(diǎn),提出了臍橙采摘機(jī)器人目標(biāo)果實(shí)快速識(shí)別和定位方法,設(shè)計(jì)了非結(jié)構(gòu)環(huán)境下的雙目視覺(jué)快速定位系統(tǒng).為實(shí)時(shí)性場(chǎng)合下視覺(jué)定位提供了一種解決方案.
根據(jù)果實(shí)顏色與背景顏色有明顯的差異特點(diǎn),通過(guò)顏色分量特征關(guān)系進(jìn)行圖像分割.在不同光照條件下對(duì)自然生長(zhǎng)的果實(shí)進(jìn)行圖像采樣,在RGB顏色空間分析目標(biāo)和背景R、G、B分量值關(guān)系.圖像行采樣像素各顏色通道值如圖1(b).可見(jiàn)目標(biāo)果實(shí)與背景在色差模型2R-G-B下灰度對(duì)比度較大.2R-G-B色差模型灰度直方圖如圖1(c),具有明顯雙峰特點(diǎn),因此可設(shè)定閾值將目標(biāo)分離[8].為了對(duì)不同光照強(qiáng)度有更好的適應(yīng)性采用歸一化色差 (2R-G-B)/(2R+G+B)〈T 閾值分割. 取全局閾值T=0.29時(shí)分割效果如圖2(b).得到分割后的圖像經(jīng)過(guò)中值濾波濾除噪聲,轉(zhuǎn)化成二值圖像如圖2(c).對(duì)于部分果實(shí)存在粘連情況,將閾值分割后果實(shí)區(qū)域進(jìn)行顏色變換求取灰度圖像[9],再采用高斯-拉普拉斯算子提取出果實(shí)的邊界區(qū)域如圖 2(d).再將圖 2(d)與二值化圖像 2(c)或運(yùn)算可以較好將粘連果實(shí)分開(kāi)如圖2(e).最后通過(guò)3次3×3模板的形態(tài)學(xué)腐蝕和膨脹處理,去掉圖像中的噪聲和小孔洞,得到連通果實(shí)區(qū)域,如圖2(f).
圖1 目標(biāo)與背景各顏色通道分量與2R-G-B模型直方圖
圖2 目標(biāo)分割提取
由于采摘過(guò)程是逐個(gè)摘取果實(shí),因此要采用最優(yōu)采摘目標(biāo)策略選取優(yōu)先采摘對(duì)象.分割后的圖像呈現(xiàn)多個(gè)目標(biāo)連通區(qū)域,區(qū)域分析通常是圖像處理中耗時(shí)較長(zhǎng)的環(huán)節(jié).常用的區(qū)域分析方法有種子填充算法和兩步掃描法等,其都以像素為基本單元進(jìn)行分析,計(jì)算代價(jià)高、實(shí)時(shí)性差.游程編碼法[10]以游程為基本操作單元,連通區(qū)域分析基本單元由像素級(jí)轉(zhuǎn)到游程級(jí),提高了區(qū)域分析效率.文中采用游程編碼法對(duì)檢測(cè)到的果實(shí)連通區(qū)域進(jìn)行分析,只需一遍掃描即可完成區(qū)域標(biāo)記及形狀特征計(jì)算,具體步驟如下.
第1步,初始化游程結(jié)構(gòu)體數(shù)組,從左到右逐行掃描圖像,編碼記錄一行中游程的編號(hào)RLEi、行坐標(biāo) Ri、起止位置 Xi、Yi,以及將指針 Qi加入所鄰接的父游程(當(dāng)前游程上一行游程)所指向的根游程(首個(gè)父游程)鏈表.屬同一根游程的游程組成一個(gè)區(qū)域?qū)ο?
第2步,判斷當(dāng)前游程與父游程的鄰接關(guān)系,按四鄰域方向判斷重疊區(qū)域(K表示重疊像素?cái)?shù)),如圖3,有三種情況:?若與上一行游程都不鄰接(如RLE0),則創(chuàng)建新的根游程鏈接指針,并加入根游程鏈表;?若與上一行單鄰接(如RLE1與RLE0鄰接),則將該游程指針加入父游程的根游程指針鏈表;?若與上一行多個(gè)游程復(fù)鄰接 (如RLE3與RLE1、RLE2復(fù)鄰接),則將所鄰接的父游程對(duì)應(yīng)的根游程鏈表中的成員更新合并到其中編號(hào)最小根游程鏈表中,并將當(dāng)前游程指針加入合并后的根游程鏈表.
圖3 游程編碼示意圖
第3步,統(tǒng)計(jì)區(qū)域的面積S,周長(zhǎng)L、區(qū)域中心坐標(biāo)p(x,y)等特征參數(shù).往根游程鏈表中加入游程 RELi+1時(shí)區(qū)域特征如下式(1)~式(4):
通常小面積區(qū)域?yàn)樵肼暩蓴_、距離遠(yuǎn)和不在采摘范圍內(nèi)的果實(shí)圖像,所有行掃描完后,先去除這些小面積區(qū)域.再按公式(5)進(jìn)行區(qū)域圓度檢測(cè).
其中Si是區(qū)域的面積 (區(qū)域像素總數(shù)),Li為區(qū)域的周長(zhǎng)(區(qū)域邊界像素個(gè)數(shù)).Ci為區(qū)域的圓度,越接近1是表示區(qū)域形狀越接近圓形.將面積在預(yù)設(shè)定范圍內(nèi)的圓形區(qū)域標(biāo)記并加入堆棧.由于近距離目標(biāo)比遠(yuǎn)距離目標(biāo)成像大,外側(cè)無(wú)遮擋的果實(shí)圓度較好.以近距離、外側(cè)目標(biāo)優(yōu)先采摘的原則,選用優(yōu)先度函數(shù)如式(6).
其中γ為比例系數(shù).掃描整個(gè)區(qū)域后對(duì)堆棧內(nèi)區(qū)域按優(yōu)先度值Pi進(jìn)行排序,選擇優(yōu)先度最高的區(qū)域?yàn)椴烧繕?biāo),提取區(qū)域邊界,采用隨機(jī)圓環(huán)法[11-12]擬合求取目標(biāo)圓心坐標(biāo)和半徑參數(shù)如圖2(g).
立體匹配過(guò)程即找到左圖特定點(diǎn)在右圖中對(duì)應(yīng)的點(diǎn).傳統(tǒng)的匹配方法有基于區(qū)域匹配和基于特征匹配.基于區(qū)域匹配是以窗口內(nèi)灰度分布的相似性進(jìn)行判別圖像對(duì)吻合程度,匹配計(jì)算量大,實(shí)時(shí)性差.基于特征的匹配是根據(jù)目標(biāo)的特征點(diǎn),邊緣形狀等特征進(jìn)行匹配,具有匹配速度快,匹配精度高,但是特征匹配在尋找對(duì)應(yīng)匹配點(diǎn)時(shí)很可能存在多個(gè)候選點(diǎn)或匹配點(diǎn)不存在,容易出現(xiàn)誤匹配,如圖4.
圖4 視差范圍內(nèi)多候選匹配圖
文章利用形心特征點(diǎn)與鄰域灰度互相關(guān)性相結(jié)合的匹配算法,通過(guò)由粗到精實(shí)現(xiàn)目標(biāo)匹配.在形心特征點(diǎn)匹配過(guò)程中加以極線約束和視差范圍約束.左圖像中的點(diǎn)在右圖像中只在對(duì)應(yīng)的極線高度上搜索,考慮到畸變誤差,將垂直方向上搜索范圍限定在對(duì)應(yīng)極線高度的上下三個(gè)像素范圍內(nèi).在水平方向上搜索限定在機(jī)器人作業(yè)空間對(duì)應(yīng)有效視差范圍X-Dmax~X內(nèi),如圖4.在搜索區(qū)域內(nèi)的目標(biāo)中心點(diǎn)為候選匹配點(diǎn).針對(duì)搜索區(qū)域存在多候選匹配,容易出現(xiàn)誤匹配的情況,采用鄰域區(qū)域灰度相關(guān)性為唯一約束.文中采用光照強(qiáng)度適應(yīng)性較好的歸一化互相關(guān)性系數(shù)R(x,y),如式(7).
其中 P(x,y)為左圖中目標(biāo)中心點(diǎn)灰度,Q(x′,y′)為右圖對(duì)應(yīng)候選匹配點(diǎn)灰度,2M+1,2N+1為模板的高、寬.
匹配步驟如下:
步驟(1),在左圖選取采摘目標(biāo),以該目標(biāo)點(diǎn)中心P(x,y)建立9×9模板窗口,形心匹配加以極線約束視差約束,確定候選匹配點(diǎn) Q(x′,y′).
步驟(2),選取一個(gè)候選匹配點(diǎn),在它的15×15鄰域窗口內(nèi)移動(dòng)模板,搜索與左圖模板灰度分布相關(guān)性R(x,y)最高的匹配點(diǎn).
步驟(4),記錄最后匹配點(diǎn)對(duì)坐標(biāo)參與視差計(jì)算,若所候選匹配均不滿足,則匹配目標(biāo)不存在,轉(zhuǎn)至步驟(1)進(jìn)行下一目標(biāo)匹配.
攝像機(jī)模型采用小孔成像的線性模型,雙目攝像頭主軸平行設(shè)置,雙目模型如圖5所示.
圖5 雙目攝像機(jī)模型圖
其中f為攝像機(jī)的焦距,b為兩攝像機(jī)的基線長(zhǎng).P1(x1,y1)和 P2(x2,y2)為目標(biāo)點(diǎn) P 在兩成像平面內(nèi)的成像點(diǎn)坐標(biāo).通過(guò)三角測(cè)距原理可得目標(biāo)果實(shí)的三維空間坐標(biāo)點(diǎn) P(x,y,z)坐標(biāo)如式(10):
通過(guò)CMOS雙目攝像機(jī)實(shí)時(shí)獲取目標(biāo)信息,提取目標(biāo)果實(shí)的像素坐標(biāo);通過(guò)攝像機(jī)標(biāo)定獲的攝像機(jī)內(nèi)部參數(shù)外部參數(shù).根據(jù)成像原理計(jì)算果實(shí)在攝像機(jī)坐標(biāo)系的三維空間坐標(biāo),流程圖如圖6.
圖6 系統(tǒng)軟件流程圖
系統(tǒng)利用兩個(gè)型號(hào)相同Logitech QuickCam公司的pro5000 USB接口的CMOS攝像機(jī),分辨率1280×1024,視角 50°,焦距 8mm,圖像信息處理采用便攜式PC機(jī),其CPU為A6-3400M四核,主頻為2.4 GHz,內(nèi)存4 GB,windows7操作系統(tǒng).通過(guò)多角度棋盤標(biāo)定板拍攝20組圖像,采用Matlab標(biāo)定工具箱標(biāo)定[13],系統(tǒng)采用VC++結(jié)合OpenCV庫(kù)編程實(shí)現(xiàn)系統(tǒng)算法,開(kāi)發(fā)調(diào)試軟件界面如圖7.
圖7 定位軟件界面
實(shí)時(shí)性實(shí)驗(yàn).以常用的種子填充的區(qū)域分析算法[14]作參照對(duì)比,系統(tǒng)區(qū)域分析階段通過(guò)分別調(diào)用種子填充算子算法類和游程編碼算法類,對(duì)固定視深為300 mm和800 mm的植株果實(shí)目標(biāo)各做20組定位對(duì)比實(shí)驗(yàn),其中單目標(biāo)、多目標(biāo)各10組.測(cè)試系統(tǒng)完成一次定位過(guò)程的平均時(shí)間,對(duì)比試驗(yàn)結(jié)果如表1.
表1 算法運(yùn)行時(shí)間對(duì)比實(shí)驗(yàn)/s
定位精度實(shí)驗(yàn).為了驗(yàn)證系統(tǒng)的定位精度通過(guò)雙目攝像機(jī)隨機(jī)選取深度范圍在220~850 mm的200個(gè)不同位置的植株目標(biāo)果實(shí)進(jìn)行識(shí)別試驗(yàn),記錄實(shí)測(cè)坐標(biāo)和計(jì)算坐標(biāo).結(jié)果成功識(shí)別出果實(shí)188次,有8次漏識(shí)別(沒(méi)有檢測(cè)到果實(shí)),有4次誤識(shí)別(將背景當(dāng)作果實(shí)),部分實(shí)驗(yàn)數(shù)據(jù)如表2.
表2 部分實(shí)驗(yàn)數(shù)據(jù)
以上實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)定位單個(gè)果實(shí)時(shí)間為0.6 s左右,游程編碼法進(jìn)行區(qū)域特征分析相比以像素為基本單元的種子填充算法實(shí)時(shí)性更好,視野中有多目標(biāo)情況時(shí)實(shí)性優(yōu)勢(shì)更明顯.特征點(diǎn)與鄰域互相關(guān)性相結(jié)合匹配算法在提高匹配效率的同時(shí)保證了匹配精度.系統(tǒng)識(shí)別率達(dá)94%,在距離范圍220~850mm內(nèi)誤差小于12mm,可以較好滿足采摘機(jī)器人實(shí)時(shí)性和精度要求.該方法針對(duì)近距離、部分遮擋目標(biāo)果實(shí)有較好的定位效果,在嚴(yán)重遮擋情況下的果實(shí)定位還有待深入研究.
在果實(shí)目標(biāo)識(shí)別階段對(duì)連通區(qū)域通過(guò)游程編碼進(jìn)行區(qū)域標(biāo)記和區(qū)域特征參數(shù)檢測(cè).采用最優(yōu)采摘目標(biāo)策略,選取優(yōu)先采摘對(duì)象.采用形心特征點(diǎn)與鄰域灰度互相關(guān)性相結(jié)合的匹配法在提高了匹配速度的同時(shí)保證了匹配精度.視覺(jué)定位系統(tǒng)在機(jī)器人的工作空間內(nèi)能較好滿足精度和實(shí)時(shí)性要求.通過(guò)該定位系統(tǒng)研究也為其他視覺(jué)定位系統(tǒng)在實(shí)時(shí)性應(yīng)用場(chǎng)合應(yīng)用提供了一種參考解決方案.
[1]金衡模,高煥文,王曉燕.農(nóng)業(yè)機(jī)械自動(dòng)化的現(xiàn)狀與推進(jìn)模式[J].中國(guó)農(nóng)業(yè)大學(xué)學(xué)報(bào),2000,5(2):44-49.
[2]張慶君,胡修林,葉 斌,等.基于雙目視覺(jué)的航天器間相對(duì)位置和姿態(tài)的測(cè)量方法[J].宇航學(xué)報(bào),2008,29(1):156-161.
[3]Jiménez A R,Ceres R,Pons JL.A vision system based on a laser range-finder applied to robotic fruit harvesting[J].Machine Vision and Applications,2000,11(6):321-329.
[4]Arefi A,Motlagh A M,Mollazade K,et al.Recognition and localization of ripen tomato based on machine vision[J].Australian Journal of Crop Science,2011,5(10):1144.
[5]趙 鵬,趙德安.雙目立體視覺(jué)在果樹(shù)采摘機(jī)器人中的應(yīng)用[J].農(nóng)機(jī)化研究,2009,31(1):212-214.
[6]蔣煥煜,彭永石,應(yīng)義斌.雙目立體視覺(jué)技術(shù)在果蔬采摘機(jī)器人中的應(yīng)用[J].江蘇大學(xué)學(xué)報(bào),2008,29(5):377-380.
[7]Kondo N,Nishitsuji Y,Ling P P,et al.Visual feedback guided robotic cherry tomato harvesting[J].Transactions of the ASAE,1996,39(6):2331-2338.
[8]賴有華,葉海建.幾種閾值分割法在工程圖自動(dòng)識(shí)別中的應(yīng)用[J].江西理工大學(xué)學(xué)報(bào),2006,27(4):31-33.
[9]蔡健榮,周小軍,李玉良,等.基于機(jī)器視覺(jué)自然場(chǎng)景下成熟柑橘識(shí)別[J].農(nóng)業(yè)工程學(xué)報(bào),2008,24(1):175-178.
[10]胡 濤,郭寶平,郭 軒,等.基于改進(jìn)游程連通分析的快速目標(biāo)描述算法[J].光電工程,2009,36(2):116-121.
[11]司永勝,喬 軍,劉 剛,等.蘋(píng)果采摘機(jī)器人果實(shí)識(shí)別與定位方法[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2010,41(9):148-153.
[12]朱慶生,胡章平,劉 然,等.立體圖像對(duì)的極線校正 [J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(17):4027-4030.
[13]孫玉青,冀小平.Matlab標(biāo)定工具箱在攝像機(jī)定標(biāo)中的應(yīng)用[J].太原科技,2010,194(3):99-100.
[14]吳 潛,居太亮.應(yīng)用種子填充算法提取圖像的形狀特征[J].電訊技術(shù),2001,41(4):88-90.