何金平 楊波
摘 ?要:真實(shí)場(chǎng)景中的目標(biāo)跟蹤問(wèn)題一直以來(lái)都是研究熱點(diǎn),而雙人花樣滑冰作為冬奧會(huì)熱門比賽項(xiàng)目之一,如何檢測(cè)跟蹤并預(yù)測(cè)繪制運(yùn)動(dòng)員在比賽或訓(xùn)練中的曲線對(duì)于評(píng)判運(yùn)動(dòng)員的表現(xiàn)尤為重要,為此,文章提出一種基于卡爾曼濾波和YOLOv5繪制雙人花樣滑冰滑行軌跡的方法。首先通過(guò)YOLOv5檢測(cè)當(dāng)前幀中的待跟蹤目標(biāo),獲取目標(biāo)的ID、邊界框大小和中心坐標(biāo)信息;然后利用卡爾曼濾波根據(jù)目標(biāo)的上一幀位置信息預(yù)估其下一幀位置,進(jìn)行精確的目標(biāo)跟蹤;最后繪制出運(yùn)動(dòng)員的運(yùn)動(dòng)軌跡。
關(guān)鍵詞:卡爾曼濾波;YOLO;目標(biāo)檢測(cè);花樣滑冰;軌跡
中圖分類號(hào):TP18 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)24-0153-06
Abstract: Target tracking in the real scene has always been a research hotspot. And double figure skating taking as one of the popular events in the Winter Olympic Games, how to detect, track, predict and draw the curve of athletes in competition or training is particularly important to judge the performance of athletes. Therefore, this paper proposes a method to draw the sliding track of double figure skating based on Kalman filter and YOLOv5. Firstly, the target to be tracked in the current frame is detected by YOLOv5, and the target ID, bounding box size and center coordinate information are obtained; then, Kalman filter is used to estimate the position of the next frame according to the position information of the previous frame of the target for accurate target tracking; finally, draw the movement track of the athlete.?
Keywords: Kalman filter; YOLO; target detection; figure skating; trajectory
0 ?引 ?言
世界花樣滑冰已有百年歷史,但該賽事的金牌幾乎一直由西方國(guó)家所壟斷。這主要是因?yàn)槲覈?guó)現(xiàn)階段對(duì)花樣滑冰運(yùn)動(dòng)員的訓(xùn)練方法還比較傳統(tǒng),教練僅憑肉眼和主觀經(jīng)驗(yàn)來(lái)指導(dǎo)運(yùn)動(dòng)員訓(xùn)練,體育訓(xùn)練的科技水平較低[1,2],導(dǎo)致我國(guó)雙人花樣滑冰的成績(jī)不理想。因此錄制運(yùn)動(dòng)員訓(xùn)練或比賽的視頻,運(yùn)用計(jì)算機(jī)技術(shù)集中分析視頻中的運(yùn)動(dòng)目標(biāo)(也就是花樣滑冰運(yùn)動(dòng)員),得出運(yùn)動(dòng)員的滑行軌跡,再進(jìn)行科學(xué)分析,從模型中得出相關(guān)數(shù)據(jù),及時(shí)校正、優(yōu)化運(yùn)動(dòng)員在動(dòng)作和技巧上的不足,進(jìn)而提高運(yùn)動(dòng)員在比賽中的成績(jī)。由此可見(jiàn),運(yùn)動(dòng)目標(biāo)的提取、檢測(cè)和跟蹤在視頻分析領(lǐng)域顯得極其重要,這為運(yùn)動(dòng)員更快更好地掌握技術(shù)要領(lǐng)提供了有力的技術(shù)支撐[3]。
根據(jù)文獻(xiàn)[4]對(duì)近年來(lái)目標(biāo)檢測(cè)與跟蹤技術(shù)發(fā)展的梳理與總結(jié),并結(jié)合一些計(jì)算機(jī)視覺(jué)三大會(huì)議(CVPR、ICCV、ECCV)的相關(guān)報(bào)道來(lái)看,近年來(lái)該領(lǐng)域的研究可謂碩果累累。理解服務(wù)對(duì)象或者對(duì)目標(biāo)進(jìn)行控制的基礎(chǔ)和前提是目標(biāo)檢測(cè)和跟蹤,運(yùn)動(dòng)目標(biāo)的檢測(cè)和跟蹤主要用于獲取運(yùn)動(dòng)目標(biāo)的位置、姿態(tài)、軌跡等基本運(yùn)動(dòng)信息[4]。本文通過(guò)YOLOv5的CNN網(wǎng)絡(luò)將圖像分割成網(wǎng)格,每個(gè)單元格負(fù)責(zé)預(yù)測(cè)檢測(cè)并輸出運(yùn)動(dòng)目標(biāo)的信息,完成了對(duì)目標(biāo)狀態(tài)的初始化。此外,引入能夠減小搜索范圍、提高跟蹤效率的卡爾曼濾波器實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)員的多目標(biāo)跟蹤,具有很高的實(shí)用價(jià)值。
1 ?目標(biāo)檢測(cè)YOLO算法
1.1 ?YOLO算法的介紹
YOLO將目標(biāo)物體檢測(cè)重新定義為一個(gè)回歸問(wèn)題。它基于一個(gè)單獨(dú)的端對(duì)端網(wǎng)絡(luò),將單個(gè)卷積神經(jīng)網(wǎng)絡(luò)(CNN)應(yīng)用于整個(gè)圖像,并將圖像分成網(wǎng)格,完成了從原始圖像的輸入到物體類別和位置信息的輸出,給出了每個(gè)網(wǎng)格的置信度及邊界框。
YOLOv5是Ultralytics公司在卷積神經(jīng)網(wǎng)絡(luò)(CNN)的基礎(chǔ)上推出的一種目標(biāo)檢測(cè)算法,是YOLO算法系列的第5個(gè)版本。針對(duì)本文訓(xùn)練的COCO數(shù)據(jù)集,YOLO算法會(huì)設(shè)置初始長(zhǎng)和寬的錨框,用來(lái)預(yù)測(cè)待標(biāo)記目標(biāo)的邊界框。每個(gè)邊界框會(huì)有4個(gè)坐標(biāo)(x,y,w,h),即框中心坐標(biāo)以及長(zhǎng)和寬。我們建立了相應(yīng)的COCO數(shù)據(jù)集進(jìn)行網(wǎng)絡(luò)訓(xùn)練,在視頻序列中,YOLO算法會(huì)給出最佳的邊界框進(jìn)而檢測(cè)到相應(yīng)的目標(biāo)。
1.2 ?YOLOv5s整體網(wǎng)絡(luò)結(jié)構(gòu)
花樣滑冰運(yùn)動(dòng)員在實(shí)際的比賽以及訓(xùn)練視頻中,他們的運(yùn)動(dòng)速度很快,且目標(biāo)較大,視頻時(shí)間長(zhǎng)。因此實(shí)驗(yàn)選擇了網(wǎng)絡(luò)最小、速度最快,同時(shí)AP精度也是最低的YOLOv5s模型網(wǎng)絡(luò)結(jié)構(gòu)。YOLOv5s工作原理[5]如圖1所示,其整體網(wǎng)絡(luò)結(jié)構(gòu)[6]如圖2所示,整體網(wǎng)絡(luò)結(jié)構(gòu)中各部分模塊如圖3至圖7所示。
Input:Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算
Backbone:Focus結(jié)構(gòu)、CSP結(jié)構(gòu)
Neck:FPN+PANet結(jié)構(gòu)
Head:Dense Prediction、Sparse Prediction
2 ?目標(biāo)預(yù)測(cè)與跟蹤——卡爾曼濾波器
2.1 ?引入卡爾曼濾波器的意義
在視頻檢測(cè)過(guò)程中,兩個(gè)運(yùn)動(dòng)員在視野下是同類別的(運(yùn)動(dòng)員在系統(tǒng)中類別設(shè)置為0),并且在冰上的滑行速度極快,會(huì)出現(xiàn)兩個(gè)人互相遮擋的情況。在實(shí)際的檢測(cè)過(guò)程中,當(dāng)兩個(gè)大小相似的物體互相遮擋時(shí),YOLOv5s對(duì)目標(biāo)對(duì)象跟丟或重復(fù)跟蹤的可能性會(huì)很高。同時(shí)在檢測(cè)過(guò)程中,觀眾席上的人員信息有時(shí)也會(huì)被檢測(cè)出來(lái),這些情況會(huì)對(duì)繪制運(yùn)動(dòng)員的實(shí)際軌跡產(chǎn)生一定的影響。因此,引入一個(gè)能夠根據(jù)前一時(shí)刻狀態(tài)預(yù)測(cè)下一時(shí)刻位置并且可以去除噪聲還原真實(shí)數(shù)據(jù)的卡爾曼濾波器,有助于提高繪制軌跡的精度。
2.2 ?卡爾曼濾波原理
卡爾曼濾波是一種線性系統(tǒng)狀態(tài)方程,利用目標(biāo)的動(dòng)態(tài)信息,設(shè)法除去觀測(cè)數(shù)據(jù)與系統(tǒng)中噪聲和干擾的影響,計(jì)算得出一個(gè)關(guān)于目標(biāo)位置的最佳估計(jì)。有3種估計(jì)結(jié)果:對(duì)過(guò)去位置的估計(jì)(平滑或插值),對(duì)當(dāng)前目標(biāo)位置的估計(jì)(濾波),對(duì)將來(lái)位置的估計(jì)(預(yù)測(cè))。由文獻(xiàn)[7]整理得出的公式為:
其中,xk和uk為當(dāng)前時(shí)刻的狀態(tài)向量和控制向量,wk為服從高斯分布的系統(tǒng)過(guò)程噪聲,A和B分別為系統(tǒng)的狀態(tài)轉(zhuǎn)移矩陣和控制矩陣,vk為系統(tǒng)的測(cè)量噪聲,zk為觀測(cè)向量,Hk為系統(tǒng)的觀測(cè)矩陣。
本文假設(shè)系統(tǒng)的過(guò)程噪聲wk-1和測(cè)量噪聲vk-1相互獨(dú)立,都是服從高斯分布的白噪聲,其協(xié)方差矩陣分別為Q和R。預(yù)測(cè)過(guò)程沒(méi)有對(duì)目標(biāo)的控制,因此忽略控制的輸入??柭鼮V波器計(jì)算主要分成以下三步:
(1)初始化。初始化參數(shù)在后續(xù)的實(shí)驗(yàn)環(huán)境部分已給出。
(2)預(yù)測(cè)。根據(jù)上一時(shí)刻(k-1時(shí)刻)的后驗(yàn)估計(jì)來(lái)計(jì)算出當(dāng)前時(shí)刻(k時(shí)刻)的狀態(tài),得到k時(shí)刻的先驗(yàn)估計(jì)。
其中,和分別表示當(dāng)前狀態(tài)的后驗(yàn)估計(jì)和先驗(yàn)估計(jì)。Pk和分別表示當(dāng)前時(shí)刻的后驗(yàn)估計(jì)協(xié)方差和先驗(yàn)估計(jì)協(xié)方差矩陣,表示狀態(tài)的不確定度(即和的協(xié)方差)。Kk為卡爾曼增益、濾波增益矩陣。作為實(shí)際測(cè)量和預(yù)測(cè)測(cè)量的殘差與Kk一起校正先驗(yàn)估計(jì),得出后驗(yàn)估計(jì)。
系統(tǒng)進(jìn)入k-1時(shí)刻后,便開(kāi)始進(jìn)行下一時(shí)刻的遞推計(jì)算。本文則基于YOLOv5檢測(cè)出運(yùn)動(dòng)員并進(jìn)行跟蹤,再結(jié)合卡爾曼濾波器實(shí)現(xiàn)對(duì)視頻中運(yùn)動(dòng)員在訓(xùn)練場(chǎng)地中位置的預(yù)測(cè),進(jìn)行滑行軌跡的繪制[8],對(duì)運(yùn)動(dòng)員在訓(xùn)練或比賽中的表現(xiàn)進(jìn)行分析指導(dǎo)。
3 ?系統(tǒng)流程
系統(tǒng)流程圖如圖8所示,本文首先將視頻序列放入已經(jīng)在COCO數(shù)據(jù)集上訓(xùn)練好的YOLOv5s模型網(wǎng)絡(luò)中,檢測(cè)出待跟蹤目標(biāo),并將每一幀檢測(cè)出的目標(biāo)類別、邊界框長(zhǎng)和寬以及中心坐標(biāo)信息保存為.txt格式。輸入卡爾曼濾波器中,對(duì)下一幀目標(biāo)的位置進(jìn)行估計(jì)和預(yù)測(cè)。多目標(biāo)會(huì)進(jìn)行關(guān)聯(lián),使用最大權(quán)重匹配,得出滑行軌跡。
4 ?實(shí)驗(yàn)
4.1 ?實(shí)驗(yàn)環(huán)境
以隋文靜和韓聰2019年世界花樣滑冰錦標(biāo)賽奪冠中的部分視頻序列作為實(shí)驗(yàn)素材,進(jìn)行實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)結(jié)果采用了兩段視頻序列,檢測(cè)端均為YOLOv5s框架。實(shí)驗(yàn)平臺(tái):處理器Intel(R)Core(TM)i5-8250U CPU @1.60 GHz 1.80 GHz,顯卡NVIDIA GeForce MX250的小米筆記本電腦,深度學(xué)習(xí)框架Pytorch,編程環(huán)境PyCharm 2019.3.3 x64。
在實(shí)際的預(yù)測(cè)過(guò)程中,卡爾曼濾波器中沒(méi)有控制增益輸入,即uk為0,編程中設(shè)置B=None來(lái)消除公式(1)中的這一項(xiàng)參數(shù)??柭鼮V波器中的其他初始參數(shù)設(shè)置為:
4.2 ?實(shí)驗(yàn)分析與結(jié)果
視頻檢測(cè)中時(shí)常會(huì)檢測(cè)出觀眾席上無(wú)關(guān)人員的信息,此外,當(dāng)兩個(gè)運(yùn)動(dòng)員在比賽中做高難度的技術(shù)動(dòng)作時(shí),人物會(huì)高速旋轉(zhuǎn)、互相遮擋,檢測(cè)目標(biāo)在相鄰兩幀中時(shí)常會(huì)發(fā)生幾個(gè)至幾十個(gè)像素之間的跳躍,導(dǎo)致檢測(cè)目標(biāo)缺失或ID發(fā)生變化,軌跡部分缺失不完整。在不加入卡爾曼濾波器的情況下,部分檢測(cè)結(jié)果如圖9所示,軌跡如圖10所示。
為獲得更完美更精準(zhǔn)的軌跡,做出如下優(yōu)化:觀眾等無(wú)關(guān)目標(biāo)不會(huì)被一直檢測(cè)出,因?yàn)檫@些目標(biāo)只是在兩三幀中偶爾出現(xiàn)或者是斷斷續(xù)續(xù)地出現(xiàn)。在加入卡爾曼濾波器后,如果連續(xù)好幾幀未能檢測(cè)到運(yùn)動(dòng)目標(biāo),則刪除目標(biāo),以此來(lái)消除噪聲的影響。而運(yùn)動(dòng)員在整段視頻中幾乎一直存在,偶爾也會(huì)缺失一兩幀目標(biāo)信息。卡爾曼濾波器中后驗(yàn)估計(jì)方程指出:k時(shí)刻的后驗(yàn)估計(jì)值等于將k-1時(shí)刻的后驗(yàn)估計(jì)作為估計(jì)值(目標(biāo)存在),結(jié)合k時(shí)刻(目標(biāo)缺失)作為測(cè)量值計(jì)算得出。k+1時(shí)刻的目標(biāo)重新被檢測(cè)到后,k+1時(shí)刻的后驗(yàn)估計(jì)值等于將k時(shí)刻計(jì)算得出的后驗(yàn)估計(jì)值作為估計(jì)值,結(jié)合k+1時(shí)刻(目標(biāo)存在)作為測(cè)量值計(jì)算出。此時(shí)對(duì)比k-1時(shí)刻、k+1時(shí)刻的后驗(yàn)估計(jì)值會(huì)存在一定誤差,但卻在誤差允許范圍內(nèi),后續(xù)隨著目標(biāo)重新出現(xiàn),后驗(yàn)估計(jì)也會(huì)越來(lái)越接近于真實(shí)值。加入卡爾曼濾波器后,部分實(shí)驗(yàn)結(jié)果如圖11所示。
通過(guò)加入卡爾曼濾波器前后實(shí)驗(yàn)結(jié)果對(duì)比可以得出:僅使用YOLOv5檢測(cè)繪制出的軌跡,女運(yùn)動(dòng)員的部分軌跡缺失,不完整;而采用本文所提方法繪制出的兩條軌跡曲線完整,與運(yùn)動(dòng)員滑行軌跡基本一致。實(shí)驗(yàn)結(jié)果表明該方法能夠較好地繪制出運(yùn)動(dòng)曲線,達(dá)到了預(yù)期目標(biāo),是有效可行的。
5 ?結(jié) ?論
雙人花樣滑冰已逐漸成為國(guó)人較為關(guān)注的比賽項(xiàng)目之一,但中國(guó)歷屆比賽的成績(jī)并不理想。就如何提高我國(guó)花樣滑冰運(yùn)動(dòng)員在訓(xùn)練和比賽中的動(dòng)作技巧,本文提出了一種在卡爾曼濾波和YOLOv5基礎(chǔ)上繪制雙人花樣滑冰運(yùn)動(dòng)員滑行軌跡的方法,輔助運(yùn)動(dòng)員訓(xùn)練,并通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證本文方法的可行性和準(zhǔn)確性。實(shí)驗(yàn)結(jié)果表明,該算法對(duì)目標(biāo)跟蹤是有效的,最后得出的目標(biāo)運(yùn)行軌跡與真實(shí)場(chǎng)景中的滑行軌跡基本一致,具有很高的實(shí)用價(jià)值。盡管實(shí)驗(yàn)最后得出了較為理想的運(yùn)動(dòng)軌跡,但這卻是在卡爾曼濾波基于一定的假設(shè)和約束條件下得出的,在實(shí)際的場(chǎng)景中,卡爾曼濾波必須已知準(zhǔn)確的數(shù)學(xué)模型和噪聲統(tǒng)計(jì)特性,且實(shí)際的初始狀態(tài)、噪聲統(tǒng)計(jì)也充滿了不確定性,噪聲也并非總是呈高斯分布,這一系列問(wèn)題也是今后亟需解決和研究的重點(diǎn)內(nèi)容。
參考文獻(xiàn):
[1] 孫茁鳴.青少年花樣滑冰運(yùn)動(dòng)員年齡特征與機(jī)能訓(xùn)練的探討 [J].當(dāng)代體育科技, 2021,11(10),46-48.
[2] 付彩姝,王旋,姜海蘭.花樣滑冰青年運(yùn)動(dòng)員體能訓(xùn)練的方法和手段 [J].冰雪運(yùn)動(dòng),2006(2):28-29.
[3] GUAN S F,LI X F. WITHDRAWN: Moving target tracking algorithm and trajectory generation based on Kalman filter in sports video [J/OL].Journal of Visual Communication and Image Representation,2019[2021-10-05].https://doi.org/10.1016/j.jvcir.2019.102693.
[4] 尹宏鵬,陳波,柴毅,等.基于視覺(jué)的目標(biāo)檢測(cè)與跟蹤綜述 [J].自動(dòng)化學(xué)報(bào),2016,42(10):1466-1489.
[5] 任珈民,宮寧生,韓鎮(zhèn)陽(yáng).基于YOLOv3與卡爾曼濾波的多目標(biāo)跟蹤算法 [J].計(jì)算機(jī)應(yīng)用與軟件,2020,37(5):169-176.
[6] 江金洪,鮑勝利,史文旭,等.基于YOLO v3算法改進(jìn)的交通標(biāo)志識(shí)別算法 [J].計(jì)算機(jī)應(yīng)用,2020,40(8):2472-2478.
[7] 童燮,萬(wàn)茂,趙奉奎.基于目標(biāo)運(yùn)動(dòng)軌跡預(yù)測(cè)的自動(dòng)緊急制動(dòng)避撞策略 [J].軟件導(dǎo)刊,2021,20(4):111-116.
[8] 余弦.基于軌跡的視頻運(yùn)動(dòng)對(duì)象的檢測(cè)與跟蹤技術(shù)研究 [D].上海:上海交通大學(xué),2010.
作者簡(jiǎn)介:何金平(2000—)男,漢族,重慶忠縣人,本科在讀,研究方向:機(jī)器學(xué)習(xí);楊波(1976—)男,漢族,吉林長(zhǎng)春人,副教授,碩士,研究方向:智能評(píng)價(jià)系統(tǒng)、數(shù)據(jù)挖掘。