陈鹏展, 曾荣飞, 卢伟清
(华东交通大学 电气与自动化工程学院,江西 南昌 330013)
基于多目视觉的飞行球类轨迹预测研究利用多目视觉系统提取完整的飞行球运动轨迹并进行轨迹预测,其包含了目标识别、三维重建、信息融合、系统实时同步、轨迹跟踪和轨迹预测等研究难点。兵乓球具有体积小、飞行速度快、运动模型复杂等特性,非常符合飞行球类轨迹预测研究实验对象标准,近年来,越来越多的研究者利用兵乓球作为实验对象进行飞行球类轨迹预测研究。
目前,针对兵乓球轨迹预测的研究,主要分为基于物理运动模型预测和基于机器学习模型预测。兵乓球基于传统的运动模型轨迹预测需要考虑各种复杂的物理场影响因素,比如重力、马格努斯力、空气阻力、球回弹力和落地摩擦力等[1],这无疑会带来模型的高复杂度和低鲁棒性[2]。机器学习具有模型建立简单,泛化性高的优势,目前逐渐成为乒乓球轨迹预测研究趋势。Zhao Y等人[3]提出一个基于K-means算法的扩展连续运动模型(ECMM),在ECMM的基础上,提出一种基于期望最大化算法的运动状态估计方法,该方法将ECMM中的类别作为一个潜在变量进行精确的轨迹预测。Lin H I等人[4]将乒乓球轨迹以落点为界限分为2段,提出一种双人工神经网络模型进行兵乓球轨迹预测。Su H等人[5]提出一种基于模糊逻辑的非线性滤波器用于计算球的滤波位置,采用局部建模法,获取反弹后的速度,根据球的初始状态以及飞行和反弹模型来预测后续轨迹。Lu C F等人[6]提出了一种自适应来测量协方差离散Kalman轨迹估计算法,主要解决由于兵乓球高速运动而带来的各种误差问题,实现精准的轨迹跟踪。大部分的兵乓球轨迹预测研究采用兵乓球运动模型进行预测,由于模型复杂,影响因素太多,受环境影响大,因此在真实场景中应用具有很大的挑战。
本文中提出一种结合简单物理运动(simpie physical motion,SPM)模型和长短期记忆(long short-term memory,LSTM)神经网络模型的轨迹预测模型,即SPM-LSTM。实验证明在仿真环境下,本文提出的预测算法能够实现飞行速度为5 m/s的乒乓球轨迹预测,平均预测精度能达到35.8 mm,基本满足兵乓球轨迹预测需求。
本文利用3台高速工业相机搭建乒乓球轨迹提取系统。首先,采集多目视觉提取多视角图像,输入到训练好的神经网络中进行乒乓球目标识别,提取多视角图像中小球中心点图像坐标值,完成像素点匹配。其次,利用多目视觉三维定位原理提取出精准的小球空间三维坐标值,完成乒乓球轨迹预测。为解决相机拍摄不同步带来的误差问题,采用硬件外部同步触发方式进行多目视觉系统同步图像信息采集。为简化实验,本文不考虑相机帧率波动问题。图1为轨迹提取系统结构。
图1 轨迹提取系统结构
为了提取精准的乒乓球运动轨迹,小球的精准三维定位是其中关键。摄像机标定的目的在于找出图像像素点坐标与真实三维空间点坐标之间的映射关系,图像目标物像素点的提取一般使用特征点提取,其优势在于精度高,缺点是泛化性差。本文采用YOLOv3神经网络进行乒乓球目标识别。首先,进行乒乓球目标识别,提取检测框的中心点图像坐标,然后在相机标定参数的基础上利用立体视觉三角定位原理进行乒乓球三维定位。相机像素坐标(u,v)与空间世界坐标系(Xw,Yw,Zw)之间的关系如下
(1)
式中u0,v0为主点坐标,fx,fy为有效焦距;Zc为摄像机坐标系下纵坐标值;R3×3为旋转矩阵,T3×1为平移矩阵。
多目视觉轨迹提取系统采用的立体视觉三角定位原理,利用3台工业相机,两两组合将组成3组双目相机,将其中一个相机设置为主相机。主相机的坐标原点为整个多目视觉系统的坐标原点。多目相机系统位置摆放保证乒乓球运动轨迹至少出现在2台相机图像中,三维空间点坐标如下式
Xw=Zwxl/fl,Yw=Zwyl/fl,
(2)
式中fl,fr分别为左右相机焦距;(xl,yl),(xr,yr)分别为左右相机成像平面坐标;ri,ti分别为旋转矩阵R和平移矩阵T对应的第i个元素值。
为将物理运动模型设计的尽可能简单,本文选择忽略马格努斯力。图2为乒乓球运动过程中受力分析。
图2 乒乓球受力分析
乒乓球的受力分析如下
(3)
式中Fg为乒乓球重力;m为小球质量,取2.7 g;gn为重力加速度,取9.8 m/s;Fr为空气阻力;Cd为阻力系数,取0.5;ρ为空气密度,取1.29 kg/m3;Fb为空气浮力,因数值太小不加入计算。
依据每一个坐标轴的受力分析进行乒乓球物理运动模型推导,令k=CdρaA/2。
1)小球在X轴上只受到空气阻力影响
(4)
积分可得
(5)
式中vx0和x0为小球在X轴方向的初始速度和初始位置。
2)小球在Y轴上同样只受到空气阻力影响
(6)
3)小球在Z轴上受到空气阻力和重力的影响
当vz≥0时,小球受力分析如下
(7)
积分可得
(8)
当vz<0时,小球受力分析如下
(9)
积分可得
(10)
乒乓球的第二段轨迹为碰撞反弹模型,当小球与桌面碰撞时,由于受球速、球自身运动的方式等因素的不同,水平方向和竖直方向上的摩擦系数和衰减系数也不同,因此小球反弹模型如下所示
vxout=kxvxin+bx,vyout=kyvyin,vzout=kzvxin+bz
(11)
式中kx,ky,kz,bx,bz为反弹参数。
利用离线的300条乒乓球碰撞反弹轨迹计算小球反弹参数,实验以反弹前的速度为横坐标,反弹后的速度为纵坐标,然后利用最小二乘法拟合分别确定水平方向和竖直方向的反弹系数。表1为实验后得出的反弹系数值。
表1 反弹系数
LSTM是一种循环神经网络,借鉴了人类神经记忆的长短时和遗忘特性,适用于处理序列预测问题[7]。这一类神经网络模型在内部维持一个状态向量,序列输入的过程中模型不断更新状态向量,同时基于当前输入和当前状态输出一个向量。对于一个输入序列,通过多个这样的递归操作,神经网络可以输出一个对应的输出序列,对应于本文提出的轨迹预测问题,该输出序列即为预测的下一时刻坐标偏差值。图3为LSTM模型结构。
图3 LSTM模型结构
利用训练好的LSTM神经网络预测SPM模型轨迹点坐标偏差值,将飞行轨迹点的t时刻到t+n时刻的三维坐标序列和速度分量序列作为输入,输出t时刻到t+n时刻的三维坐标偏差值序列。
首先利用简单运动模型预测出乒乓球飞行轨迹,再制作轨迹点偏差序列数据集,利用LSTM神经网络进行训练,训练好的神经网络模型输入轨迹点坐标和速度,输出坐标偏差值,最后将坐标偏差值和与预测出来的轨迹点坐标相结合,得到最终的轨迹点预测坐标。图4为SPM-LSTM预测模型的结构。
图4 SPM-LSTM模型结构
本文实验环节采用了3台高速黑白工业相机进行图像采集,相机型号为HIKVISON/MV—CA013—21UM,像素为130万像素,最高帧数可达210帧。乒乓球采用标准比赛用球,直径为40 mm,重量为2.7 g,球桌规格为长为2.74 m,宽为1.525 m,高为0.76 m,实验仿真平台为Ubuntu16.04操作系统,TITAN X显卡,16 GB内存。图5为实验平台硬件设施。
图5 实验平台硬件设施
SPM-LSTM模型训练利用Keras搭建LSTM神经网络,采集SPM模型输出轨迹与真实轨迹之间的偏差数据作为数据集。
本文利用轨迹提取系统采集1 000条飞行速度为5 m/s左右的乒乓球运动轨迹,分别根据每条运动轨迹的轨迹点三维坐标序列制作坐标数据集和根据真实轨迹与SPM模型输出之间的偏差数据序列制作偏差数据集,并且选中其中的700组作为训练集,300组作为测试集。将制作好的训练集分别输入LSTM模型和SPM-LSTM模型中进行训练,在分别进行训练了5 000次后,loss分别降为了0.023 8和0.013 4,保存训练好的模型参数以便用于接下来的离线测试实验。将测试集中的每条曲线的初始10个轨迹点信息输入到训练好的LSTM模型和SPM-LSTM模型中,相应的输出未来时刻的轨迹点三维坐标。图6为SPM、LSTM和SPM-LSTM的第一组测试数据的预测轨迹曲线。图7(a),(b)分别为SPM、LSTM模型和SPM-LSTM模型的误差对比。3种算法的误差比较如表2。
图6 第一组数据预测曲线
图7 3种预测算法平均误差分布
表2 3种预测算法的误差比较
由图6可看出,SPM-LSTM模型预测曲线非常贴近真实轨迹曲线,预测效果最好,而LSTM模型预测效果中等,SPM模型预测曲线与真实轨迹曲线相差最远,预测效果最差。同时由图7(a),(b)可以明显看出,SPM-LSTM模型在X轴、Y轴和Z轴的每条预测曲线的平均误差在3个预测模型中最小,并且经过300次实验,SPM-LSTM模型各个方向分量上的平均误差相对于其他2个模型来说都是最小的,分别为21.4,17.2,17.6 mm,并且总的平均误差为35.7 mm。而实验所用乒乓球直径为40 mm,因此,可分析得出SPM-LSTM模型在仿真环境下可以精准用于乒乓球轨迹预测。同时实验结果显示SPM-LSTM模型在各个方向分量的标准差相对其他2个预测算法也是最小的,分别为9.0,9.1,3.5 mm,并且总的标准差为7.6 mm,由此可以分析得出SPM-LSTM模型的稳定性同时也是最强的。
本文针对乒乓球初始轨迹点跟踪问题,通过YOLOv3目标识别结合多目视觉实现乒乓球三维定位,实现乒乓球精准三维跟踪定位。在乒乓球初始轨迹点实时跟踪的基础上,提出了一种结合SPM模型和LSTM神经网络模型的轨迹预测模型(SPM-LSTM),通过采集SPM模型输出值与真实轨迹值之间的偏差序列数据做成偏差数据集,将数据集放入LSTM神经网络中进行迭代训练直至收敛,最终利用训练完成的SPM-LSTM算法在仿真环境中进行了算法对比测试。通过采集乒乓球运动轨迹的10个初始轨迹点数据输入到训练好的SPM-LSTM模型、LSTM和SPM算法中,进行了300次实验,输出结果和真实数据做对比。仿真实验结果说明了SPM-LSTM模型轨迹预测性能远高于LSTM和SPM模型,能够适用于乒乓球运动轨迹预测。
本文提出的乒乓球轨迹预测方法也存在局限性。由于轨迹提取采用神经网络提取目标物中心点的方式实现多目视觉像素点匹配,神经网络识别的准确性和速度限制了轨迹提取系统的准确性和实时性,同时,由于SPM-LSTM算法实时预测SPM偏差坐标值后将其与SPM预测值结合没有进一步数据分析处理,导致预测性能下降。因此,下一步研究工作是提升目标识别的准确性和实时性,增强轨迹预测系统的鲁棒性。