基于关键点的动作识别及计数方法、系统、设备及介质与流程

文档序号:34411774发布日期:2023-06-08 16:23阅读:44来源:国知局
基于关键点的动作识别及计数方法、系统、设备及介质与流程

本发明涉及计算机视觉,具体为一种基于关键点的动作识别及计数方法、系统、设备及介质。


背景技术:

1、近年来,随着卷积神经网络(convolutional neural network, cnn)在视觉领域取得了较大的进步,并且不断成熟,各种算法模型层出不穷,人体动作识别算法也在视觉领域取得了很大的成果,已经成为当前计算机视觉领域的主要研究方向之一。在cnn处理连续图像帧形成的视频的时候,由于时间复杂度较高,模型量化困难等问题,仍然存在提升空间。

2、目前基于视觉的动作识别的方案中,大多数是通过深度传感器或单目传感器获取图像,接着提取图像特征数据,然后对特征数据进行总结归纳,分析匹配,最后得出结果。由于不同年龄,性别,身体素质等因素导致每个人做动作的标准程度不同,使得同一动作的多样性增大。再加上不同动作的复杂性不同,导致动作识别难度增大。

3、基于双目深度摄像头生成深度图像进行识别的算法,与用kinect基于三维骨架模型的肢体动作进行识别的算法,两种识别方法都有一个共性问题,就是是相机价格贵。其中kinect方法是使用图像中对人体运动的肢体动作进行特征提取,然后在进行分类识别,但是此探测手段的最大弊端是对光强度十分敏感,增加了识别的难度。

4、用单目摄像头进行识别的算法方案中,一种是用端到端的识别方式,往cnn网络里输入连续图像帧,直接处理输出结果,这种识别方法的弊端是识别网络的参数不能灵活调节,不能调节动作的困难等级,如俯卧撑向下做的幅度,并且网络训练周期长。另一种是基于对抗网络生成的人体识别方法,此方法有一些局限性,利用生成器和判别器两种模型之间不断对抗达到动态平衡,当其中一个模型性能非常好时,另一个模型就会变得特别差,导致模型过拟合无法使用,还有模型训练时要花大量时间。

5、可穿戴设备进行识别的算法方案,是基于发射器和配备无线网卡的接收器来进行实现,对人体某些部位配备可以发射信号的设备,然后用接收器接收数据信息,之后对数据进行分析,计算最后得出结果。缺陷是组件之间的通信会受到无线电信号的影响。而且零部件会给使用者增加负担,并且在做一些复杂性比较大的动作时会有诸多不便。

6、综上所述,目前的动作识别及计数方法存在识别网络灵活性差,网络训练周期长;识别不稳定,使用不便等问题。因此有必要对基于关键点的动作识别及计数方法进行进一步的改进,以解决上述问题。


技术实现思路

1、本技术的目的:在于解决和克服现有技术和应用的不足,提供一种基于关键点的动作识别及计数方法、系统、设备及介质,有效解决目前动识别方法识别网络灵活性差,网络训练周期长;识别精确度低,使用不便的问题,在提高识别精确度的同时,具备较高的识别能力和具备较强的健壮性。

2、本技术的目的是通过如下技术方案来完成的,一种基于关键点的动作识别及计数方法,包括以下步骤:

3、s1:采集运动姿态变化视频数据集;

4、s2:对视频数据集进行数据归纳,提取特征向量集合,生成特征文件;

5、s3:将需要识别的人体图像输入姿态检测模块,提取每张图片的姿态键点,将提取到的姿态关键点xyz坐标进行平滑及归一化处理,并将处理后的坐标提取特征向量集合;

6、s4: 根据人体屏占比对特征向量集合进行归一化;具体为:根据步骤s3中得到的关键点计算出人体屏占比的长和宽,将步骤s3中的特征向量除以人体屏占比的长和宽,得到归一化后的特征向量集合;

7、s5:将步骤s2中的特征文件和步骤s4中归一化后的特征向量集合输入特征对比模块中进行特征对比,输出最大特征距离以及平均特征距离;

8、s6:将步骤s5中的特征距离输入特征筛选模块进行特征筛选,输出动作列表;

9、s7:将步骤s6中的动作列表输入至循环处理模块,判断是否记录当前计算的动作列表,若记录,则保存动作列表;若不记录,则传出空的列表;

10、s8: 接受步骤s7的动作列表,对当前动作进行计数,并更新参数,完成计数。

11、优选地,所述步骤s1中视频数据集具包括:拍摄不同角度视频数据、拍摄不同光照视频数据、拍摄不同背景视频数据、拍摄不同人物视频数据以及拍摄遮挡视频数据。

12、优选地,步骤s2具体包括:

13、s21:将视频数据集进行数据归纳,根据每个动作阶段配置不同数据集;

14、s22:将步骤s21获得的数据集分别载入姿势检测模块中提取每张图片的姿态关键点;

15、s23:把步骤s23提取到的姿态关键点按照每个人体为单位提取特征向量集合;

16、s24:根据关键点计算出人体屏占比的长和宽,将特征向量除以人体屏占比的长和宽,得到特征向量集合;

17、s25:将所有图片的特征向量集合、空间向量权重以及每个阶段持续时间,按照不同的动作分别存储到特征文件中。

18、优选地,所述步骤s3中平滑处理的计算为:用前帧,包括当前帧的对应关键点数值的平均值,来代替当前帧相应的关键点,前帧某关键点的平均值与当前帧某关键点之间的关系为一一映射,公式表达如下:

19、

20、其中,为起帧始,为计算帧数,m为当前帧数()为平滑后的结果。

21、优选地,所述步骤s3中归一化处理的公式表达为:

22、

23、其中,为一个集合中的第个元素,为归一化参数,为集合元素总数,(),为第个元素的归一化结果。

24、优选地,步骤s5具体步骤为:

25、s51:输入当前帧归一化后的特征向量集合和特征文件;

26、s52:计算特征距离;

27、s53:输出特征距离的最大最小值;

28、其中,分解之后的两对空间向量的特征距离计算如下:

29、

30、其中分别是两对空间向量,代表三维空间向量的坐标,分别代表两组值,d代表两对空间向量的特征距离。

31、计算特征距离d的加权和、最大值、平均值如下:

32、

33、

34、

35、其中是特征距离的个数(),为特征距离的权重,为个特征距离的平均值,是个特征距离的最大值。

36、优选地,步骤s6具体为:

37、s61:输入特征距离,若数据为空,直接结束,否则更新初始动作列表;

38、s62:筛选未超时的动作id更新未超时动作列表;

39、s63:用未超时动作列表来过滤动作历史列表;

40、s64:将步骤s61得到的初始动作列表进行排序;

41、s65:计算步骤s61得到的初始动作列表,得到不满足条件的特征距离并删除该动作id,如果动作特征距离相等则按照动作优先级策略排序;

42、s66:将步骤s65筛选过的初始动作列表来更新历史动作列表,得到筛选后的结果。

43、优选地,所述步骤s8具体为:

44、s81:输入历史动作列表;

45、s82:判断列表是否为空;

46、s83:若列表为空,则判断动作是否超时;若不超时,则程序结束;若超时,则初始化变量;

47、s84:判断历史列表是否存在当前动作,若不存在当前动作,则更新当前动作列表,程序结束;若存在当前动作,则更新变量;

48、s85:判断是否计数,若是,则更新计数,初始化变量,程序结束;若不是,则直接结束。

49、本发明还提供了一种基于关键点的动作识别及计数系统,包括:

50、主控模块:负责控制和实时监控各个模块的运行状态,控制交互过程,接收其他模块传输的数据,并向其他模块提供当前的交互内容和系统的状态;

51、数据采集模块:采用摄像头捕获包含用户姿态的连续视频帧;

52、数据预处理模块:将数据采集获取到的数据集进行整合,归纳,生成特征文件;

53、姿势检测模块:用于对图片数据集进行关键点检测,输出除了关键点的位置信息之外,还有每个关键点被遮挡的置信度;

54、特征对比模块:将当前帧的特征向量集合和特征文件进行对比分析;

55、特征筛选模块:用于筛选、排序、过滤当前列表和历史列表,最后输出历史列表,和置信度最大的动作id;

56、循环处理模块:负责特征筛选模块和动作计数模块之间的联系性;

57、动作计数模块:通过历史动作列表更新动作阶段、每个阶段开始的时间、动作完成标志、当前动作列表进而完计数功能;

58、通信设备模块:用于各个模块之间的通信。

59、本发明还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明提供的基于关键点的动作识别及计数方法。

60、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可以被计算机处理器执行,以实现上述任意一项所述的基于关键点的动作识别及计数方法。

61、本技术与现有技术相比,至少具有以下明显优点和效果:

62、1、在本发明中,对关键点引入了平滑机制,该机制可以减缓pose关键点的异常值,让关键点更稳定,还可以减缓获取图像设备的抖动,减小误差从而让动作识别更准确。

63、2、在本发明中,对关键点引入了归一化机制,该机制可以进一步解决人体在不同屏占比情况下导致的识别不准确问题。因为在进行特征对比阶段之前对空间向量也引用了归一化,所以用户可以随意切换横竖屏,不影响计算结果,切换速度快,无延迟,不需要重启程序。

64、3、在本发明中,对置信度进行评估来判断可能被挡住的关键点。然后在特征对比过程中利用置信度较大的关键点进行计算,动态调节向量权重,让对比向量在计算时更准确。并且在数据集采集阶段加入了遮挡的数据集,遮挡的数据集包括人物自遮挡和人物被物体遮挡,进而减少误差。

65、4、在本发明中,利用带有注意力机制的cnn网络结构提取图像中的pose关键点,再结合使用knn设计思想构建特征对比分类器,不过于依赖设备性能,模型权重体积小,内存消耗小,速度快,部署简单,不需要用大量时间训练模型。并且在向量对比阶段,时间复杂度低,具备实时性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1