杜玉紅,劉賢超,劉大維,劉伯豪
(1.天津工業(yè)大學 機械工程學院,天津300387;2.天津工業(yè)大學 天津市現(xiàn)代機電裝備重點實驗室,天津300387)
移動機器人目標跟隨是機器人研究中的重要課題之一,在諸多領域都有著廣泛應用。移動機器人可以搭載視覺、超聲波、激光等傳感器,應用于工廠環(huán)境、街道環(huán)境、室內環(huán)境等多種場景之中[1-5]。
目標跟蹤算法是移動機器人跟隨系統(tǒng)的核心基礎。在目標跟蹤算法中常采用判別模型方法,而判別模型方法中,基于相關濾波的跟蹤算法由于性能優(yōu)越且計算速度快,因而被廣泛應用[6]。Bolme等[7]提出了最小均方誤差濾波器(MOSSE),得到目標區(qū)域的樣本圖像,訓練目標外觀模型,計算候選區(qū)域的相似度。Hernriques等[8]提出了循環(huán)結構的檢測跟蹤(CSK)算法,引入核函數(shù)將分類器變?yōu)榉蔷€性分類器。Henriques等[9]又在CSK的基礎上提出了核相關濾波算法(kernel correlation filter,KCF),使用HOG特征代替CSK算法的灰度特征,并使用高斯核函數(shù)優(yōu)化運算。Li等[10]提出了一種基于特征融合的尺度自適應核相關濾波(SAMF)算法,在KCF算法的基礎上加入了顏色特征,并使用7個尺度的尺度金字塔方法進行尺度更新。Danelljan等[11]提出了判別尺度空間相關濾波(DSST)算法和快速判別尺度空間相關濾波(fast discriminative scale space tracking,fDSST)算法,使用平移濾波器檢測目標位置,再單獨訓練一個尺度濾波器檢測尺度變化。由于加入了尺度自適應的環(huán)節(jié),SAMF算法、DSST算法和fDSST算法的精度均有所改善,但是由于一些干擾因素的影響,可能會發(fā)生錯誤的尺度更新,并且在目標被遮擋的情況下沒有應對措施。
本文針對辦公大廳中的人物目標容易出現(xiàn)尺度變化大、遮擋和形變等問題,在性能和實時性都表現(xiàn)出色的核相關濾波(KCF)算法基礎上,提出了一種基于模型與尺度高置信度更新策略的核相關濾波(OURS)算法,以期在解決上述問題的同時保持較高的運行速度,并將OURS算法應用于移動機器人跟蹤系統(tǒng)中,實現(xiàn)對行人目標的實時跟隨任務。
移動機器人跟蹤系統(tǒng)主要由3個部分組成:目標跟蹤、目標測距、人物跟隨。移動機器人平臺如圖1所示。圖1(a)為系統(tǒng)結構,機器人平臺型號為DashGo D1,視覺傳感器為Kinect V2。
圖1 移動機器人平臺Fig.1 Mobile robot platform
目標跟蹤階段,在Kinect采集到的彩色圖像中,框選人物目標,初始化OURS算法,對行人進行實時目標跟蹤。目標測距階段,在Kinect深度圖像中,獲取跟蹤框內的深度信息,得到機器人與行人之間的距離Dd。人物跟隨階段,通過差速驅動的方式控制機器人運動,根據(jù)跟蹤框在視野中的位置,調整機器人角速度,使人物目標保持在視野中央;根據(jù)距離Dd,調整機器人線速度,使Dd保持在dmin到dmax的距離范圍內。移動機器人運動幾何模型如圖1(b)所示。為保證機器人能夠快速地跟隨上目標,線速度vt的大小通過行人與機器人的距離Dd來調整:
式中:V為速度控制參數(shù)。
KCF算法作為模型濾波器檢測目標的位置變化,但是跟蹤框大小始終不變,無法應對目標尺度發(fā)生變化的情況。因此,采用fDSST算法中一維快速判別尺度空間的方法作為尺度濾波器,檢測尺度變化。模型濾波器在目標周圍提取圖像塊作為模型訓練樣本,尺度濾波器在模型訓練的樣本中等比例截取S張大小不同的圖像塊,進行壓縮并訓練尺度樣本。
目標模型檢測階段,在新一幀圖像中,提取圖像塊z,圖像塊的中心為上一幀圖像的目標位置,通過式(2)計算響應值。
目標尺度檢測階段,通過在壓縮樣本上應用濾波器,獲得樣本在zt處的相關性得分:
得到目標最新的位置和尺度,然后對模型濾波器和尺度濾波器進行更新,繼續(xù)下一幀檢測。
核相關濾波算法在目標被完全遮擋時也會更新模型,導致目標圖像的特征被污染,造成模型漂移。本文采用卡爾曼濾波來記錄目標運動的狀態(tài)信息,當目標被完全遮擋時,預測目標的位置。
本文提出了一種新的置信度標準T,結合平均峰值相關能量(APCE)[12-14]對遮擋的情況進行判斷,提高模型置信度判斷的魯棒性,如式(4)、式(5)所示。
式中:Fmax、Fmin分別為式(2)中模型檢測響應圖中的最大值和最小值;Fw,h為響應圖中(w,h)位置處的值。
采用OTB測試集[15-16]中的Jogging1視頻序列進行模型檢測,該序列在65幀到78幀為遮擋狀態(tài),其他幀為正常狀態(tài)。圖2為核相關濾波算法在模型檢測時得到的相關響應圖,在一定程度上反映了跟蹤結果的置信度。
圖2 核相關濾波算法響應圖Fig.2 Corresponding response map of KCF algorithm
由圖2可知,置信度標準可以對式(2)中檢測得到的相關響應圖的好壞進行描述。當跟蹤算法檢測到的目標與正確目標非常吻合時,響應圖中只有一個尖峰且其他區(qū)域是平滑的,如圖2(b)所示。否則,整個響應圖將劇烈波動,與正常的響應圖明顯不同,如圖2(d)所示。
通過式(2)計算視頻序列中目標實際位置處的每一幀響應結果,并計算各幀APCE值和T值。視頻序列Jogging1中各幀APCE值和T值如圖3所示。
由圖3可知,在目標被遮擋時,APCE的值明顯下降。置信度標準T在響應圖情況較好時,穩(wěn)定在較低的水平,而對響應圖情況較差時的敏感度非常高,在目標被遮擋時,T值大幅升高。APCE值和T值在進入遮擋時的數(shù)值變化情況如表1所示。
表1 APCE值和T值在進入遮擋時的數(shù)值變化情況Tab.1 Numerical changes of APCE values and T values when entering occlusion
由表1可知,APCE的值在第65幀開始明顯降低,而T值在第70幀開始明顯升高。目標在65幀到69幀之間處于部分遮擋狀態(tài),OURS算法可以跟蹤上目標。若過早的判斷為遮擋狀態(tài),會使卡爾曼濾波預測的目標狀態(tài)信息誤差變大;若過晚的判斷為遮擋狀態(tài),則會引入過多的環(huán)境雜質信息。因此,需要對APCE和T的閾值進行合理調整,保證最佳的跟蹤效果。
對于人物目標發(fā)生形變、部分遮擋的情況,目標模型置信度判斷并不會停止模型更新和尺度更新。為了提高OURS算法的魯棒性,針對形變和部分遮擋時的跟蹤情況進行了研究。
經過前兩節(jié)的改進后,核相關濾波算法在視頻序列basketball中的跟蹤效果如圖4所示。
圖4 第4幀、第25幀和第83幀跟蹤結果Fig.4 Tracking results for frame 4,frame 25 and frame 83
由圖4可知,當目標發(fā)生部分遮擋和形變時,雖然可以跟蹤到目標,但是跟蹤框發(fā)生了錯誤的尺度更新,導致了過分強調局部特征的問題。尤其是針對人物目標,在發(fā)生錯誤尺度更新后非常影響跟蹤精度。
為避免發(fā)生錯誤的尺度更新,本文提出采用置信度標準T對尺度檢測結果進行判斷。當式(3)中檢測到的尺度與目標模板極其匹配時,響應峰值較高,離散程度越小。視頻序列第4幀、第25幀和第83幀的33個尺度對應的響應值如圖5所示。
圖5 尺度響應對比圖Fig.5 Comparison chart of scale response
由圖5可知,與第4幀相比,第25幀、第83幀的尺度響應曲線更加離散,峰值更低,說明尺度更新情況不理想,容易導致錯誤的尺度更新。對于式(3)計算的尺度響應,由于響應矩陣中的值比較少,因此,直接采用T作為尺度置信度的標準。圖5中第4幀、第25幀和第83幀的T值分別為7.31、11.35和11.18,相差較大,可以使用T值作為置信度的判斷標準。當T的值大于設定的閾值δ時,停止尺度更新,避免跟蹤框由于部分遮擋、形變等因素發(fā)生錯誤的尺度更新,從而避免模型漂移或過分強調局部特征的問題。
OURS算法運行流程如圖6所示。OURS算法第一幀初始化目標模板,訓練模型檢測濾波器和尺度檢測濾波器。在后續(xù)幀中,首先對模型檢測的結果進行置信度判斷,若置信度低于閾值,則啟動卡爾曼濾波器預測目標位置,若置信度高于閾值,則檢測尺度的響應值。當尺度檢測置信度高時,進行尺度更新,否則直接進行模型更新。按照上述流程直到跟蹤完成后,結束跟蹤算法。
圖6 OURS算法流程框圖Fig.6 Flow chart of OURS algorithm
仿真實驗所用的開發(fā)環(huán)境為Matlab2016b,計算機配置為Intel Core(TM)i5-4590 CPU,主頻3.30 GHz,內存8 GB。位置置信度標準的參數(shù)γ和λ為0.293和2.04。當APCE<0.293×并且T>2.04×T時,目標模型進行更新。尺度響應置信度的閾值δ為9.75,當T小于9.75時,目標尺度進行更新。
為驗證算法應對遮擋問題和尺度變化問題的適應能力,使用改進的OURS算法和KCF、fDSST算法進行對比實驗。在OTB測試集中針對行人目標的視頻序列跟蹤效果的對比結果如圖7所示,性能結果如表2所示。
圖7 人物目標視頻序列中的跟蹤效果對比Fig.7 Comparison of tracking effect of human target video sequences
由圖7可知:
(1)視頻序列Jogging1中,在沒有出現(xiàn)遮擋的情況時,3種算法都可以穩(wěn)定的對目標進行跟蹤。然而在目標被遮擋之后KCF算法和fDSST算法丟失了目標,OURS算法仍然可以框住目標。由表2可知,在視頻序列Jogging1中,OURS算法的精度和成功率分別為97.1%和96.4%,相比KCF和fDSST算法,OURS算法應對遮擋的能力顯著提升。
(2)視頻序列Walking2中,視頻中人物隨著幀數(shù)的增加尺度越來越小,KCF算法跟蹤框的大小始終不變,導致引入了過多的環(huán)境雜質,丟失了目標。fDSST算法隨著目標尺度變小,跟蹤框有一定程度的變小,但是在第205幀中,目標被部分遮擋,尺度變化并不能滿足要求,跟蹤效果欠佳。而OURS算法在目標尺度變小時,跟蹤框也隨之變小,在遮擋過后依然保持著穩(wěn)定的尺度更新。由表2可知,在視頻序列Walking2中,OURS算法的精度和成功率分別為100%和96.4%,相比KCF和fDSST算法,OURS算法應對尺度變化的能力有了較大的改善。
表2 KCF、fDSST、OURS算法在視頻序列中的性能對比Tab.2 Performance comparison of KCF,fDSST,OURS algorithms in video sequences
(3)視頻序列Basketball和Bolt中,主要的跟蹤難點均為部分遮擋和形變。KCF算法和OURS算法的跟蹤情況良好,由于OURS算法加入了尺度置信度判斷,因此,沒有發(fā)生錯誤的尺度更新。fDSST算法在Bas ketball中效果良好,但是在Bolt中由于目標發(fā)生形變而丟失了目標。
除上述應對人物目標的跟蹤情況外,對于其他類型的目標OURS算法同樣具有不錯的跟蹤效果,3種算法的跟蹤效果對比如圖8所示,性能結果如表2所示。
由圖8可知:
(1)視頻序列CarScale中,汽車由遠及近,在圖像中的尺寸不斷變大,KCF、fDSST和OURS算法均能跟蹤上目標,但是只有fDSST和OURS算法的跟蹤框可以適應目標尺度的變化。如表2所示,視頻序列CarScale中,OURS算法的精度為89.3%,相比KCF和fDSST的80.6%和81.3%,具有明顯的提升;OURS算法的成功率為97.6%,相比KCF的44.4%具有較大提升,相比fDSST的100%相差甚微。
圖8 其他類型目標視頻序列中的跟蹤效果對比Fig.8 Comparison of tracking effect of other types of target video sequences
(2)視頻序列Freeman4和Girl中,主要的跟蹤難點均為遮擋問題。KCF算法和fDSST算法難以應對,丟失了目標,而OURS算法在Freeman4中頻繁遮擋和Girl中相似物體遮擋2種情況下,均可以框住正確的目標,應對遮擋問題的能力顯著提升。
由表2可知,在7個視頻序列中,KCF算法的FPS均最高,OURS算法的FPS均高于fDSST算法。
綜上所述,雖然OURS算法的實時性相對于KCF算法有所下降,但是應對尺度變化、遮擋和形變等問題的能力表現(xiàn)最佳,精度和成功率顯著提高,并且算法運行速度與fDSST算法相比也具有一定的優(yōu)勢。
將OURS算法在OTB-50測試集中進行測試,OURS算法的總體精度為0.758,成功率為0.711,相比原始KCF算法的0.721和0.616分別提高了5.1%和15.4%。
將OURS算法在ROS機器人操作系統(tǒng)中實現(xiàn),建立視覺跟蹤節(jié)點和跟隨控制節(jié)點,并以話題、消息的方式進行通信。在跟隨測試中,將OURS算法跟蹤框的期望位置設置在整個圖像的正中央,控制機器人運動使跟蹤框保持在期望位置上,形成閉環(huán),實現(xiàn)基于圖像的伺服跟隨控制[17-19]。
為驗證OURS算法在真實環(huán)境中應對遮擋、尺度變化和形變等問題的適應能力,使用視覺傳感器對OURS算法進行測試,實驗結果如圖9所示。
圖9 行人跟蹤實驗Fig.9 Experiment of pedestrian tracking
由圖9(a)可知,OURS算法由于具有模型檢測置信度判斷,當目標被遮擋時停止了模型更新,避免目標模型受到污染,并使用卡爾曼濾波預測目標位置,在遮擋之后,可以跟蹤到正確的目標。由圖9(b)可知,人物目標向視覺傳感器方向行走,在視野中的尺寸變大,OURS算法跟蹤框也隨之變大,始終保持穩(wěn)定的跟蹤。由圖9(c)可知,人物目標發(fā)生了形變,由于OURS算法具有尺度檢測置信度判斷,在形變過后,跟蹤框并未發(fā)生錯誤的尺度更新,跟蹤效果良好。
本實驗首先設置公式(1)中的參數(shù)值,dmin為1.7 m,dmax為2.7 m,用于控制機器人線速度大小的速率參數(shù)V為0.3 m/s。移動機器人對人物目標的跟隨實驗結果如圖10所示。
由圖10可知,行人目標背對著機器人向前運動,移動機器人與人物目標拉開差距,機器人開始向行人方向行駛。隨后有其他行人經過,遮擋住了目標行人,在遮擋之后依然可以跟隨到目標。后來行人右拐行走,機器人與行人的間距在縮小,而角度變大,機器人在前進的同時,還在向目標的方向旋轉,保證人物目標在視野范圍內。
圖10 跟隨人物目標測試實驗Fig.10 Verification experiment of following human target
行人跟隨過程中,移動機器人的線速度大小如圖11所示,移動機器人與行人目標的距離如圖12所示。
圖12 移動機器人與行人的距離Fig.12 Distance between mobile robot and pedestrian
由圖11、圖12可知,行人的初始位置距離機器人2.5 m,在行人向前運動的第15幀時,距離超出了閾值2.7 m,控制程序發(fā)送了線速度指令,機器人開始向目標運動,隨著距離的增大,線速度也隨之增大。在出現(xiàn)遮擋時,機器人測得的距離迅速下降,出于安全考慮,此時機器人停車觀察。在行人右拐之后,機器人與行人距離逐漸縮短,線速度也隨之減小。
整個實驗過程中,行人目標始終保持在視野中央,并且與機器人的距離控制在合理的區(qū)間內。因此,本文的移動機器人目標跟隨系統(tǒng)可以應用于辦公大廳環(huán)境對行人目標的實時跟隨任務中。
采用本文提出的OURS算法對行人目標進行實時跟蹤,將目標位置信息轉換為控制信號,實現(xiàn)了移動機器人跟隨行人的任務:
(1)提出了一種新的置信度判斷方法,對模型的檢測結果進行判斷。當目標被完全遮擋時,停止模型和尺度更新,使用預測位置代替OURS算法的檢測位置進行跟蹤,避免了目標模板被污染的問題,提高了算法應對遮擋的能力。
(2)提出對基于一維快速判別尺度空間方法的尺度檢測結果進行置信度判斷,避免了跟蹤框由于部分遮擋、形變等復雜因素引起的錯誤尺度更新。
(3)通過在視頻序列中對KCF、fDSST、OURS 3種算法進行對比,OURS算法應對尺度變化、遮擋和形變等問題的能力表現(xiàn)最佳,精度和成功率顯著提高,同時保持著較高的運行速度。OURS算法在OTB-50中的整體精度和成功率分別為0.758和0.711,相比原KCF算法分別提高了5.1%和15.4%。
(4)通過移動機器人平臺進行測試,實驗證明當出現(xiàn)遮擋、尺度變化、形變等問題時,OURS算法的跟蹤框依然可以框住目標?;贠URS算法的移動機器人跟隨系統(tǒng),跟隨過程較穩(wěn)定,魯棒性好。