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

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

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

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

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

圖3 基于無線傳感網絡的采摘機器人實驗平臺
在圖像采集時,由于果實目標是運動的,會產生海量的圖像數據,因此在圖像處理時采用了分布式并行計算云存儲系統,從而有效地提高了實時圖像的處理速度。
圖4為本次選用的荔枝待采摘果實。由于果實的質量較小,很容易被風吹動,因此非常適合作為采摘機器人實驗研究用的運動目標。通過對運動目標的追蹤,得到了如圖5所示的運動捕捉圖像。

圖4 待采摘運動果實

圖5 果實運動跟蹤圖像結果
本次采用第2節中的卡爾曼濾波算法對運動圖像進行了采集,得到了多幀運動圖像,并對圖像最后運動軌跡進行了預測,得到了圖像跟蹤誤差,如圖6所示。
卡爾曼濾波作為一種遞推技術,在時變序列圖像的運動分析中可以預測果實的運動軌跡。圖6為圖像跟蹤的誤差。通過對運動圖像狀態方程和預測方程的調整,可以使軌跡預測的誤差降低到最小。最后,通過對運動目標的捕捉,得到了如圖7所示的結果。

圖6 圖像跟蹤誤差

圖7 運動目標位置提取結果
最后,利用圖像邊緣檢測和處理技術得到了運動目標的最終位置信息。圖像由A運動B,最終鎖定B處為采摘位置,并為采摘機器人采摘終端發出控制質量,完成相應的采摘動作。
對荔枝運動目標的識別準確率和采摘成功率進行了統計,如表1所示。統計結果表明:采摘機器人對于運動果實目標的成功識別率較高,并可以較好地完成采摘作業任務,從而驗證了方案的可行性。其中,云存儲技術保證了實時圖像的保存和處理速度,對于系統的實現起到了至關重要的作用。
表1 位置識別準確率和成功采摘率測試
Table 1 The test of location recognition accuracy and successful picking rate

測試編號運動目標識別準確率/%成功采摘率/%193.191.3292.890.6395.592.5493.690.8593.291.6694.891.8
為了提高采摘機器人的定位精度和準確采摘率,將動態目標捕捉技術引入到了采摘機器人控制系統中。為了實現圖像的高速處理,在系統中使用了基于Hadoop云存儲技術的圖像并行處理方案,從而實現了果實采摘過程中動態果實圖像的定位和采摘。為了驗證方案的可行性,以較小的荔枝果實采摘為研究對象,設計了一款具有圖像采集和無線圖像傳輸功能的采摘機器人,并在圖像處理系統中搭建了并行計算平臺。實驗結果表明:圖像處理系統可以成功獲取運動圖像的最終位置,且采摘機器人具有較高的采摘準確率,為現代采摘機器人的研究提供了有益的參考。