一种智能拍球计数方法与流程

文档序号:15139936发布日期:2018-08-10 19:46阅读:1734来源:国知局
本发明涉及健身运动
技术领域
,具体地说,涉及一种智能拍球计数方法。
背景技术
:拍皮球对小孩子来说是一项有益身体健康的活动,它不仅能促进孩子手眼动作的协调,增强体质,而且能促进左右脑的平衡,培养孩子的耐力和坚持性等良好品质,对孩子的发展有不可低估的作用,因此各地幼儿园常常会组织这类的比赛游戏。但拍球的过程中需要有专人统计计数,幼儿园小孩人数众多,对每人计数会很耽误老师的宝贵时间;而且有时当拍球速度快或者人注意力不集中的时候,很容易出现计数错误,因此,迫切需要一种能自动计数的办法。现有技术中,公布号为cn106474718a的中国专利文献公开了一种击球计数方法及装置,通过检测手臂或手腕的当前运动轨迹确定当前运动是否击球成功,若击球成功,则在上次统计的击球成功次数的基础上加一,以此来对击球次数进行计数。该方法能够有效提高统计的精确度,但对于手握球拍的运动,比如乒乓球、羽毛球比较合适,但不适用于统计拍皮球运动。公告号为cn205198858u的中国专利文献公开了一种具有拍球数计数功能的智能皮球,以及公告号为cn205198855u的中国专利文献公开了一种智能皮球玩具,这两篇专利文献都是通过对皮球本身进行改进,通过在皮球上安装传感器来实现精确计数的目的,在拍球的过程中很有可能对传感器造成破坏,影响计数结果。技术实现要素:本发明的目的为提供一种智能拍球计数方法,通过对人在拍球计数过程中运用视觉及听觉等感观的机理分析,将视频及音频信息融合进行判断,来实现对拍球进行自动精确计数。为了实现上述目的,本发明提供的拍球计数方法包括以下步骤:1)获取拍球动作的原始视频数据;2)从原始视频数据中提取出图像数据和音频数据;3)对图像数据进行单帧处理,并找出每帧图像中球的像素点,以时间帧为横坐标,距地高度为纵坐标建立球的像素点的高度-时间帧关系图;4)从音频数据中提取出音频的采样频率,以时间帧为横坐标,频率为纵坐标在高度-时间帧关系图所处坐标系中绘制音频波形图;5)校正音频传播速度与视频传播速度不同造成的时间差;6)沿横坐标找出每个拍球周期,并排除自然弹跳,判断在每个拍球周期内是否具有一个音频波形图的峰值;若是,则计拍球次数。上述技术方案中,利用高清摄录设备(如:智能手机等),从一定的角度对包括拍球人在内的整个拍球过程进行录制,然后分别对视频和音频信息进行处理后将球的中心像素点的高度变化图像和音频波动图绘制到同一坐标系中,且以时间帧为横轴,排除掉自然弹跳后判断音频波形图的峰值是否在一个拍球周期内,从而判断是否为有效的拍球。运用视觉及听觉等感观的机理分析,将视频及音频信息融合进行判断,来实现对拍球进行自动计数,提高了精确度。具体的方案为步骤2)还包括对音频数据采用连续小波变换(thecontinuouswavelettransform,cwt)的方法进行滤波处理。将具有等时间步长δt的离散时间系列xn'(n'=1,…,n)的连续小波变换定义为小波函数ψ0尺度化以及转换下的xn'的卷积:式中,ψ是要选择的小波函数,*表示共轭复数,n是时间系列的总数据个数,是一个用于小波函数标准化的因子从而使得小波函数在每个小波尺度s上具有的单位能量。通过转换小波尺度s并沿着时间指数n进行局部化,最终可得到一幅展示时间系列在某一尺度上波动特征及其随时间变化的图谱,即小波功率谱。在matlab中,连续小波变换方法为:coefs=cwt(x,scales,'wname')wname即为小波基的类别,如haar,db2,coif3,sym2等;coefs为连续小波变换后的返回系数矩阵,系数以行方式存储在矩阵中;cwt为实现一维连续小波变换的函数;x是要进行连续小波变换的函数;scales为连续小波变换的尺度向量。对一个时间系列进行小波转换时,小波基的选择显得尤为重要,matlab支持的小波基多达15种。本发明选取了complexmorlet小波,这是一种改造后的morlet小波。morlet小波在时间与频率的局部化之间有着很好的平衡。此外,morlet小波中还包含着更多的振动信息,改造后的小波非常适合用于分析声音信号。morlet小波是高斯包络下的正弦函数,其表达式为:式中t表示时间,e表示自然常数,e≈2.71828。complexmorlet表达式为:式中fb是带宽参数,fc是小波中心频率,t表示时间。需要说明的是,本发明采用该方法对音频数据进行滤波处理,不仅限于matlab软件,其他软件中也有类似函数,同时不限于这种方法。另一个具体的方案为步骤3)中找出每帧图像中球的像素点包括:对单帧图像进行预处理后分割图像;采用支持向量机方法对分割后的图像进行特征识别,识别出球的像素点,定位球的位置。由于要实现图像目标的直接定位,所以要进行重复的分割。例如对于9x9的图片,传统的分割方法是分成9个3x3的图片,但是这样需要定位的目标可能被区块分割,或者由于区块太大,导致定位的不精确。所以本发明采取的方法为:对于左上6x6个点遍历,取36个3x3的识别区域,这样就精确定位到像素点了。更具体的方案为支持向量机方法包括:对分割后的图片进行特征提取,预设正样本和负样本,并对正样本和负样本中的参数进行学习和分类,利用分类结果处理后续的图片。更具体的方案为对分割后的图像进行特征识别时采取横纵方向均隔一个像素点进行采样。另一个具体的方案为步骤5)中校正音频传播速度与视频传播速度不同造成的时间差包括:找出球的像素点在高度-时间帧关系图中的极小值(h,t),在极小值周围寻找频谱击球的匹配点,并取其时间轴的坐标为tm;若tm>t,找出极小值的前一像素点(hb,t-δt),得到以下式子:δt′=tm-thm=h-δh其中,v表示初速度,g表示重力加速度,由上述式子计算得到真实的接地点(hm,tm);若tm<t,找出极小值的后一像素点标(ha,t-δt),得到以下式子:δt′=t-tmhm=h-δh由上述式子计算得到真实的接地点(hm,tm)。由于视频采样的帧数低,不连续,采样到的球最低点与真实的球和地面碰撞的点是有一定误差的。但是声频的采样频率要高的多,以上处理方法是通过这点来纠正视频内容的误差。更具体的方案为设在短时间δt内速度均匀,则当tm>t时,根据以下式子计算得到真实的接地点(hm,tm):δt′=tm-thm=h-δh当tm<t时,根据以下式子计算得到真实的接地点(hm,tm):δt′=t-tmhm=h-δh表示平均速度。这样处理起来更加简单快速。再一个具体的方案为步骤6)中排除自然弹跳的方法采用判断中心像素点下降和上升的距离是否大于对应时间内自由落体的距离。球在接近地面以及从空中掉落时会有比较大的转折,因此每两个转折之间是一个拍球周期。对于一个击球周期(完整的下降和上升),要符合以下几点以排除自然弹跳:上升和下降的高度相近,同时不能太短;上升和下降用时相近;下降、上升距离应该大于对应时间内自由落体的距离。记一个下降-上升周期内的下降幅度为ldown,上升幅度为lup,下降用时为tdown,则:空间关系:ldown、lup>dmin|ldown-lup|<ld时间关系:|tdown-tup|<td时空对应关系:在一次合理的击球过程中dmin为最小的击球高度,ld为上升和下降的最大高度差,td为最大用时差,l为下落距离,g为重力加速度,t为下落用时,d用来修正空气阻力等的影响,这个式子表示下落的距离应该大于相同用时内自由落体的距离,因为击球有初速度。通过判断上升和下降高度关系,可以得出这段时间内的有效击球次数。与现有技术相比,本发明的有益效果为:本发明的智能拍球计数方法不需要采用专用皮球即可实现自动精确计数,不仅可以即时计数,也可以进行录像回放。尤其随着移动摄录设备的广泛采用,该方法将具有更强的实用性。附图说明图1为本发明实施例的智能拍球计数方法的流程图;图2为本发明实施例的找出每帧图像中球的像素点的流程图;图3为本发明实施例的球的像素点的高度-时间帧关系图;图4为本发明实施例的取反后的球的像素点的高度-时间帧关系图;图5为本发明实施例的结合了音频信息的球的像素点的高度-时间帧关系图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。实施例参见图1,本实施例的智能拍球计数方法包括以下步骤:获取步骤s1,通过录像设备获取拍球动作的原始视频数据(.avi)。提取步骤s2,从原始视频数据(.avi)中提取出图像数据和音频数据;并对音频数据采用连续小波变换的方法进行滤波处理:将具有等时间步长δt的离散时间系列xn′(n′=1,…,n)的连续小波变换定义为小波函数ψ0尺度化以及转换下的xn′的卷积:式中ψ是要选择的小波函数,*表示共轭复数,n是时间系列的总数据个数,是一个用于小波函数标准化的因子从而使得小波函数在每个小波尺度s上具有的单位能量。通过转换小波尺度s并沿着时间指数n进行局部化,最终可得到一幅展示时间系列在某一尺度上波动特征及其随时间变化的图谱,即小波功率谱。在matlab中,连续小波变换方法为:coefs=cwt(x,scales,'wname')wname即为小波基的类别,如haar,db2,coif3,sym2等;coefs为连续小波变换后的返回系数矩阵,系数以行方式存储在矩阵中;cwt为实现一维连续小波变换的函数;x是要进行连续小波变换的函数;scales为连续小波变换的尺度向量。对一个时间系列进行小波转换时,小波基的选择显得尤为重要,matlab支持的小波基多达15种。本发明选取了complexmorlet小波,这是一种改造后的morlet小波。morlet小波在时间与频率的局部化之间有着很好的平衡。此外,morlet小波中还包含着更多的振动信息,改造后的小波非常适合用于分析声音信号。morlet小波是高斯包络下的正弦函数,其表达式为:式中t表示时间,e表示自然常数,e≈2.71828。complexmorlet表达式为:式中fb是带宽参数,fc是小波中心频率,t表示时间。需要说明的是,本实施例采用该方法对音频数据进行滤波处理,不仅限于matlab软件,其他软件中也有类似函数,同时不限于这种方法。视频处理步骤s3,对图像数据进行单帧处理,本实施例用videoreader函数读取单帧图像,找出每帧图像中球的像素点,以时间帧为横坐标,距地高度为纵坐标建立球的像素点的高度-时间帧关系图;参见图2,找出每帧图像中球的像素点包括:对单帧图像进行预处理后分割图像,预处理主要把黑屏等明显的不合格图像去除;采用支持向量机方法对分割后的图像进行特征识别,识别出球的像素点,直至结果输出定位球的位置。图像分割采取的方法为:对于左上6x6个点遍历,取36个3x3的识别区域,这样就精确定位到像素点了。采取了以下几种方法分别对灰度和彩色的图片进行了目标识别:直接模板匹配形状(轮廓)匹配颜色(灰度)匹配svm分类定位球的位置时,考虑到计算时间的因素,不能进行简单的图片分割,所以在原来的遍历过程中,本实施例遍历每一个像素点,取出一定大小的模板进行识别,实际上,对于一个大约64x64的大小的模块,几个像素的误差并不会造成太大的影响,在横纵方向都隔一个像素点进行采样,则总共的计算量下降为原先的1/4。参见图3,把每帧的最佳匹配的像素点的纵坐标取出来绘制折线图线得到球的像素点的高度-时间帧关系图。由于像素纵坐标和视频对应的距地高度是相反的,所以本实施例取相反的高度,得到如图4所示的视频中的球高度位置图。本实施例的支持向量机方法包括:对分割后的图片进行特征提取,预设正样本和负样本,并对正样本和负样本中的参数进行学习和分类,利用分类结果处理后续的图片。具体如下:1.选取一定量的正面样本(球)和负面样本(其他);2.提取样本特征(比如piotr_toolbox里提供的hog函数);3.创造svm结构体:svmstruct=svmtrain(training,group),group为training数据对应的标注,一般来说,正面样本标注为1,负面样本标注为-1,svmtrain里还可以选取核函数,用法为svmstruct=svmtrain(training,group,'kernel_function','rbf')通过尝试选取区别度大的核函数即可4.用创造好的结构体进行分类,classes=svmclassify(svmstruct,test_data)音频处理步骤s4,从音频数据中提取出音频的采样频率,以时间帧为横坐标,频率为纵坐标在高度-时间帧关系图所处坐标系中绘制音频波形图,参见图5。音频采样率通过audioread读到,为44.1khz。也就是说,1帧视频对应的音频长度为1837.5。从图5中可看出,音频落后于视频半秒左右,这是由于视频本身的音画不同步的原因产生的。由于录制时,声音传播速度比光的传播速度慢,因此需要修正不同步的问题。需要获取录制设备距离摄影对象的距离,假设录制距离为l,音速v=340m/s,我们可以得到音频落后的时间为l/v,声音落后的帧数为l*fs/v假设录制距离在3m远处,计算得延迟的声音帧数约为390,相当于0.2的视频帧,必须要考虑到这个因素。校正步骤s5,校正音频传播速度与视频传播速度不同造成的时间差,包括:找出球的像素点在高度-时间帧关系图中的极小值(h,t),在极小值周围寻找频谱击球的匹配点,并取其时间轴的坐标为tm;若tm>t,找出极小值的前一像素点(hb,t-δt),得到以下式子:δt′=tm-thm=h-δh其中,v表示初速度,g表示重力加速度,由上述式子计算得到真实的接地点(hm,tm);若tm<t,找出极小值的后一像素点标(ha,t-δt),得到以下式子:δt′=t-tmhm=h-δh由上述式子计算得到真实的接地点(hm,tm)。设在短时间δt内速度均匀,则当tm>t时,根据以下式子计算得到真实的接地点(hm,tm):δt′=tm-thm=h-δh当tm<t时,根据以下式子计算得到真实的接地点(hm,tm):δt′=t-tmhm=h-δh判断步骤s6,沿横坐标找出每个拍球周期,并排除自然弹跳,判断在每个拍球周期内是否具有一个音频波形图的峰值;若是,则计拍球次数;球在接近地面以及从空中掉落时会有比较大的转折,因此每两个转折之间是一个拍球周期。对于一个击球周期(完整的下降和上升),要符合以下几点以排除自然弹跳:上升和下降的高度相近,同时不能太短;上升和下降用时相近;下降、上升距离应该大于对应时间内自由落体的距离。记一个下降-上升周期内的下降幅度为ldown,上升幅度为lup,下降用时为tdown,则:空间关系:ldown、lup>dmin|ldown-lup|<ld时间关系:|tdown-tup|<td时空对应关系:在一次合理的击球过程中dmin为最小的击球高度,ld为上升和下降的最大高度差,td为最大用时差,l为下落距离,g为重力加速度,t为下落用时,d用来修正空气阻力等的影响,这个式子表示下落的距离应该大于相同用时内自由落体的距离,因为击球有初速度。从图4中可看出前面部分处于非击球状态,后面是规律的击球状态。球在接近地面时会有比较大的转折。通过判断上升和下降高度关系,可以得出这段时间内的有效击球次数为8次。输出步骤s7,将计数结果输出并显示。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1