目标对象的关键点参数的获取方法、装置、电子设备与流程

文档序号:31499783发布日期:2022-09-14 08:31阅读:89来源:国知局
目标对象的关键点参数的获取方法、装置、电子设备与流程

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.本技术实施例提供一种图像分析方法,所述方法包括:
29.获得图像采集设备发送的待分析图像序列,所述待分析图像序列用于表示接受运动训练的目标对象的运动训练状态;对于所述待分析图像序列中的任意一个待分析图像,判断所述任意一个待分析图像是否为包含目标对象的关键图像;如果是,则获取所述关键图像中的目标对象的关键点参数,作为用于分析所述目标对象的运动状态的参数;将所述目标对象的关键点参数发送给分析所述目标对象的运动状态的评估人员对应的运动评估终端。
30.本技术实施例提供一种目标对象的关键点参数的获取装置,所述装置包括:待分析图像获取模块,用于获得待分析图像;关键点三维参数获取模块,用于利用关键点参数获得模型,根据所述待分析图像中的目标对象的关键点二维参数,获得所述目标对象的关键点三维参数,作为用于分析所述目标对象的运动状态的参数;其中,所述关键点参数获得模型是利用图像样本中的对象样本的关键点二维参数样本和所述对象样本的关键点三维参数样本训练得到的,所述关键点参数获得模型为机器学习模型。
31.本技术实施例提供一种目标对象的关键点参数的获取装置,所述装置包括:待分析图像序列获取模块,用于获得待分析图像序列;关键点参数获取模块,用于对于所述待分析图像序列中的任意一个待分析图像,判断所述任意一个待分析图像是否为包含目标对象的关键图像;如果是,则获取所述关键图像中的目标对象的关键点参数,作为用于分析所述目标对象的运动状态的参数。
32.本技术实施例提供一种图像分析装置,所述装置包括:待分析图像获取模块,用于获得图像采集设备发送的待分析图像,所述待分析图像用于表示接受运动训练的目标对象的运动训练状态;关键点三维参数获取模块,用于利用关键点参数获得模型,根据所述待分析图像中的目标对象的关键点二维参数,获得所述目标对象的关键点三维参数,作为用于分析所述目标对象的运动状态的参数;其中,所述关键点参数获得模型是利用图像样本中的对象样本的关键点二维参数样本和所述对象样本的关键点三维参数样本训练得到的;发送模块,用于将所述目标对象的关键点三维参数发送给分析所述目标对象的运动状态的评估人员对应的运动评估终端。
33.本技术实施例提供一种图像分析装置,所述装置包括:图像序列获取模块,用于获得图像采集设备发送的待分析图像序列,所述待分析图像序列用于表示接受运动训练的目
标对象的运动训练状态;关键点参数获取模块,用于对于所述待分析图像序列中的任意一个待分析图像,判断所述任意一个待分析图像是否为包含目标对象的关键图像;如果是,则获取所述关键图像中的目标对象的关键点参数,作为用于分析所述目标对象的运动状态的参数;发送模块,用于将所述目标对象的关键点参数发送给分析所述目标对象的运动状态的评估人员对应的运动评估终端。
34.本技术实施例提供一种电子设备,所述电子设备包括存储器和处理器,存储器存储计算机程序,处理器运行程序时执行如上所述的方法。
35.本技术实施例提供一种存储设备,用于存储计算机可读程序,所述计算机可读程序被运行时,执行如上所述的方法。
36.本技术的实施例中,利用关键点参数获得模型,根据待分析图像中的目标对象的关键点二维参数,获得所述目标对象的关键点三维参数,作为用于分析所述目标对象的运动状态的参数,使用模型从图像获取目标对象的三维参数涉及的计算较为复杂,需要占用较多的计算资源,本技术的实施例通过分解计算模块,先从图像获得目标对象的关键点二维参数,然后根据目标对象的关键点二维参数获得目标对象的关键点三维参数,从而可以简化模型结构,加快处理速度,从而可以达到对多路视频源进行实时处理的效果。
37.本技术提供的实施例将图像序列中包含目标对象的图像作为关键图像,将关键图像作为待分析图像,对于图像序列中的非关键图像不做处理,从而可以减少大量的计算量,加快处理速度,从而可以达到对多路视频源进行实时处理的效果。
38.本技术提供的实施例中,当置信度数据大于预设的置信度阈值时,则将任意一个图像作为关键图像,由于图像的识别的计算量要远小于图像检测的计算量,因此可以节约大量的计算资源,同时也不会忽略包含目标对象的图像,从而不会遗漏目标对象的动作细节。
附图说明
39.图1是根据本技术一些实施例所示的目标对象的关键点参数的获取方法的应用场景图;
40.图2是根据本技术一些实施例所示的目标对象的关键点参数的获取方法的示例性流程图;
41.图3是根据本技术一些实施例所示的又一种目标对象的关键点参数的获取方法的示例性流程图;
42.图4是根据本技术一些实施例所示的多路视频源、目标缓冲区的示例性示意图;
43.图5是根据本技术一些实施例所示的动态缓存映射表的示例性示意图;
44.图6是根据本技术一些实施例所示的目标对象的关键点参数的获取装置的示例性示意图;
45.图7是根据本技术一些实施例所示的一种电子设备的示例性结构示意图。
具体实施方式
46.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况
下做类似推广,因此本技术不受下面公开的具体实施的限制。
47.本技术中使用的术语是仅仅出于对特定实施例描述的目的,而非旨在限制本技术。在本技术中和所附权利要求书中所使用的描述方式例如:“一种”、“第一”、和“第二”等,并非对数量上的限定或先后顺序上的限定,而是用来将同一类型的信息彼此区分。
48.图1是根据本技术一些实施例所示的目标对象的关键点参数的获取方法的应用场景图。
49.本技术实施例提供的目标对象的关键点参数的获取方法可以应用于多种场景,包括但不限于:运动治疗、虚拟现实、人体动画、游戏等需要获取人体关键点参数的应用场景。例如,在运动治疗场景下,可以利用根据本技术实施例所述的方法获取目标对象的人体关键点参数进行被评估者的三维人体重建,辅助评估者在线上实时准确的获取被评估者在运动训练中的动作情况。仅作为示例,本技术中以被评估者的运动治疗场景为例进行说明。
50.如图1所示,在应用场景100中可以包括服务端110、终端120、网络130和终端140。
51.在一些实施例中,服务端110、终端120之间可以通过网络130进行数据或者信息的交互。例如,服务端110可以通过网络130获取终端120中的信息和/或数据,或者可以通过网络130将信息和/或数据发送到终端120。
52.终端120(包括120-1、120-2

120-n)可以为被评估者使用的电子设备,其中,120-1、120-2

120-n对应于n(n为大于1的整数)个被评估者(例如,图1中的被评估者1、被评估者2

被评估者n),可以分别作为一路视频源。终端120可以是移动设备、平板计算机、虚拟现实头戴式显示设备等具有输入和/或输出功能的设备中的一种或其任意组合。
53.在一些实施例中,被评估者可以使用终端120拍摄自己在运动训练中的动作,得到图像序列,由终端120将图像序列上传至服务端110进行处理。
54.在一些实施例中,服务端110为运动评估智能平台的服务端,可以通过网络130从多个终端120实时获取多个视频源的图像序列,对获取的图像序列进行并行处理,获取多个被评估者的关键点参数,并做进一步处理。例如,服务端110可以根据获得的被评估者的关键点参数进行三维人体重建和/或三维手部重建,将重建后的三维图像发送给评估者(例如,图1中的评估者a)使用的终端140,以使评估者可以通过重建后的三维图像准确清晰地获知被评估者的动作姿态。又例如,服务端110可以根据获取到的关键点参数计算得到被评估者的手部关节弯曲角度(例如,左手食指的第二关节弯曲了30度)。在一些实施例中,服务端110可以从终端140接收评估者对于被评估者运动训练相关的评价和/或指导并通过终端120发送给对应的被评估者。
55.服务端110可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务端110可以是分布式系统),可以是专用的也可以由其他设备或系统同时提供服务。在一些实施例中,服务端110可以是区域的或者远程的。在一些实施例中,服务端110可以在云平台上实施,或者以虚拟方式提供。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
56.终端140可以为评估者使用的电子设备,评估者可以通过终端140登录运动评估智能平台,根据重建后的被评估者的三维图像以及其他信息,对被评估者的运动训练进行评价和/或指导。终端140可以是移动设备、平板计算机、虚拟现实头戴式显示设备等具有输入和/或输出功能的设备中的一种或其任意组合。
57.在一些实施例中,网络130可以是有线网络或无线网络中的任意一种或多种。例如,网络130可以包括局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)等或其任意组合。
58.本技术实施例还可以应用于其他应用场景,不受本说明书的表述所限。例如,在游戏应用场景中,服务端110可以获取多个用户使用的终端120发送的图像序列,使用本技术实施例提供的方法得到多个用户关键点参数,基于每个用户的关键点参数进行三维图像重建,将三维重建后的图像作为用户在游戏中的角色。
59.为了便于理解,以下结合附图和实施例介绍本技术的技术方案。
60.图2是根据本技术一些实施例所示的目标对象的关键点参数的获取方法的示例性流程图。
61.步骤s210,获得待分析图像。
62.待分析图像可以为对目标对象进行拍摄获得的图像序列中的图像。图像序列可以为视频片段,也可以为按照时间顺序拍摄的多个图像。在运动治疗的场景下,任意被评估者可以作为一个目标对象,可以对被评估者在运动训练中的动作(例如,弯曲手部关节的动作)和/或姿态(例如,手部关节弯曲后的姿态)进行拍摄得到图像序列,将拍摄得到的图像序列中的图像作为待分析图像。又例如,在游戏场景下,任意玩家可以作为一个目标对象,可以对玩家的舞蹈、战斗等动作和/或姿态进行拍摄得到图像序列,将拍摄得到的图像序列中的图像作为待分析图像。在具体实施过程中,可以通过多种方式获得待分析图像。
63.在一些实施例中,可以获得多个图像采集设备分别提供的图像序列;从多个图像采集设备分别提供的图像序列中确定与目标对象对应的目标图像序列;判断目标图像序列中的任意一个图像是否为包含目标对象的关键图像,如果是,则将任意一个图像确定为待分析图像。
64.本技术提供的实施例将包含目标对象的图像作为关键图像,将关键图像作为待分析图像,对于图像序列中的非关键图像不做处理,从而可以减少大量的计算量,节约计算资源。
65.在一些实施例中,可以根据目标图像序列携带的标识,将目标图像序列存入目标缓冲区中,目标缓冲区是为目标图像序列建立的缓冲区。在具体实施过程中,可以判断目标缓冲区中的目标图像序列中的任意一个图像是否为包含目标对象的关键图像。
66.在一些实施例中,可以判断目标图像序列是否携带开始标识;若是,则为目标图像序列建立目标缓冲区,并将目标图像序列存入建立的目标缓冲区中;若否,则将目标图像序列存入已有的目标缓冲区中。
67.在一些实施例中,可以判断目标图像序列是否携带结束标识;若是,则在确定目标图像序列中的最后一个图像不是关键图像后,或者,在获得最后一个图像中的目标对象的关键点三维参数后,释放目标缓冲区。
68.在一些实施例中,每一段图像序列包含与其对应的视频源的标识,可以根据该标识,将图像序列存入目标缓冲区。在具体实施过程中,可以通过多种方式确定视频源的标识。例如,在运动治疗的场景下,可以将每个被评估者在运动评估智能平台的注册账号作为被评估者对应的视频源的标识。又例如,在游戏场景下,可以将玩家的注册账号或者昵称作为玩家对应的视频源的标识。
69.在运动治疗的场景下,服务端需要实时接收多路视频源发送的视频序列,并及时进行处理。在一些实施例中,为了可以并行处理多个视频源提供的图像序列,在内存中为每个视频源建立一个目标缓冲区。服务端可以通过查询动态缓存映射表,根据任意视频源的标识,得到任意视频源对应的目标缓冲区的句柄(handle),根据目标缓冲区的句柄将图像序列存入该目标缓冲区的空闲存储空间。目标缓冲区的句柄为对目标缓冲区进行访问的唯一标识,例如,为任意视频源建立目标缓冲区之后,可以将该目标缓冲区在内存中的基地址赋值给一个指针,可以将该指针作为该目标缓冲区的句柄。仅作为示例,如图4所示,为n个视频源建立n个目标缓冲区,每个目标缓冲区包括多个连续的数据存储块,当服务端接收到视频源1发送的请求信息中的图像序列3之后,通过查询如图5所示的动态缓存映射表,得到视频源1对应的目标缓冲区1的句柄为0x1111,然后根据该句柄在目标缓冲区1中按照地址从低到高或者从高到低的顺序查找空闲数据存储块,并将图像序列3存储于查找到的第1个空闲数据块。
70.动态缓存映射表用于动态维护视频源和目标缓冲区的对应关系。仅作为示例,如图5所示的动态缓存映射表中,为了描述方便,用整数来表示视频源的标识,通过视频源的标识,服务端可以得到该视频源对应的目标缓冲区的句柄,得到目标缓冲区的句柄后,可以通过写操作将图像序列存储于该目标缓冲区,或者通过读操作从该目标缓冲区中获取图像进行处理。
71.在一些实施例中,当任意视频源开始请求服务端处理图像序列时,服务端为该视频源建立对应的目标缓冲区,并在动态缓存映射表中增加相应的条目;当任意视频源结束处理图像序列的请求时,服务端释放该目标缓冲区占用的内存,并从动态缓存映射表中删除相应的条目。在具体实施过程中,服务端接收到任意视频源的请求信息时,判断请求信息中是否携带起始标识,若是,则为任意视频源建立目标缓冲区,并将图像序列存入目标缓冲区,在动态缓存映射表中建立相应的条目;若否,则从动态缓冲映射表中查询得到任意视频源对应的目标缓冲区的句柄,并将图像序列存入目标缓冲区。
72.在一些实施例中,每一个视频源可以对应一个处理进程或线程,每一个处理进程或线程中,使用一个关键点参数获得模型处理一个数据缓冲区中的图像数据,多个处理进程或线程并行运行。例如,如图4所示,关键点参数获得模型1处理目标缓冲区1中的数据,关键点参数获得模型2处理目标缓冲区2中的数据

。在具体实施过程中,将图像序列写入目标缓冲区的处理操作与处理从目标缓冲区中获取未被处理的图像数据的操作可以独立进行。例如,如图4所示,可以根据写指针(例如,可以在建立目标缓冲区时定义,初始值为目标缓冲区的起始地址,每次写操作后,写指针的值增加被写入的数据长度)将从视频源1接收到图像序列3存入目标缓冲区1,可以根据读指针(例如,可以在建立目标缓冲区时定义,初始值为目标缓冲区的起始地址,读指针的值增加被读取的数据长度)将目标缓冲区1中未被处理的图像序列2传递给处理进程或线程1进行处理。
73.本技术的实施例中,为多路视频源中的每一路视频源建立一个目标缓冲区,将接收到的任意视频源的图像序列存储于与该任意视频源对应的目标缓冲区中,从而可以并行接收多路视频源发送的图像序列,并且由于将接收到的图像序列存储于目标缓冲区,因此接收图像序列和处理图像序列的操作可以异步执行,处理器不需要等待已经接收的图像序列被处理完成之后,再接收后续的图像序列,可以有效的提高处理器的处理效率。本技术的
实施例中,对于每一个目标缓冲区使用一个处理进程或线程处理该目标缓冲区中存储的图像序列,因此可以并行处理多路视频源发送的图像序列,可以有效地提高处理器的处理效率,站在每一个目标对象(例如,游戏玩家)的角度来看,自己提供的图像序列是被实时处理的,可以有效提高目标对象对于服务提供商的满意度。
74.步骤s220,利用关键点参数获得模型,根据待分析图像中的目标对象的关键点二维参数,获得目标对象的关键点三维参数,作为用于分析目标对象的运动状态的参数。
75.关键点参数获得模型为根据待分析图像,得到目标对象的关键点三维参数的机器学习模型或者多个机器学习模型的组合。关键点参数获得模型是利用图像样本中的对象样本的关键点二维参数样本和对象样本的关键点三维参数样本训练得到的。
76.关键点可以为目标对象的多个关节点。关键点三维参数包括关键点在图像中的三维位置坐标。关键点二维参数包括关键点在图像中的二维位置坐标。在一些实施例中,关键点三维参数包括目标对象的人体的关键点三维参数,后续可以根据目标对象的关键点三维参数,使用参数化人体模型进行目标对象的三维人体重建。参数化人体模型可以包括但不限于:smpl(多人线性蒙皮,skinned multi-person linear)模型、vibe(人体姿态和形状估计的视频推断,video inference for human body pose and shape estimation)模型、scape(形体还原及人物动画,shape completion and animation of people)模型等。smpl模型为从数千个3d人体扫描中学习得到的参数化人体模型,smpl模型包括人体的24个关节点,通过这24个关节点的位置坐标,可以重建出人体的三维骨骼图像。因此,在具体实施过程中,关键点三维参数可以包括smpl模型中定义的关节点的位置坐标。
77.在一些实施例中,关键点三维参数包括目标对象的手部的关键点三维参数,后续可以根据目标对象的手部的关键点三维参数,使用参数化手模型进行目标对象的三维手部重建。参数化手模型可以包括但不限于:mano(带有关节和非刚性形变的手模型,hand model with articulated and non-rigid deformations)模型、handoccnet(稳健的三维手部网格估计网络,occlusion-robust 3d hand mesh estimation network)模型、hand-graph-cnn(基于rgb图像的手持物体姿态和形状估计,3d hand shape and pose estimation from a single rgb image)模型等。mano模型为从从31名受试者的各种手部姿势的大约1000次高分辨率的3维扫描中学习到的参数化手模型。mano模型包括人手的多个关节点,通过多个人手关节点的位置坐标,可以重建出人手的三维骨骼图像。因此,在具体实施过程中,关键点三维参数可以包括mano模型中定义的人手的关节点的位置坐标。
78.在具体实施过程中,可以利用关键点参数获得模型,获得待分析图像中的目标对象的关键点二维参数;根据待分析图像中的目标对象的关键点二维参数,获得目标对象的关键点三维参数。
79.在一些实施例中,可以利用关键点参数获得模型,获得用于确定目标对象在待分析图像中的目标区域的边界参数,根据目标区域对待分析图像进行裁剪处理,获得对应于目标区域的图像块,然后获得图像块中的目标对象的关键点二维参数。
80.在一些实施例中,可以使用图像检测模型确定目标对象在待分析图像中的边界参数(例如,边界框)。在具体实施过程中,可以使用训练数据集训练卷积神经网络模型得到图像检测模型,也可以使用开源的图像检测模型,不受本说明书的表述所限。根据待分析图像以及上述获取的边界参数,对待分析图像进行裁剪,得到待分析图像中目标对象所在的区
域的图像块,然后获得图像块中的目标对象的关键点二维参数。
81.在一些实施例中,目标对象为手部对象,可以使用手部区域检测模型从待分析图像中获取手部区域的边界框,作为目标对象在待分析图像中的边界参数。后续获得手部对象的关键点二维参数之后,可以使用手部区域的边界框与手部对象的关键点二维参数进行对比验证,从而可以减少关键点二维参数的错误率。
82.在一些实施例中,关键点参数获得模型包括对象轮廓检测子模型、关键点二维参数获得子模型和关键点三维参数获得子模型。
83.在具体实施过程中,可以将待分析图像输入到对象轮廓检测子模型中,获得用于确定目标对象在待分析图像中的目标区域的边界参数,根据边界参数对待分析图像进行裁剪处理,获得对应于目标区域的图像块;将图像块输入到关键点二维参数获得子模型中,获得图像块中的目标对象的关键点二维参数;将图像块中的目标对象的关键点二维参数输入到关键点三维参数获得子模型中,获得目标对象的关键点三维参数。
84.在一些实施例中,为了提高处理效率,可以对待分析图像进行进一步选择。例如,可以将根据前一帧待分析图像获得的目标对象的多个关节点作为特征点,使用特征点跟踪算法(例如,光流法),确定待分析图像中的目标对象的关节点在图像中的位置是否发生变化,如果发生变化,则根据该待分析图像,使用关键点二维参数获得子模型获得图像块中的目标对象的关键点二维参数,如果未发生变化,则对该带分析图像不作进一步处理。
85.在一些实施例中,在使用关键点二维参数获得子模型获得图像块中的目标对象的关键点二维参数之后,还可以使用二维位姿平滑模型处理目标对象的关键点二维参数,得到平滑后的关键点二维参数。
86.对象轮廓检测子模型可以为用于在图像中进行目标对象检测的机器学习模型,可以使用带标签的图像样本,对卷积神经网络模型进行训练,得到对象轮廓检测子模型。
87.在一些实施例中,对象轮廓检测子模型是利用图像样本和用于确定对象样本在图像样本中的目标区域的边界参数样本训练得到的;或者,关键点二维参数获得子模型是根据图像块样本和图像块样本中的对象样本的关键点二维参数样本训练得到的,图像块样本是根据边界参数样本对图像样本进行裁剪处理获得的对应于目标区域的图像块样本;或者,关键点三维参数获得子模型是利用对象样本的关键点二维参数样本和对象样本的关键点三维参数样本训练得到的。
88.关键点二维参数获得子模型可以为根据关节点检测算法构建的模型。关节点检测算法可以包括常用的关节点检测算法,例如,基于热力图的关节点检测算法。关键点二维参数获得子模型的输入为包括目标对象的图像,输出为目标对象的关节点的二维位置坐标。
89.在一些实施例中,对象轮廓检测子模型是利用图像样本和用于确定对象样本在图像样本中的目标区域的边界参数样本训练得到的;或者,关键点二维参数获得子模型是根据图像块样本和图像块样本中的对象样本的关键点二维参数样本训练得到的,图像块样本是根据边界参数样本对图像样本进行裁剪处理获得的对应于目标区域的图像块样本;或者,关键点三维参数获得子模型是利用对象样本的关键点二维参数样本和对象样本的关键点三维参数样本训练得到的。
90.关键点三维参数获得子模型可以为根据关节点的二维坐标,得到关节点的三维坐标的机器学习模型。关键点三维参数获得子模型的输入为关节点在图像坐标系下的二维坐
标,输出为关节点在相机坐标系下的三维坐标。在具体实施过程中,可以使用带标注的训练数据集训练深度神经网络得到。训练数据集中,将关节点在图像坐标系下的二维坐标作为训练数据,将关节点在相机坐标系下的三维坐标作为标注,将可以自己构造训练数据集,也可以使用开源的训练数据集,不受本说明书的表述所限。在一些实施例中,可以基于具有时序关系的图像序列,构造训练数据集,利用了训练样本在时序上的信息来提高模型的识别准确度。
91.在具体实施过程中,可以将图像块中的目标对象的关键点二维参数和与待分析图像具有时序关联关系的时序关联图像中的目标对象的关键点二维参数输入到关键点三维参数获得子模型中,获得目标对象的关键点三维参数。
92.在一些实施例中,可以判断关键点二维参数与边界参数是否匹配,如果不匹配,则调整对象轮廓检测子模型或关键点二维参数获得子模型,直至针对待分析图像,对象轮廓检测子模型输出的边界参数与关键点二维参数获得子模型输出的关键点二维参数匹配为止。
93.在一些实施例中,可以根据目标对象的关键点三维参数,获取目标对象的多个关节之间的角度数据。在一些实施例中,可以根据目标对象的关键点三维参数,构建目标对象的三维模型;或者,根据目标对象的关键点三维参数,获得目标对象的运动状态数据。
94.在一些实施例中,可以将目标对象的多个关节之间的角度数据发送给运动评估终端;或者,将目标对象的三维模型发送给运动评估终端;或者,将目标对象的运动状态数据发送给运动评估终端。在一些实施例中,可以将目标对象的关键点三维参数发送给运动评估终端。
95.在一些实施例中,目标对象为手部对象,可以根据获取的关键点三维参数,使用参数化人手模型(例如,mano),进行被评估者的三维人手重建,并将重建后的三维人手图像展示给评估者(例如,发送到运动评估终端)。
96.在一些实施例中,目标对象为人体对象,可以根据关节点参数,使用参数化人体模型(例如,smpl),进行被评估者的三维人体重建,并将重建后的三维人体图像展示给评估者(例如,发送到运动评估终端)。
97.在具体实施过程中,可以根据关键点二维参数来验证根据关键点三维参数的到的三维重建图像(三维人手图像或者三维人体图像)的准确性。
98.图3是根据本技术一些实施例所示的又一种目标对象的关键点参数的获取方法的示例性流程图。
99.步骤s310,获得待分析图像序列。
100.本步骤的具体处理及其带来的技术效果可分别参考步骤210中的相关说明,在此不再赘述。
101.步骤s320,对于待分析图像序列中的任意一个待分析图像,判断任意一个待分析图像是否为包含目标对象的关键图像,如果是,则获取关键图像中的目标对象的关键点参数,作为用于分析目标对象的运动状态的参数。
102.在一些实施例中,可以获得任意一个待分析图像中包含目标对象的置信度数据;若置信度数据大于预设的置信度阈值,则将任意一个图像作为关键图像。在具体实施过程中,可以通过图像识别技术,获得待分析图像中包含目标对象的置信度数据。例如,可以将
待分析图像输入训练好的图像识别模型,输出待分析图像中存在人类的概率,将该概率作为置信度数据。
103.本技术提供的实施例中,当置信度数据大于预设的置信度阈值时,则将任意一个图像作为关键图像,由于图像的识别的计算量要远小于图像检测的计算量,因此可以节约大量的计算资源,同时也不会忽略包含目标对象的图像,从而不会遗漏目标对象的动作细节。
104.在一些实施例中,可以利用关键点参数获得模型,根据关键图像中的目标对象的关键点二维参数,获得目标对象的关键点三维参数,作为用于分析目标对象的运动状态的参数;其中,关键点参数获得模型是利用图像样本中的对象样本的关键点二维参数样本和对象样本的关键点三维参数样本训练得到的。
105.在一些实施例中,关键点参数获得模型包括对象轮廓检测子模型、关键点二维参数获得子模型和关键点三维参数获得子模型。
106.在一些实施例中,可以将关键图像输入到对象轮廓检测子模型中,获得用于确定目标对象在待分析图像中的目标区域的边界参数;根据边界参数对关键图像进行裁剪处理,获得对应于目标区域的图像块;将图像块输入到关键点二维参数获得子模型中,获得图像块中的目标对象的关键点二维参数;将图像块中的目标对象的关键点二维参数输入到关键点三维参数获得子模型中,获得目标对象的关键点三维参数。
107.在一些实施例中,可以获得多个图像采集设备分别提供的图像序列;从多个图像采集设备分别提供的图像序列中确定与目标对象对应的图像序列,作为待分析图像序列。
108.本步骤的具体处理及其带来的技术效果可分别参考步骤220中的相关说明,在此不再赘述。
109.本技术实施例提供一种图像分析方法,该方法包括以下步骤:
110.步骤s410,获得图像采集设备发送的待分析图像,所述待分析图像用于表示接受运动训练的目标对象的运动训练状态。
111.步骤s420,利用关键点参数获得模型,根据所述待分析图像中的目标对象的关键点二维参数,获得所述目标对象的关键点三维参数,作为用于分析所述目标对象的运动状态的参数;其中,所述关键点参数获得模型是利用图像样本中的对象样本的关键点二维参数样本和所述对象样本的关键点三维参数样本训练得到的。
112.步骤s430,将所述目标对象的关键点三维参数发送给分析所述目标对象的运动状态的评估人员对应的运动评估终端。
113.上述图像分析方法的具体处理及其带来的技术效果可分别参考附图2中的相关说明,在此不再赘述。
114.本技术实施例提供一种图像分析方法,该方法包括以下步骤:
115.步骤s510,获得图像采集设备发送的待分析图像序列,所述待分析图像序列用于表示接受运动训练的目标对象的运动训练状态。
116.步骤s520,对于所述待分析图像序列中的任意一个待分析图像,判断所述任意一个待分析图像是否为包含目标对象的关键图像;如果是,则获取所述关键图像中的目标对象的关键点参数,作为用于分析所述目标对象的运动状态的参数。
117.步骤s530,将所述目标对象的关键点参数发送给分析所述目标对象的运动状态的
评估人员对应的运动评估终端。
118.上述图像分析方法的具体处理及其带来的技术效果可分别参考附图2和附图3中的相关说明,在此不再赘述。
119.图6是根据本技术一些实施例所示的目标对象的关键点参数的获取装置的示例性示意图。
120.如图6所示,目标对象的关键点参数的获取装置包括:待分析图像获取模块610、关键点三维参数获取模块620。
121.待分析图像获取模块610,用于获得待分析图像。
122.关键点三维参数获取模块620,用于利用关键点参数获得模型,根据所述待分析图像中的目标对象的关键点二维参数,获得所述目标对象的关键点三维参数,作为用于分析所述目标对象的运动状态的参数;其中,所述关键点参数获得模型是利用图像样本中的对象样本的关键点二维参数样本和所述对象样本的关键点三维参数样本训练得到的。
123.上述目标对象的关键点参数的获取装置的实施例中,各模块的具体处理及其带来的技术效果可分别参考对应方法实施例中的相关说明,在此不再赘述。
124.图7是根据本技术一些实施例所示的一种电子设备的示例性结构示意图。
125.如图7所示,该电子设备,包括:至少一个处理器701,至少一个通信接口702,至少一个存储器703和至少一个通信总线704;可选的,通信接口702可以为通信模块的接口,如gsm模块的接口;处理器701可能是处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。存储器703可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。其中,存储器703存储有程序,处理器701调用存储器703所存储的程序,以执行上述的部分或全部方法实施例。
126.本技术涉及一种存储设备,用于存储计算机可读程序,所述计算机可读程序被运行时,执行上述的部分或全部的方法实施例。
127.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
128.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1