胡 彬,王 超
(河南工業(yè)職業(yè)技術(shù)學(xué)院,河南 南陽 473000)
隨著網(wǎng)絡(luò)技術(shù)的不斷推廣和應(yīng)用的普及,加上多媒體數(shù)據(jù)獲取設(shè)備的不斷更新和升級(jí),圖像和視頻的數(shù)量開始飛速增長(zhǎng),多媒體數(shù)據(jù)的存儲(chǔ)和處理問題成為當(dāng)前研究的熱點(diǎn)。在采摘機(jī)器人進(jìn)行果實(shí)采摘時(shí),實(shí)際的作業(yè)環(huán)境往往會(huì)使待采摘果實(shí)自身運(yùn)動(dòng),造成較大的采摘誤差。為了提高機(jī)器人的采摘精度,擬將運(yùn)動(dòng)目標(biāo)實(shí)時(shí)跟蹤技術(shù)應(yīng)用到采摘機(jī)器人控制系統(tǒng)中,從而提高了機(jī)器人對(duì)作業(yè)環(huán)境的適應(yīng)能力。但是,采用這種方案會(huì)產(chǎn)生大量的實(shí)時(shí)檢測(cè)視頻和圖像數(shù)據(jù),為了提高圖像的處理速度,達(dá)到運(yùn)動(dòng)目標(biāo)實(shí)時(shí)定位的目的,本次擬將云計(jì)算和存儲(chǔ)技術(shù)引入到圖像處理系統(tǒng)中,以期得到快速圖像處理功能。
云計(jì)算和云儲(chǔ)存技術(shù)是一種新的IT資源提供模式,通過分布式和并行計(jì)算,可以為許多用戶提供網(wǎng)絡(luò)共享計(jì)算和存儲(chǔ)服務(wù)功能。Hadoop作為一個(gè)云平臺(tái)的基礎(chǔ)架構(gòu)被Apache基金會(huì)所研發(fā),用戶可以在不熟悉分布底層細(xì)節(jié)的情況下搭建分布式計(jì)算平臺(tái),其核心組件是分布式文件系統(tǒng)和MapReduce。分布式文件系統(tǒng)如圖1所示。

圖1 分布式文件系統(tǒng)
分布式文件系統(tǒng)可以隱藏負(fù)載均衡和冗余復(fù)制等細(xì)節(jié),適合部署在廉價(jià)的硬件資源上,實(shí)現(xiàn)了高吞吐量數(shù)據(jù)的訪問和大規(guī)模數(shù)據(jù)集服務(wù)功能,為上層提供了一個(gè)統(tǒng)一的文件系統(tǒng)的API應(yīng)用程序接口。
任務(wù)節(jié)點(diǎn)分配如圖2所示。其中,MapReduce表示兩種操作,包括map和reduce。其中,map是將輸入數(shù)據(jù)內(nèi)容進(jìn)行分解:reduce是將分解的內(nèi)容進(jìn)行整合,最終輸出。在進(jìn)行圖像處理時(shí),用戶將MapReduce任務(wù)發(fā)送給主節(jié)點(diǎn),然后云計(jì)算和存儲(chǔ)系統(tǒng)將任務(wù)分配給各個(gè)子節(jié)點(diǎn),從而實(shí)現(xiàn)并行處理。在采摘機(jī)器人進(jìn)行運(yùn)動(dòng)目標(biāo)捕捉過程中會(huì)產(chǎn)生大量處理圖像,采用一般的圖像處理器較難實(shí)現(xiàn)對(duì)實(shí)時(shí)視頻和圖像的處理;而采用云存儲(chǔ)思想的并行計(jì)算技術(shù),可以有效地提高圖像的處理速度,實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)跟蹤與捕捉。

圖2 任務(wù)節(jié)點(diǎn)分配
在實(shí)際采摘作業(yè)時(shí),待采摘果實(shí)在風(fēng)力等因素的影響下往往不是靜止的,因此采摘機(jī)器人在進(jìn)行果實(shí)目標(biāo)識(shí)別時(shí)需要考慮果實(shí)的實(shí)際運(yùn)動(dòng),對(duì)動(dòng)態(tài)目標(biāo)進(jìn)行追蹤。采摘機(jī)器人視覺系統(tǒng)對(duì)于動(dòng)態(tài)目標(biāo)的追蹤首先需要對(duì)待采摘目標(biāo)的運(yùn)動(dòng)進(jìn)行檢測(cè),從無線傳感器采集的圖像中將變化的區(qū)域序列從背景圖像中提取出來。其方法主要有3種,下面逐一介紹。
1)背景差分法。使用這種方法時(shí),運(yùn)動(dòng)區(qū)域的檢測(cè)可以利用背景和當(dāng)前圖像的差分來實(shí)現(xiàn)。首先,建立一個(gè)背景模型;然后,采集的新圖像和背景圖像進(jìn)行相減。如果像素差超過了設(shè)定的閾值,則判定為運(yùn)動(dòng)圖像并進(jìn)行鎖定,跟蹤其運(yùn)動(dòng)軌跡。
2)幀間差分法。幀間差法是利用兩幅相鄰圖像之間的差值來判斷物體的運(yùn)動(dòng)信息,從而可以有效地獲知運(yùn)動(dòng)目標(biāo)的位置和形狀等,并預(yù)測(cè)其運(yùn)動(dòng)軌跡,對(duì)運(yùn)動(dòng)目標(biāo)的捕捉和追蹤精度較高。
3)光流法。光流法是根據(jù)圖像灰度的變化預(yù)測(cè)運(yùn)動(dòng)目標(biāo)的瞬時(shí)速度,進(jìn)而預(yù)測(cè)其運(yùn)動(dòng)軌跡的一種方法。在理想狀態(tài)下,不需要場(chǎng)景信息就可以精確地計(jì)算出物體的運(yùn)動(dòng)速度; 但這種方法的計(jì)算較為復(fù)雜,對(duì)噪聲較為敏感,對(duì)計(jì)算機(jī)處理硬件也要求較高。
綜合比較以上方法,本次選用幀間差方法來實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤,運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)狀態(tài)可以通過其幀間重心的變化進(jìn)行預(yù)測(cè)。在運(yùn)動(dòng)狀態(tài)預(yù)測(cè)方面,本次研究選用了Klaman濾波算法。假設(shè)其狀態(tài)向量為

(1)
其中,mx(t)、my(t)分別表示t時(shí)刻待采摘目標(biāo)在采集圖像上的方向和位置;Δx′(t)、Δy′(t)分別表示運(yùn)動(dòng)時(shí)刻為t時(shí)待采摘目標(biāo)在x和y向上的瞬時(shí)速率;Δt表示時(shí)間間隔。因此,狀態(tài)方程可以表示為時(shí)間的線性狀態(tài)方程,即
X(t)=Φ(t)X(t-Δt)+ω(t-Δt)
(2)
具體為

(3)
其中,ω(t)是狀態(tài)誤差,其值為
ω(t)=?ωmx(t)ωmy(t)ωΔx′(t)ωΔy′(t)」T
(4)
其方差為
(5)
無線傳感器采集圖像信息時(shí)的量測(cè)方程為
Y(t)=H(t)X(t)+v(t)
(6)
(7)
其中,v(t)為采集測(cè)量誤差,取值為
v(t)=[vmx(t)vmy(t)]T
(8)
其方差分別為
(9)
在進(jìn)行運(yùn)動(dòng)目標(biāo)的預(yù)測(cè)時(shí),需要確定運(yùn)動(dòng)目標(biāo)的初試位置狀態(tài),可以選擇無線傳感器采集得到的第1幀作為運(yùn)動(dòng)目標(biāo)初始位置。假設(shè)通過預(yù)測(cè)得到的最終狀態(tài)為A點(diǎn)(xo,yo),則采摘機(jī)器人執(zhí)行末端的控制可以分為兩步:首先使采摘機(jī)器人執(zhí)行末端左右移動(dòng)Δx,使運(yùn)動(dòng)目標(biāo)的重心和末端在x軸上重合;然后使執(zhí)行末端上下移動(dòng)動(dòng)Δy,使運(yùn)動(dòng)目標(biāo)的重心和末端在y軸上重合。水平移動(dòng)的距離可以根據(jù)攝像機(jī)小孔成像的原理進(jìn)行推導(dǎo)計(jì)算,公式為
(10)
其中,dx表示像素的橫向物理尺寸。同理,經(jīng)過計(jì)算可以得到Δy的值。通過對(duì)采摘機(jī)器人執(zhí)行末端的控制,可以實(shí)現(xiàn)運(yùn)動(dòng)果實(shí)的采摘。
為了驗(yàn)證采摘機(jī)器人對(duì)運(yùn)動(dòng)目標(biāo)的識(shí)別和采摘作業(yè)性能,以輪式機(jī)器人平臺(tái)為載體,搭載了圖像采集裝置和無線傳感器設(shè)備,將采集到的圖像傳遞給圖像處理中心,如圖3所示。

圖3 基于無線傳感網(wǎng)絡(luò)的采摘機(jī)器人實(shí)驗(yàn)平臺(tái)
在圖像采集時(shí),由于果實(shí)目標(biāo)是運(yùn)動(dòng)的,會(huì)產(chǎn)生海量的圖像數(shù)據(jù),因此在圖像處理時(shí)采用了分布式并行計(jì)算云存儲(chǔ)系統(tǒng),從而有效地提高了實(shí)時(shí)圖像的處理速度。
圖4為本次選用的荔枝待采摘果實(shí)。由于果實(shí)的質(zhì)量較小,很容易被風(fēng)吹動(dòng),因此非常適合作為采摘機(jī)器人實(shí)驗(yàn)研究用的運(yùn)動(dòng)目標(biāo)。通過對(duì)運(yùn)動(dòng)目標(biāo)的追蹤,得到了如圖5所示的運(yùn)動(dòng)捕捉圖像。

圖4 待采摘運(yùn)動(dòng)果實(shí)

圖5 果實(shí)運(yùn)動(dòng)跟蹤圖像結(jié)果
本次采用第2節(jié)中的卡爾曼濾波算法對(duì)運(yùn)動(dòng)圖像進(jìn)行了采集,得到了多幀運(yùn)動(dòng)圖像,并對(duì)圖像最后運(yùn)動(dòng)軌跡進(jìn)行了預(yù)測(cè),得到了圖像跟蹤誤差,如圖6所示。
卡爾曼濾波作為一種遞推技術(shù),在時(shí)變序列圖像的運(yùn)動(dòng)分析中可以預(yù)測(cè)果實(shí)的運(yùn)動(dòng)軌跡。圖6為圖像跟蹤的誤差。通過對(duì)運(yùn)動(dòng)圖像狀態(tài)方程和預(yù)測(cè)方程的調(diào)整,可以使軌跡預(yù)測(cè)的誤差降低到最小。最后,通過對(duì)運(yùn)動(dòng)目標(biāo)的捕捉,得到了如圖7所示的結(jié)果。

圖6 圖像跟蹤誤差

圖7 運(yùn)動(dòng)目標(biāo)位置提取結(jié)果
最后,利用圖像邊緣檢測(cè)和處理技術(shù)得到了運(yùn)動(dòng)目標(biāo)的最終位置信息。圖像由A運(yùn)動(dòng)B,最終鎖定B處為采摘位置,并為采摘機(jī)器人采摘終端發(fā)出控制質(zhì)量,完成相應(yīng)的采摘?jiǎng)幼鳌?/p>
對(duì)荔枝運(yùn)動(dòng)目標(biāo)的識(shí)別準(zhǔn)確率和采摘成功率進(jìn)行了統(tǒng)計(jì),如表1所示。統(tǒng)計(jì)結(jié)果表明:采摘機(jī)器人對(duì)于運(yùn)動(dòng)果實(shí)目標(biāo)的成功識(shí)別率較高,并可以較好地完成采摘作業(yè)任務(wù),從而驗(yàn)證了方案的可行性。其中,云存儲(chǔ)技術(shù)保證了實(shí)時(shí)圖像的保存和處理速度,對(duì)于系統(tǒng)的實(shí)現(xiàn)起到了至關(guān)重要的作用。
表1 位置識(shí)別準(zhǔn)確率和成功采摘率測(cè)試
Table 1 The test of location recognition accuracy and successful picking rate

測(cè)試編號(hào)運(yùn)動(dòng)目標(biāo)識(shí)別準(zhǔn)確率/%成功采摘率/%193.191.3292.890.6395.592.5493.690.8593.291.6694.891.8
為了提高采摘機(jī)器人的定位精度和準(zhǔn)確采摘率,將動(dòng)態(tài)目標(biāo)捕捉技術(shù)引入到了采摘機(jī)器人控制系統(tǒng)中。為了實(shí)現(xiàn)圖像的高速處理,在系統(tǒng)中使用了基于Hadoop云存儲(chǔ)技術(shù)的圖像并行處理方案,從而實(shí)現(xiàn)了果實(shí)采摘過程中動(dòng)態(tài)果實(shí)圖像的定位和采摘。為了驗(yàn)證方案的可行性,以較小的荔枝果實(shí)采摘為研究對(duì)象,設(shè)計(jì)了一款具有圖像采集和無線圖像傳輸功能的采摘機(jī)器人,并在圖像處理系統(tǒng)中搭建了并行計(jì)算平臺(tái)。實(shí)驗(yàn)結(jié)果表明:圖像處理系統(tǒng)可以成功獲取運(yùn)動(dòng)圖像的最終位置,且采摘機(jī)器人具有較高的采摘準(zhǔn)確率,為現(xiàn)代采摘機(jī)器人的研究提供了有益的參考。