王 濱,陳子嘯,傅隆生,蘇寶峰,崔永杰
(西北農(nóng)林科技大學(xué) 機械與電子工程學(xué)院,陜西 楊凌 712100)
?
基于Kinect傳感器的獼猴桃果實空間坐標(biāo)獲取方法
王濱,陳子嘯,傅隆生,蘇寶峰,崔永杰
(西北農(nóng)林科技大學(xué) 機械與電子工程學(xué)院,陜西 楊凌712100)
摘要:獼猴桃自動采摘機器人研究中,為了自動獲取目標(biāo)果實的空間坐標(biāo),提出了一種基于Kinect傳感器的獼猴桃果實空間坐標(biāo)獲取方法。首先利用Kinect傳感器的紅外投影機和紅外攝像機獲取深度圖像,利用彩色攝像機獲取RGB圖像,根據(jù)彩色圖和深度圖對應(yīng)關(guān)系,轉(zhuǎn)換成深度坐標(biāo);然后通過Map Depth Point To Skeleton Point函數(shù)得到以紅外攝像機為原點的坐標(biāo)系坐標(biāo)。實驗表明:該方法能夠有效獲取獼猴桃目標(biāo)果實的空間坐標(biāo),其定位誤差小于2mm。
關(guān)鍵詞:采摘機器人;獼猴桃;Kinect傳感器;深度圖像;空間坐標(biāo)
0引言
中國是世界上獼猴桃種植面積最大的國家,但目前獼猴桃主要依靠人工采摘,采摘自動化程度很低。隨著農(nóng)業(yè)勞動力的減少,農(nóng)業(yè)生產(chǎn)成本也相應(yīng)提高,降低了產(chǎn)品的市場競爭力[1]。隨著棚架式栽培模式的推廣普及,機械采摘的需求也越來越大。
收獲作業(yè)的自動化和機器人的研究始于20世紀(jì)60年代的美國,采用的收獲方式主要是機械震搖式和氣動震搖式;缺點是果實易損、效率不高,特別是無法進行選擇性的收獲。近年來,以日本、荷蘭、中國為代表的一些國家,在果蔬采摘機器人方面做了大量的研究工作,研制了多種果蔬采摘機器人。日本的果蔬采摘機器人研究始于1980年。Kawamura等人進行了番茄采摘機器人的研究,他們利用成熟番茄與背景顏色的差別,采用機器視覺對果實顏色進行判別進而進行定位,研制了番茄采摘機器人。日本岡山大學(xué)的Kondo N等人研制的番茄采摘機器人[2-4],由機械手、末端執(zhí)行器、行走裝置、視覺系統(tǒng)和控制部分組成,視覺傳感器主要由彩色攝像機來尋找和識別成熟果實,利用雙目視覺方法對目標(biāo)進行定位。荷蘭農(nóng)業(yè)環(huán)境工程研究所(IMAG) Van Henten等人研究開發(fā)了一種溫室黃瓜采摘機器人[5],該機器人利用近紅外視覺系統(tǒng)辨識黃瓜果實,并探測它的位置。英國Silsoe研究院研制了蘑菇采摘機器人[6],該機器人的視覺傳感器采用TV攝像頭,安裝在頂部,用來確定蘑菇的位置和大小,進而進行選擇性地進行采摘和修剪。在國內(nèi)方面:中國農(nóng)業(yè)大學(xué)劉剛等研究了應(yīng)用于蘋果采摘機器人的激光距離傳感器[7]。浙江大學(xué)趙德安研究了一種針對果實振蕩狀況下的收獲機器人快速采摘方法[8-9],該方法利用單目視覺進行果實位置的獲??;但該方法需要對同一個目標(biāo)在不同位置采集圖像,耗費時間過長,不利于機器人的快速識別與采摘。中國農(nóng)業(yè)大學(xué)李偉研發(fā)了黃瓜采摘機器人系統(tǒng)[10-11],采用雙目攝像機和輔助光源對目標(biāo)果實進行定位。中國農(nóng)業(yè)大學(xué)張鐵中等研制了茄子采摘機器人[12]]。綜上所述,目前的收獲機器人采用了不同的視覺系統(tǒng)對不同的果實進行識別與定位,但尚沒有針對獼猴桃果實采摘機器人視覺定位系統(tǒng)的研究。
本文以獼猴桃果實為研究對象,利用微軟公司的Kinect傳感器,進行了自動獲取獼猴桃目標(biāo)果實空間坐標(biāo)的研究。
1Kinect傳感器的工作環(huán)境
本文關(guān)于獼猴桃果樹的種植模式和果實物理特性的數(shù)據(jù)均在西北農(nóng)林科技大學(xué)獼猴桃實驗基地采集。圖1為獼猴桃果樹栽培模式,圖2為獼猴桃果實生長狀態(tài)。目前,獼猴桃果樹最普遍的種植結(jié)構(gòu)為棚架式,架子的上方用鐵絲構(gòu)成網(wǎng)格型結(jié)構(gòu),結(jié)構(gòu)規(guī)整,果枝沿鐵絲網(wǎng)生長,果實自然下垂。其架子之間橫向距離約為4m,縱向距離約為3m,果實成熟之后分布在鐵絲形成的棚頂上,高度分布在1.5~1.8m之間。圖1為獼猴桃果樹栽培模式,圖2為獼猴桃果實生長狀態(tài)。其中,圖2(a)為側(cè)面拍攝的獼猴桃圖像,圖2(b)為底部獲取。
圖1 獼猴桃果樹棚架式栽培模式
(a) 側(cè)面拍攝 (b) 底部拍攝
由圖2可知:從底部獲取的獼猴桃果實圖像中不存在相互遮擋現(xiàn)象,能夠較好地獲取獼猴桃果實的空間坐標(biāo),故采用Kinect傳感器從底部獲取獼猴桃果實的空間坐標(biāo)。
2Kinect傳感器
Kinect傳感器的整體結(jié)構(gòu)如圖3所示。其從左到右依次是紅外投影機、RGB攝像頭、紅外攝像機。紅外投影機能夠主動投射近紅外光譜,照射到粗糙物體或穿透毛玻璃后光譜發(fā)生扭曲,會生成隨機的反射光點(散斑),進而被紅外攝像機讀??;紅外攝像機能夠分析近紅外光譜,創(chuàng)建其可視范圍內(nèi)物體的深度圖像;RGB攝像頭拍攝可視范圍內(nèi)的彩色圖像。
圖3 Kinect傳感器硬件組成
Kinect傳感器受其硬件及軟件的影響,其深度圖像的獲取范圍如圖4所示。其以紅外投影機為中心上下角度范圍為43°,左右角度范圍為57°,攝像頭前方800~1 000mm是深度圖像的獲取范圍,在此范圍內(nèi)獲取的深度精度能夠達到毫米級。前文已經(jīng)提到獼猴桃果實高度分布在1.5~1.8m之間,故能夠滿足需要。
圖4 深度圖像的獲取范圍
基于Kinect Xbox的開發(fā)平臺主要有微軟的Kinect for Windows SDK和PrimeSense公司的OpenNI,本文采用的開發(fā)平臺是Kinect for Windows SDK;所用的計算機為ThinkPad T400,運行內(nèi)存2GB。
3空間坐標(biāo)獲取
獼猴桃果實空間坐標(biāo)獲取方法的流程如圖5所示。
圖5 空間坐標(biāo)獲取流程圖
首先,進行彩色圖像數(shù)據(jù)流與深度圖像數(shù)據(jù)流的注冊,利用Kinect傳感器分別獲取目標(biāo)果實的彩色圖像與深度圖像并對其進行優(yōu)化;然后,將優(yōu)化后的RGB圖像映射到深度圖像。再將建立映射之后的圖像加載到Kinect傳感器內(nèi)置的空間坐標(biāo)系,加載Map Depth Point To Skeleton Point函數(shù),獲取三維x、y、z坐標(biāo)判斷坐標(biāo)值是否在Kinect傳感器精度較高的范圍內(nèi):若在則輸出以紅外線攝像頭為原點的空間坐標(biāo);若不在則輸出距離超出范圍。
3.1深度圖像
由Kinect傳感器獲取的彩色圖像與深度圖像如圖6所示。
(a) 彩色圖像 (b) 深度圖像
雖然由深度圖像能夠得出獼猴桃與攝像頭之間的距離,但由圖6可以看出:單獨的深度圖像并不清晰,在曝光嚴(yán)重的區(qū)域往往形成大塊的白斑;白斑區(qū)域并不包含深度信息,且此時由深度圖像得到的深度信息不夠精確,也不能夠獲取坐標(biāo)信息。
3.2空間坐標(biāo)獲取
3.2.1像素坐標(biāo)及深度坐標(biāo)獲取
RGB圖像映射到深度圖像后得到獼猴桃果實的像素坐標(biāo)及深度坐標(biāo)。為獲取獼猴桃果實的空間坐標(biāo),需將使用Kinect傳感器最初得到的像素坐標(biāo)及深度坐標(biāo)經(jīng)過多次不同坐標(biāo)系之間的轉(zhuǎn)換,最終得到果實的真實世界坐標(biāo)。各坐標(biāo)系之間的轉(zhuǎn)換及其函數(shù)如圖7所示,真實世界坐標(biāo)系如圖8所示。獼猴桃果實的像素坐標(biāo)及深度坐標(biāo)獲取過程如下:通過MapColorFrameToDepthFrame函數(shù)將RGB攝像頭獲取到的彩色圖像映射到深度圖像,然后通過MapDepthPointToSkeletonPoint函數(shù)將建立映射之后的深度圖像映射到Kinect傳感器固有的骨骼坐標(biāo)系中。骨骼坐標(biāo)系的坐標(biāo)原點為紅外攝像機的中心,X-Y平面即為Kinect所在平面,Z軸垂直于Kinect傳感器所在的平面,即為鏡頭所對的方向。
3.2.2坐標(biāo)轉(zhuǎn)換
通過Kinect for Windows SDK所獲得的x、y是DepthMap的索引位置(x為column,y為row),深度值即為實際空間坐標(biāo)的z值,利用ConvertProjectToRealWorld函數(shù)將x、y轉(zhuǎn)為實際坐標(biāo)空間的x、y值,但此函數(shù)是不改變z值的。ConvertProjectToRealWorld函數(shù)的實現(xiàn)是通過單位換算得到的。
1)獲得視角值:獲取horizontal和vertical的視角值,即Kinect水平和垂直視角。
2)單位換算比例:α表示水平視角角度值,β表示垂直視角角度值,換算關(guān)系為
(1)
(2)
即得到了depthmap的寬度值w/高度值h與距離d的比值。
3)求出實際的x、y值,則有
NormailzedX=x/outputMode.nXRes-0.5
(3)
即深度圖像左側(cè)在x軸負(fù)方向,右側(cè)在x軸正方向,同樣有
NormailzedY=0.5-y/outputMode.nYRes
(4)
上側(cè)在y軸正方向,下側(cè)在y軸負(fù)方向,有
x=MormailizedX×Z×RealWorldXtoZ
(5)
y=MormailizedX×Z×RealWorldYtoZ
(6)
圖7 Kinect傳感器各坐標(biāo)系之間的轉(zhuǎn)換
圖8 真實世界坐標(biāo)系
3.2.3坐標(biāo)獲取
通過Button Screenshot函數(shù)加載按鈕點擊事件,點擊屏幕上獼猴桃果實的某一像素,通常選擇獼猴桃果實的中心位置,然后通過坐標(biāo)轉(zhuǎn)換獲取獼猴桃果實相對應(yīng)像素點的空間坐標(biāo)。獲取過程的分解如圖9~11所示。其3幅圖像分別為彩色圖像、深度圖像和獲取果實坐標(biāo)后的圖像。
圖9 獼猴桃果實彩色圖像
圖10 獼猴桃果實深度圖像
圖11 獲取的獼猴桃果實坐標(biāo)
其中,引線所示的A位置為選取的目標(biāo)像素點,下方為獲取的x、y、z坐標(biāo)值。獲取到的獼猴桃果實的空間坐標(biāo)將會被軟件寫入到Excel表格,如表1所示。
表1 存入到Excel表格中的一組坐標(biāo)
4實驗及分析
4.1實驗方法
為了得到本研究方法的坐標(biāo)精度,在實驗室內(nèi)進行了誤差實驗。實驗裝置如圖12所示。其中,Kinect傳感器固定在支架上,三坐標(biāo)微調(diào)實驗臺位于Kinect傳感器的正下方,果實固定在三坐標(biāo)微調(diào)實驗平臺上。如圖13所示,三坐標(biāo)微調(diào)實驗臺X、Y、Z3個方向的移動距離由千分尺調(diào)節(jié),調(diào)節(jié)精度為0.02mm。本次實驗選取獼猴桃果實20個,每個果實上5個標(biāo)記點,標(biāo)記點平均分布在果實底面,如圖14所示,共計100個標(biāo)記點。
圖12 試驗裝置圖
圖13 三坐標(biāo)微調(diào)實驗臺
圖14 5個標(biāo)記點的分布
試驗的具體步驟如下:
1)Kinect傳感器固定在支架上,位于三坐標(biāo)微調(diào)實驗臺和被測果實上方的1 000mm處。
2)在被測果實表面標(biāo)記5個點,并用Kinect傳感器分別獲取5點的三維坐標(biāo),計算差值。
3)調(diào)整三坐標(biāo)微調(diào)實驗臺,將其中一點移動到另外一點的位置,并記錄千分尺讀數(shù)。例如,首先用Kinect獲取1點與2點的坐標(biāo)位置,然后將點2移動到與點1重合的位置,記錄微調(diào)實驗臺三坐標(biāo)的移動距離,根據(jù)兩組數(shù)據(jù)的差值獲取誤差。圖14所示為1~5點的分布。
4)重復(fù)進行步驟3),通過多組千分尺讀取數(shù)據(jù)與Kinect傳感器測量所得數(shù)據(jù)之間的對比,得到Kinect傳感器測量的精度誤差。
4.2結(jié)果與分析
獲取坐標(biāo)的誤差分布如表1所示。由表1可知:在測量的100個坐標(biāo)點中誤差小于0.5mm的有38個,誤差在0.5~1.0mm之間的有41個,1.0~1.5mm之間的有18個,1.5~2.0mm之間的有3個,沒有出現(xiàn)誤差大于2mm的情況。由此可以看出:誤差基本上都在0~1.5mm之間,少數(shù)誤差在1.5~2.0mm之間,精度比較高;另外系統(tǒng)對于每個標(biāo)記點坐標(biāo)的獲取時間約為0.5s,反應(yīng)迅速,能夠滿足獼猴桃采摘機器人的設(shè)計要求。
表2 坐標(biāo)點誤差分布
5結(jié)論
1)針對現(xiàn)有的果蔬采摘機器人果實坐標(biāo)獲取系統(tǒng)或裝備存在的各種問題,根據(jù)獼猴桃果實生長環(huán)境和采摘機器人的作業(yè)要求,基于Kinect傳感器提出了一種自動獲取目標(biāo)果實空間坐標(biāo)的方法。
2)本研究方法獲取的獼猴桃目標(biāo)果實空間坐標(biāo)精度較高,誤差小于2mm,單個坐標(biāo)獲取時間約為0.5s,能夠滿足獼猴桃采摘機器人的設(shè)計要求。
3)獼猴桃果實的自動識別與空間坐標(biāo)獲取的結(jié)合,以及空間坐標(biāo)獲取與采摘機械臂、末端執(zhí)行器的集成將作為下一步的研究目標(biāo)。
參考文獻:
[1]崔永杰, 蘇帥, 王霞霞.基于機器視覺的自然環(huán)境中獼猴桃識別與特征提取[J].農(nóng)業(yè)機械學(xué)報, 2013, 44(5): 247-252.
[2]Monta M, Kondo N, Shibano Y. Agricultural robot in grape production system[C]//IEEE International Conference on Robotics and Automation,1995:2504-2509.
[3]Arima S,Kondo N.Cucumber harvesting robot and plant training system[J].Journal of Robotics and Mechatronics,1999,11(3):208-212.
[4]Kondo N,Monta M,F(xiàn)ujiura T. Fruit harvesting robot in Japan[J].Adv.Space Res,1996,18(1-2):181-184.
[5]E J van Henten, J Hemming, B A J van Tuijl,et a1.An Autonomous Robot for Harvesting Cucumbers in Greenhouses [J].Autonomous Robots,2002, 13(3):241-258.
[6]J N Reed, S J Miles, J Butler, et al.Automatic Mushroom Harvester Development[J].Journal of Agricultural Engineering Research,2001,78(1): 15-23.
[7]司永勝, 喬軍, 劉剛,等.蘋果采摘機器人果實識別與定位方法[J].農(nóng)業(yè)機械學(xué)報, 2010,41(9): 148-153.
[8]呂繼東, 趙德安, 姬偉.蘋果采摘機器人目標(biāo)果實快速跟蹤識別方法[J].農(nóng)業(yè)機械學(xué)報, 2014.,45(1): 65-72.
[9]呂繼東, 趙德安, 姬偉, 等.采摘機器人振蕩果實動態(tài)識別[J].農(nóng)業(yè)機械學(xué)報, 2012,43(5): 173-178,196.
[10]馮青春,袁挺,紀(jì)超,等.黃瓜采摘機器人遠近景組合閉環(huán)定位方法[J].農(nóng)業(yè)機械學(xué)報, 2011,42(2): 154-157.
[11]袁挺, 李偉, 譚豫之, 等.溫室環(huán)境下黃瓜采摘機器人信息獲取[J].農(nóng)業(yè)機械學(xué)報, 2009,40(10): 151-155.
[12]宋健, 孫學(xué)巖, 張鐵中.開放式茄子采摘機器人設(shè)計與試驗[J].農(nóng)業(yè)機械學(xué)報,2009, 40(1):143-147.
Abstract ID:1003-188X(2016)05-0232-EA
A Method of Acquiring Kiwi Fruit Coordinate in Space Based on Kinect
Wang Bin, Chen Zixiao,Fu Longsheng, Su Baofeng, Cui Yongjie
(College of Mechanical and Electric Engineering, Northwest Agricultural and Forestry University, Yingling 712100, China)
Abstract:Considering the problems to acquire spatial coordinates of fruit during Kiwi fruit picking robot harvesting, a method is proposed to obtain the spatial coordinates of kiwi fruit based Kinect. This method can obtain the Kiwifruit spatial coordinates accurately.Kinect infrared projector and infrared cameras was used to obtain the depth of image, and Color camera for RGB images. According to corresponding relationship between color and the depth image, the depth of the coordinate could be obtained. Then, map depth point to skeleton point function was used to get Spatial coordinate system coordinates for the origin of the infrared camera. Experiments show that this method can effectively obtain the spatial coordinates of kiwi fruit, positioning error less than 2mm.
Key words:harvesting robot; kiwi fruit; Kinect sensor; the depth of image; spatial coordinate
文章編號:1003-188X(2016)05-0232-05
中圖分類號:S233.5;TP399
文獻標(biāo)識碼:A
作者簡介:王濱(1992-),男,山東鄆城人,碩士研究生,(E-mail)wangbinedu@163.com。通訊作者:崔永杰(1971-),男(朝鮮族),吉林圖們?nèi)耍苯淌?,博士生?dǎo)師,(E-mail)cuiyongjie@nwsuaf.edu.cn。
基金項目:國家自然科學(xué)基金項目(61175099)
收稿日期:2015-04-28