基于OpenCV的三级跳远体育视频分析研究

2020-09-22 08:43牛永亮
科技智囊 2020年3期

牛永亮

摘  要:基于開源计算机视觉类库OpenCV,采用光流法、自适应角度调整、模块化拼接及角点检测等方法实现三级跳远体育视频中运动背景及前景合成、运动员关键技术指标定量分析。文章首先结合三级跳远视频特点,采用光流法将视频中呈现的局部运动信息和全局背景信息分析、提取;其次利用Hough变换、仿射变换、区域填充法对光流法提取的背景特征进行模块化合成;然后依据视频序列中呈现的时间和空间属性,将三级跳远运动视频中展现的背景、前景合成为全局场景图;最后,对运动员的三级跳关键技术指标进行定量分析。实验表明,该算法能够实现三级跳远运动场景合成,通过对运动员关键运动指标进行定量分析,为其他竞技类视频分析提供借鉴,对指导现实训练具有一定意义。

关键词:OpenCV;运动背景;三级跳远;运动场景合成;指标定量分析

Abstract:Based on the open source computer vision library OpenCV,the methods of optical flow,adaptive angle adjustment,modular splicing and corner detection are used to realize the synthesis of sports background and foreground of the sports video in the triple jump and quantitatively analyze the key technical indicators of athletes. Firstly,combined with the characteristics of the triple jump video,the optical flow method is used to analyze and extract the local motion information and global background information presented in the video. Secondly,we use Hough transform,affine transform and area filling method to make modular synthesis of the background features extracted by optical flow method. Then,according to the time and space attributes presented in the video sequence,the background and foreground presented in the triple jump video are synthesized into a global scene diagram. Finally,the key technical indicators of triple jump are analyzed quantitatively. The experiment shows that the algorithm can realize the scene synthesis of the triple jump and quantitatively analyze the key sports indicators of athletes,which provides reference for other competitive video analysis and has certain significance for guiding the practical training.

Keywords:OpenCV; moving background; triple jump; motion scene synthesis; quantitative analysis of indicators

一、研究背景与现状

当今,竞技体育发展越来越迅速,运动员之间的竞争也越来越激烈,提高其运动成绩的难度也越来越大。OpenCV视觉类库于1999年由Intel建立,是由C函数和少量C++类构成开源软件开发包,实现了图像处理和计算机视觉方面的很多通用算法,为视频分析研究带来了便利。竞技类运动视频将训练或比赛中运动员的各个动作用摄像机拍摄下来,通过数字视频处理和图像解析技术对动作状态和细节进行分析处理、比较,可以让运动员直观地了解自身的不足和优势,实现体育训练的科学化。

竞技类运动视频是典型的运动背景视频。基于运动背景的视频研究,可以克服静止摄像机带来的场景固定、观测范围小等不利因素,实现实时跟踪、扩大观测范围,目前已广泛应用于人机交互、图像导航、战场测绘等军事和民事领域,并取得了丰富的成果。美国国防部VSAM(Visual Surveillance and Monitoring)研究项目,实现了战场态势分析、难民管理、重点场所管控等功能[1];在欧盟,由法国计算机科学与控制研究院及英国的雷丁大学等机构联合开发了一套用于提高公共交通网络管理的ADVISOR系统[2]。在国内,各高校及科研机构对此也特别关注。2008年北京奥运会期间,中科院自动化所建立了针对室内外场景监控的视频分析系统,可对运动目标进行分析,并记录场景的变化情况[3];西北工业大学设计完成的GreatWall视频系统,可以在门禁控制、航拍目标检测等方面进行分析[4]。

在体育科学研究领域,芬兰赫尔辛基理工大学的Perttu、美国亚利桑那州立大学的Kanav Kahol博士等分别通过延时视频技术对运动员训练过程中的复杂技术动作、舞蹈训练中的姿势等进行自动分割,用于识别和指导训练[5-6]。相较国外而言,国内面向运动训练的视频分析研究起步较晚,但现今也取得了一些成果。国防科技大学陈剑赟等提出了基本语义单元BSU(Basic Semantic Unit)的概念,并给出了基于BSU的视频内容分析框架[7]。李玲芝利用全局运动估计模型对跳水运动视频进行了分析,为跳水运动的技术分析提供了支持[8]。以上研究虽然成绩斐然,但由于运动背景的复杂性,目前对于运动背景下的运动目标研究远没有达到应对复杂场景的要求。

文章以第16屆广州亚运会和第30届伦敦奥运会中的三级跳远项目为例,基于OpenCV函数库对三级跳远运动视频进行分析,实现视频中运动目标的检测和提取、运动场景合成、运动指标定量计算与分析等功能,具有以下应用价值和学术意义:

(1)比较运动背景下运动目标分析方法,并对三级跳远视频分析,为其他竞技类项目技术分析提供借鉴和方法;

(2)运用图像处理技术和三级跳远运动的专业知识,对运动视频进行全景合成,并对运动员关键技能指标进行定量分析,以利于提高运动员成绩;

(3)利用OpenCV开源工具包实现平台设计,可以减少开发风险,降低成本,提高开发速度。

二、算法思路

竞技运动剧烈,完成时间短,一次完整的动作往往不足20秒,教练员很难在短时间内对运动员的运动指标进行直观判断。全景合成图由描述整个场景的背景和运动前景共同构成,能够改变单一局部观察视角,展现整个运动场景的全貌。相对于单个图像组成的视频序列,运动全景图可以更加全面、直观地获取运动信息。

实验实现全景合成图和技术指标定量分析两个目的。首先将三级跳远运动视频序列转化为灰色图像序列,通过运动检测分析得到运动前景目标和全局背景目标,对于背景,根据三级跳远场地设置规则进行背景合成;对于前景,通过图像后处理合成前景图,最终将前景、背景进行合成。在分离出前景运动员基础上,加入关键技术指标分析知识,对运动员进行技术指标定量分析。整体的设计流程如图1:

三、场景合成

(一)图像预处理

数字视频在若干连续的图像(帧)在时间轴上进行排序,使之成为一个图像序列。由于各帧的处理是相互独立的,因此可以将数字视频当作一个个静止图像来处理。数字图像的存储在计算机中用矩阵来表示。在不影响实验效果的前提下,为了减少运算量,将视频中获取的 RGB图像转化为单通道图像,即灰度图像。

在视频中由于摄像角度差异,要对图像进行标准化处理并消除图像的噪音,需要解决两个问题:一是对图像中的非跑道直线进行排除;二是对检测到的跑道直线计算得出角度,并进行几何变换。

Hough变换从黑白二值图像中检测直线,它利用点与线的对偶性,将原始图像空间中的给定曲线通过曲线表达形式变为参数空间的一个点。对问题一,可对识别出的直线,当线段的斜率k≤0,线段长度小于图像宽度1/2时对直线进行排除。对问题二,对跑道直线角度采取均值的方法计算。

仿射变换可以实现二维坐标之间的线性变换,且保持二维图像的平直性和平行性。实验中,设图像中A点像素的原坐标为 ,变换后的坐标为 ,M为变换矩阵。当目标绕原点顺时针旋转时,对应的坐标变换及矩阵M为:

图像预处理步骤:

1.获取视频序列中帧彩色图像;

2.利用函数cvCvtColor进行图像色彩空间转换,将RGB图像转换为灰度图像;

3.Hough变换检测图像中直线跑道;

4.计算得出跑道与水平轴的夹角,对图像进行几何变换,效果如图2:

(二)运动目标检测

基于运动背景的目标检测,目前主要采用全局运动估计和光流法来实现。在竞技运动视频中,背景和前景都在运动,其中背景的运动称为全局运动,前景目标的运动称为局部运动。全局运动估计算法是在视频序列中找出背景运动的规律,通过全局运动补偿得到背景图像;然后经过相邻帧间的差分及一系列的后处理,得到局部运动目标,由于对构成视频场景的各个运动对象均引入参数估计,计算量相对较大。光流法根据图像序列中像素点的灰度瞬时变化,计算得到像素点的速度矢量,从而构成图像的光流场。当光流矢量在整个图像区域中连续变化时,可以判断图像中不存在运动目标;当图像中有运动目标时,由于与背景存在相对运动,运动目标的速度矢量必然和邻域中背景的不同,从而检测出运动目标及位置[9]。在竞技类视频中,运动目标个体单一,运动方向特征明显,在实验中采用光流法进行运动目标检测。算法步骤为:

1.获取相邻帧运动图像;

2.采用稠密光流跟踪算法Horn-Schunck(HS)及对像素邻域进行匹配的块匹配(BM)方法,获取相邻帧中各像素块的速度方向;

3.根据速度矢量对背景像素进行排除,仅剩运动光流矢量;

4.确认运动图像中运动区域,并进行分割。

在进行光流法处理时,需要考虑噪声的影响。在相邻帧图片中,运动员基本处于图像的中央位置,因此可以不去过多考虑上边界和左边界的情况;为了保证整个视频序列在处理后图像的尺寸保持一致,可以增大矩形边界取值范围,以满足整个图像序列中获得相同大小的运动目标。结果如图3:

(三)图像后处理

在提取到运动目标后,为去除目标中含有的背景噪声,需要经过后处理,然后才能较好地显示前景运动。其主要经过二值化处理、形态学操作和轮廓提取及剔除无关区域等操作,流程如下:

1.二值化处理。设定灰度阈值Th,将灰度图像中的像素灰度值D(x,y)与其比较,小于阈值Th的像素划为一类,作为前景;大于阈值Th的像素划为另一类,作为背景。经过处理,灰度图像转化为二值图像R(x,y)。

2.形态学操作。在得到二值图像后,其图像中存在一些孤立的像素点,同时目标区域中还存在内部空洞。通过形态学操作可以进一步减少噪声的干扰。实验中用到腐蚀、膨胀操作;

3.轮廓提取及剔除无关区域操作。对前面处理过的图像进行连通性分析,并最终剔除面积较小的孤立区域。在处理后的二值图像中,通过查找轮廓来检测连通区域,并设立面积阈值,将面积小于阈值的孤立区域过滤掉,面积较大的认为是前景区域。

4.重绘保留的轮廓,得到前景区域,如图4:

经过图像后处理,可以将分割出来的前景运动员进行较好的复原处理。但由于运动员鞋子的像素值与跑道差异不大,对运动员脚部位置的复原不够理想。

(四)前景合成

一個完整的三级跳远视频包含近百张图像序列。完成前景图像合成,需考虑如何选择图像加入前景合成图像;如何在前景合成图像过程中保证图像间不出现重叠、遮挡以及缝隙等问题。

图像匹配算法对两幅或多幅图像进行识别并判断其相似性。在实验中利用图像灰度直方图的统计特征,对运动视频图像序列进行图像匹配,进而筛选出相关度较小的图像。其原理是:设定相关度阈值N,获取视频中相邻的第K帧及K+1帧,比较视频序列中相邻两帧的灰度直方图,如果其相关性小于阈值,则保存第K帧图像,并且令第K+1帧图像为第K帧,读取第K+2帧为K+1帧,重复以上操作,直到视频结束;如果其相关性大于阈值N,K取值不变,取第K+2帧为第K+1帧,重复以上操作。算法流程如图5:

对第16届广州亚运会哈萨克斯坦选手叶克托夫比赛视频中,相邻的三帧图像进行直方图匹配。其结果如图6:

如上图所示,a,b,c分别为相邻三帧图像,a',b',c'为对应的直方图。采用图像匹配相关度方法, a与b的相关度为0.9778,a与c的相关度为0.8804。设定阈值为0.95,则排除b图像。

在匹配选取图像后,需要以贴图的方式将图像转换到同一坐标系下,需考虑如何根据图像的时空关系通过图像融合清晰地映射到全景图中。

首先解决图像的时空关系。在视频转换为帧图像时,保存所对应的帧编号,可以得到图像的时间属性。竞技运动中,严格的场地设置,可以确定相应的位置关系。因此,在获取视频图像序列时,用文件名保留其所在的帧数,用于表示其对应的时间信息;根据前景图像中含有的背景特征,可以确定前景图像对应的位置信息。假设背景特征测风仪和起跳板所对应的帧数分别为fm,fn;水平像素坐标为Pm,Pn;在fm,fn 之间存在N帧前景图像。则第i帧图像fi(m

以此类推,可以将图像映射到一个统一的坐标系下。

在图像融合过程中,当出现图像重叠时,如果只是简单地进行两幅图像的叠加,容易造成图像的模糊以及明显的拼接痕迹。实验中采用取平均值法来进行处理。

设分别代表两幅相邻的图像在前景图 处的像素值,则进行如下处理:

根据算法,取跑道作为背景,得到的前景合成图如图7:

在合成图中,运用图像融合技术可以合成前景图像,并且消除相邻帧间存在的拼接痕迹。为方便得到前景运动帧的时间属性,在图像上方标出了前景各帧所对应的帧编号。在第40帧处出现一定的重影,是由于背景裁判员影响了前景运动员的显示效果。

(五)背景合成

三级跳远场地有着严格的设置要求,将三级跳远视频中的特征要素进行提取,用以进行背景构造,主要采用插值法、区域填充法和光流法进行处理,算法流程如图8:

三级跳助跑道可以通过插值算法来实现。图像插值算法利用已知的邻近像素点的灰度值来产生所求像素点的灰度值,从而根据原始图像再生出新的图像或者扩展区域内的图像。实验中,选取包含助跑道的图像,根据三级跳远场地设置和相应的比例关系进行图像插值处理。下图为最近邻插值、双线性插值、高阶插值得到助跑道,如图9:

场地背景特征提取利用光流法、背景特征降噪、区域填充法得到。首先根据速度矢量规律获取背景特征所在位置,并创建矩形区域;然后依据助跑道横贯图像具有直线的特性,根据Hough变换检测,并消除图像噪声;最后进行形态学膨胀处理,得到背景特征图像,如图10。

对于同时含有前景运动员和背景特征的图片,采用区域填充法进行处理。首先利用光流法对前景运动区域进行检测并提取;然后对提取前景后留下的空当区域,根据周边相似背景进行填充,最后通过降噪处理,得到背景区域,如图11。

对获取的背景特征,利用三级跳远场地规则,确定背景特征所处的位置,将其统一到坐标系下,得到背景合成图,如图12。

(六)全景合成

全景合成图由描述整个场景的背景和运动前景共同构成,改变了单一局部的观察视角,展现了整个场景的运动全貌。相对于单个图像组成的视频序列,全景合成图可以更加全面、直观地获取运动信息,如图13。

四、关键技术指标分析

三级跳远项目是由运动员经过加速助跑后,由单足跳(hop)、跨步跳(skip)、跳跃(jump)所组成的连续三次腾越的运动项目,相关技术指标包括助跑速度和速度利用率、踏板准确度、三跳比例、运动角度值等[10],实验中对助跑速度、运动角度值进行了定量分析。

(一)助跑速度分析

根据三级跳远场地规则,测风仪距离起跳板20米。将测风仪、起跳板作为标志,两者间的距离设为S;当运动员到达后,进入设定的矩形有效范围开始计算视频帧数,得到所用的时间T, 最终根据则可得出运动员在此期间的平均速度V,即,如图14:

在实验中选取2010年广州亚运会三级跳远运动员曹硕进行了分析,视频播放速率为1020帧/分。运动员进入测风仪、起跳板有效矩形范围所对应的帧数分别为第3帧、第39帧。计算所用时间平均速度为。

(二)角度指标分析

实验中对运动员的离地角、膝关节角分别进行了定量计算。在计算角度指标时,需对运动员的图像进行边缘检测、轮廓提取、轮廓矩计算、角点检测。

计算离地角,算法思路为:

1.分离出运动目标后,提取目标轮廓。实验中在使用Sobel边缘检测算子,进行轮廓提取;

2.根据轮廓的矩特征,提取出运动员的质心和接地点坐标。轮廓矩是对轮廓上的所有像素点进行积分运算,从而得到的一个统计特征;

3.根据三角形余弦公式得到着地角。

实验中对广州亚运会哈萨克斯坦选手叶克托夫第二跳时的起跳角分析,得到的重心坐标A(126,78),着地点坐标B(164,150),计算得到起跳角度为62.1759度,如图15:

計算膝关节角,算法思路为:

1.对目标运动图像进行轮廓处理;

2.根据轮廓面积等特征将小的干扰轮廓进行排除,最终得到运动员轮廓;

3.对轮廓图像进行角点检测,并对角点标注编号。实验中,采用Harris算子对角点进行检测;

4.输入关注的角点编号,以便准确地确定所检测角点的位置;

5.以该角点为圆心作圆并与轮廓的交点构成三角形。利用余弦定理得出所要求的角度,如图16:

实验中对⑧号角点进行了检测,测得角度为164.74度。

五、平台设计

针对实验中完成的内容,设计了三级跳远运动分析平台,主要实现视频载入及图像保存、图像预处理、场景合成及运动指标计算等功能。该平台以Window XP,Visual C++6.0,OpenCV为基础进行开发,共分为四个部分:视频载入及图像保存、图像预处理、场景合成、技术指标计算,如图17:

六、实验分析

实验对三级跳远视频进行了运动目标检测,运动场景合成、运动指标定量计算,并设计了三级跳远运动分析平台。实验过程中,笔者进行了大量的算法对比分析,并提出了一些新的算法。

(1)对全局运动估计和光流法进行比较。全局运动计算量较大且外点排除复杂;而三级跳远视频中运动员处于中心位置且前景与背景存在明显的运动差异。实验表明,光流法可以较好地检测出运动目标。

(2)在背景合成中采用了模块化的合成方法。实验中采用区域填充法和背景特征提取法分别进行了背景合成。

(3)进行三级跳远运动场景的全景合成。运动场景合成改变了单一局部的观察视角,展现了整个场景的运动全貌,更利于全面、直观地获取运动信息。

(4)对运动员技术指标进行计算,并对角点对应角度值进行计算。在对角点进行检测时,采用了欧氏距离进行强角点排除。

在实验过程中,由于实验条件和时间因素限制,在视频分析实时性、算法优化及平台设计等方面还需进一步深入研究和拓展。

参考文献:

[1] Collins T,Lipton A,Fujiyoshi H,Kanade T. Algorithms for Cooperative Multisensor surveillance. In Proceedings of the IEEE,2001.

[2] Remagnino P,Tan T,Baker K. Multi-agent visual surveillance of dynamic scenes. Image and Vision Computing,2008,16(8):529-532.

[3] 黄诚.智能视频监控系统管理配置子系统的设计与实现[D].北京:北京大学,2009.

[4] 朱谊强.基于Adaboost算法的实时行人检测系统[D].西安:西北工业大学,2006.

[5]  王亮,胡卫明,谭铁牛.人运动的视频分析综述[J].软件学报,2002,25(3):225-237.

[6] Kanav Kahol,Priyamvada Tripathi,Sethuraman Panchanathan. Automated gesture segmentation from dance sequences[C]. Proceedings of the Sixth IEEE International Conference on Automatic Face and Gesture Recognition,2004:883-888.

[7] 陈剑赟,李云浩等.一种通用的基于基本语义单元的体育视频内容分析框架[J].小型微型计算机系统,2005(2):272-276.

[8] 李玲芝.跳水运动视频分析系统关键技术研究[D].长沙:中南大学,2008.

[9] Milan Sonka, Vaclav Hlavac, Roger Boyle. Image Processing,Analysis, and Machine Vision[M], Boston: PWS, 2002:507-542.

[10] 卓建南.影响男子三级跳远成绩的几个关键因素[J].体育学刊,2007(6):107-109.