劉 東, 蔣 剛, 留滄海
(1.西南科技大學 制造科學與工程學院,四川 綿陽 621010;2.成都理工大學 核技術與自動化工程學院,四川 成都 610059;3.制造過程測試技術省部共建教育部重點實驗室,四川 綿陽 621010)
六足機器人因其具有較高的承載能力、地形適應能力、運動靈活性、平穩(wěn)性等特性在諸多領域都有著廣泛的應用前景[1]。目前主流的識別與跟蹤技術主要有兩個問題需要解決,首先,大多數(shù)的目標識別與跟蹤都是通過攝像頭固定于三腳架上進行拍攝[2],因此監(jiān)控的場景非常局限,如果采用多攝像頭拍攝就會使得監(jiān)控成本大大提高;其次,目標識別與跟蹤大多應用于輪式機器人上,如果遇到路面凹凸不平,輪式機器人很難發(fā)揮作用[3,4]。為了解決機器人在凹凸不平的路面上穩(wěn)定運行和視野局限的問題,研究者采用6足式機器人搭載攝像頭的方式進行識別與跟蹤。當背景是相對復雜的情況下,算法的實時性和準確性的要求在實現(xiàn)上無法得到滿意結果[5,6]。在目標識別與跟蹤上,許多研究者進行了深入的研究,例如Henriques J F等人在2014年提出經(jīng)典的核相關濾波(kernelized correlation filtering,KCF)算法,對于相關濾波的求解方面,KCF算法將循環(huán)矩陣里獨有的傅里葉空間對角化性質簡化到非線性空間中求解,進而提升算法的運行效率[7]。Kalal等人提出TLD(tracking-learning-detection)單目標跟蹤算法,TLD是一種在視頻中對未知運動目標進行長期跟蹤的算法結構[8]。紀筱鵬等人提出通過輪廓特征結合Kalman濾波的方式進行運動車輛的跟蹤,通過Kalman修正車輛在圖像中的質心位置坐標[9]。足式機器人在導航、監(jiān)控、多機協(xié)作、人機交互等領域應用廣泛,然而傳統(tǒng)跟蹤算法準確性較差、魯棒性不足。
本文設計了一種基于樹莓派的六足機器人目標識別與跟蹤系統(tǒng)。在室外走廊、碎石路環(huán)境下,本文通過六足機器人搭載Kinect高清攝像頭對行人和目標六足機器人進行識別與跟蹤。
監(jiān)控場景中存在的目標六足機器人及行人如圖1所示。本文系統(tǒng)主要由Kinect V1高清攝像頭、樹莓派4B,STM32控制器、傳感器、舵機驅動板、兩臺六足機器人組成,其中,Kinect高清攝像頭是圖像采集模塊,樹莓派4B為圖像處理模塊,STM32和舵機驅動板等為控制模塊,兩臺六足機器人中其中一臺為載體,另一臺為待識別與跟蹤的目標六足機器人如圖2所示。

圖1 監(jiān)控場景中的目標六足機器人及行人

圖2 載體六足機器人和目標六足機器人
系統(tǒng)通過Kinect V1高清攝像頭進行環(huán)境圖像的采集,通過OpenCV進行圖像預處理,將預處理結果通過串口通信把圖像和質心坐標信息傳遞給STM32,利用STM32控制舵機驅動板來驅動六足機器人進行跟蹤,通過六足機器人檢測位置和角度的傳感器來采集機器人自身狀態(tài),并將狀態(tài)信息傳遞回STM32,從而形成閉環(huán)控制,完成六足機器人對目標的穩(wěn)定跟蹤。
六足機器人的目標識別與跟蹤實驗中,采用YOLO v3算法進行目標六足機器人及行人的檢測與識別,得到目標跟蹤的質心位置信息,結合Kalman濾波來預測和修正當前時刻的位置,實現(xiàn)在室外環(huán)境下六足機器人的目標識別與跟蹤要求。
在 2016 年,劉磊[10]提出了一種基于回歸的目標識別算法名為YOLO[11]( you only look once),通過兩年的不斷發(fā)展,在2018年提出了YOLO v3[12]算法。 YOLO v3 網(wǎng)絡檢測速度快,識別準確率高,相較于YOLO v2算法在檢測與識別小物體方面上準確率得到很大提升[13]。YOLO v3借鑒了殘差網(wǎng)絡結構得到較深的網(wǎng)絡層次,并結合多尺度檢測,提升了較小物體檢測精度。YOLO v3 算法流程中將輸入圖像歸一化為416×416的大小,然后將整張圖像劃分成13×13 的網(wǎng)格, 如果目標的中心落入其中某一網(wǎng)格中,則該網(wǎng)格負責預測和識別該目標[14],本文共采集6 000張不同環(huán)境下的目標六足機器人和行人的RGB圖片作為數(shù)據(jù)庫,通過YOLO v3算法訓練出一個特征信息良好的識別模型,圖3是室外環(huán)境下YOLO v3對目標六足機器人及行人的識別效果圖。

圖3 目標六足機器人及行人的識別效果
卡爾曼濾波被廣泛應用于無人機、自動駕駛、衛(wèi)星導航等領域,卡爾曼濾波算法是一種非常高效的遞歸濾波算法[15],其核心方程分為狀態(tài)方程和觀測方程,具有計算輕量,實時性高,能夠讓目標跟蹤的定位信息更加準確和高效,卡爾曼濾波的狀態(tài)方程
Xk=AXk-1+Wk-1
(1)
觀測方程
Zk=HXk+Vk
(2)
利用卡爾曼濾波跟蹤目標六足機器人及行人,必須先要知道跟蹤目標的初始時刻的位置坐標X0=[x0,y0,vx,vy]。(x0,y0)為目標在圖像中的質心坐標位置;vx和vy為目標在x軸和y軸方向的初始速度。A為初始化下的狀態(tài)轉移矩陣,H為觀測矩陣,W為過程噪聲,V為觀測噪聲。為了對目標實現(xiàn)穩(wěn)定跟蹤,通過卡爾曼濾波算法預測的目標質心位置X2與YOLO v3算法計算出的質心位置X1的差值與設定的閾值T來修正目標在圖像中的位置信息[16]。如果X1-X2 本文通過六足機器人搭載Kinect V1高清攝像頭在室外走廊、碎石路等背景下對目標六足機器人及行人進行圖片的采集,并將采集到的圖片作為原始數(shù)據(jù)集,目標位于數(shù)據(jù)圖片任意位置且采集角度不固定。 為了提高模型對室外光照強弱、方向變化,陰影遮擋等影響下目標檢測的魯棒性,需要對原始數(shù)據(jù)集進行數(shù)據(jù)擴充,常見的數(shù)據(jù)擴充方法有翻轉、角度旋轉、縮放和對比度變換等方法。本文通過翻轉操作將3 000張原始數(shù)據(jù)集擴充2倍,最終數(shù)據(jù)庫共有6 000張圖片,其中隨機選擇4 800張作為訓練集圖片,1 200張作為測試集圖片。將所有圖片大小進行歸一化,通過OpenCV將尺寸大小統(tǒng)一設為416×416并進行人工標注。 本文采用可視化的圖像標定工具LabelImg進行標注,通過LabelImg標注軟件對不同背景下的目標六足機器人及行人進行人工標注,將圖片中目標六足機器人及行人框選出。圖4是室外環(huán)境下目標六足機器人及行人的標注示意圖,標注完成一張圖片后會生成相對應的.xml文件,之后利用YOLO v3算法訓練數(shù)據(jù)集,并得到所需的目標識別模型和跟蹤過程所需要的位置信息,并將其傳入到卡爾曼濾波進行軌跡的預測。 圖4 目標六足機器人及行人的標注示意 實驗測試六足機器人在移動過程中對行人及目標六足機器人的跟蹤性能,在室外背景復雜度適中的環(huán)境下進行,六足機器人和目標六足機器人的運動速度均控制在每幀15個像素以內(nèi),行人行走速度控制在0.6 m/s,目標六足機器人和行人在場景中隨機運動。軟件平臺使用PyCharm和OpenCV 3.4.2,深度學習使用TensorFlow框架。 為了使六足機器人的目標識別與跟蹤能在室外環(huán)境下順利進行,必須要克服檢測時發(fā)生的軌跡漂移問題。由于漂移軌跡的特點是首尾兩點距離較遠,可以通過計算兩個端點的歐氏距離,并設置兩個端點的歐氏距離不能超過20來屏蔽首次檢測出現(xiàn)的軌跡漂移現(xiàn)象,通過改進后的卡爾曼濾波器可以通過預測值準確地修正目標機器人及行人的質心位置以達到穩(wěn)定跟蹤。圖5是YOLO v3結合卡爾曼濾波算法在室外環(huán)境下對目標六足機器人的第30,60,90,120幀的跟蹤結果圖和對行人的第20,60,100,140幀的結果。圖5(a)是室外走廊下的跟蹤結果,圖5(b)是室外碎石路下的跟蹤結果圖,圖5(c)是室外行人的跟蹤結果。從圖5可以看出,當YOLO v3結合Kalman濾波算法出現(xiàn)識別錯誤時可通過Kalman濾波的預測值進行修正,所以在不影響跟蹤實時性的前提下,還保證了跟蹤的準確性。 圖5 目標六足機器人及行人的跟蹤結果 表1對比分析了目標跟蹤經(jīng)典算法(KCF,TLD)與YOLO v3結合Kalman濾波算法的跟蹤性能,v1表示在室外走廊下的目標六足機器人,v2表示在室外碎石路下的目標六足機器人,算法的實時性可以用每秒運行的幀數(shù)來體現(xiàn),從表1可以看出YOLO v3結合Kalman濾波算法在實時性上低于KCF算法,但也能滿足實時性的跟蹤要求,且YOLO v3結合Kalman濾波算法在室外環(huán)境下的準確率相較于KCF和TLD算法都有較大的提高。 表1 不同算法下六足機器人的目標跟蹤性能 中心位置誤差(center location error,CLE)是六足機器人目標跟蹤精度的一個重要指標,中心位置誤差是指目標跟蹤框的中心位置和真實物體跟蹤框的中心位置兩者之間的歐氏距離的均值。 為了更準確評估三種算法對于六足機器人的目標跟蹤性能,對比了在室外環(huán)境下目標跟蹤經(jīng)典算法和YOLO v3結合卡爾曼濾波算法跟蹤目標六足機器人和行人的中心位置的誤差,如表2所示。中心位置誤差越小,跟蹤結果越準確,從表中可以看出利用卡爾曼濾波的跟蹤算法的平均中心位置誤差相比于經(jīng)典跟蹤算法的平均中心位置誤差要低很多。 表2 不同算法下目標跟蹤的中心位置誤差(CLE/像素) 六足機器人對環(huán)境的極強適應性和穩(wěn)定性使目標識別與跟蹤實驗可以在室外相對復雜的環(huán)境下進行,本文提出利用 YOLO v3結合卡爾曼濾波實現(xiàn)六足機器人室外環(huán)境下的目標識別與跟蹤。實驗對比分析了經(jīng)典跟蹤算法和利用YOLO v3結合卡爾曼濾波的跟蹤算法在準確率、速度、中心位置誤差上的影響。在室外環(huán)境下進行的六足機器人目標識別與跟蹤實驗在準確率和魯棒性上優(yōu)勢明顯,但在實時性上相較傳統(tǒng)算法略差一些。后續(xù)研究將改進算法提高六足機器人目標識別與跟蹤的實時性以期提高六足機器人的智能化水平。3 數(shù)據(jù)采集與處理

4 實驗驗證與分析



5 結束語