趙德超, 彭 力
(江南大學 物聯(lián)網(wǎng)工程學院, 江蘇 無錫214122)
移動機器人實時目標跟蹤系統(tǒng)設(shè)計與實現(xiàn)*
趙德超, 彭 力
(江南大學物聯(lián)網(wǎng)工程學院,江蘇無錫214122)
針對單目視覺移動機器人目標跟蹤的實時性和魯棒性要求,提出了基于Kalman濾波器的改進Camshift算法檢測和定位目標。將Kalman預測值作為目標初始位置,補償攝像頭和目標相對運動導致的目標在圖像中的偏移。在系統(tǒng)“跟丟”后判斷目標丟失的原因,根據(jù)原因自適應(yīng)拓展搜索窗口作為Camshift算法的下一幀初始搜索窗口。為了驗證改進算法的有效性,自主研制了一種應(yīng)用該算法的履帶式機器人實時目標跟蹤系統(tǒng)。實驗結(jié)果表明:該系統(tǒng)具有很好的魯棒性和實時性。
目標跟蹤; Camshift算法; Kalman濾波器; 搜索窗口
目前,基于視覺的目標跟蹤機器人在災區(qū)救援、火星探測、工業(yè)領(lǐng)域均具有很大應(yīng)用前景[1~3]。移動目標跟蹤算法有很多,然而目前很多算法是基于分離背景和目標的方式,如背景減除法[4],但是若背景不斷快速變化將導致目標跟蹤丟失。Daniilidis K[5]提出了采用添加攝像頭運動補償?shù)墓饬鞣?,實現(xiàn)對背景的過濾,但算法實現(xiàn)復雜,計算量較大且精度受硬件結(jié)構(gòu)的影響。因此,大多基于視覺的目標跟蹤機器人利用基于顏色特征的目標跟蹤算法[6,7],如Bradski G R[8]提出了的 Camshift算法。但傳統(tǒng)Camshift算法容易受到相似顏色背景干擾,目標快速移動導致跟蹤丟失和目標丟失后系統(tǒng)可能會無法復原。文獻[9,10]提出了多特征融合目標跟蹤算法,抑制相似背景干擾。王鑫等人提出了基于粒子濾波的Camshift算法,能夠克服相似背景干擾的影響。
本文提出了基于Kalman濾波器預測值作為目標搜索初始值,提高跟蹤的實時性和適應(yīng)快速移動的目標。針對目標跟丟問題,判斷目標丟失原因,根據(jù)丟失原因自適應(yīng)擴展搜索窗口,使目標能夠再次被定位,提升系統(tǒng)的魯棒性。設(shè)計了一個能夠執(zhí)行目標跟蹤任務(wù)的履帶式機器人實時目標跟蹤系統(tǒng),并驗證了算法的有效性。
自主研制的機器人實時目標跟蹤系統(tǒng)平臺,分成3層結(jié)構(gòu)模型,分別為應(yīng)用層、網(wǎng)絡(luò)層和感知控制層。
感知控制層由Raspberry 3B+模塊(內(nèi)置WiFi,Arduino模塊,ANC C230攝像頭和多個測距傳感器等組成,實現(xiàn)實時圖像信息的獲取和上傳、圖像處理結(jié)果的獲取、傳感器信息的采集和小車的運動控制。即將實時采集的視頻經(jīng)壓縮后上傳至本地視頻服務(wù)器,并接收上位機處理后的視頻信息。控制器結(jié)合超聲波采集的距離信息和應(yīng)用層反饋的目標在圖像中位置信息,實施相應(yīng)的控制策略。
網(wǎng)絡(luò)層由WiFi,Internet和4G網(wǎng)絡(luò)等目前比較普遍的網(wǎng)絡(luò)通信構(gòu)成,可以實現(xiàn)在多種環(huán)境下的設(shè)備通信,在該網(wǎng)絡(luò)下應(yīng)用層和感知控制層可以實現(xiàn)高速穩(wěn)定的信息交換。
應(yīng)用層用來接收感知控制層發(fā)送的圖像信息,并將處理后結(jié)果通過網(wǎng)絡(luò)傳輸至感知控制層。系統(tǒng)圖像處理部分工作在Windows 7下Visual Studio+Opencv平臺,運行跟蹤算法對圖像中的目標進行跟蹤,分析目標在圖像中的位置信息,將處理結(jié)果通過網(wǎng)絡(luò)層送到感知控制層。其他終端設(shè)備如智能手機,Pad等可以通過訪問網(wǎng)頁的形式實時監(jiān)控感知控制層上傳的視頻信息。
在移動跟蹤平臺搭載嵌入式設(shè)備,采用V4l2視頻開發(fā)框架讀取攝像頭圖像,文中攝像頭的圖像格式Y(jié)UV420,將其壓縮成JPG格式的圖片,上傳至本地視頻服務(wù)器MJPG-Streamer。應(yīng)用層將從該服務(wù)器接口讀取視頻信息,并將圖像處理結(jié)果發(fā)回至該跟蹤平臺。平臺將融合圖像處理結(jié)果和測距傳感器獲取的距離信息,采用雙閉環(huán)PID控制器調(diào)制PWM輸出驅(qū)動電機,調(diào)整跟蹤小車的位姿,實現(xiàn)目標實時自動跟蹤,并與目標保持設(shè)定的位姿關(guān)系。
Camshift算法是基于HSV顏色模型的顏色直方圖的核密度估計算法,其跟蹤流程如下:
1)首先手動選擇圖像中的矩形目標區(qū)域,均勻劃分目標區(qū)域為n個顏色區(qū)間構(gòu)成灰度直方圖,得到目標模型的qu概率密度(u=1,2,…,n),表示為
(1)
(2)
(3)
2)根據(jù)目標模型的概率密度將下一幀圖像進行反向投影,得到概率密度灰度圖。將第t-1幀目標中心的位置yt-1和搜索區(qū)域作為第t幀搜索窗口的初始中心和區(qū)域,計算當前幀的候選目標區(qū)域直方圖。候選模型的概率密度pu(yt),u=1,2,…,n為
(4)
式中h為核函數(shù)窗口大小,決定權(quán)重分布,其他參數(shù)同式(1)~式(3)。
3)移動窗口的中心到窗口的質(zhì)心,使窗口中心逐漸逼近目標的中心位置,循環(huán)迭代直到最后一次移動的距離小于閾值或者到最大迭代次數(shù)為止。設(shè)yt(x,y)為第t幀圖像的反向投影圖在(x,y)處的像素值,x和y變化的范圍為搜索窗口范圍,分別定義窗口的零階矩和一階矩如下
(5)
計算搜索窗口質(zhì)心
yt(xc,yc)=(M10/M00,M01/M00)
(6)
4)完成目標搜索后,自適應(yīng)調(diào)整搜索窗口的長軸w,短軸l和搜索窗口的旋轉(zhuǎn)角θ,將調(diào)整后的搜索窗口作為下一幀初始搜索窗口。
(7)
(8)
(9)
2.2.1 基于Kalman濾波器Camshift跟蹤算法
由于均值漂移算法的推導過程中假設(shè)了一個目標點在連續(xù)兩幀中偏移量較小的前提,即偏移量不能超過核函數(shù)的帶寬[11]。系統(tǒng)的任務(wù)決定了目標在圖像平面移動快速,傳統(tǒng)Camshift跟蹤算法可能會跟蹤失敗。引入Kalman濾波能夠很好地解決該問題。目標在圖像平面內(nèi)運動狀態(tài)方程描述如下
(10)
(11)
本文基于Kalman濾波器的改進的Camshift跟蹤算法,對每幀圖像得到的當前搜索窗口的位置進行修正,將Kalman濾波器預測值作為下一幀搜索窗口的初始值,有效地克服了在跟蹤過程中,目標快速移動部分遮擋和少量相似背景顏色的干擾等問題,Kalman運行例流程如圖1所示。
圖1 kalman濾波器流程
2.2.2 目標丟失時自適應(yīng)調(diào)整目標搜索窗口大小
當搜索窗口面積Area 對于原因(2),目標從攝像頭視覺范圍內(nèi)消失的過程中目標會漸漸地被壓扁并且目標中心坐標會逐漸趨近于圖像的邊緣。判斷條件如下 (12) 式中AreaT為目標消失位置窗口面積閾值;cols和rows分別為圖像的分辨率;xc,yc分別為目標中心坐標。以上4個不等式分別表示目標從圖像x軸和y軸方向消失。調(diào)整搜索窗口策略如下 yt+1(xc,yc)=yt(xc,yc) (13) 式中yt+1和yt分別為下一幀和當前幀初始搜索窗口中心;wt+1和wt分別為下一幀和當前幀初始搜索窗口的寬度;ht+1和ht分別為下一幀和當前幀初始搜索窗口的高度。 排除原因(2)即認為原因(1)導致目標丟失,根據(jù)當前幀初始搜索窗口的直方圖概率模型、目標模板的Bhattacharyya系數(shù)B0和前10幀搜索窗口與模板的Bhattacharyya系數(shù)的均值Ba,調(diào)整搜索窗口策略如式(14)。如果調(diào)整搜索窗口后,仍找不到目標,將保持第一次丟失前搜索窗口位置和大小不變,等待目標再次出現(xiàn)在視野中重新被定位。 (14) 綜上,改進的Camshift算法流程如圖2所示。 圖2 改進的Camshift算法流程 實驗平臺為自主研制3層架構(gòu)模型的機器人實時目標跟蹤系統(tǒng),實物如圖3所示。 圖3 跟蹤平臺實物 如圖4所示,跟蹤帶有紅色標記的移動小車,用b標識的橢圓框表示基于Kalman濾波最優(yōu)估計得到的目標位置,用a標識的橢圓框表示基于Camshift跟蹤得到的目標位置。從結(jié)果中可以看出,利用本文提出的基于Kalman濾波最優(yōu)估計修正Camshift跟蹤位置,能夠獲得更完美的跟蹤狀態(tài)。 圖4 跟蹤結(jié)果 為了證說明本文設(shè)計的Kalman濾波器對目標運動基于速度不變的模型性相比于傳統(tǒng)Camshift算法基于位置不變的運動模型的精確性,本文設(shè)計了如下實驗:目標以100 mm/s的速度垂直于跟蹤小車的運動方向做勻速運動。分別計算Kalman濾波器對下一幀預測位置和當前目標的Camshift得到的位置與下一幀實際位置預測誤差,定義如下 (15) 式中x'k,y'k分別為第k幀的預測值位置;(xk,yk)為第k幀目標的實際位置;(xc,yc)為圖像中心坐標。如圖5,給出了Kalman預測位置誤差和傳統(tǒng)Camshift預測位置誤差。 圖5 目標位置預測誤差 可知,Kalman預測位置誤差小于傳統(tǒng)Camshift算法。說明基于Kalman濾波器目標位置預測能夠更加逼近于實際目標位置,減少迭代次數(shù),從而提升Camshift運算速度及跟蹤的實時性。表1給出了系統(tǒng)時間性能指標。 表1 算法實時性能 為了驗證改進的算法對快速運動目標的適應(yīng)性,比較傳統(tǒng)Camshift算法和本文提出算法對快速運動目標的跟蹤效果,過程如圖6和圖7。從圖中可以看出,傳統(tǒng)Camshift算法在跟蹤快速移動的目標時,由于相鄰兩幀圖像目標位移過大導致目標跟丟。而改進的算法對目標下一幀窗口位置進行Kalman預測,提高兩幀目標的關(guān)聯(lián)性,從而能夠跟蹤快速移動的目標。 圖6 Camshift 算法目標跟蹤結(jié)果 圖7 改進算法目標跟蹤結(jié)果 圖8所示,當目標快速移動超出攝像頭拍攝圖像的視野,跟蹤機器人會根據(jù)丟失前對目標運動的預測自適應(yīng)調(diào)整小車的位姿,使目標能夠再次出現(xiàn)在攝像頭視野內(nèi),并再次跟蹤目標,提高了系統(tǒng)的魯棒性。 圖8 目標丟失及重新跟蹤過程 為了進一步說明所設(shè)計的跟蹤平臺能夠有效地跟蹤目標,圖9和圖10給出了目標勻速直線運動和勻速圓周運動,140 s以后目標停止運動三種狀態(tài)的目標跟蹤過程中,跟蹤小車與目標的實際距離和圖像中目標中心位置偏離圖像中間的像素點值(xc-160)。其中xc=cols/z圖像的分辨率為rows×cols。跟蹤平臺的跟蹤距離設(shè)定值為70 cm,偏離中心位置設(shè)定值為0 像素。由圖可知,設(shè)計的跟蹤平臺在跟蹤不同運動狀態(tài)的目標過程中,始終能夠平滑的調(diào)整位姿,實現(xiàn)快速跟蹤,且在目標停止運動時,能夠快速收斂于設(shè)定位姿。 圖9 目標直線運動過程中相對位姿 圖10 目標圓周運動過程中相對位姿 本文基于自主研制的小車目標跟蹤系統(tǒng),采用提出的基于Kalman濾波的改進的Camshift算法,能夠克服目標快速移動部分遮擋和少量相似背景顏色的干擾問題,提出的自適應(yīng)調(diào)整搜索窗口方案能夠極大程度提升系統(tǒng)的穩(wěn)定性和魯棒性。經(jīng)實驗表明:設(shè)計的目標跟蹤系統(tǒng),實時性好,穩(wěn)定性好,跟蹤精度高,能夠適應(yīng)快速移動目標的跟蹤。但是當背景有相似顏色干擾時,系統(tǒng)不能很好的區(qū)別背景和目標,導致跟蹤精度下降或者目標丟失,這也是下一步工作需要解決的問題。 [1] Anderson G T,Tunstel E W,Wilson E W.Robot systemto search for signs of life on Mars[J].IEEE Transactions on Aerospace and Electronic Systems,2007,22(12):23-30. [2] Ksenia S,John K T.Visual search for an object in a 3D environment using a mobile robot[J].Image vision Comput,2010,114(5):537-547. [3] 胡桂林,流波峰,何玉成.基于遺傳算法的Canny邊緣檢測算子在配藥機器人中的應(yīng)用[J].傳感器與微系統(tǒng),2013,32(7):141-143. [4] Bouwmans T.Recent advanced statiscal back ground modeling for foreground detection a systematic survey[J].Recent Patents on Computer Science,2011,4(13):147-176. [5] Daniilidis K,Krauss C,Hansen M,et al.Real-time tracking of moving objects with an active camera[J].Real-Time Imaging 1998,4(1):3-20. [6] Kassir M M,Palhang M.A region-based Camshift tracking with a moving camera[C]∥2014 The Second RSI/ISM International Conference on In Robotics and Mechatronics(ICRoM),IEEE,2014:451-455. [7] 耿盛濤,劉國棟.一種穩(wěn)健的移動機器人目標跟蹤算法[J].傳感器與微系統(tǒng),2011,30(6):112-116. [8] Bradski G R.Real-time face and object tracking as acomponent of a perceptual user interface[C]∥Proceedingof IEEE Workshop on Applications of Computer Vision,Princeton,NJ,USA,1998, IEEE Computer Society,1998:214-219. [9] 王 璐,崔益安,蘇 虹,等.移動機器人的運動目標實時檢測與跟蹤[J].計算機工程與應(yīng)用,2015,15(33):30-33. [10] 施 瀅,高建坡,崔 杰,等.分塊多特征自適應(yīng)融合的多目標視覺跟蹤[J].傳感器與微系統(tǒng),2015,34(9):128-131. [11] 虞 旦,韋 魏.基于單目視覺的移動機器人跟隨[J].儀器儀表學報,2010,31(3):659-664. [12] 徐一鳴,陸 觀,顧菊平.基于N-LBP紋理與色度信息的Camshift跟蹤算法[J].計算機科學,2015,42(6):313-317. Designandimplementationofreal-timetargettrackingsystemforrobot* ZHAO De-chao, PENG Li (SchoolofIoTEngineering,JiangnanUniversity,Wuxi214122,China) Aiming at real-time and robustness requirement of target tracking requirement of mobile robot using monocular camera,an improved target tracking Camshift algorithm based on Kalman filter.To compensate the offset of the object appearring in the image sequences caused by camera and object relatively moving,use the Kalman predicted value as target initial position.When the object is lost from the tracking system,analyze the reasons at once.And accordingly,the size of search window is expanded adaptively,which act as the initial search window of next frame of Camshift algorithm.An real-time target tracking system for robot is developed to verify the effectiveness of the proposed algorithm.Experimental results show that the target tracking system using the proposed algorithm is capable of good real-time characteristic,and robustness. target tracking; Camshift algorithm; Kalman filter; search window 10.13873/J.1000—9787(2017)12—0087—04 TP 242 A 1000—9787(2017)12—0087—04 2016—09—30 國家自然科學基金資助項目(61203147,61374047,61403168) 趙德超(1992-),男,碩士研究生,主要研究方向為智能系統(tǒng)與模式識別,E—mail:254266718@qq.com。彭 力(1967-),男,通訊作者,博士研究生,教授,主要從事視覺傳感器網(wǎng)絡(luò)、人工智能及計算機仿真的研究工作,E—mail:pengli@jiangnan.edu.cn。3 實驗結(jié)果與分析
4 結(jié) 論