基于卡尔曼滤波和YOLOv5绘制滑行轨迹的方法

2021-06-07 07:23何金平杨波
现代信息科技 2021年24期
关键词:卡尔曼滤波目标检测花样滑冰

何金平 杨波

摘  要:真实场景中的目标跟踪问题一直以来都是研究热点,而双人花样滑冰作为冬奥会热门比赛项目之一,如何检测跟踪并预测绘制运动员在比赛或训练中的曲线对于评判运动员的表现尤为重要,为此,文章提出一种基于卡尔曼滤波和YOLOv5绘制双人花样滑冰滑行轨迹的方法。首先通过YOLOv5检测当前帧中的待跟踪目标,获取目标的ID、边界框大小和中心坐标信息;然后利用卡尔曼滤波根据目标的上一帧位置信息预估其下一帧位置,进行精确的目标跟踪;最后绘制出运动员的运动轨迹。

关键词:卡尔曼滤波;YOLO;目标检测;花样滑冰;轨迹

中图分类号:TP18       文献标识码:A文章编号: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  引  言

世界花样滑冰已有百年历史,但该赛事的金牌几乎一直由西方国家所垄断。这主要是因为我国现阶段对花样滑冰运动员的训练方法还比较传统,教练仅凭肉眼和主观经验来指导运动员训练,体育训练的科技水平较低[1,2],导致我国双人花样滑冰的成绩不理想。因此录制运动员训练或比赛的视频,运用计算机技术集中分析视频中的运动目标(也就是花样滑冰运动员),得出运动员的滑行轨迹,再进行科学分析,从模型中得出相关数据,及时校正、优化运动员在动作和技巧上的不足,进而提高运动员在比赛中的成绩。由此可见,运动目标的提取、检测和跟踪在视频分析领域显得极其重要,这为运动员更快更好地掌握技术要领提供了有力的技术支撑[3]。

根据文献[4]对近年来目标检测与跟踪技术发展的梳理与总结,并结合一些计算机视觉三大会议(CVPR、ICCV、ECCV)的相关报道来看,近年来该领域的研究可谓硕果累累。理解服务对象或者对目标进行控制的基础和前提是目标检测和跟踪,运动目标的检测和跟踪主要用于获取运动目标的位置、姿态、轨迹等基本运动信息[4]。本文通过YOLOv5的CNN网络将图像分割成网格,每个单元格负责预测检测并输出运动目标的信息,完成了对目标状态的初始化。此外,引入能够减小搜索范围、提高跟踪效率的卡尔曼滤波器实现了对运动员的多目标跟踪,具有很高的实用价值。

1  目标检测YOLO算法

1.1  YOLO算法的介紹

YOLO将目标物体检测重新定义为一个回归问题。它基于一个单独的端对端网络,将单个卷积神经网络(CNN)应用于整个图像,并将图像分成网格,完成了从原始图像的输入到物体类别和位置信息的输出,给出了每个网格的置信度及边界框。

YOLOv5是Ultralytics公司在卷积神经网络(CNN)的基础上推出的一种目标检测算法,是YOLO算法系列的第5个版本。针对本文训练的COCO数据集,YOLO算法会设置初始长和宽的锚框,用来预测待标记目标的边界框。每个边界框会有4个坐标(x,y,w,h),即框中心坐标以及长和宽。我们建立了相应的COCO数据集进行网络训练,在视频序列中,YOLO算法会给出最佳的边界框进而检测到相应的目标。

1.2  YOLOv5s整体网络结构

花样滑冰运动员在实际的比赛以及训练视频中,他们的运动速度很快,且目标较大,视频时间长。因此实验选择了网络最小、速度最快,同时AP精度也是最低的YOLOv5s模型网络结构。YOLOv5s工作原理[5]如图1所示,其整体网络结构[6]如图2所示,整体网络结构中各部分模块如图3至图7所示。

Input:Mosaic数据增强、自适应锚框计算

Backbone:Focus结构、CSP结构

Neck:FPN+PANet结构

Head:Dense Prediction、Sparse Prediction

2  目标预测与跟踪——卡尔曼滤波器

2.1  引入卡尔曼滤波器的意义

在视频检测过程中,两个运动员在视野下是同类别的(运动员在系统中类别设置为0),并且在冰上的滑行速度极快,会出现两个人互相遮挡的情况。在实际的检测过程中,当两个大小相似的物体互相遮挡时,YOLOv5s对目标对象跟丢或重复跟踪的可能性会很高。同时在检测过程中,观众席上的人员信息有时也会被检测出来,这些情况会对绘制运动员的实际轨迹产生一定的影响。因此,引入一个能够根据前一时刻状态预测下一时刻位置并且可以去除噪声还原真实数据的卡尔曼滤波器,有助于提高绘制轨迹的精度。

2.2  卡尔曼滤波原理

卡尔曼滤波是一种线性系统状态方程,利用目标的动态信息,设法除去观测数据与系统中噪声和干扰的影响,计算得出一个关于目标位置的最佳估计。有3种估计结果:对过去位置的估计(平滑或插值),对当前目标位置的估计(滤波),对将来位置的估计(预测)。由文献[7]整理得出的公式为:

其中,xk和uk为当前时刻的状态向量和控制向量,wk为服从高斯分布的系统过程噪声,A和B分别为系统的状态转移矩阵和控制矩阵,vk为系统的测量噪声,zk为观测向量,Hk为系统的观测矩阵。

本文假设系统的过程噪声wk-1和测量噪声vk-1相互独立,都是服从高斯分布的白噪声,其协方差矩阵分别为Q和R。预测过程没有对目标的控制,因此忽略控制的输入。卡尔曼滤波器计算主要分成以下三步:

(1)初始化。初始化参数在后续的实验环境部分已给出。

(2)预测。根据上一时刻(k-1时刻)的后验估计来计算出当前时刻(k时刻)的状态,得到k时刻的先验估计。

其中,和分别表示当前状态的后验估计和先验估计。Pk和分别表示当前时刻的后验估计协方差和先验估计协方差矩阵,表示状态的不确定度(即和的协方差)。Kk为卡尔曼增益、滤波增益矩阵。作为实际测量和预测测量的残差与Kk一起校正先验估计,得出后验估计。

系统进入k-1时刻后,便开始进行下一时刻的递推计算。本文则基于YOLOv5检测出运动员并进行跟踪,再结合卡尔曼滤波器实现对视频中运动员在训练场地中位置的预测,进行滑行轨迹的绘制[8],对运动员在训练或比赛中的表现进行分析指导。

3  系统流程

系统流程图如图8所示,本文首先将视频序列放入已经在COCO数据集上训练好的YOLOv5s模型网络中,检测出待跟踪目标,并将每一帧检测出的目标类别、边界框长和宽以及中心坐标信息保存为.txt格式。输入卡尔曼滤波器中,对下一帧目标的位置进行估计和预测。多目标会进行关联,使用最大权重匹配,得出滑行轨迹。

4  实验

4.1  实验环境

以隋文静和韩聪2019年世界花样滑冰锦标赛夺冠中的部分视频序列作为实验素材,进行实验测试。实验结果采用了两段视频序列,检测端均为YOLOv5s框架。实验平台:处理器Intel(R)Core(TM)i5-8250U CPU @1.60 GHz 1.80 GHz,显卡NVIDIA GeForce MX250的小米笔记本电脑,深度学习框架Pytorch,编程环境PyCharm 2019.3.3 x64。

在实际的预测过程中,卡尔曼滤波器中没有控制增益输入,即uk为0,编程中设置B=None来消除公式(1)中的这一项参数。卡尔曼滤波器中的其他初始参数设置为:

4.2  实验分析与结果

视频检测中时常会检测出观众席上无关人员的信息,此外,当两个运动员在比赛中做高难度的技术动作时,人物会高速旋转、互相遮挡,检测目标在相邻两帧中时常会发生几个至几十个像素之间的跳跃,导致检测目标缺失或ID发生变化,轨迹部分缺失不完整。在不加入卡尔曼滤波器的情况下,部分检测结果如图9所示,轨迹如图10所示。

为获得更完美更精準的轨迹,做出如下优化:观众等无关目标不会被一直检测出,因为这些目标只是在两三帧中偶尔出现或者是断断续续地出现。在加入卡尔曼滤波器后,如果连续好几帧未能检测到运动目标,则删除目标,以此来消除噪声的影响。而运动员在整段视频中几乎一直存在,偶尔也会缺失一两帧目标信息。卡尔曼滤波器中后验估计方程指出:k时刻的后验估计值等于将k-1时刻的后验估计作为估计值(目标存在),结合k时刻(目标缺失)作为测量值计算得出。k+1时刻的目标重新被检测到后,k+1时刻的后验估计值等于将k时刻计算得出的后验估计值作为估计值,结合k+1时刻(目标存在)作为测量值计算出。此时对比k-1时刻、k+1时刻的后验估计值会存在一定误差,但却在误差允许范围内,后续随着目标重新出现,后验估计也会越来越接近于真实值。加入卡尔曼滤波器后,部分实验结果如图11所示。

通过加入卡尔曼滤波器前后实验结果对比可以得出:仅使用YOLOv5检测绘制出的轨迹,女运动员的部分轨迹缺失,不完整;而采用本文所提方法绘制出的两条轨迹曲线完整,与运动员滑行轨迹基本一致。实验结果表明该方法能够较好地绘制出运动曲线,达到了预期目标,是有效可行的。

5  结  论

双人花样滑冰已逐渐成为国人较为关注的比赛项目之一,但中国历届比赛的成绩并不理想。就如何提高我国花样滑冰运动员在训练和比赛中的动作技巧,本文提出了一种在卡尔曼滤波和YOLOv5基础上绘制双人花样滑冰运动员滑行轨迹的方法,辅助运动员训练,并通过实验来验证本文方法的可行性和准确性。实验结果表明,该算法对目标跟踪是有效的,最后得出的目标运行轨迹与真实场景中的滑行轨迹基本一致,具有很高的实用价值。尽管实验最后得出了较为理想的运动轨迹,但这却是在卡尔曼滤波基于一定的假设和约束条件下得出的,在实际的场景中,卡尔曼滤波必须已知准确的数学模型和噪声统计特性,且实际的初始状态、噪声统计也充满了不确定性,噪声也并非总是呈高斯分布,这一系列问题也是今后亟需解决和研究的重点内容。

参考文献:

[1] 孙茁鸣.青少年花样滑冰运动员年龄特征与机能训练的探讨 [J].当代体育科技, 2021,11(10),46-48.

[2] 付彩姝,王旋,姜海兰.花样滑冰青年运动员体能训练的方法和手段 [J].冰雪运动,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] 尹宏鹏,陈波,柴毅,等.基于视觉的目标检测与跟踪综述 [J].自动化学报,2016,42(10):1466-1489.

[5] 任珈民,宫宁生,韩镇阳.基于YOLOv3与卡尔曼滤波的多目标跟踪算法 [J].计算机应用与软件,2020,37(5):169-176.

[6] 江金洪,鲍胜利,史文旭,等.基于YOLO v3算法改进的交通标志识别算法 [J].计算机应用,2020,40(8):2472-2478.

[7] 童燮,万茂,赵奉奎.基于目标运动轨迹预测的自动紧急制动避撞策略 [J].软件导刊,2021,20(4):111-116.

[8] 余弦.基于轨迹的视频运动对象的检测与跟踪技术研究 [D].上海:上海交通大学,2010.

作者简介:何金平(2000—)男,汉族,重庆忠縣人,本科在读,研究方向:机器学习;杨波(1976—)男,汉族,吉林长春人,副教授,硕士,研究方向:智能评价系统、数据挖掘。

猜你喜欢
卡尔曼滤波目标检测花样滑冰
不经一番寒彻骨,怎得梅花扑鼻香?
历经坎坷 中国花滑力争再创辉煌
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
基于改进连续自适应均值漂移的视频目标跟踪算法
基于MapReduce的城市道路旅行时间短时预测 
移动机器人图像目标识别
自平衡两轮电动车运动控制系统的硬件设计及实现