一种基于视频信息的拍球计数方法与流程

文档序号:15083956发布日期:2018-08-04 11:13阅读:1102来源:国知局
本发明涉及健身运动
技术领域
,具体地说,涉及一种基于视频信息的拍球计数方法。
背景技术
:拍皮球对小孩子来说是一项有益身体健康的活动,它不仅能促进孩子手眼动作的协调,增强体质,而且能促进左右脑的平衡,培养孩子的耐力和坚持性等良好品质,对孩子的发展有不可低估的作用,因此各地幼儿园常常会组织这类的比赛游戏。但拍球的过程中需要有专人统计计数,幼儿园小孩人数众多,对每人计数会很耽误老师的宝贵时间;而且有时当拍球速度快或者人注意力不集中的时候,很容易出现计数错误,因此,迫切需要一种能自动计数的办法。现有技术中,公布号为cn106474718a的中国专利文献公开了一种击球计数方法及装置,通过检测手臂或手腕的当前运动轨迹确定当前运动是否击球成功,若击球成功,则在上次统计的击球成功次数的基础上加一,以此来对击球次数进行计数。该方法能够有效提高统计的精确度,但对于手握球拍的运动,比如乒乓球、羽毛球比较合适,但不适用于统计拍皮球运动。公告号为cn205198858u的中国专利文献公开了一种具有拍球数计数功能的智能皮球,以及公告号为cn205198855u的中国专利文献公开了一种智能皮球玩具,这两篇专利文献都是通过对皮球本身进行改进,通过在皮球上安装传感器来实现精确计数的目的,在拍球的过程中很有可能对传感器造成破坏,影响计数结果。技术实现要素:本发明的目的为提供一种基于视频信息的拍球计数方法,通过对人在拍球计数过程中运用视觉的机理分析,对视频信息进行判断,来实现对拍球进行自动精确计数。为了实现上述目的,本发明提供基于视频信息的拍球计数方法包括以下步骤:1)获取拍球动作的原始视频数据;2)从原始视频数据中提取出图像数据;3)对图像数据进行单帧处理,并找出每帧图像中球的像素点,以时间帧为横坐标,距地高度为纵坐标建立球的像素点的高度-时间帧关系图;4)沿横坐标找出每个拍球周期,并排除自然弹跳后计入拍球次数。上述技术方案中,利用高清摄录设备(如:智能手机等),从一定的角度对包括拍球人在内的整个拍球过程进行录制,然后对视频信息进行处理后将球的中心像素点的高度变化图像绘制到坐标系中,且以时间帧为横轴,排除掉自然弹跳后通过计算图像峰值的数量来确定拍球次数。运用视觉感观的机理分析,将视频信息进行判断,来实现对拍球进行自动计数,提高了精确度。具体的方案为步骤3)中找出每帧图像中球的像素点包括:对单帧图像进行预处理后分割图像;采用支持向量机方法对分割后的图像进行特征识别,识别出球的像素点,定位球的位置。由于要实现图像目标的直接定位,所以要进行重复的分割。例如对于9x9的图片,传统的分割方法是分成9个3x3的图片,但是这样需要定位的目标可能被区块分割,或者由于区块太大,导致定位的不精确。所以本发明采取的方法为:对于左上6x6个点遍历,取36个3x3的识别区域,这样就精确定位到像素点了。更具体的方案为支持向量机方法包括:对分割后的图片进行特征提取,预设正样本和负样本,并对正样本和负样本中的参数进行学习和分类,利用分类结果处理后续的图片。更具体的方案为对分割后的图像进行特征识别时采取横纵方向均隔一个像素点进行采样。另一个具体的方案为步骤4)中排除自然弹跳的方法采用判断中心像素点下降和上升的距离是否大于对应时间内自由落体的距离。球在接近地面以及从空中掉落时会有比较大的转折,因此每两个转折之间是一个拍球周期。对于一个击球周期(完整的下降和上升),要符合以下几点以排除自然弹跳:上升和下降的高度相近,同时不能太短;上升和下降用时相近;下降、上升距离应该大于对应时间内自由落体的距离。记一个下降-上升周期内的下降幅度为ldown,上升幅度为lup,下降用时为tdown,则:空间关系:ldown、lup>dmin|ldown-lup|<ld时间关系:|tdown-tup|<td时空对应关系:在一次合理的击球过程中dmin为最小的击球高度,ld为上升和下降的最大高度差,td为最大用时差,l为下落距离,g为重力加速度,t为下落用时,d用来修正空气阻力等的影响,这个式子表示下落的距离应该大于相同用时内自由落体的距离,因为击球有初速度。通过判断上升和下降高度关系,可以得出这段时间内的有效击球次数。与现有技术相比,本发明的有益效果为:本发明的基于视频信息的拍球计数方法不需要采用专用皮球即可实现自动精确计数,不仅可以即时计数,也可以进行录像回放。尤其随着移动摄录设备的广泛采用,该方法将具有更强的实用性。附图说明图1为本发明实施例的基于视频信息的拍球计数方法的流程图;图2为本发明实施例的找出每帧图像中球的像素点的流程图;图3为本发明实施例的球的像素点的高度-时间帧关系图;图4为本发明实施例的取反后的球的像素点的高度-时间帧关系图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。实施例参见图1,本实施例的基于视频信息的拍球计数方法包括以下步骤:获取步骤s1,通过录像设备获取拍球动作的原始视频数据(.avi)。提取步骤s2,从原始视频数据(.avi)中提取出图像数据;视频处理步骤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,沿横坐标找出每个拍球周期,并排除自然弹跳后计入拍球次数。球在接近地面以及从空中掉落时会有比较大的转折,因此每两个转折之间是一个拍球周期。对于一个击球周期(完整的下降和上升),要符合以下几点以排除自然弹跳:上升和下降的高度相近,同时不能太短;上升和下降用时相近;下降、上升距离应该大于对应时间内自由落体的距离。记一个下降-上升周期内的下降幅度为ldown,上升幅度为lup,下降用时为tdown,则:空间关系:ldown、lup>dmin|ldown-lup|<ld时间关系:|tdown-tup|<td时空对应关系:在一次合理的击球过程中dmin为最小的击球高度,ld为上升和下降的最大高度差,td为最大用时差,l为下落距离,g为重力加速度,t为下落用时,d用来修正空气阻力等的影响,这个式子表示下落的距离应该大于相同用时内自由落体的距离,因为击球有初速度。从图4中可看出前面部分处于非击球状态,后面是规律的击球状态。球在接近地面时会有比较大的转折。通过判断上升和下降高度关系,可以得出这段时间内的有效击球次数为8次。输出步骤s5,将计数结果输出并显示。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1