关键点信息的确定方法和离线动作库的生成方法、装置与流程

文档序号:33702003发布日期:2023-03-31 20:01阅读:32来源:国知局
关键点信息的确定方法和离线动作库的生成方法、装置与流程

1.本公开涉及人工智能领域,具体涉及增强现实、虚拟现实、计算机视觉和深度学习等技术领域,可应用于元宇宙和虚拟数字人等场景。


背景技术:

2.对目标对象(例如人体)动作理解的研究在机器人、自动驾驶、人机交互和元宇宙等多个领域都具有重要意义。例如,可以通过动作理解技术得到目标对象的动作姿态的关键点信息,并基于得到的关键点信息构建虚拟场景。例如,通常都采用单目相机来捕捉目标对象的动作,并基于该捕捉得到的动作的关键点,来实时生成虚拟对象的动作。


技术实现要素:

3.本公开旨在提供一种关键点信息的确定方法和离线动作库的生成方法、装置、电子设备和存储介质,旨在提高捕捉的动作姿态的关键点信息的精度。
4.根据本公开的一个方面,提供了一种关键点信息的确定方法,包括:根据识别目标对象在当前图像帧中的当前动作姿态得到的第一关键点信息,预测目标对象在当前图像帧的在后图像帧中的动作姿态,得到预测动作姿态的关键点信息;根据第一关键点信息和预测动作姿态的关键点信息,确定与当前图像帧对应的第一动作特征;确定离线动作库中与第一动作特征之间的特征距离小于距离阈值的目标动作特征;其中,离线动作库中包括与多个图像帧分别对应的多个动作特征;离线动作库中的每个动作特征是根据所对应的图像帧及其在后图像帧确定的;以及根据目标对象在目标动作特征所对应图像帧中的动作姿态的第二关键点信息,确定当前动作姿态的关键点信息。
5.根据本公开的另一个方面,提供了一种离线动作库的生成方法,包括:针对目标动作的图像序列中前预定数量个图像帧中的每个图像帧,获取目标对象在每个图像帧中的动作姿态的第一关键点信息,以及目标对象在每个图像帧的在后图像帧中的动作姿态的第二关键点信息;根据第一关键点信息和第二关键点信息,确定与每个图像帧对应的动作特征;以及确定与预定数量个图像帧分别对应的预定数量个动作特征为离线动作库中目标动作的动作特征。
6.根据本公开的另一个方面,提供了一种关键点信息的确定装置,包括:姿态预测模块,用于根据识别目标对象在当前图像帧中的当前动作姿态得到的第一关键点信息,预测目标对象在当前图像帧的在后图像帧中的动作姿态,得到预测动作姿态的关键点信息;特征确定模块,用于根据第一关键点信息和预测动作姿态的关键点信息,确定与当前图像帧对应的第一动作特征;目标动作确定模块,用于确定离线动作库中与第一动作特征之间的特征距离小于距离阈值的目标动作特征;其中,离线动作库中包括与多个图像帧分别对应的多个动作特征,离线动作库中的每个动作特征是根据所对应的图像帧及其在后图像帧确定的;以及第一信息确定模块,用于根据目标对象在目标动作特征所对应图像帧中的动作姿态的第二关键点信息,确定当前动作姿态的关键点信息。
7.根据本公开的另一个方面,提供了一种离线动作库的生成装置,包括:关键点信息获取模块,用于针对目标动作的图像序列中前预定数量个图像帧中的每个图像帧,获取目标对象在每个图像帧中的动作姿态的第一关键点信息,以及目标对象在每个图像帧的在后图像帧中的动作姿态的第二关键点信息;第一特征确定模块,用于根据第一关键点信息和第二关键点信息,确定与每个图像帧对应的动作特征;以及第二特征确定模块,用于确定与预定数量个图像帧分别对应的预定数量个动作特征为离线动作库中目标动作的动作特征。
8.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的关键点信息的确定方法和/或离线动作库的生成方法。
9.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的关键点信息的确定方法和/或离线动作库的生成方法。
10.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令存储于可读存储介质和电子设备其中至少之一上,所述计算机程序/指令在被处理器执行时实现本公开提供的关键点信息的确定方法和/或离线动作库的生成方法。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开实施例的关键点信息的确定方法和离线动作库的生成方法、装置的应用场景示意图;
14.图2是根据本公开实施例的关键点信息的确定方法的流程示意图;
15.图3是根据本公开实施例的确定动作特征之间的特征距离的原理示意图;
16.图4是根据本公开实施例的实现关键点信息的确定方法的整体流程图;
17.图5是根据本公开实施例的离线动作库的生成方法的流程示意图;
18.图6是根据本公开实施例的关键点信息的确定装置的结构框图;
19.图7是根据本公开实施例的离线动作库的生成装置的结构框图;以及
20.图8是用来实施本公开实施例的关键点信息的确定方法或离线动作库的生成方法的电子设备的框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.单目动作捕捉是指使用一个单目相机采集单张图像,并感知单张图像中目标对象
的动作姿态的3d关键点,然后根据该3d关键点来实时生成虚拟对象的动作。但是,通常实时感知得到的3d关键点的位置精度不高,例如通常会由于遮挡情况的存在,导致3d关键点的位置丢失,在对复杂动作(例如双手抱拳)进行捕捉时,则会存在生成的虚拟对象的模型被穿透或者某些3d关键点无法在人机交互时被触及的问题。
23.为了提高确定的关键点信息的精度,本公开提供了一种关键点信息的确定方法和离线动作库的生成方法、装置、设备和介质。以下先结合图1对本公开提供的方法和装置的应用场景进行描述。
24.图1是根据本公开实施例的关键点信息的确定方法和离线动作库的生成方法、装置的应用场景示意图。
25.如图1所示,该实施例的应用场景100可以包括终端设备110,该终端设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机和智能相机等等。
26.该终端设备110例如可以集成有单目动作捕捉系统,用于线上实时地捕捉目标对象的图像,并实时地分析图像得到目标对象的动作姿态的关键点信息120。该终端设备110例如可以根据分析图像得到的关键点信息来生成具有所得到动作姿态的虚拟对象模型。该终端设备110上的单目动作捕捉系统例如可以与单目相机通信连接,以实时地获取单目相机拍摄得到的图像。
27.在一实施例中,在分析得到关键点信息120后,终端设备110例如还可以根据预先生成的标准动作的关键点信息,来对分析得到的关键点信息120进行调整,以弥补单目动作捕捉系统感知得到的3d关键点的位置精度不高的缺陷。
28.在一实施例中,该应用场景100还可以包括电子设备130,该电子设备130例如可以为膝上型便携计算机、台式计算机和服务器等等。在一实施例中,该电子设备130可以为支持终端设备110中的单目动作捕捉系统运行的后台管理服务器。终端设备110可以经由网络与电子设备130通信连接。该网络可以包括有线或无线通信链路。
29.例如,终端设备110可以将分析图像得到的关键点信息120发送给电子设备130,由电子设备130来根据预先生成的标准动作的关键点信息,来对关键点信息120进行调整,得到更新后关键点信息140。在得到更新后关键点信息140后,电子设备130可以将该更新后关键点信息140发送给终端设备110,以供终端设备110生成虚拟对象模型。
30.在一实施例中,电子设备130例如可以根据关键点信息120生成动作特征,并将动作特征与离线动作库150中的动作特征进行比对,将离线动作库150中与根据关键点信息120生成的动作特征匹配的动作特征所对应的关键点信息,作为更新后关键点信息140。
31.其中,离线动作库150例如可以预先生成后存储于数据库160中。离线动作库150中动作特征所对应的关键点信息例如可以是采用多目相机动作捕捉系统或光学动作捕捉技术等捕捉得到的。电子设备130例如可以通过访问数据库160来获取离线动作库150中的动作特征,或者可以将数据库160中的离线动作库150预先缓存至电子设备130的缓存空间中。
32.需要说明的是,本公开提供的关键点信息的确定方法可以由终端设备110执行,也可以由电子设备130执行。相应地,本公开提供的关键点信息的确定装置可以设置在终端设备110中,也可以设置在电子设备130中。本公开提供的离线动作库的生成方法可以由电子设备130执行,也可以由可以访问数据库160的任意电子设备执行。相应地,本公开提供的离
线动作库的生成装置可以设置在电子设备130中,也可以设置在可以访问数据库160的任意电子设备中。
33.应该理解,图1中的终端设备110、电子设备130和数据库160的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的终端设备110、电子设备130和数据库160。
34.以下将结合图2~图4对本公开提供的关键点信息的确定方法进行详细描述。
35.图2是根据本公开实施例的关键点信息的确定方法的流程示意图。
36.如图2所示,该实施例的关键点信息的确定方法200可以包括操作s210~操作s240。
37.在操作s210,根据识别目标对象在当前图像帧中的当前动作姿态得到的第一关键点信息,预测目标对象在当前图像帧的在后图像帧中的动作姿态,得到预测动作姿态的关键点信息。
38.根据本公开的实施例,第一关键点信息例如可以为单目动作捕捉系统在线捕捉动作图像后感知得到的目标对象的当前动作姿态的关键点信息。该关键点信息例如可以包括目标对象各个部位或关节的多个关键点的位置信息。该位置信息例如可以为3d关键点的位置信息。
39.根据本公开的实施例,例如可以预测目标对象当前图像帧的在后n个图像帧中的动作姿态,得到n个预测动作姿态的关键点信息。其中,n为自然数。则第一关键点信息和n个预测动作姿态的关键点信息可以构成长度为(n+1)的关键点信息序列。
40.根据本公开的实施例,例如可以采用一个前预测器,根据单目动作捕捉系统感知得到的第一关键点信息来对当前动作姿态所述动作进行一个初步的分类,得到该当前动作姿态属于各种动作的概率,从中选出前m个概率最大的动作,作为动作生成的指导动作。随后,可以将该指导动作输入到动作生成网络中,由动作生成网络分别生成m个动作的后续动作姿态的关键点信息。将m个动作的后续动作姿态的关键点信息与第一关键点信息拼接,得到表示m个完整的动作姿态序列的关键点信息序列。随后,可以将将这些补全的关键点信息序列送入分类网络中,以预测每个关键点信息序列对应各种动作的概率,将输出概率最大的动作所对应的关键点信息序列中除第一关键点信息外的其他关键点信息作为预测动作姿态的关键点信息。其中,m例如可以为2等大于1的自然数。
41.根据本公开的实施例,例如还可以采用混合时空编码器(mixed spatial-temporal encoder,mixste)来对第一关键点信息和当前图像帧的在前图像帧中动作姿态的关键点信息构成的关键点信息序列进行编码,将编码得到的特征经由一个回归网络处理后,得到预测动作姿态的关键点信息。其中,mixste由空间transformer模块(stb)和时间transformer模块(ttb)组成,其中,stb用于计算关键点表示的部位或关节之间的自我注意,并学习每一图像帧中对象的部位或关节的关系。ttb用于计算图像帧之间的自我注意,并专注于学习每个部位或关节的全局时间相关性。
42.根据本公开的实施例,例如还可以采用基于自适应图散射块的骨骼图散射网络(skeleton graph scattering network,sgsn),来对第一关键信息和当前图像帧的在前图像帧中动作姿态的关键点信息构成的关键点信息序列进行处理,得到预测动作姿态的关键点信息。其中,给定第一关键信息,sgsn首先将每个部位或关节沿时间轴的关键点序列进行
离散余弦变换(discrete cosine transform,dct),目的是将时序变化压缩至更加紧致的表达,并且保留时序上的平滑性有助于稳定特征学习,以及消除对于时序的建模以降低模型的复杂度和训练难度。每个自适应图散射块所采用的目标对象结构图的邻接矩阵的元素是可训练的。在一系列自适应图散射块的首尾,通过跨接来稳定训练。最终,通过反离散余弦变化将关键点信息序列恢复,得到预测动作姿态的关键点信息。
43.可以理解的是,上述得到预测动作姿态的关键点信息的方法仅作为示例以利于理解本公开,本公开对此不做限定。
44.在操作s220,根据第一关键点信息和预测动作姿态的关键点信息,确定与当前图像帧对应的第一动作特征。
45.根据本公开的实施例,例如可以根据第一关键点信息中某个关键点的位置和预测动作姿态的关键点信息中该某个关键点的位置,采用前向差分(forward difference)算法或后向差分(backward difference)算法等来计算该某个关键点在当前图像帧和在后图像帧中的运动速度和加速度。
46.如此,可以得到当前图像帧和在后图像帧中,每个图像帧中动作姿态的关键点的速度和加速度。每个图像帧中动作姿态的关键点的位置、速度和加速度可以构成一个特征向量。若,在后图像帧为在后n个图像帧,则针对每个关键点,可以得到(n+1)个特征向量。该实施例可以将(n+1)个特征向量构成一个特征向量序列。该实施例可以拼接所有关键点的特征向量序列,得到与当前图像帧对应的第一动作特征。
47.在一实施例中,还可以根据第一关键点信息来预测动作姿态所属的动作,根据第一关键点信息中各关键点之间的位置关系来确定动作幅度和动作完成进度等,将所属动作、动作幅度和动作完成进度等作为当前图像帧的语义信息。类似地,可以根据预测动作姿态的关键点信息,得到在后图像帧的语义信息。该实施例可以将拼接当前图像帧的语义信息和在后图像帧的语义信息所得到的信息作为与当前图像帧对应的第一动作特征。
48.在操作s230,确定离线动作库中与第一动作特征之间的特征距离小于距离阈值的目标动作特征。
49.离线动作库中包括与多个图像帧分别对应的多个动作特征。其中,离线动作库中与每个图像帧对应的动作特征,是根据该每个图像帧及该每个图像帧的在后图像帧确定的。该每个图像帧和在后图像帧均为真实采集得到的图像帧。
50.例如,该实施例可以遍历地计算离线动作库中的各动作特征与第一动作特征之间的特征距离。随后将离线动作库中与第一动作特征之间的特征距离小于预定距离的动作特征,作为目标动作特征。
51.例如,该实施例可以先确定离线动作库中动作特征所对应的图像帧,从该图像帧中查询与当前图像帧相似度大于相似度阈值的目标图像帧。在查询得到目标图像帧后,可以计算目标图像帧所对应的动作特征与第一动作特征之间的特征距离,将目标图像帧所对应的动作特征中与第一动作特征之间的特征距离最小的特征作为目标特征。
52.例如,特征距离例如可以通过计算欧式距离或曼哈顿距离等得到,本公开对此不做限定。
53.在操作s240,根据目标对象在目标动作特征所对应图像帧中的动作姿态的第二关键点信息,确定当前动作姿态的关键点信息。
54.在该实施例中,可以将目标动作特征所对应图像帧中动作姿态的第二关键点信息作为当前动作姿态的关键点信息。
55.或者,该实施例可以通过综合考虑第一关键点信息和第二关键点信息,来得到当前动作姿态的关键点信息。例如,可以将第二关键点信息与第一关键点信息的均值作为当前动作姿态的关键点信息。
56.本公开实施例的技术方案中,由于动作特征是结合当前图像帧和预测的在后图像帧中动作姿态的关键点信息来确定的,则在与离线动作库中的动作特征进行匹配时,可以提高匹配得到的目标动作特征的准确性。如此,在根据匹配到的目标动作特征所对应图像帧中动作姿态的关键点信息来确定当前动作姿态的关键点信息时,可以达到对在线生成的关键点信息进行调整的效果,利于提高最终确定的当前动作姿态的关键点信息的精度。通过该实施例的方法,通过与根据多个图像帧得到的离线动作特征进行匹配,并依据匹配得到的动作特征所对应的关键点信息来确定关键点,可以解决因关键点被遮挡而关键点信息不准确和不完整的问题,还可以解决生成的虚拟对象的模型被穿透或者某些3d关键点无法在人机交互时被触及的问题。这是由于,在不同时刻关键点被遮挡情况通常不同。
57.在一实施例中,在根据第二关键点信息确定当前动作姿态的关键点信息时,还可以根据第二关键点信息对第一关键点信息进行平滑处理,将平滑处理得到的信息作为当前动作姿态的关键点信息。其中,平滑处理例如可以通过以下方式来实现:对第一关键点信息和第二关键点信息进行插值运算。或者还可以采用古德-图灵(good-turing)估计法来进行平滑处理,本公开对此不做限定。通过平滑处理,可以解决线上捕捉的动作与离线动作库中动作特征所对应动作的起始状态或终止状态不匹配的问题,利于提高得到的当前状态的关键点信息的精度。这是由于直接采用第二关键点信息替换识别得到的第一关键点信息,会因起始状态或终止状态不匹配导致第二关键点信息与当前动作姿态不相适配,而通过平滑处理,可以减小该种不适配。
58.图3是根据本公开实施例的确定动作特征之间的特征距离的原理示意图。
59.在一实施例中,动作特征可以指示目标对象的多个关键点的关键点信息,例如,动作特征可以由多个关键点的关键点信息拼接构成。该关键点信息可以包括前述的位置、速度、加速度等。
60.在该实施例中,在确定动作特征之间的特征距离时,还可以考虑多个关键点对动作的重要性。即针对不同动作,为每个关键点分配不同的权重。例如,对于下蹲的动作,可以为膝盖处的关键点分配较大的权重,而对于张开双臂的动作,可以为膝盖处的关键点分配较小的权重。相应地,在确定特征距离时,可以考虑针对在线捕捉到的动作为多个关键点分配的权重。以此可以使得确定的目标动作特征与对在线捕捉到的动作更为重要的关键点的特征更为匹配,提高确定的目标动作特征的精度。
61.在一实施例中,动作特征均可以指示目标对象的多个关键点的关键点信息,对于不同的动作特征,指示的关键点信息所对应的多个关键点相同。则在得到第一动作特征后,确定第一动作特征与离线动作库中动作特征之间的特征距离时,先针对多个关键点中的每个关键点,计算关键点信息之间的特征距离。最后根据为多个关键点分配的权重来对计算得到的关键点信息之间的特征距离进行加权,从而得到动作特征之间的特征距离。
62.如图3所示,在实施例300中,设定目标对象的多个关键点包括第一关键点~第m关
键点,则确定的第一动作特征310指示的关键点信息包括关键点信息a 1311~关键点信息a_m 312,离线动作库中各离线动作特征320指示的关键点信息包括关键点信息b 1321~关键点信息b m 322。该实施例可以先计算关键点信息a 1311与关键点信息b 1321之间的特征距离,得到第一子特征距离331,计算关键点信息a 2与关键点信息b 2之间的特征距离,得到第二子特征距离,以此类推,计算关键点信息a m312与关键点信息b m 322之间的特征距离,得到第m子特征距离332,共计得到m个子特征距离。随后,该实施例300可以根据与当前动作对应的m个关键点的权重(例如,第一权重341~第m权重342),对m个子特征矩阵进行加权,从而得到离线动作特征320与第一动作特征310之间的特征距离350。
63.图4是根据本公开实施例的实现关键点信息的确定方法的整体流程图。
64.在一实施例中,可以实时地根据单目动作捕捉系统感知到的关键点信息,来确定离线动作库中的动作特征。若第一次匹配到目标动作特征,可以确定单目动作捕捉系统进入匹配状态。随后,继续实时地确定目标动作特征,若单目动作捕捉系统处于匹配状态后的时段内,首次未匹配到目标动作特征,则确定单目动作捕捉系统退出匹配状态。在退出匹配状态后,持续地进行与离线动作库中动作特征的匹配。即,与离线动作库中的动作特征进行匹配的操作为循环执行的操作。
65.在一实施例中,在单目动作捕捉系统退出匹配状态的循环中,即单目动作捕捉系统处于匹配状态后,首次未匹配到目标动作特征时,例如还可以结合当前图像帧的在前图像帧中动作姿态的关键点信息,来对识别得到当前图像帧中当前动作姿态的第一关键点信息进行调整。如此,可以使得确定的关键点信息可以平滑地过渡到感知的关键点信息,避免连续两个图像帧中动作姿态的关键点信息差距过大的情况,使得确定的关键点信息更为贴合实际情况,提高关键点信息的精度。
66.基于此,如图4所示,该实施例400中,关键点信息的确定方法例如可以包括操作s410~操作s460。
67.在操作s410,根据单目动作捕捉系统实时感知的第一关键点信息,预测目标对象在当前图像帧的在后图像帧中的动作姿态,得到预测动作姿态的关键点信息。该操作s410与上文描述的操作s210类似,在此不再赘述。
68.在操作s420,根据第一关键点信息和预测动作姿态的关键点信息,确定第一动作特征。该操作s420与上文描述的操作s220类似,在此不再赘述。
69.在操作s430,确定离线动作库中是否存在目标动作特征。若是,则执行操作s440,若否则执行操作s450。可以理解的是,该操作s430的实现原理与上文描述的操作s230的实现原理类似,若确定离线动作库中存在与第一动作特征之间的特征距离小于预定距离的动作特征,则确定存在目标动作特征。
70.在操作s440,确定单目动作捕捉系统处于匹配状态,并根据目标对象在目标动作特征所对应图像帧中的动作姿态的第二关键点信息,确定当前动作姿态的关键点信息。该操作s440中确定当前动作姿态的关键点信息的原理与上文描述的操作s240的实现原理类似,在此不再赘述。可以理解的是,只要匹配到目标动作特征,即可以确定单目动作捕捉系统处于匹配状态。
71.在操作s450,确定单目动作捕捉系统是否处于匹配状态。若是,则执行操作s460,若否,则返回执行操作s410。该操作s450可以理解为确定离线动作库中是否存在与在前图
像帧所对应的第二动作特征之间的特征距离小于预定距离的动作特征,即离线动作库中是否存在与第二动作特征匹配的动作特征。
72.在操作s460,确定单目动作捕捉系统退出匹配状态,并根据第一关键点信息和当前图像帧的在前图像帧中动作姿态的第三关键点信息,确定当前动作姿态的关键点信息。可以理解的是,第三关键点信息是根据前一循环中,在离线动作库中的目标动作特征所对应图像帧的动作姿态的关键点信息确定的。
73.例如,该实施例可以将第一关键点信息和第三关键点信息的均值,作为当前动作姿态的关键点信息。或者,可以根据第三关键点信息对第一关键点信息进行平滑处理,从而得到当前动作姿态的关键点信息。
74.可以理解的是,在执行操作s440或操作s460后,均可以返回继续执行操作s410,以进入下一个循环。该实施例可以在确定没有匹配到目标动作特征,且单目动作捕捉系统不处于匹配状态的情况下,确定第一关键点信息即为当前图像帧中当前动作姿态的关键点信息。
75.在一实施例中,在单目动作捕捉系统处于匹配状态的情况下,返回执行操作s410时,例如可以根据第一关键点信息和在前图像帧中动作姿态的第四关键点信息,来预测在后图像帧中的动作姿态。即,可以在离线动作库中存在与第二动作特征之间的特征距离小于预定距离的动作特征的情况下,根据第一关键点信息和在前图像帧中动作姿态的第四关键点信息,来预测在后图像帧中的动作姿态。即在离线动作库中存在与第二动作特征匹配的动作特征的情况下,结合在前图像帧中动作姿态的第四关键点信息进行在后图像帧中动作姿态的预测。该第二动作特征即为与当前视频帧的在前图像帧对应的动作特征。如此,可以提高预测得到的预测动作姿态及预测动作姿态的关键点信息的精度。
76.为了便于本公开实施例的关键点信息的确定方法的实施,本公开还提供了一种离线动作库的生成方法,以下将结合图5对该生成方法进行详细描述。
77.图5是根据本公开实施例的离线动作库的生成方法的流程示意图。
78.如图5所示,该实施例的离线动作库的生成方法500例如可以包括操作s510~操作s530。
79.在操作s510,针对目标动作的图像序列中前预定数量个图像帧中的每个图像帧,获取目标对象在每个图像帧中的动作姿态的第一关键点信息,以及目标对象在每个图像帧的在后图像帧中的动作姿态的第二关键点信息。
80.例如,该实施例可以从图像按采集的时间顺序排列的图像序列中,抽取连续的(n+1)个图像帧,将(n+1)个图像帧中排在最前位置的图像帧作为每个图像帧,将剩余的图像帧作为在后图像帧。该实施例例如可以共计抽取到预定数量组图像帧,每组图像帧均包括连续的(n+1)个图像帧。则前预定数量个可以根据n的取值来确定。例如,若图像序列中包括q个图像帧,则前预定数量个是指前(q-n)个,得到的图像帧组的个数也为(q-n)个。
81.例如,该实施例可以采用关键点检测算法检测得到第一关键点信息和第二关键点信息。或者,可以在采集图像帧时,由动作捕捉系统感知采集的图像帧得到图像帧中的动作姿态的关键点信息。
82.可以理解的是,目标动作例如可以包括连续的多个动作姿态,图像帧中的动作姿态可以为该多个动作姿态中的一个姿态。目标动作例如可以包括蹲下的动作、张开双臂的
动作、跳高的动作等任意的动作,本公开对此不做限定。
83.在操作s520,根据第一关键点信息和第二关键点信息,确定与每个图像帧对应的动作特征。可以理解的是,该实施例中,确定与每个图像帧对应的动作特征的原理与上文描述的操作s220中确定第一动作姿态的原理类似,在此不再赘述。
84.在操作s530,确定与预定数量个图像帧分别对应的预定数量个动作特征为离线动作库中目标动作的动作特征。
85.该实施例可以针对抽取的每组(n+1)个图像帧,均确定得到一个动作特征,总计可以得到(q-n)个动作特征。随后,该实施例可以将该(q-n)个动作特征与目标动作的名称关联的存储起来,得到离线动作库中目标动作的动作特征。
86.该实施例可以针对多个目标动作均得到动作特征,则该多个目标动作的动作特征即可构成离线动作库。
87.在一实施例中,例如可以采用多目动作捕捉技术来捕捉目标动作的图像序列,并感知得到目标对象在图像序列中每个图像帧中的动作姿态的关键点信息。如此,可以全方位地捕捉到目标对象的所有关键点,使得生成的离线动作库中包括目标动作的完整关键点信息。则在基于该离线动作库,执行上文描述的关键点信息的确定方法时,可以使得确定的关键点信息更为完整,不会受在线捕捉时关键点被遮挡的影响,从而更好地解决生成的虚拟对象的模型被穿透或者某些3d关键点无法在人机交互时被触及的问题。
88.例如,多目动作捕捉技术可以为光学动作捕捉技术,以进一步提高捕捉得到的关键点信息的精度。
89.基于本公开提供的关键点信息的确定方法,本公开还提供了一种关键点信息的确定装置,以下将结合图6对该装置进行详细描述。
90.图6是根据本公开实施例的关键点信息的确定装置的结构框图。
91.如图6所示,该实施例的关键点信息的确定装置600可以包括姿态预测模块610、特征确定模块620、目标动作确定模块630和第一信息确定模块640。
92.姿态预测模块610用于根据识别目标对象在当前图像帧中的当前动作姿态得到的第一关键点信息,预测目标对象在当前图像帧的在后图像帧中的动作姿态,得到预测动作姿态的关键点信息。在一实施例中,姿态预测模块610可以用于执行上文描述的操作s210,在此不再赘述。
93.特征确定模块620用于根据第一关键点信息和预测动作姿态的关键点信息,确定与当前图像帧对应的第一动作特征。在一实施例中,特征确定模块620可以用于执行上文描述的操作s220,在此不再赘述。
94.目标动作确定模块630用于确定离线动作库中与第一动作特征之间的特征距离小于距离阈值的目标动作特征。其中,离线动作库中包括与多个图像帧分别对应的多个动作特征,离线动作库中的每个动作特征是根据所对应的图像帧及其在后图像帧确定的。在一实施例中,目标动作确定模块630可以用于执行上文描述的操作s230,在此不再赘述。
95.第一信息确定模块640用于根据目标对象在目标动作特征所对应图像帧中的动作姿态的第二关键点信息,确定当前动作姿态的关键点信息。在一实施例中,第一信息确定模块640可以用于执行上文描述的操作s240,在此不再赘述。
96.根据本公开的实施例,动作特征指示目标对象的多个关键点的关键点信息。上述
关键点信息的确定装置600还可以包括第一距离确定模块和第二距离确定模块。第一距离确定模块用于确定离线动作库中的各动作特征所指示的每个关键点的关键点信息与第一动作特征指示的每个关键点的关键点信息之间的子特征距离,得到多个子特征距离。第二距离确定模块用于根据与当前动作对应的多个关键点的权重对多个子特征距离加权,得到各动作特征与第一动作特征之间的特征距离。
97.根据本公开的实施例,上述关键点信息的确定装置600还可以包括第二信息确定模块,用于响应于离线动作库中不存在目标动作,但存在与第二动作特征之间的特征距离小于预定距离的动作特征,根据第一关键点信息和当前图像帧的在前图像帧中动作姿态的第三关键点信息,确定当前动作姿态的关键点信息,其中,第二动作特征是与在前图像帧对应的动作特征。
98.根据本公开的实施例,上述姿态预测模块610具体还用于响应于离线动作库中存在与第二动作特征之间的特征距离小于预定距离的动作特征,根据第一关键点信息和当前图像帧的在前图像帧中动作姿态的第四关键点信息,预测目标对象在在后图像帧中的动作姿态,其中,第二动作特征是与在前图像帧对应的动作特征。
99.根据本公开的实施例,上述第一信息确定模块640具体还用于根据第二关键点信息对第一关键点信息进行平滑处理,得到当前动作姿态的关键点信息。
100.基于本公开提供的离线动作库的生成方法,本公开还提供了一种离线动作库的生成装置,以下将结合图7对该装置进行详细描述。
101.图7是根据本公开实施例的离线动作库的生成装置的结构框图。
102.如图7所示,该实施例的离线动作库的生成装置700可以包括关键点信息获取模块710、第一特征确定模块720和第二特征确定模块730。
103.关键点信息获取模块710用于针对目标动作的图像序列中前预定数量个图像帧中的每个图像帧,获取目标对象在每个图像帧中的动作姿态的第一关键点信息,以及目标对象在每个图像帧的在后图像帧中的动作姿态的第二关键点信息。在一实施例中,关键点信息获取模块710可以用于执行上文描述的操作s510,在此不再赘述。
104.第一特征确定模块720用于根据第一关键点信息和第二关键点信息,确定与每个图像帧对应的动作特征。在一实施例中,第一特征确定模块720可以用于执行上文描述的操作s520,在此不再赘述。
105.第二特征确定模块730用于确定与预定数量个图像帧分别对应的预定数量个动作特征为离线动作库中目标动作的动作特征。在一实施例中,第二特征确定模块730可以用于执行上文描述的操作s530,在此不再赘述。
106.根据本公开的实施例,上述关键点信息获取模块710具体可以用于:采用多目动作捕捉技术捕捉图像序列,得到目标对象在图像序列中每个图像帧中的动作姿态的关键点信息。
107.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
108.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种
计算机程序产品。
109.图8示出了可以用来实施本公开实施例的关键点信息的确定方法或离线动作库的生成方法的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
110.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
111.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
112.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如关键点信息的确定方法或离线动作库的生成方法。例如,在一些实施例中,关键点信息的确定方法或离线动作库的生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram803并由计算单元801执行时,可以执行上文描述的关键点信息的确定方法或离线动作库的生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行关键点信息的确定方法或离线动作库的生成方法。
113.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
114.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
115.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
116.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
117.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
118.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
119.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
120.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1