一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种动作计数方法、装置及计算设备与流程

2021-12-07 21:52:00 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,尤其涉及一种动作计数方法、装置及计算设备。


背景技术:

2.越来越多的人们通过锻炼来改善身体的健康状况。由于锻炼需要进行重复性的肢体动作来对期望的身体部位进行刺激或者训练,因此,为了达到更好的锻炼效果,需要对这些重复性的动作进行计数。
3.在一些计数方案中,需要佩戴特殊设备(例如各种加速度传感器设备)来进行计数,成本较高,并且使用场景有效,无法大规模推广。
4.因此,期望一种更先进的动作计数方案。


技术实现要素:

5.为此,本发明实施例提供一种动作计数方法、装置及计算设备,以力图解决或至少缓解上面存在的问题。
6.根据本发明实施例的一个方面,提供了一种动作计数方法,包括:采集运动对象进行动作的图像序列,图像序列包括多个图像帧;从图像序列中获取参考动作序列和待匹配动作序列;将待匹配动作序列与参考动作序列进行匹配,得到运动对象对应的匹配结果;以及基于运动对象的匹配结果,对运动对象的动作次数进行更新。
7.可选地,在根据本发明实施例的方法中,从图像序列中获取参考动作序列的步骤包括:在图像序列的第一个图像帧处布置预定窗口;获取包含在预定窗口内的多个图像帧作为参考动作序列。
8.可选地,在根据本发明实施例的方法中,从图像序列中获取待匹配动作序列的步骤包括:以预定步长移动预定窗口;获取包含在移动后的预定窗口内的多个图像帧作为待匹配动作序列。
9.可选地,在根据本发明实施例的方法中,还包括:重复上述从图像序列中获取待匹配动作序列、将待匹配动作序列与参考动作序列进行匹配、以及基于运动对象的匹配结果对运动对象的动作次数进行更新的步骤,直至预定窗口移动至图像序列的最后一个图像帧处为止。
10.可选地,在根据本发明实施例的方法中,还包括:采用姿态评估模型获取图像帧中运动对象的关键点集合;以及将待匹配动作序列与参考动作序列进行匹配的步骤包括:基于运动对象的关键点集合,将待匹配动作序列与参考动作序列进行匹配,得到运动对象对应的匹配结果。
11.可选地,在根据本发明实施例的方法中,基于运动对象的关键点集合,将待匹配动作序列与参考动作序列进行匹配,得到运动对象对应的匹配结果的步骤包括:基于运动对象的关键点集合,计算待匹配动作序列与参考动作序列之间的序列距离;将序列距离与距离阈值进行比较,如果序列距离小于距离阈值,则运动对象的匹配结果为匹配成功。
12.可选地,在根据本发明实施例的方法中,基于运动对象的关键点集合,计算待匹配动作序列与参考动作序列之间的距离的步骤包括:对于待匹配序列中各待匹配图像帧,基于运动对象的关键点集合,计算待匹配图像帧与其在参考动作序列中对应的参考图像帧之间的距离;基于待匹配图像帧与对应的参考图像帧之间的距离,计算待匹配动作序列与参考动作序列之间的序列距离。
13.可选地,在根据本发明实施例的方法中,基于运动对象的关键点集合,计算待匹配图像帧与其在参考动作序列中对应的参考图像帧之间的距离的步骤包括:基于运动对象在待匹配图像帧中的关键点集合,构建运动对象在待匹配图像帧中的待匹配矩阵;基于运动对象在对应的参考图像帧中的关键点集合,构建运动对象在对应参考图像帧中的参考矩阵;计算运动对象的待匹配矩阵到其参考矩阵的变换矩阵;基于变换矩阵,将待匹配矩阵转换为近似参考矩阵;基于参考矩阵和近似参考矩阵,计算待匹配图像帧与对应的参考图像帧之间的距离。
14.可选地,在根据本发明实施例的方法中,基于参考矩阵和近似参考矩阵,计算待匹配图像帧与对应的参考图像帧之间的距离的步骤包括:计算参考矩阵的各行与近似参考矩阵各行之间的距离;基于各行之间的距离,得到待匹配图像帧与对应的参考图像帧之间的距离。
15.可选地,在根据本发明实施例的方法中,计算运动对象的待匹配矩阵到其参考矩阵的变换矩阵的步骤包括:采用最小二乘法,求得变换矩阵。
16.可选地,在根据本发明实施例的方法中,基于运动对象的匹配结果,对运动对象的动作次数进行更新的步骤包括:如果运动对象的匹配结果为匹配成功,则将运动对象的动作次数加一。
17.可选地,在根据本发明实施例的方法中,距离包括欧氏距离。
18.可选地,在根据本发明实施例的方法中,姿态评估模型包括:特征提取模块,适于提取图像帧的图像特征;关键点定位模块,适于基于图像特征预测图像帧所包含的多个关键点以及置信度;以及关键点联系模块,适于基于图像特征预测各关键点对之间的连接以及亲和度场。
19.可选地,在根据本发明实施例的方法中,姿态评估模型还包括:连接匹配模块,适于基于多个关键点和多个关键点对之间的连接的亲和度场,确定目标连接;还适于基于目标连接,得到各运动对象的关键点集合。
20.根据本发明实施例的另一个方面,提供了一种动作计数方法,包括:检测用户的预定操作;响应于检测到预定操作,经由图像采集单元采集用户进行动作的图像序列;从图像序列中获取参考动作序列和待匹配动作序列;将待匹配动作序列与参考动作序列进行匹配,得到用户对应的匹配结果;基于用户的匹配结果,对用户的动作次数进行更新;以及经由显示单元显示用户的动作次数。
21.根据本发明实施例的另一个方面,提供了一种动作计数装置,包括:图像采集单元,适于采集运动对象进行动作的图像序列,该图像序列包括多个图像帧;序列获取单元,适于从图像序列中获取参考动作序列和待匹配动作序列;动作匹配单元,适于将待匹配动作序列与参考动作序列进行匹配,得到运动对象对应的匹配结果;以及计数更新单元,适于基于运动对象的匹配结果,对运动对象的动作次数进行更新。
22.根据本发明实施例的另一个方面,提供了一种动作计数装置,包括:检测单元,适于检测用户的预定操作;图像采集单元,适于响应于检测到预定操作,采集用户进行动作的图像序列;序列获取单元,适于从图像序列中获取参考动作序列和待匹配动作序列;动作匹配单元,适于将待匹配动作序列与参考动作序列进行匹配,得到用户对应的匹配结果;计数更新单元,适于基于用户的匹配结果,对用户的动作次数进行更新;以及显示单元,适于显示用户的动作次数。
23.根据本发明实施例的另一个方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,该一个或多个程序包括用于执行根据本发明实施例的方法的指令。
24.根据本发明实施例的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当被计算设备执行时,使得计算设备执行根据本发明实施例的方法。
25.根据本发明实施例的动作计数方案,考虑到动作本身的重复性,通过从运动对象进行动作的图像序列中直接获取参考动作序列来作为模版进行后续匹配,可以实现对各种类型的动作进行实时且自动的计数,无需额外佩戴专门的设备来进行计数,也无需为不同类型的动作设计模版,操作简便,使用限制少(例如在移动终端上即可进行),提高了用户体验。其中,采用了姿态评估模型进行动作匹配,提高了匹配的准确度。
26.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
27.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
28.图1示出了根据本发明一个实施例的动作计数系统100的示意图;
29.图2示出了根据本发明一个实施例的计算设备200的示意图;
30.图3示出了根据本发明一个实施例的动作计数方法300的流程图;
31.图4示出了根据本发明一个实施例的姿态评估模型400的示意图;
32.图5示出了根据本发明一个实施例的关键点定位模块420和关键点连接模块430的示意图;
33.图6示出了根据本发明一个实施例的待匹配动作序列与参考动作序列进行匹配的示意图;以及
34.图7示出了根据本发明一个实施例的动作计数装置700的示意图。
具体实施方式
35.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开
的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
36.在锻炼过程中,用户期望能够方便且实时地对其所做的重复性动作进行计数,以便对锻炼过程进行量化。为此,本发明实施例提供了一种动作计数装置,该动作计数装置可以采集用户进行动作的图像序列,基于该图像序列来对该动作进行计数。
37.图1示出了根据本发明一个实施例的动作计数系统100的示意图。如图1所示,动作计数系统100包括图像采集单元110和动作计数装置700。
38.图像采集单元110可以采集运动对象进行动作的图像序列,例如,可以采集运动对象进行动作的视频。图像序列包括多个连续或者非连续的图像帧,每个图像帧都记录有运动对象的动作姿态。在各种实施方式中,图像采集单元110可以是任何能够采集图像序列的摄像头,例如智能手机的摄像头、笔记本电脑的摄像头、平板电脑的摄像头、网络摄像头、或者其他合适的摄像头。
39.动作计数装置700与图像采集单元110相耦接,可以基于图像采集单元110采集的图像序列来对运动对象所做的重复性动作进行计数。在一些实施例中,图像采集单元110可以实时采集图像序列,动作计数装置200也相应实时地进行计数。动作计数装置700还可以与显示单元120相耦接,并经由显示单元120显示更新后的动作次数,以便用户了解其锻炼情况。
40.应当指出,图像采集单元110和/或显示单元120虽然显示为独立于动作计数装置700之外,但也可以集成在动作计数装置700中,作为动作计数装置700的一部分。
41.根据本发明实施例的动作计数装置700可以通过下述计算设备200来实现。图2示出了根据本发明一个实施例的计算设备200的示意图,该计算设备200为能够采集和/或显示图像的电子设备,诸如个人计算机、移动终端(例如智能设备)、平板计算机、或者其他可以具有采集和/或显示图像功能的合适设备。
42.如图2所示,计算设备200可以包括存储器接口202、一个或多个处理器204,以及外围接口206。存储器接口202、一个或多个处理器204和/或外围接口206既可以是分立元件,也可以集成在一个或多个集成电路中。在计算设备200中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口206,以便帮助实现多种功能。
43.例如,运动传感器210、光传感器212和距离传感器214可以耦合到外围接口206,以方便定向、照明和测距等功能。其他传感器216同样可以与外围接口206相连,例如定位系统(例如gps接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
44.相机子系统220和光学传感器222可以用于方便诸如采集图像之类的相机功能的实现,其中相机子系统220和光学传感器222例如可以是电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光学传感器。
45.计算设备200可以通过一个或多个无线通信子系统224来帮助实现通信功能,其中无线通信子系统224可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统224的特定设计和实施方式可以取决于计算设备200所支持的一个或多个通
信网络。例如,计算设备200可以包括被设计成支持gsm网络、gprs网络、edge网络、wi-fi或wimax网络以及bluetoothtm网络的通信子系统224。
46.音频子系统226可以与扬声器228以及麦克风230相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。
47.为了显示图像,i/o子系统240可以包括显示器控制器242和/或一个或多个其他输入控制器244。显示器控制器242可以耦合到显示器246。显示器246可以是诸如液晶显示器(lcd)、触摸屏或其他类型的显示器。在一些实现中,显示器246和显示器控制器242可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器244可以耦合到其他输入/控制设备248,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、usb端口、和/或指示笔之类的指点设备。其中一个或多个按钮(未显示)可以包括用于控制扬声器228和/或麦克风230音量的向上/向下按钮。
48.存储器接口202可以与存储器250相耦合。该存储器250可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如nand,nor)。
49.存储器250可以存储程序254,程序254运行在存储器250所存储的操作系统252之上。在计算设备运行时,会从存储器250中加载操作系统252,并且由处理器204执行。程序254在运行时,也会从存储器250中加载,并由处理器204执行。在各种程序254中,其中的一种程序为根据本发明实施例的动作计数装置700,并包括被配置为执行根据本发明实施例的动作计数方法300的指令。
50.图3示出了根据本发明一个实施例的动作计数方法300的流程图,该动作计数方法300适于在动作计数装置700中执行。
51.如图3所示,动作计数方法300始于步骤s310。在步骤s310中,可以经由图像采集单元110采集运动对象进行动作的图像序列,该图像序列包括多个图像帧。在一些实施例中,可以采集一个运动对象进行动作的图像序列,即,图像帧仅记录一个运动对象。在另一些实施例中,可以采集多个运动对象进行动作的图像序列,即,图像帧同时记录了多个运动对象。本发明实施例对图像帧所记录的运动对象的数量不做限制。
52.根据本发明的实施方式,对于图像序列中的各个图像帧,均获取该图像帧中各运动对象的关键点集合。在一些实施例中,可以采用姿态评估模型来获取图像帧中各运动对象的关键点集合。也就是说,将图像帧输入姿态评估模型,以便该姿态评估模型输出该图像帧中各运动对象的关键点集合。运动对象的关键点集合包括该运动对象的各关键点在图像帧中的位置坐标。
53.可以采用本领域任何姿态评估模型来获取关键点集合,例如基于deeppose的姿态评估模型、基于cpn的姿态评估模型、基于openpose的姿态评估模型、基于hrnet的姿态评估模型等。
54.图4示出了根据本发明一个实施例的姿态评估模型400的示意图。如图4所示,姿态评估模型400包括特征提取模块410、关键点定位模块420、关键点联系模块430、以及连接匹配模块440。
55.特征提取模块410适于接收图像帧,并提取图像帧的图像特征。特征提取模块410
可以实现为各种卷积神经网络(例如vgg-19中的部分层,又例如其他轻量级的网络结构),提取到的图像特征可以是多个特征图(feature map)。
56.在一些实施例中,在将图像帧输入姿态评估模型400之前,还可以先对图像帧的大小和/或像素值进行预处理。例如将图像帧转换为预定尺寸(通常为256x256),又例如将图像帧的像素值从[0,255]转换为[-1,1]。
[0057]
提取到图像特征之后,特征提取模块410将图像特征分别输入两个分支,即关键点定位模块420和关键点连接模块430,以便同时预测关键点(parts)和关键点对之间的连接(pairs)。其中,关键点定位模块420可以预测每一个关键点以及置信度,关键点联系模块430可以预测每一个关键点对之间的连接以及亲和度场。
[0058]
可以理解地,关键点为运动对象的身体部位,通常对应于运动对象身体上具有一定自由度的关节,例如颈、肩、肘、腕、腰、膝、踝等。连接则是一对关键点之间的连接,该连接可以构成肢体(例如左肩和颈之间的连接为肢体),也可以不是肢体(例如左肩和左眼之间的连接不是肢体)。
[0059]
关键点定位模块420和关键点联系模块430可以实现为二分支多阶段的卷积神经网络,如图5所示。在图5中,f为图像帧的特征图,分别输入分支1(branch 1)和分支2(branch 2)。各分支均包括多个阶段stage1,

,staget。例如,可以包括两个阶段stage1和stage2。每个阶段的每个分支都有对应的损失函数loss。其中,分支1为关键点定位模块420,分支2为关键点联系模块430。
[0060]
分支1最后输出多个置信度图s
t
(heatmaps),每个置信度图对应一个类型的关键点(例如左肩、左手腕等),并指示关键点的置信度。可以理解地,置信度图的极值点就是关键点。对分支l(t)的输出还可以采用非极大值抑制算法(non-maximum suppression,nms)来得到离散化的关键点的位置及其置信度图。
[0061]
分支2最后输出多个关键点对之间的亲和度场l
t
(part affinity fields,pafs),该亲和度场为二维矢量场的集合,包括关键点对之间的连接的位置和方向,可以用于计算关键点对之间的连接的置信度。
[0062]
每个关键点都可以具有多个连接,也就是有多个可能的肢体。因此,连接匹配模块440需要基于多个关键点的位置和多个关键点对之间的连接的亲和度,确定正确的那些连接(后文称为目标连接)。
[0063]
例如,可以基于多个关键点的位置和多个关键点对之间的连接的亲和度,计算得到每个关键点对之间的连接的置信度。接着,匹配得到目标连接,使得多个目标连接的总置信度最大化。其中,可以采用各种最大二分图匹配方式来确定目标连接,例如匈牙利算法(hungarian algorithm)。
[0064]
连接匹配模块440还可以基于所确定的目标连接,得到各个运动对象的关键点集合,每个关键点包括该关键点在对应置信度图中的位置坐标。
[0065]
例如,假设每个目标连接都属于一个不同的运动对象,每个运动对象表示为一个目标连接对应的两个关键点。可以判断两个运动对象是否为同一运动对象。具体地,如果两个运动对象具有相同的关键点,则这两个运动对象是同一个运动对象。因此,将两个运动对象的关键点集合进行合并。对于每两个运动对象,均判断两个运动对象是否为同一运动对象,直到不存在具有相应关键点的两个运动对象为止。
[0066]
最后,还可以基于各关键点在对应置信度图中的位置坐标,得到各关键点在图像帧中的位置坐标。具体地,可以基于输出的置信度图的大小和输入姿态评估模型400的图像帧的大小(后文简称为输入图像帧)确定二者的缩放比例,基于该缩放比例对各关键点在对应置信度图中的位置坐标进行转换。例如,置信度图的宽和高均是输入图像帧的1/8,则将各关键点在对应置信度图中的位置坐标乘以8可以得到各关键点在输入图像帧中的位置坐标。
[0067]
应当指出,在图像帧仅记录一个运动对象的情况下,姿态评估模型400可以不包括上述连接匹配模块440,关键点定位模块420得到的多个关键点即为该个运动对象的关键点集合。而在图像帧记录多个运动对象的情况下,姿态评估模型400应当包括上述连接匹配模块440,以得到各个运动对象的关键点集合。
[0068]
根据步骤s320,可以从采集到的图像序列中获取参考动作序列和待匹配动作序列。在一些实施例中,在图像序列的第一个图像帧处布置预定窗口,获取包含在该预定窗口内的多个图像帧作为参考动作序列。可以理解地,对于重复性动作,运动对象在开始锻炼时所做的动作可以作为后续动作的模版。
[0069]
该预定窗口的窗宽可以基于实际来设置,例如可以设置窗宽为10个图像帧,获取在该预定窗口内的10个图像帧作为参考动作序列。
[0070]
此外,考虑到相邻图像帧之间的动作差异微小,还可以以跳帧的方式获取包含在该预定窗口内的多个图像帧作为参考动作序列。例如,对于包含在该预定窗口内的图像帧,在获取一个图像帧之后间隔预定数目个图像帧再获取下一个图像帧。
[0071]
在获取到参考动作序列之后,可以以预定步长移动预定窗口,获取包含在移动后的预定窗口内的多个图像帧作为待匹配动作序列。其中,待匹配动作序列的获取方式与参考动作序列的获取方式相同,二者包含的图像帧数也相同。
[0072]
该预定步长通常小于参考动作序列包含的图像帧数,但大于该图像帧数的1/2,具体可以基于实际来设置。
[0073]
获取到待匹配动作序列之后,可以在步骤s330中,将待匹配动作序列与参考动作序列进行匹配,得到各运动对象对应的匹配结果。具体地,对于各个运动对象来说,可以基于该运动对象的关键点集合,将待匹配动作序列与参考动作序列进行匹配,得到该运动对象对应的匹配结果。
[0074]
可以获取各运动对象在待匹配动作序列包含的各待匹配图像帧中的关键点集合,作为该运动对象在该待匹配图像帧中的待匹配关键点集合。可以获取各运动对象在参考动作序列包含的各参考图像帧中的关键点集合,作为该运动对象在该参考图像帧中的参考关键点集合。
[0075]
在图像帧仅记录一个运动对象的情况下,待匹配图像帧中的所有关键点即为该个运动对象在该待匹配图像帧中的待匹配关键点集合,参考图像帧中的所有关键点即为该个运动对象在参考图像帧中的参考关键点集合。
[0076]
在图像帧记录多个运动对象的情况下,可以确定各运动对象在待匹配图像帧中的区域,位于相应区域的关键点为相应运动对象的待匹配关键点集合。类似地,可以确定各运动对象在参考图像帧中的区域,位于相应区域的关键点为相应运动对象的参考关键点集合。
[0077]
下面以一个运动对象为例,对基于该运动对象的关键点集合,将待匹配动作序列与参考动作序列进行匹配的过程进行描述。
[0078]
可以基于该运动对象的关键点集合,计算待匹配动作序列与参考动作序列之间的序列距离。具体地,对于待匹配序列中各待匹配图像帧,均基于该运动对象的关键点集合,计算待匹配图像帧与其在参考动作序列中对应参考图像帧之间的距离。
[0079]
在一些实施例中,基于该运动对象在对应参考图像帧中的参考关键点集合,构建该运动对象在对应参考图像帧中的参考矩阵a。同时,基于该运动对象在待匹配图像帧中的待匹配关键点集合,构建该运动对象在待匹配图像帧中的待匹配矩阵b。矩阵a或b的每一行均对应于一个关键点,并至少包括该个关键点的位置坐标。例如,构建得到的矩阵a和b可以包括三列,第三列元素均为1。即,关键点矩阵a或b的每一行可以表示为[x y 1],其中x为对应关键点的横轴坐标,y为对应关键点的纵轴坐标。
[0080]
计算该运动对象的待匹配矩阵到其参考矩阵的变换矩阵t。例如,采用最小二乘法,对变换矩阵t进行求解,使得|b*t-a|最小。
[0081]
基于得到的变换矩阵t,将待匹配矩阵转换为近似参考矩阵b’,b’=b*t。基于参考矩阵和近似参考矩阵,计算待匹配图像帧与对应参考图像帧之间的距离。
[0082]
在一些实施例中,可以计算参考矩阵的各行与近似参考矩阵各行之间的距离,再基于各行之间的距离,得到待匹配图像帧与对应的参考图像帧之间的距离。例如,距离可以为欧式距离,假设参考矩阵和近似参考矩阵为m行,对于参考矩阵a的每一行,均确定其在近似参考矩阵b’中的对应行,按照以下公式计算两行之间的欧氏距离:
[0083][0084]
其中,d
row
为行与行之间的距离,x
a
、y
a
为参考矩阵a各行对应关键点的横轴坐标和纵轴坐标,x
b
、y
b'
为近似参考矩阵b’各行对应关键点的横轴坐标和纵轴坐标。
[0085]
再根据以下公式计算待匹配图像帧与对应的参考图像帧之间的距离:
[0086][0087]
其中,d
image
为待匹配图像帧与参考图像帧之间的距离,d
row,i
为参考矩阵a中第i行与近似参考矩阵b’中第i行之间的距离。
[0088]
得到待匹配动作序列中各待匹配图像帧与其在参考动作序列中对应参考图像帧之间的距离之后,可以基于待匹配图像帧与对应参考图像帧之间的距离,计算待匹配动作序列与参考动作序列之间的序列距离。例如,将待各匹配图像帧与对应参考图像帧之间的距离相加得到序列距离。
[0089]
将得到的序列距离与距离阈值进行比较,如果序列距离小于距离阈值,则该运动对象的匹配结果为匹配成功,否则该运动对象的匹配结果为匹配失败。
[0090]
而后,在步骤s340中,基于各运动对象的匹配结果,对该运动对象的动作次数进行更新。
[0091]
例如,如果该运动对象的匹配结果为匹配成功,则将该运动对象进行动作的次数加一。如果该运动对象的匹配结果为匹配失败,则不加一。其中,考虑到参考动作序列也应当算作一次动作,该运动对象的动作次数可以初始为一。
[0092]
可以重复上述从图像序列中获取待匹配动作序列、将待匹配动作序列与参考动作序列进行匹配、以及基于各运动对象的匹配结果更新各运动对象的动作次数的步骤,直至预定窗口移动至图像序列的最后一个图像帧处为止。
[0093]
图6示出了根据本发明一个实施例的待匹配动作序列与参考动作序列进行匹配的示意图。如图6所示,采集到一个运动对象进行动作的图像序列。在图像序列的第一个图像帧处布置预定窗口(以虚线标出),得到参考动作序列620。随后将预定窗口移动两个图像帧,得到待匹配动作序列640。将待匹配动作序列640与参考动作序列620进行匹配,得到该运动对象的本次匹配结果为匹配失败,该运动对象进行该动作的次数不加一。随后继续将预定窗口移动两个图像帧,得到待匹配动作序列660。将待匹配动作序列660与参考动作序列620进行匹配,得到该运动对象的本次匹配结果为匹配成功,该运动对象进行该动作的次数加一。
[0094]
应当指出,根据本发明实施例的动作计数方法300中的一个或多个步骤也可以由其他设备执行,例如与动作计数装置700通信的服务器130。在一些实施例中,动作计数装置600可以在采集一个或者多个运动对象进行动作的图像序列之后,将该图像序列发送至服务器130。服务器130从图像序列中获取参考动作序列和待匹配动作序列,并将待匹配动作序列与参考动作序列进行匹配,得到各运动对象对应的匹配结果,将各运动对象对应的匹配结果返回给动作计数装置700。动作计数装置700再基于各运动对象的匹配结果更新各运动对象的动作次数。
[0095]
此外,根据本发明的一些实施例,可以计算运动对象的匹配成功率,例如将匹配成功的次数除以所有匹配的次数。如果匹配失败率达到预定阈值,则可以提示用户,例如经由显示单元显示提示消息。
[0096]
根据本发明的另一些实施例,可以基于运动对象的动作,生成对该运动对象的运动建议。例如,可以基于动作姿态(图像帧中的关键点集合可以表征运动姿态)来生成姿势建议,可以基于动作频率来生成频率建议,等等。
[0097]
图7示出了根据本发明一个实施例的动作计数装置700的示意图。如图7所示,动作计数装置700包括图像采集单元710、序列获取单元720、动作匹配单元730、以及计数更新单元740。
[0098]
图像采集单元710适于采集一个或者多个运动对象进行动作的图像序列,该图像序列包括多个图像帧。序列获取单元720与图像采集单元710相耦接,适于从采集到的图像序列中获取参考动作序列和待匹配动作序列。动作匹配单元730与序列获取单元720相耦接,适于将待匹配动作序列与参考动作序列进行匹配,得到各运动对象对应的匹配结果。计数更新单元740与动作匹配单元730相耦接,适于基于各运动对象的匹配结果更新各运动对象的动作次数。
[0099]
在一些实施例中,动作计数装置700还可以包括显示单元750,显示单元750与计数更新单元740相耦接,适于显示各运动对象的动作次数。
[0100]
关于动作计数装置700中各单元的详细处理逻辑和实施过程可以参见前文结合图1-图6对动作计数系统100以及动作计数方法300的相关描述,此处不再赘述。
[0101]
本发明实施例还可以提供一种动作计数方法。具体地,可以检测用户的预定操作,例如对指定应用图标的点击操作,或者对移动终端的指定按键的选择操作等等。而后响应
于该预定操作,经由图像采集单元采集用户进行动作的图像序列,从图像序列中获取参考动作序列和待匹配动作序列,将待匹配动作序列与参考动作序列进行匹配,得到用户对应的匹配结果。再基于用户的匹配结果,对该用户的动作次数进行更新。最后,经由显示单元显示用户的动作次数。关于该动作计数方法中各步骤的详细处理逻辑和实施过程可以参见前文结合图1-图6对动作计数系统100以及动作计数方法300的相关描述,此处不再赘述。
[0102]
相应地,本发明实施例还可以提供一种动作计数装置。该动作技术装置可以包括检测单元,适于检测用户的预定操作;图像采集单元,适于响应于检测到预定操作,采集用户进行动作的图像序列;序列获取单元,适于从图像序列中获取参考动作序列和待匹配动作序列;动作匹配单元,适于将待匹配动作序列与参考动作序列进行匹配,得到用户对应的匹配结果;计数更新单元,适于基于用户的匹配结果,对用户的动作次数进行更新;以及显示单元,适于显示用户的动作次数。关于该动作计数装置中各单元的详细处理逻辑和实施过程可以参见前文结合图1-图6对动作计数系统100以及动作计数方法300的相关描述,此处不再赘述。
[0103]
可以理解地,根据本发明实施例的动作计数方案可以应用于诸多场景,包括但不限于私人锻炼场景,公共锻炼场景,比赛场景等等。在私人锻炼场景下,用户可以通过点击移动终端中动作计数应用的图标来开始为其锻炼动作进行计数,并在移动终端的屏幕实时显示动作次数,以便用户了解自身锻炼情况。在比赛场景下,根据本发明实施例的动作计数方案可以为多个,例如两个运动员或锻炼人员所做的锻炼动作进行计数,并在移动终端的屏幕实时显示两个运动员的动作次数,从而比较哪个的动作次数比较多。本发明对这些应用场景不做任何限制。
[0104]
综上所述,根据本发明实施例的动作计数方案,考虑到动作本身的重复性,通过从运动对象进行动作的图像序列中直接获取参考动作序列来作为模版进行后续匹配,可以实现对各种类型的动作进行实时且自动的计数,无需额外佩戴专门的设备来进行计数,也无需为不同类型的动作设计模版,操作简便,使用限制少(例如在移动终端上即可进行),提高了用户体验。
[0105]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明实施例的方法和设备,或者本发明实施例的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被机器执行时,该机器变成实践本发明实施例的设备。
[0106]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的程序代码中的指令,执行本发明实施例的方法。
[0107]
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0108]
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它
设备固有相关。各种通用系统也可以与本发明实施例的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的较佳实施方式。
[0109]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明实施例的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0110]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明实施例的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明实施例的单独实施例。
[0111]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0112]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0113]
此外,本领域的技术人员能够理解,尽管在此所描述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0114]
此外,上述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行上述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施上述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所描述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0115]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0116]
尽管根据有限数量的实施例描述了本发明实施例,但是受益于上面的描述,本技
术领域内的技术人员明白,在由此描述的本发明实施例的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明实施例的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明实施例的范围,对本发明实施例所做的公开是说明性的而非限制性的,本发明实施例的范围由所附权利要求书限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献