龐 磊,曹志強(qiáng),喻俊志
(中國科學(xué)院自動(dòng)化研究所 復(fù)雜系統(tǒng)管理與控制國家重點(diǎn)實(shí)驗(yàn)室,北京 100190)
移動(dòng)機(jī)器人通過跟隨一個(gè)領(lǐng)航員以實(shí)現(xiàn)導(dǎo)航是一種便捷的導(dǎo)航方式。近年來,移動(dòng)機(jī)器人的行人引領(lǐng)導(dǎo)航在多種應(yīng)用場景中被廣泛使用,例如老人看護(hù)機(jī)器人[1]、智能輪椅[2]、載貨機(jī)器人[3]等。
在機(jī)器人的行人引領(lǐng)導(dǎo)航中,實(shí)時(shí)地定位目標(biāo)是順利實(shí)現(xiàn)導(dǎo)航的核心問題。近年來,已經(jīng)有很多研究者通過多種類型的傳感器實(shí)現(xiàn)移動(dòng)機(jī)器人的行人引領(lǐng)導(dǎo)航,其中包括超聲波傳感器[4]、單線激光雷達(dá)[5]、射頻識(shí)別(Radio Frequency Identifica-tion,RFID)[6]、RGB-D相機(jī)[7]、雙目相機(jī)[8]等。由于基于視覺的方法可以利用更豐富的顏色、紋理等信息,所以相對(duì)于基于超聲波[4]和單線激光[9]等測距傳感器的方法,基于視覺的方法在領(lǐng)航員定位以及在多人環(huán)境中分辨領(lǐng)航人員方面具有更大的潛力。
在基于視覺的行人定位和跟蹤方法中,使用RGB-D相機(jī)并利用骨架跟蹤框架[10]是一種常見的行人跟隨方案,但受限于RGB-D相機(jī)適用的工作場景,該類方案更適合用于室內(nèi)環(huán)境中。另外,基于視覺跟蹤器的方法是一種流行的方法[6,8,11],視覺跟蹤器一般通過在線學(xué)習(xí)和更新目標(biāo)的外貌特征來定位目標(biāo),這類方法容易受環(huán)境或者目標(biāo)的劇烈變化影響而失效,且一般不具備處理遮擋的能力和重新初始化的能力。
對(duì)于處理行人遮擋問題,一些學(xué)者提出了使用分塊跟蹤和匹配的方法[12-13],此類方法對(duì)于處理部分遮擋的情況比較可行,但仍然取決于分部特征和匹配策略的魯棒性。利用RGB-D相機(jī)或者雙目立體相機(jī)提供的深度信息檢測和處理遮擋也是一種常用的方法,但此類方法容易受深度圖精度的影響[14]。此外,在有多個(gè)行人干擾或遮擋的場景中辨認(rèn)領(lǐng)航員也是一個(gè)比較困難的問題,一些學(xué)者利用人體特征區(qū)分領(lǐng)航員與干擾行人,例如身高、衣服顏色、行走步態(tài)等[15-16]。
為了解決行人引領(lǐng)導(dǎo)航中的領(lǐng)航員定位問題,本文使用一個(gè)卡爾曼濾波器跟蹤領(lǐng)航員的位置和尺度,并利用基于深度神經(jīng)網(wǎng)絡(luò)的行人檢測器檢測行人。同時(shí),提出了2個(gè)指標(biāo)關(guān)聯(lián)檢測結(jié)果和卡爾曼濾波器預(yù)測結(jié)果,將關(guān)聯(lián)的檢測結(jié)果用于更新卡爾曼濾波器。另外,還創(chuàng)新性地引入了一個(gè)使用大規(guī)模行人重識(shí)別數(shù)據(jù)集訓(xùn)練的孿生神經(jīng)網(wǎng)絡(luò)用于在多個(gè)行人中辨認(rèn)領(lǐng)航員。最后,通過視頻實(shí)驗(yàn)及機(jī)器人實(shí)驗(yàn)證明了所提方法的有效性。
為了使一個(gè)移動(dòng)機(jī)器人跟隨指定的領(lǐng)航員,機(jī)器人需要實(shí)時(shí)獲取領(lǐng)航員與機(jī)器人之間的相對(duì)角度和距離。如圖1所示,一個(gè)雙目立體相機(jī)被安裝在移動(dòng)機(jī)器人的超前方向,并且設(shè)置機(jī)器人的坐標(biāo)與雙目相機(jī)左攝像頭的坐標(biāo)一致,記為OXCYCZC。坐標(biāo)系統(tǒng)OXCYCZC的原點(diǎn)O為雙目相機(jī)左相機(jī)的光心,其中ZC軸沿左相機(jī)的光軸方向,XC軸為機(jī)器人水平向左方向。
圖1 移動(dòng)機(jī)器人行人引領(lǐng)導(dǎo)航系統(tǒng)示意圖Fig.1 Schematic diagram of the leader-guided system for mobile robots
(1)
其中,Rh和Θ分別為左相機(jī)在水平方向的分辨率和視場角,分別為1080和72°。然后,在對(duì)應(yīng)于左相機(jī)的深度圖像上,基于Bt包圍框估計(jì)領(lǐng)航員與機(jī)器人之間的距離dt。
(2)
目標(biāo)檢測器可以在不具備幀間運(yùn)動(dòng)信息的情況下在每一幀圖像上檢測出多種類別的多個(gè)目標(biāo)。近年來,基于深度神經(jīng)網(wǎng)絡(luò)的端到端檢測器可以在圖形處理器(Graphics Processing Unit,GPU)的加速下快速準(zhǔn)確地檢測多種類別的物體。對(duì)于基于視覺的移動(dòng)機(jī)器人行人引領(lǐng)導(dǎo)航方法,需要在圖像中實(shí)時(shí)定位目標(biāo),而基于行人數(shù)據(jù)訓(xùn)練的行人檢測器可以提供行人包圍框,為實(shí)現(xiàn)領(lǐng)航員提供了非常有用的信息。
行人檢測器雖然能夠在每一幀圖像中獲取多個(gè)行人的位置,但是無法獲得行人之間的身份信息,即無法在多個(gè)行人之間辨認(rèn)出指定的領(lǐng)航員。因此,本文引入了一個(gè)卡爾曼濾波器FK預(yù)測目標(biāo)位置和尺度,并通過對(duì)比FK的預(yù)測結(jié)果和檢測器結(jié)果在多幀之間持續(xù)定位領(lǐng)航員;同時(shí),使用FK可以減少由于檢測器漏檢造成的不利影響??柭鼮V波器的狀態(tài)被定義為
S=(x,y,a,r,Δx,Δy,Δa,Δr)T
(3)
(4)
此外,為了使FK保持對(duì)領(lǐng)航員的跟蹤,確認(rèn)為是領(lǐng)航員的行人檢測器結(jié)果DA被用作測量值zt利用,式(4)更新FK狀態(tài)。
(5)
其中,M=I4是測量矩陣,K是卡爾曼增益,R是測量噪聲的協(xié)方差矩陣,zt是由DA計(jì)算得到的四維測量向量 (x,y,a,r)。在機(jī)器人行人跟隨過程中,更新后的FK狀態(tài)被用于計(jì)算領(lǐng)航員包圍框Bt,并基于更新后的Bt計(jì)算目標(biāo)的距離;然而,當(dāng)沒有檢測結(jié)果被確認(rèn)為與Bt關(guān)聯(lián)時(shí),則以FK的預(yù)測狀態(tài)計(jì)算目標(biāo)的位置。
行人重識(shí)別是一種廣泛應(yīng)用于視覺監(jiān)控領(lǐng)域的技術(shù),旨在多個(gè)無重疊且不同視角的攝像機(jī)中辨別出同一行人。該技術(shù)對(duì)于機(jī)器人行人跟隨過程中,需要配合行人檢測器重新定位或搜索出領(lǐng)航員是非常有效的。本文中使用一個(gè)基于大規(guī)模行人重識(shí)別數(shù)據(jù)集訓(xùn)練的孿生網(wǎng)絡(luò)[18]來提取行人特征,通過提取的特征對(duì)領(lǐng)航員外貌進(jìn)行抽象表達(dá)。該網(wǎng)絡(luò)同時(shí)結(jié)合了驗(yàn)證模型(verification model)和識(shí)別模型(identification model)的優(yōu)點(diǎn),同時(shí)使用兩種損失函數(shù)訓(xùn)練模型,有效提高了特征表達(dá)的魯棒性。
本文以孿生網(wǎng)絡(luò)輸出的4096維全連接層特征作為對(duì)領(lǐng)航員的特征表達(dá)(fc描述子),并設(shè)立一個(gè)包含N個(gè)fc描述子且每隔50幀更新一次的目標(biāo)特征庫GI={f1,f2,…,fN}。在需要驗(yàn)證行人身份信息時(shí),通過提取待驗(yàn)證行人的fc描述子,記為fI,并計(jì)算其與GI中每一個(gè)描述子的余弦相似度的均值作為評(píng)估候選者為領(lǐng)航員的可能性SI,即
(6)
為了完成移動(dòng)機(jī)器人行人跟隨,本文使用了基于視覺的行人檢測器、卡爾曼濾波器以及一個(gè)基于孿生神經(jīng)網(wǎng)絡(luò)的行人重識(shí)別模塊在行人跟隨任務(wù)中持續(xù)定位目標(biāo)。利用2個(gè)指標(biāo),通過3個(gè)模塊之間的配合,實(shí)現(xiàn)了對(duì)領(lǐng)航員的持續(xù)定位。圖2所示為3個(gè)模塊之間的關(guān)系示意圖。
圖2 模塊關(guān)系示意圖Fig.2 Schematic diagram of the relationship between the proposed modules
(7)
其中,取得最大交-并面積比IOUmax且滿足如下條件的候選人被認(rèn)為是領(lǐng)航員。
IOUmax=max(IOUi)≥TIOU
(8)
這里TIOU的值設(shè)定為0.3。
在無行人干擾的情況下,依據(jù)空間位置的連續(xù)性判斷檢測結(jié)果之間的關(guān)聯(lián)性是一種安全的策略;然而,當(dāng)領(lǐng)航員周圍出現(xiàn)干擾行人甚至出現(xiàn)遮擋情況時(shí),需要借助更多的信息以更好地判斷檢測結(jié)果的身份信息。因此,移動(dòng)機(jī)器人需要判斷領(lǐng)航員周圍干擾的存在情況,并且在確認(rèn)干擾存在的情況下,使用行人重識(shí)別模塊來增強(qiáng)檢測結(jié)果在多幀之間關(guān)聯(lián)的可靠性。
SI≥TI
(9)
本實(shí)驗(yàn)及機(jī)器人實(shí)驗(yàn)的視頻使用一個(gè)ZED雙目立體相機(jī)采集,該相機(jī)可以同時(shí)輸出RGB圖像和深度圖像。此視頻實(shí)驗(yàn)為校園場景的室外環(huán)境,該實(shí)驗(yàn)包括行人姿態(tài)變化、光照變化、行人干擾等諸多挑戰(zhàn)。為了更好地說明所提方法的有效性及優(yōu)越性,此節(jié)進(jìn)行了所提方法與行人引領(lǐng)導(dǎo)航中常用的TLD[19]的比較。該實(shí)驗(yàn)的結(jié)果如圖3所示,由此可見,目標(biāo)在行走較長距離后仍然能準(zhǔn)確定位目標(biāo)。如圖3中第300幀和第330幀圖像所示,當(dāng)目標(biāo)穿越光線條件復(fù)雜的走廊時(shí),所提方法仍然能夠準(zhǔn)確定位領(lǐng)航員。而對(duì)比方法TLD[19]從第151幀后便無法再次準(zhǔn)確地檢測和跟蹤目標(biāo),如圖3中第350幀所示,其檢測到錯(cuò)誤的目標(biāo)。
圖3 視頻驗(yàn)證實(shí)驗(yàn)的實(shí)驗(yàn)結(jié)果,其中藍(lán)色包圍框?yàn)槭止?biāo)注 的真值,黃色包圍框?yàn)樾腥藱z測器結(jié)果,紅色包圍框?yàn)樗岱椒?輸出的領(lǐng)航員位置,品紅色的包圍框?yàn)閷?duì)比方法TLD[19]的Fig.3 Results of the video experiment. The blue bounding boxes are the locations of the manually labeled ground truth, the yellow bounding boxes are results of the proposed pedestrian detector, and the red bounding boxes are results of the proposed approach, the magenta bounding boxes are the results of the TLD[19]
此外,此實(shí)驗(yàn)中包括2次行人干擾情況。其一,如圖3第188幀和第210幀圖像所示的場景中,所提方法在第188幀檢測到周圍存在行人干擾,并啟動(dòng)行人重識(shí)別模塊,該過程中關(guān)聯(lián)檢測結(jié)果和卡爾曼濾波器預(yù)測結(jié)果需要同時(shí)考慮式(8) 和式(9)。其中行人重識(shí)別模塊輸出的分?jǐn)?shù)SI如圖4所示,該過程中所提方法能一直跟蹤領(lǐng)航員位置,且行人重識(shí)別模塊驗(yàn)證DA的身份信息時(shí)均滿足條件式(9),故卡爾曼濾波器可以及時(shí)被更新并輸出準(zhǔn)確的領(lǐng)航員位置。
圖4 行人重識(shí)別分?jǐn)?shù)SI曲線(188~235幀)Fig.4 Curve of re-identification scores SI (frames 188~235)
由圖3中第404~444幀圖像所示,另外一次行人干擾出現(xiàn),此過程中行人重識(shí)別模塊輸出的分?jǐn)?shù)SI如圖5所示,由SI可知所提方法仍然能夠準(zhǔn)確定位目標(biāo)。因此,在目標(biāo)姿態(tài)連續(xù)變化后,所提方法仍然可以準(zhǔn)確確認(rèn)領(lǐng)航員的身份信息,證明了本文所提的行人重識(shí)別模塊及設(shè)計(jì)的目標(biāo)特征庫GI是有效的。
圖5 行人重識(shí)別分?jǐn)?shù)SI曲線(404~444幀)Fig.5 Curve of re-identification scores SI (frames 404~444)
此實(shí)驗(yàn)采用手工逐張標(biāo)注的方式獲得目標(biāo)行人的包圍框真值,并計(jì)算了所提方法和TLD在此次實(shí)驗(yàn)中的精確度,其中包括2個(gè)指標(biāo):精確度曲線和成功率曲線,如圖6所示。精確度曲線計(jì)算跟蹤算法估計(jì)的目標(biāo)包圍框的中心點(diǎn)與人工標(biāo)注的目標(biāo)包圍框的中心點(diǎn)之間的距離小于給定閾值的視頻幀的百分比。成功率曲線通過計(jì)算跟蹤算法估計(jì)的目標(biāo)包圍框與人工標(biāo)注的目標(biāo)包圍框的交面積與并面積的比值在某個(gè)重疊率閾值范圍內(nèi)的視頻幀的百分比。
圖6 所提方法和TLD[19]在視頻驗(yàn)證實(shí)驗(yàn)中的 精度和成功率評(píng)價(jià)Fig.6 Precision and success evaluation in the verification experiment of the proposed approach and TLD[19]
為了驗(yàn)證所提方法能夠在機(jī)器人上有效定位目標(biāo),在EAI 輪式機(jī)器人上進(jìn)行了行人引領(lǐng)導(dǎo)航實(shí)驗(yàn),其中實(shí)驗(yàn)場景如圖7所示。實(shí)驗(yàn)中移動(dòng)機(jī)器人根據(jù)所提算法提供的Bt,通過式 (1) 計(jì)算目標(biāo)與機(jī)器人之間的夾角,并根據(jù)Bt在深度圖像上利用式 (2) 估計(jì)領(lǐng)航員于機(jī)器人之間的距離信息dt?;陬I(lǐng)航員與機(jī)器人之間的方向夾角和距離信息,控制機(jī)器人的速度和方向使機(jī)器人跟隨領(lǐng)航員,并保持一定的距離范圍,從而實(shí)現(xiàn)行人引領(lǐng)導(dǎo)航。需要指出的是,由于本文所提方式使用了基于深度神經(jīng)網(wǎng)絡(luò)的檢測器SSD以及孿生神經(jīng)網(wǎng)絡(luò),為了保證在機(jī)器人上運(yùn)行的實(shí)時(shí)性,需要使用配備有GPU的計(jì)算單元,因此本文所提方法運(yùn)行時(shí)的功耗相對(duì)較高。
圖7 機(jī)器人實(shí)驗(yàn)示意圖Fig.7 Schematic diagram of the experiment on the mobile robot
本文提出了一種結(jié)合基于深度神經(jīng)網(wǎng)絡(luò)的行人檢測器、卡爾曼濾波器及基于行人重識(shí)別數(shù)據(jù)集訓(xùn)練的孿生神經(jīng)網(wǎng)絡(luò)的行人定位方法。該方法創(chuàng)新性地引入了視頻監(jiān)控領(lǐng)域的行人重識(shí)別技術(shù),用于在多個(gè)干擾行人之間辨認(rèn)領(lǐng)航員,實(shí)驗(yàn)證明了行人重識(shí)別模塊和其他模塊配合能夠有效地定位目標(biāo)并處理行人干擾問題?;诖朔椒ú⒗秒p目相機(jī)提供的RGB和深度圖像能夠?qū)崟r(shí)獲取行人引領(lǐng)導(dǎo)航所需的領(lǐng)航員方向和距離信息。另外,本文通過視頻實(shí)驗(yàn)及機(jī)器人實(shí)驗(yàn)證明了所提方法的有效性。
在未來工作中,將繼續(xù)改進(jìn)行人定位方法,提高機(jī)器人行人引領(lǐng)導(dǎo)航的穩(wěn)定性。同時(shí),為了提高在機(jī)器人引領(lǐng)導(dǎo)航過程中的安全性,將關(guān)注能與行人定位方法配合使用的避障算法和局部路徑規(guī)劃算法。