基于深度学习的跳绳计数方法与流程
2021-01-11 15:01:47|369|起点商标网
本发明涉及智能健身运动设备
技术领域:
,具体地说,涉及一种基于深度学习的跳绳计数方法。
背景技术:
:跳绳在很多场合已经作为娱乐或比赛的一项重要运动项目。同时也是中小学生体育考试的必考科目。但跳绳的过程中需要计数,当人数多的时候对每人计数会很耽误裁判的宝贵时间,而且有时当跳绳速度快或者裁判注意力不集中的时候,很容易出现计数错误。现有的能自动计数的跳绳,往往采用机械等传统方法,普遍存在计数不够准确,或不能反向计数,或使用时间不能长久等问题。因此,需要一种能自动计数的便捷可靠的办法。现在已经有多种基于人工智能技术的跳绳计数方法。如公布号为cn109876416a的中国专利文献公开的一种基于图像信息的跳绳计数方法,该方法通过识别跳绳来进行计数。公布号为cn110102040a的中国专利文献公开的一种基于互相关系数法的音频跳绳计数方法,该方法通过识别绳子接触地面的声音来达到判断跳绳的次数。公布号为cn110210360a的中国专利文献公开的一种基于视频图像目标识别的跳绳计数方法,该方法通过识别人脸所在的位置来达到判断跳绳的次数。以上方法都是采用基于视觉听觉等的智能方法来进行跳绳计数,但这些方法在跳绳计数的准确性方面存在一定的误差。技术实现要素:本发明的目的是提供一种基于深度学习的跳绳计数方法,通过对视频中跳绳的人和跳绳状态的识别,来对跳绳人员的跳绳进行计数,准确率高。为了实现上述目的,本发明提供的基于深度学习的跳绳计数方法,包括以下步骤:1)获取跳绳动作的原始视频数据,从原始视频数据中提取出图像数据;2)读取视频图像,逐帧压缩视频尺寸;3)用farneback稠密光流算法处理压缩后的视频,输出一个新的bgr视频;4)利用训练好的分类模型对bgr视频中每一帧图像进行分类;5)根据分类结果判断跳绳状态;6)根据跳绳状态变化对跳绳进行计数;7)结果输出并显示。上述技术方案中,利用高清摄录设备从一定的角度、合适的距离,对跳绳过程进行录制,获得相对稳定的视频图像后,对视频信息进行预处理,然后利用训练好的分类模型进行分类,并根据分类结果判断当前运动状态,最后统计跳绳状态变化次数进行计数。该方法准确率高,计数速度快,具有很高的应用价值。步骤2)中视频图像的尺寸为统一的大小,该尺寸可以根据需要调整。步骤3)中光流法是利用图像序列中的像素在时间域上的变化、相邻帧之间的相关性来找到的上一帧跟当前帧间存在的对应关系,计算出相邻帧之间物体的运动信息的一种方法。farneback稠密光流算法中为了解决孔径问题,引入了图像金字塔,稠密光流表示该算法描述全部像素,相对于稀疏光流。输入的帧需要转为灰度图,并在输入与输出时作高斯模糊(gaussianblur)来满足算法中“光流的变化几乎是光滑的”假设。使用光流法处理后的图像能够保留最主要的运动信息,利于卷积网络提取特征,本发明中上升与下降过程中帧特征明显且按照时序排列,输出的图像分为3类,分别为“上升帧”、“静止帧”和“下降帧”。具体的,步骤4)中所述的分类模型通过以下方法训练得到:获取若干跳绳动作视频,对跳绳动作视频执行步骤1)~3);对跳绳动作视频中的每一帧图像,以图像中目标的状态类型作为标签,形成训练数据集;利用训练数据集中的图像及其标签对神经网络进行训练,输出预测的状态类型,并计算神经网络的损失函数,选用loss较小的网络模型分类模型。具体的,所述的状态类型包括:“下升帧”、“静止帧”和“上降帧”,对应的标签为“down”、“standstill”和“up”。具体的,所述的神经网络以vgg-16网络为基础,包含4个卷积层、4个全连接层、3个最大池化层,激活函数为“relu”,其中卷积层中卷积核个数逐层增加,分别为8、16、32、64。具体的,所述的神经网络的卷积核尺寸均为(3,3),池化核尺寸均为(2,2),步幅为(2,2),经过池化操作后张量的宽和高缩小为上一层的1/2。具体的,所述的损失函数采用交叉熵函数,其定义为:其中,n为样本数,m为类别数,yij(i≤n,j≤m)表示第i个样本的第j类的标签,表示第i个样本的第j类的预测值,降低该交叉熵函数能够使预测值逐渐逼近标签,优化模型。具体的,步骤5)中,所述的运动状态包括“down”、“standstill”和“up”;根据分类结果判断当前运动状态的方法为:创建变量current_move表示当前帧所处的运动状态,当“down”、“standstill”或“up”中某一类累计超过特定数量的连续帧后,改变current_move的状态为对应状态,并清空对其他帧的累计计数。具体的,步骤6)中,根据跳绳状态变化对跳绳计数的方法为:当运动状态由“up”转为“down”时,计数加1;当较长时间处于静止时,运动状态变为静止。与现有技术相比,本发明的有益之处在于:通过本发明的方法对获得的图像数据进行预处理,然后利用训练好的模型分类,并根据分类结果判断当前运动状态,最后统计跳绳状态变化次数进行计数。方法准确率高,计数速度快,具有很高的应用价值。附图说明图1为本发明实施例中基于深度学习的跳绳计数方法的流程图;图2为本发明实施例中标准视频图像尺寸大小示例;图3为本发明实施例中bgr视频上升过程部分帧;图4为本发明实施例中bgr视频静止帧;图5为本发明实施例中bgr视频下降过程部分帧;图6为本发明实施例中vgg-16神经网络示意图;图7为本发明实施例中神经网络训练数据预处理流程图;图8为本发明实施例中神经网络训练流程图;图9为本发明实施例中神经网络各层参数说明图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。实施例参见图1至图9,本实施例的基于深度学习的跳绳计数方法包括以下步骤:预备步骤,获取跳绳动作的原始视频数据,从原始视频数据中提取出图像数据。步骤s100,读取图像,逐帧压缩视频尺寸。步骤s200,用farneback稠密光流算法处理压缩后视频,输出一个新bgr视频。本实施例中上升与下降过程中帧特征明显且按照时序排列,输出的图像分为3类,分别为“上升帧”(如图3所示)、“静止帧”(如图4所示)和“下降帧”(如图5所示)。步骤s300,图像分类:用训练好的神经网络模型进行分类。具体包括:步骤s301,视频图像预处理,如图7所示,具体步骤如下:步骤s311,读取图像,逐帧压缩视频尺寸。步骤s312,farneback稠密光流算法处理图像。步骤s313,逐帧提取图像。步骤s314,利用先验知识分为三类,分别为:上升、静止、下降。步骤s302,训练神经网络,如图8所示,具体步骤如下:步骤s321,构建卷积神经网络,最后一层为softmax,用于分类。本实施例基于vgg16结构建立卷积分类网络,vgg-16神经网络的结构如图6所示。本例网络在此基础上,去除部分卷积层,减少了各层卷积核数量,增加了若干随机失活层(dropout),以减小过拟合情况,总体缩小了模型规模,易于训练,是一个较轻量级的模型。该网络一共包含4个卷积层(conv2d)、4个全连接层(dense)、3个最大池化层(maxpooling2d),激活函数(activation)为“relu”,其中卷积层中卷积核个数逐层增加,分别为8、16、32、64,意味着通道数逐渐增加。类似于vgg16,本模型的卷积核尺寸均为(3,3),池化核尺寸均为(2,2),步幅为(2,2),经过池化操作后张量的宽和高缩小为上一层的1/2。步骤s322,给三类图像打上三个标签。步骤s323,数据增强。本例使用图片生成器将训练数据根据参数进行一系列的随机变换,增强模型的泛化能力。包括重缩放、剪切变换、按比例随机缩放图像尺寸、水平与垂直翻转、旋转、填充像素等操作,具体参数设置如表1所示。图像的每个像素值,乘rescale=1/255将其缩小到[0,1]范围内,有利于模型收敛。剪切强度为0.2,缩放范围为[0.8,1.2]。表1数据增强参数设置rescale1./255shear_range0.2zoom_range0.2horizontal_fliptruevertical_fliptruerotation_range20shuffletrueclass_modecategoricalfill_modenearest数据训练期间,将图像调整到统一的大小,使训练过程统一。采用上述方法,以文件夹路径为参数,生成经过数据增强和归一化后的图像数据,反复产生batch_size数量的图像数据以调整模型参数。步骤s324,设置参数并训练。本发明例的各层的参数量如图9所示,整个模型的可训练参数量共2294867个。步骤s325,获得训练集与验证集的准确率、损失值。本例中卷积神经网络的目的是按照顺序将跳绳测试视频中的每一帧归类,一共有3类,其损失函数采用分类交叉熵函数(categorical_crossentropy),其定义为:其中,n为样本数,m为类别数,yij(i≤n,j≤m)表示第i个样本的第j类的标签,表示第i个样本的第j类的预测值,降低该交叉熵函数能够使预测值逐渐逼近标签,优化模型。步骤s326,性能是否达标,如果没有达标,则执行,324;如果达标,则执行s327。步骤s327,确定训练后的模型。步骤s400,特征识别:根据分类结果判断当前运动状态。具体步骤包括:创建变量current_move表示当前帧所处的运动状态,当“down”、“standstill”或“up”中某一类累计超过特定数量的连续帧后,改变current_move的状态为对应状态,并清空对其他帧的累计计数。步骤s500,跳绳计数:根据跳绳状态变化对跳绳计数。具体步骤包括:当运动阶段由“up”转为“down”时,计数加1;当模型判断得到连续静止帧超过15帧时,在测试视频中,即超过0.5s静止状态时,运动状态变为静止,累计的“down”与“up”计数清零。步骤s600,结果输出并显示。当前第1页1 2 3 
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips