HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

基于多目标跟踪的跳绳计数方法与流程

2021-01-11 15:01:09|323|起点商标网
基于多目标跟踪的跳绳计数方法与流程

本发明涉及智能健身运动设备技术领域,具体地说,涉及一种基于多目标跟踪的跳绳计数方法。



背景技术:

跳绳在很多场合已经作为娱乐或比赛的一项重要运动项目。同时也是中小学生体育考试的必考科目。但跳绳的过程中需要计数,当人数多的时候对每人计数会很耽误裁判的宝贵时间,而且有时当跳绳速度快或者裁判注意力不集中的时候,很容易出现计数错误。现有的能自动计数的跳绳,往往采用机械等传统方法,普遍存在计数不够准确,或不能反向计数,或使用时间不能长久等问题。因此,迫切需要一种能自动计数的便捷可靠的办法。

如公布号为cn109876416a的中国专利文献公开的一种基于图像信息的跳绳计数方法,该方法通过识别跳绳来进行计数。公布号为cn110102040a的中国专利文献公开的一种基于互相关系数法的音频跳绳计数方法,该方法通过识别绳子接触地面的声音来达到判断跳绳的次数。公布号为cn110210360a的中国专利文献公开的一种基于视频图像目标识别的跳绳计数方法,该方法通过识别人脸所在的位置来达到判断跳绳的次数。

但以上方法都只能识别单人跳绳。这些方法都是采用基于视觉听觉等的智能方法来进行跳绳计数,但面临着如何识别跳绳、只能对单人跳绳进行计数等的问题,由于绳子比较细,而且跳绳的速度又比较快,通过识别绳子的环摆次数来达到对跳绳次数的计数也存在不少问题。而通过声音来识别很难识别同时有多人跳绳时的跳绳声音。



技术实现要素:

本发明的目的是提供一种基于多目标跟踪的跳绳计数方法,

为了实现上述目的,本发明提供的基于多目标跟踪的跳绳计数方法,包括以下步骤:

1)获取跳绳动作的原始视频数据,从原始视频数据中提取出图像数据;

2)对图像数据进行单帧处理,得到一组顺序排列的单帧图像;

3)获取所有人脸目标的初始位置和尺寸信息,此处指长宽尺寸;

4)对每一帧图像中每一个人脸目标分别进行跟踪,同时在同一帧图像上显示所有人脸目标的跟踪结果;

5)判断识别单帧图像中的跳绳人员与非跳绳人员;

6)对单帧图像中的所有跳绳人员进行跳绳计数;

7)结果输出与显示。

上述技术方案中,利用高清摄录设备从一定的角度、合适的距离,对包括多位跳绳人员在内的整个跳绳过程进行录制,获得相对稳定的视频图像后,对视频信息进行处理,将获得的图像数据进行分析后对跳绳人员及每位跳绳人员的跳绳情况进行判断,最后确定跳绳次数。该方法通过识别并跟踪人脸所在的高度位置变化来达到识别跳绳与非跳绳人员,并判断每个跳绳人员的跳绳次数,不仅准确、不需要人工计数,而且视频可以回塑,具有很高的应用价值。

具体的,步骤3)包括:

3-1)对第一帧图像中第一个人脸目标进行识别;

3-2)如果找到人脸目标则执行步骤3-3);如果没找到人脸目标则结束并关闭该帧图像;

3-3)获取该人脸目标的位置和尺寸信息,并在图像中显示目标框;并将该人脸目标的灰度值设为0;

3-4)对第一帧图像中下一个人脸目标进行识别,并返回步骤3-2)。

具体的,步骤3)中,利用facepartsdetection工具箱来识别人脸目标。该方法是通过定位五官来确定人脸框,准确度较高,但facepartsdetection算法每次只能识别图片中单个人脸目标,且识别顺序是从上往下,即只能识别在图片上相对靠上的人脸目标。本发明在识别出一个人脸目标后,将该人脸区域的灰度值设为0(即黑色),再通过facepartsdetection算法识别下一个人脸目标,直到识别不出人脸目标为止。

具体的,步骤4)中,采用判别尺度空间跟踪器(dsst)目标跟踪算法(也可以采用快速dsst跟踪器算法,fdsst)来实现人脸目标跟踪,采用两个一致的相关滤波器,分别实现目标的跟踪和高度变换,定义为位置滤波器(translationfilter)和尺度滤波器(scalefilter),前者进行当前帧目标的定位,后者进行当前帧目标高度的估计。两个滤波器是相对独立的,从而可以选择不同的特征种类和特征计算方式来训练和测试。具体步骤包括:

步骤4-1)判断是否为第一帧图像,若是,则执行步骤4-2);若否,则执行步骤4-3);

步骤4-2)初始化滤波器,读取下一帧图像,执行步骤4-1);

步骤4-3)根据训练样本的灰度信息提取得到hog特征;

步骤4-4)计算样本与原目标特征的相关性得分;

步骤4-5)找到最大响应;

步骤4-6)存储相应的位置和尺寸作为预测目标;

步骤4-7)根据预测目标的灰度信息提取得到hog特征;

步骤4-8)更新位移滤波器和尺度滤波器;

步骤4-9)是否最后一帧,若是,则结束;若否,则重复执行步骤4-1)。

dsst跟踪方法是在判别相关滤波器(dcf)的基础上实现的。基于dcf的跟踪思想是通过学习得到一种相关滤波器,可以提取目标的特征信息,用于在下一帧中寻找最佳的目标位置,目前已经扩展到多维特征表示(即多通道dcf),而dsst跟踪方法将其用在视觉跟踪的各种任务中。

首先需要从前一帧的目标框f中学习得到多通道相关滤波器。一般情况下,f是以目标为中心的像素块集合,用于学习得到位移相关滤波器。但在学习过程中,f域的维数是任意的,所以可以用相同的方法来学习得到一维的尺度相关滤波器、二维的位移相关滤波器以及三维的联合尺度位移相关滤波器,可以根据不同情况,对特征提取步骤进行针对性调整。

现在假设目标框f由d维特征向量组成,位于矩形域的每个位置b上。在学习得到位移相关滤波器的情况下,可以在目标框内的每个像素都提取rgb值,实际上是基于像素块的特征表示。接下来,用fl,l∈{1,…,d}表示f的其中一个特征通道,通过单独学习得到由每个特征通道一个滤波器hl组成的相关滤波器h。具体学习过程是通过将相关响应的l2误差与期望的相关输出g相减到最小来实现的,如式(1)所示:

其中符号■表示循环相关操作。式(1)中通常将期望的相关输出g选择为具有参数化标准偏差的高斯函数,而第二项是带有权重参数λ的正则化。注意,其中fl,hl和g的域具有相同的维数和大小。

式(1)是一个线性最小二乘问题,通过帕塞瓦尔公式将其转换到傅立叶域可以有效地解决此问题,最后得到最小化(1)的滤波器公式如式(2)所示:

这里大写字母表示相应变量的离散傅里叶变换(dft),上划线(如)则表示复共轭。式(2)中的运算是逐点进行的。

式(2)在给定前一帧的目标框f的情况下,得出了最佳的相关滤波器h,但实际上为了学习得到鲁棒性更好的相关滤波器h,需要综合考虑在多帧图像中的多个目标框这可以通过对式(1)中所有目标框f1,…,ft的相关误差取均值来实现,而线性最小二乘问题(1)可以通过dft进行分块对角化,然后通过求解n个d×d的线性系统来得到最后的结果h(其中n等于滤波器hl中的元素数量),这会使需要的计算量过大,因此利用通过单个目标框得出式(2)的精确解来计算近似值,用当前帧的目标框ft包含的信息更新滤波器的分子和分母bt,作为下一帧预测所需的滤波器。具体如式(3a)和式(3b)所示:

其中标量η是学习率参数。

为了将滤波器应用于新帧t中,需要从候选框中,通过与提取ft中目标特征相同的方法提取出目标特征zt,在标准位移相关滤波器中,zt就是一个以预测目标位置为中心的图像块,那么相关分数yt的dft在傅立叶域中如式(4)所示:

其中和bt-1是在上一帧中更新的滤波器的分子和分母。

通过对yt取反dft:来计算zt代表的候选框的相关评分,相关分数最大的候选框就是最佳预测目标框。

具体的,步骤5)中,判断识别单帧图像中的跳绳人员与非跳绳人员的方法为:

5-1)判断是否为第一帧图像,若是,则执行步骤5-2);若否,则执行步骤5-3);

5-2)创建一个新窗口并显示第一帧图像及初始目标框,读取下一帧图像,执行步骤5-1);

5-3)更新窗口并显示该图像;

5-4)判断帧数是否小于10,若是,则执行步骤5-8);若否,则执行步骤5-5);

5-5)逐个读取目标位置和尺寸信息;

5-6)判断是否是跳绳人员,若是,则执行步骤5-8);若否,则执行步骤5-7);

5-7)将该目标的尺寸置零;

5-8)读取目标的位置和尺寸并更新目标框;

5-9)判断是否是最后一帧,若是,则执行步骤5-10);若否,则读取下一帧图像,执行步骤5-1);

5-10)将该目标的尺寸置零。

通过分析跟踪得到的目标中心点的高度位置和尺寸信息,可以判断该目标是否是跳绳人员。由于在跳绳过程中,跳绳人员与非跳绳人员等最为显著的区别在于选手不断地跳起落下,通过计算目标中心点高度位置和尺寸信息在高度位置变化的幅度,就可以判断目标是否是跳绳人员,若不是跳绳人员则不显示该目标框。

具体的,步骤5-6)中,通过计算人脸目标中心点高度位置和尺寸信息在高度位置变化的幅度,判断目标是否是跳绳人员,若不是跳绳人员则不显示目标框。

具体的,步骤6)包括:

6-1)绘制中心点高度坐标随时间变化的曲线;根据视频中两个跳绳人员目标的人脸中心点高度位置,绘制出高度位置信息随帧数变化的图像,并标注极大值点;

6-2)采用峰值计数法得到跳绳的人的跳绳次数;根据得到的有效极大值点个数作为跳绳人员跳绳的个数。

根据跟踪得到的人物目标的位置和尺寸信息,跳绳人员跳绳的次数跟高度变化有关,当跳绳人员能够维持连续的跳落时,只需要找到高度位置出现极大值的次数即可;但当跳绳人员不能维持连续的跳落,中间出现停顿时,与连续跳落的最大区别在于高度位置变化幅度,由于跳绳人员连续跳落出现高度位置极大值时选手处于腾空状态,由自由落体运动规律可知相邻三点之间存在如式(5)的关系:

从而,步骤6-2)中,可以通过判断高度极大值点位置与前后的两点位置之间差值是否满足以下公式,从而判定该高度极大值点是否为有效:

式中,ht,ht-1,ht+1分别代表相邻三点距离顶点的竖直高度,t表示中间帧对应的时间,δt表示相邻两帧的时间间隔大小。

与现有技术相比,本发明的有益之处在于:

通过本发明的方法对获得的图像数据进行分析后对多位跳绳人员及每位跳绳人员的跳绳情况进行判断,最后确定跳绳次数。该方法通过识别并跟踪人脸所在的高度位置变化来达到识别跳绳与非跳绳人员,并判断多个跳绳人员的跳绳次数,不仅准确、不需要人工计数,而且视频可以回塑,具有很高的应用价值。

附图说明

图1为本发明实施例中基于多目标跟踪的跳绳计数方法的流程图;

图2为本发明实施例中跳绳人员判定程序流程图;

图3为本发明实施例的当一人跳绳一人不跳绳时的多人跳绳视频图像,(a)为视频图像,(b)为跳绳人员目标区域中心点高度坐标随时间变化的曲线图;

图4为本发明实施例的当双人都跳绳时的多人跳绳视频图像,(a)为视频图像,(b)为第一位跳绳人员目标区域中心点高度坐标随时间变化的曲线图,(c)为第二位跳绳人员目标区域中心点高度坐标随时间变化的曲线图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

实施例

参见图1至图4,本实施例的基于多目标跟踪的跳绳计数方法包括以下步骤:

步骤s1,通过录像设备获取跳绳动作的原始视频数据,并将原始视频数据输入,开始计时。

步骤s2,从原始视频数据中提取出图像数据,对图像数据进行单帧处理,得到一组顺序排列的单帧图像,并提取出计数时间。

步骤s3,进行人脸目标识别:获取多个目标的初始位置和尺寸信息;具体包括:

步骤s31,对第一帧图像中第一个人脸目标进行识别;

步骤s32,找到人脸目标;如果找到人脸目标则执行步骤s33;如果没找到人脸目标则结束并关闭图像;

步骤s33,获取该人脸目标的位置和尺寸信息,并在图像中显示红框;将该人脸目标的灰度值设为0;

步骤s34,对第一帧图像中下一个人脸目标进行识别,执行步骤s32。

本实施例利用facepartsdetection工具箱来识别人脸目标框。该方法是通过定位五官来确定人脸框,准确度较高,但facepartsdetection算法只能识别图片中单个人脸目标,且识别顺序是从上往下,即只能识别在图片上相对靠上的人脸目标。本发明例对该识别算法进行改进,在识别出一个人脸目标后,将该人脸区域的灰度值设为0(即黑色),再通过facepartsdetection算法识别下一个人脸目标,直到识别不出人脸目标为止。

步骤s4,人脸目标跟踪:对每一帧中每一个目标分别进行跟踪,同时在同一帧上显示所有目标的跟踪结果。

本发明例采用判别尺度空间跟踪器(dsst)目标跟踪算法(也可以采用快速dsst跟踪器算法,fdsst)来实现人脸目标跟踪,dsst算法设计了两个一致的相关滤波器,分别实现目标的跟踪和尺度变换,定义为位置滤波器(translationfilter)和尺度滤波器(scalefilter),前者进行当前帧目标的定位,后者进行当前帧目标尺度的估计。两个滤波器是相对独立的,从而可以选择不同的特征种类和特征计算方式来训练和测试。具体步骤包括:

步骤s41,判断是否为第一帧图像,若是,则执行步骤s42;若否,则执行步骤s43;

步骤s42,初始化滤波器,读取下一帧图像,执行步骤s41;

步骤s43,特征提取;

步骤s44,计算相关性得分;

步骤s45,找到最大响应;

步骤s46,存储相应的位置和尺寸;

步骤s47,提取训练样本特征;

步骤s48,更新滤波器;

步骤s49,是否最后一帧,若是,则结束;若否,则重复执行步骤s41。

步骤s5,跳绳人员判定:判断识别视频图像中的跳绳人员与非跳绳人员具体步骤如图2所示:

步骤s10,输入视频图像;

步骤s11,判断是否为第一帧图像,若是,则执行步骤s12;若否,则执行步骤s14;

步骤s12,创建一个新窗口并显示第一帧图像及初始目标框;

步骤s13,读取下一帧图像,执行步骤s10;

步骤s14,更新窗口并显示该图像;

步骤s15,判断帧数是否小于10,若是,则执行步骤s19;若否,则执行步骤s16;

步骤s16,逐个读取目标位置和尺寸信息;

步骤s17,判断是否是跳绳人员?是,执行步骤s19;否,执行步骤s18;

步骤s18,将该目标的尺寸置零;

步骤s19,读取目标的位置和尺寸并更新目标框;

步骤s20,判断是否是最后一帧,若是,则执行步骤s21;若否,则读取下一帧图像,执行步骤s22;

步骤s21,将该目标的尺寸置零。

通过分析跟踪得到的目标中心点的高度位置和尺寸信息,可以判断该目标是否是跳绳人员。由于在跳绳过程中,跳绳人员与非跳绳人员等最为显著的区别在于选手不断地跳起落下,通过计算目标中心点高度位置和尺寸信息在高度位置变化的幅度,就可以判断目标是否是跳绳人员,若不是跳绳人员则不显示该目标框。

步骤s6,跳绳计数:对视频图像中的所有跳绳人员进行跳绳计数。具体包括:

步骤s61,绘制中心点高度坐标随时间变化的曲线;根据视频中两个跳绳人员目标的人脸(中心点)高度位置,绘制出高度位置信息随帧数变化的图像,并标注极大值点,如图2(b)、图3(b)和图3(c)所示;

步骤s62,采用峰值计数法得到跳绳的人的跳绳次数;根据得到的有效极大值点个数作为跳绳人员跳绳的个数。

根据跟踪得到的人物目标的位置和尺寸信息,跳绳人员跳绳的次数跟高度变化有关,当跳绳人员能够维持连续的跳落时,只需要找到高度位置出现极大值的次数即可;但当跳绳人员不能维持连续的跳落,中间出现停顿时,与连续跳落的最大区别在于高度位置变化幅度,由于跳绳人员连续跳落出现高度位置极大值时选手处于腾空状态,由自由落体运动规律可知相邻三点之间存在如下式的关系:

通过判断高度极大值点位置与前后的两点位置之间差值是否满足上式的关系,可以判定该高度极大值点是否是一次有效的跳绳。

本实施例中,δ是相邻两频图像间的时间间隔,视频的频速率为30帧每秒,则gδt2约为1.1cm。

步骤s7,将计数结果输出并显示。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips