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