基于OpenCV技术对乒乓球比赛中运动乒乓球的检测与跟踪
陈锴 1,宋爱玲 1,刘元福 2,李罗季 3,李征 4
1 西南交通大学体育部,成都,610031;2 四川师范大学体育学院,成都,610010
3 沈阳体育学院经管学院,沈阳,110102;4 西南民族大学体育学院,成都,610010
摘 要:目的:乒乓球比赛视频中对球的运行轨迹和旋转的精确分析,可为临场教练提供实时的策略
分析和战术准备,并对今后的训练和模拟实战提供依据。方法:若要实现技术视频的分析,首先需要
对比赛中球的运行轨迹进行检测跟踪。OpenCV 技术(Intel 公司支持的开源计算机视觉库)作为开源
和多平台环境支持的特点,在图像处理、模式识别、目标检测与跟踪方面尤为突出,通过该平台设计
对实时乒乓球比赛视频中乒乓球的运行轨迹进行检测及跟踪,并使用算法优化乒乓球比赛中高速运动
及背景复杂易被遮挡等因素,获取对乒乓球轨迹的跟踪。结果:利用改进的 Surendra 算法对比赛视频
中的乒乓球体进行检测,以及使用 CamShift 算法对高速运动的乒乓球进行跟踪,进而在 OpenCV 平台
下实现实时比赛视频中球运行的检测与跟踪。结论:通过对高速运动的乒乓球的检测跟踪,以及不同
比赛背景和球员水平条件下,使用摄像头及计算机硬件设施对比赛中乒乓球的落点及运行轨迹有了更
精细的实时跟踪控制,使得利用该开源软件为乒乓球比赛的视频转播加工,乒乓球技术动作教学,以
及计算机模拟对战策略分析等的二次利用开发成为现实。
关键词:乒乓球;检测;跟踪;算法
1 引言
当今社会科学技术迅猛发展,推动了竞技运动的高速发展。现代高科技成果,最新知识及最新技
术在体育领域的全面渗透和利用,在竞技运动中发挥着巨大的作用。乒乓球比赛中由于场地较小,乒
乓球的速度旋转和攻守双方的快节奏,使得比赛保持了一个快速变化当中,不同运动员技术动作对球
的落点、轨迹的影响,经常是瞬间而过,通过慢动作来进行精细化的判定落点及轨迹已经无法满足现
今的需要。
同时综合国内外文献,为了取得最佳的训练效果,目前许多世界优秀教练员在训练过程中充分利
用各种现代科学技术,使训练的针对性、目的性大大加强,训练向科学化、定量化方向发展的趋势明
显。相较而言,我国在该方面的投入明显不足,凭教练员肉眼的观察,靠经验去判断推测的训练情况
仍很普遍,限制了运动员成绩的进一步提升。
因此,本文旨在将现代高新技术成果结合运用于乒乓球竞赛和训练当中,重点研究如何实现乒乓
球比赛视频中乒乓球运行轨迹的检测与跟踪,一方面帮助教练员对运动员的击球技术特征与乒乓球运
行性能进行正确的评估,另一方面,对高速变化的乒乓球比赛中,乒乓球的运行轨迹、落点以及击球
瞬间进行实时跟踪,为体育赛事直播、比赛技术信息统计提供自动化的服务。
目前,OpenCV 技术(Intel 公司支持的开源计算机视觉库)在图像处理、模式识别、目标检测与
跟踪方面具有轻量化、跨平台的特点,同时提供了多种计算机语言支持接口,[1-6]因此,本文拟基于该
技术平台实现乒乓球比赛视频中乒乓球运行轨迹的检测与跟踪。通过编译算法程序,实现对视频中运
动的乒乓球进行识别与跟踪,并分析不同算法下的实例效果。
作者简介:陈锴,男,讲师,西南交通大学体育部
电子信箱:171183589@qq.com
13
2 技术方案
本文基于 OpenCV 开源技术平台,实现乒乓球比赛视频中乒乓球运动状态的识别与跟踪,首先根
据该研究具体实施情况条件,我们选择了现场摄像后期进行处理的方式,获取较合理的算法及程序,
并在验证之后采取实时摄像实时处理的方式来进行乒乓球的识别与跟踪。所以前期针对乒乓球比赛规
则对于比赛场地及球的要求,我们选取的研究视频选取了红色塑胶地面、国际乒联认定球台及白色乒
乓球,后台背景为蓝色。视频摄取机位位于球台底线下方,离地高度 2.5 米,离比赛球台球网装置中
线 8 米,具体机位放置见图 1。
8 米
2.5 米
图 1 拍摄机位放置
根据乒乓球比赛的运动特点及机位的选取,我们认为该识别跟踪技术的难点在于虽然背景变化不
是很大,乒乓球运行轨迹范围有限;但是其易被运动员遮挡乒乓球,造成识别及跟踪较难准确判定,
所以在图像模式识别上采取 YUV 文件格式,同时对运动目标进行判断识别,如乒乓球出现在视频图
像中,则进行跟踪,并考虑球速过快且有弧线旋转变化,加入了预测算法,以保证轨迹的准确跟踪。
总体研究方案如下图所示。
YUV单帧序列
文件
RGB图像
改进Surendra算法
无
有无运动目标
有
Camshift跟踪
Kalman预测
连续N帧内有无
运动目标
有
存储YUV文件
图 2 总 体技 术方案
14
2.1 乒乓球球体的检测技术
对实例视频中乒乓球运动球体的检测属于计算机图像识别研究方面,它融合了对于快速运转的乒
乓球进行图像处理及模式识别跟踪。目前已有多种方法可以实现运动目标的检测,鉴于 Surendra 背景
更新算法所具有的算法简单,程序易于实现,可有效降低运动目标受背景变化及光线的干扰,还能够
提供更好的运动目标检测结果等优点,本文将采用该算法实现技术视频中对运动物体的检测。
需说明,由于 Surendra 算法中亮度阈值 T 是个固定值,在光线变化等复杂多变的环境中不太适用,
[7-11]本文将对 Surendra 算法予以适当改进,即采用 OTSU 方法自适应获取亮度阈值,采用帧间差分法
获取背景更新掩码,利用其结果来控制背景更新,结合形态学膨胀和腐蚀算法修正前景图像,改进的
Surendra 算法具体过程为:
(1)获取第一帧图像 I1 为背景 B1;
(2)选取初始阈值 T=60,利用 OTSU 方法基于当前帧图像自适应求取动态阈值;
(3)由当前帧 Ik 与前一帧 Ik-1 之间的像素差分,求取二值图像 Dk;
D =
k
255 I -I
0 I -I
k
k
>T
2.2 乒乓球运动球体的跟踪技术
与检测技术类似,虽然有多种基于 OpenCV 技术平台的算法可实现对运动物体的跟踪,[7-11]但各种
算法优缺点不同,这就需要合理选择相应的算法,以适用于跟踪乒乓球视频中乒乓球的运动状态,乒
乓球比赛中的球体运动具有小型化、速度与旋转的变化、易被球拍及运动员遮挡,且由于反弹等特点
和网带干扰,使得对运动球体的跟踪具有难度。
Opencv 平台中的 CamShift 算法可有效地解决目标变形和遮挡问题,对系统资源要求不高,时间
复杂度低,在乒乓球比赛背景比较统一且简单的条件下能够良好的跟踪运动目标。因此,本文选用该
算法进行视频中乒乓球的运动跟踪。但由于 CamShift 算法只考虑颜色直方图,忽略目标的空间运动
特性,当背景观众复杂是或者干扰与噪声相近时,跟踪可能失败,所以还需要对 CamShift 算法进行
适当改进,即加入对目标的预测算法。
Kalman 滤波有能够克服由于部分目标被遮挡、目标间的互相干扰、目标运动速度快、少量相近背
景干扰等因素而造成的跟踪失效,因而可有效预测运动目标的位置,将其与 CamShift 算法相结合起
来,有利于视频中快速位移旋转运动目标的跟踪。 Kalman 与 CamShift 结合算法主要分三个部分。
(1)Kalman 预测当前帧运动目标位置。由于 Kalman 滤波依据上一时刻的观测值和预测值就能推测
下一时刻的估计值,因此使用 Kalman 滤波可靠的预测当前帧图像目标位置;
(2)CamShift 匹配运动目标。根据运动目标的颜色概率分布图,在 Kalman 滤波预测的目标位置邻
域内,使用 CamShift 算法在目标模板搜索匹配相似目标。
(3)更新 Kalman 滤波状态。以当前运动目标大小和质心作为 Kalman 滤波的观测值来更新 Kalman
滤波的状态,从而更准确的估计下一帧目标的预测值。
3 结果与讨论
图 4-1 至 4-3 为改进的 Surendra 算法检测目标效果,首帧(a)阈值 T 为 60。第 171 帧(b)和第 202
帧(c)的阈值分别为 90 和 100。
图 4-1 (a)视频第 1 帧图像及效果
图 4-2 (b)视频第 171 帧图像及效果
16
图 4-3 (c)视频第 202 帧图像及效果
由图可见,改进的 Surendra 算法可自适应获得背景图像,完整的显现出运动目标的形状轮廓。而
且该方法受到光线等环境的变化影响小,所包含的运动目标的信息也很完整,可给出目标的位置、大
小和形状等,但也可以看出背景观众等其他干扰较大,特别是浅色衣服在灰度图中以及 surendra 算法
模拟中对运动物体的识别都有一定的影响,在后续的研究中更需要注意背景干扰的存在,通过改进算
法特别是乒乓球完整球形的识别以区分不规则浅色物体的干扰。
图 5 和图 6 分别为采用 CamShift 算法和改进 CamShift 算法获得的跟踪效果。通过对图 5 中三幅
图片的比较可以发现:Camshiit 算法在背景稳定,环境光线变化缓慢,运动目标速度不是很快的条件
下,能够很好地跟踪物体。复杂条件下通过调节阈值,也可以保证跟踪的正确性,但因为背景颜色(网
带颜色或运动员的发球手)与要追踪白色乒乓球颜色相近,跟踪窗口(红色线框)越来越大。
图 5 CamShift 算法跟踪效果图
这主要是因为 CamShift 算法在跟踪的过程中丢失运动目标,并在后续的计算中认为该目标为新的
运动目标,从而造成检出个数比实际个数多的状况。并且检测的范围远远大于实际运动目标,造成检
测范围越来越大,甚至达到整个图像。而在使用了 Kalman 滤波预测后(见图 6),缩小了搜索范围,
错误率有了明显的下降,并且检测方框的大小也适当。
图 6 Kalman 滤波后效果图
本文通过改进的 Surendra 算法,实现了乒乓球比赛视频中对乒乓球运动的检测,且对运动目标
的描述完整、精确;采用 Kalman 预测与 CamShift 跟踪相结合的算法,可有效跟踪技术动作视频中的
运动乒乓球,而且降低白色背景的干扰,可以避免由于遮挡乒乓球而无法跟踪捕捉。
4 结论
17
通过精确分析乒乓球运行轨迹,一方面可对运动员的技术特征予以正确评估,为运动员制定科学
合理的训练任务提供重要的依据;同时也可以乒乓球比赛中的对战分析提供更精细的落点和线路分
析。而实现视频中高速运动乒乓球的检测与跟踪,是基于比赛视频进行精确分析的重要基础。
本文基于 OpenCV 技术平台,分别采用结合 OTSU 算法改进的 Surendra 算法和 Kalman 预测与
CamShift 跟踪相结合的算法,实现了对视频中乒乓球运动的检测与跟踪。
illiam K. Pratt,数字图像处理[M],北京:机械工业出版社,2005
实例验证结果表明:改进的 Surendra 算法可自适应获得背景图像,可完整的显现出乒乓球体的轮
廓。而且,该方法受光线等环境的变化影响小,所包含的运动目标的信息完整、精确;相较 CamShift
算法,改进的 CamShift 跟踪算法在 Kalman 预测算法结合下实现了搜索范围小,错误率明显下降,检
测方框的大小适当,可有效地跟踪视频中运动的乒乓球。本文以上技术方案的提出,可为体育训练中
相关的技术研究提供可借鉴的案例参考。
5 参考文献
[1]
[2] 赵春晖,潘泉,梁彦,视频图像运动目标分析[M],北京:国防工业出版社,2011
[3] 沈庭芝,闫雪梅.数字图像处理及模式识别[M],北京:北京理工大学出版社,2007
[4] 郭文强,侯勇严.数字图像处理[M],西安:西安电子科技大学出版社,2009
[5] 高守传,姚领田.Visual C++数字图像处理与工程应用篇[M],北京:中国铁道出版社,2006
[6] 董士崇,王天珍,许刚.视频图像中的运动检测[J],武汉理工大学学报,2004 26(4):1-3
[7] 刘瑞祯,于仕琪,OpenCV 教程一基础篇[M],北京:北京航空航天大学出版社,2007
[8] 张顺淼,吕开东,一种基于 Surendra 背景更新的背景减除运动目标检测方法[J],南京工程学院学报,2011
9(2):22-27
[9] 胡蕾,几种图像去噪算法的应用分析[J],信息技术,2007 31(7):81-83
[10] 彭艳芳,视频运动目标检测与跟踪算法研究[D],武汉:武汉理工大学,2010
[11] 王剑钢,基于增强现实的地理信息指引系统[D],西安:西安电子科技大学,2011
18