热词 | 人体 序列 参数 动作 网络 捕捉 训练 构建 模型 smpl | ||
专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; |
专利有效性 | 实质审查 | 当前状态 | 实质审查 |
申请号 | CN202311764949.4 | 申请日 | 2023-12-20 |
公开(公告)号 | CN118038540A | 公开(公告)日 | 2024-05-14 |
申请人 | 度小满科技(北京)有限公司; | 申请人类型 | 企业 |
发明人 | 胡伟泰; 杨青; | 第一发明人 | 胡伟泰 |
权利人 | 度小满科技(北京)有限公司 | 权利人类型 | 企业 |
当前权利人 | 度小满科技(北京)有限公司 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份:北京市 | 城市 | 当前专利权人所在城市:北京市海淀区 |
具体地址 | 当前专利权人所在详细地址:北京市海淀区西北旺路10号院西区4号楼6层606 | 邮编 | 当前专利权人邮编:100085 |
主IPC国际分类 | G06V40/20 | 所有IPC国际分类 | G06V40/20 ; G06V10/44 ; G06V10/764 ; G06V10/82 ; G06N3/0442 ; G06N3/0499 ; G06N3/08 |
专利引用数量 | 0 | 专利被引用数量 | 0 |
专利权利要求数量 | 10 | 专利文献类型 | A |
专利代理机构 | 北京知帆远景知识产权代理有限公司 | 专利代理人 | 刘岩磊; |
摘要 | 本 申请 提供一种人体 动作捕捉 模型的确定方法、装置、设备及存储介质通过获取模型的 训练数据 以及网络构建层,使网络构建层对训练数据进行训练,以得到人体动作捕捉模型,实现精确捕捉人体动作。即通过基于光场重建技术捕获的人体动作 数据库 构建动作先验,训练 深度神经网络 模型实现从体感外设采集的RGBD图像中捕捉人体动作。整个系统运行速度快,精确度高,可以达到实时运行的要求,解决了 现有技术 中存在的问题,具有积极的效果。 | ||
权利要求 | 1.一种人体动作捕捉模型的确定方法,其特征在于,包括: |
||
说明书全文 | 人体动作捕捉模型的确定方法、装置、设备及存储介质技术领域[0001] 本申请实施例涉及计算机技术领域中的信息处理技术,尤其涉及一种人体动作捕捉模型的确定方法、装置、设备及存储介质,具体涉及一种基于RGBD相机和人体动作先验的实时人体动作捕捉,可用于数字人的肢体动作驱动。 背景技术[0002] 早期的机械式运动捕捉到现在的光学和惯性动作捕捉,人体动作捕捉技术经历了漫长的发展历程。其中,关键技术的不断突破和进步推动了该领域的不断发展。近年来,随着计算机视觉技术和深度学习技术的进步,人体动作捕捉技术取得了重大的突破,进入了快速发展时期。 [0003] 在已有的动作捕捉的系统中,公开号为CN114495274A的专利通过训练残差网络来估计人体三维姿态,然而现有技术中仍然存在很多不足,例如误差估计大,未使用人体动作进行采样先验等。发明内容 [0004] 本申请提供一种人体动作捕捉模型的确定方法、装置、设备及存储介质,考虑了误差参数,提升了动作捕捉的稳定性、降低输出不合理人体姿态的概率,提升了人体姿态估计的准确性。 [0005] 本申请提供了一种人体动作捕捉模型的确定方法,包括: [0006] 获取深度学习模型的训练数据,所述训练数据包括第一参数序列和第二参数序列; [0007] 获取所述深度学习模型的第一网络构建层和第二网络构建层; [0008] 通过所述第一网络构建层对所述第一参数序列进行训练,以及通过所述第二网络构建层对所述第二参数序列进行训练,以得到人体动作捕捉模型。 [0009] 在一种可能的实现方式中,所述第二参数序列包括所述第一参数序列和历史参数序列,且分别对所述第一参数序列和所述历史参数序列进行标记,得到标签参数序列。 [0010] 在一种可能的实现方式中,所述第一网络构建层包括循环神经网络GRU和映射器模块,其中,通过所述第一网络构建层对所述第一参数序列进行训练,包括: [0011] 通过所述循环神经网络GRU从所述第一参数序列中提取第一目标参数; [0012] 根据所述第一目标参数和所述标签参数序列,得到所述第一网络构建层的第一损失函数。 [0013] 在一种可能的实现方式中,通过所述第一网络构建层对所述第一参数序列进行训练,还包括: [0014] 通过所述映射器模块从所述第一参数序列中提取第二目标参数; [0015] 根据所述第二目标参数和所述标签参数序列,得到所述第一网络构建层的第二损失函数。 [0016] 在一种可能的实现方式中,所述第二网络构建层包括判别器模块,通过所述第二网络构建层对所述第二参数序列进行训练,包括: [0017] 通过所述判别器模块对所述第一目标参数的序列进行分类,以得到分类结果; [0018] 根据所述分类结果计算所述第一网络构建层的第三损失函数。 [0019] 在一种可能的实现方式中,根据所述第一网络构建层的所述第一损失函数,所述第二损失函数和所述第三损失函数,计算所述第一网络构建层的目标损失函数。 [0020] 在一种可能的实现方式中,还包括: [0021] 通过所述判别器模块对所述第二参数序列和所述第一目标参数的序列进行分类,以得到分类结果; [0022] 根据所述分类结果计算所述判别器模块的损失函数。 [0023] 本申请还提供了一种人体动作捕捉模型的确定装置,包括: [0024] 第一获取模块,用于获取深度学习模型的训练数据,所述训练数据包括第一参数序列和第二参数序列; [0025] 第二获取模块,用于获取所述深度学习模型的第一网络构建层和第二网络构建层; [0026] 确定模块,用于通过所述第一网络构建层对所述第一参数序列进行训练,以及通过所述第二网络构建层对所述第二参数序列进行训练,以得到人体动作捕捉模型。 [0027] 本申请还提供了一种电子设备,包括: [0028] 至少一个处理器;以及 [0029] 与所述至少一个处理器通信连接的存储器;其中, [0030] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一项所述的方法。 [0031] 本申请还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述任一项所述的方法。 [0032] 本申请提供一种人体动作捕捉模型的确定方法、装置、设备及存储介质通过获取模型的训练数据以及网络构建层,使网络构建层对训练数据进行训练,以得到人体动作捕捉模型,实现精确捕捉人体动作。即通过基于光场重建技术捕获的人体动作数据库构建动作先验,训练深度神经网络模型实现从体感外设采集的RGBD图像中捕捉人体动作。整个系统运行速度快,精确度高,可以达到实时运行的要求,解决了现有技术中存在的问题,具有积极的效果。附图说明 [0033] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0034] 图1为本申请实施例提供的人体动作捕捉模型的确定方法的流程图; [0035] 图2为本申请实施例提供的人体动作捕捉模型的确定方法优选方案示意图; [0036] 图3为本申请实施例提供的装置的示意图; [0037] 图4是本申请实施例提供的电子设备500的示意性框图。 具体实施方式[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。 [0039] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。 [0040] 人体动作捕捉技术是一种通过使用传感器或摄像机等设备,结合计算机算法来捕捉人体的运动信息数据,并将其转化为可分析的信号,从而进行人体动作的记录、分析和再现的技术。该技术可以广泛应用于体育、医学、动画制作、虚拟现实等领域。例如在动画制作领域,人体动作捕捉技术可以用于将真实的人体动作应用于虚拟角色中,制作出生动、逼真的动画效果。在元宇宙领域,人体动作捕捉技术可以用于实现真实的人体与虚拟环境的交互和体验,提高虚拟现实的沉浸感和逼真度。 [0041] 但是现有技术中的方案未使用人体动作进行采样先验,帧间抖动和对不合理姿态的抑制没有考虑到,从而造成了误差影响,以及仅使用RGB相机进行3D人体姿态的估计误差较大的缺陷。本发明通过学习人体动作先验数据库大大提升了动作捕捉的稳定性、降低输出不合理人体姿态的概率,并充分利用Depth深度数据增加3D人体姿态估计的准确性,其中,主要术语释义:Depth(深度数据)、GRU(循环神经网络)、MLP(多层感知器),Kienct(体感外设感知器)。 [0042] 因此,为了解决上述技术问题,在本申请提出了一种方案,下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。 [0043] 本申请技术方案可以由电子设备执行,该电子设备可以是一种应急处理的终端设备,也可以是服务器等,本申请对此不做限制。应理解的是,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、可穿戴设备等,但并不限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器,但并不限于此。 [0044] 图1为本申请实施例提供的一种人体动作捕捉模型的确定方法的流程图,该方法的执行主体可以是上述电子设备,但不限于此,如图1所示,该方法包括如下步骤: [0045] s101、获取深度学习模型的训练数据,所述训练数据包括第一参数序列和第二参数序列; [0046] s102、获取所述深度学习模型的第一网络构建层和第二网络构建层; [0047] s103、通过所述第一网络构建层对所述第一参数序列进行训练,以及通过所述第二网络构建层对所述第二参数序列进行训练,以得到人体动作捕捉模型。 [0048] 通过获取模型的训练数据以及网络构建层,使网络构建层对训练数据进行训练,以得到人体动作捕捉模型实现捕捉人体动作,即通过基于光场重建技术捕获的人体动作数据库构建动作先验,训练深度神经网络模型实现从Kinect2采集的RGBD图像中捕捉人体动作。整个系统的模型速度快,达到实时运行的要求。 [0049] 图2中为本申请实施例提供的一种人体动作捕捉模型的确定方法的方法优选方案的示意图,该方法的执行主体可以是上述电子设备,但不限于此,如图2所示,该方法包括如下步骤: [0050] S301、获取深度学习模型的训练数据,所述训练数据包括第一参数序列和第二参数序列; [0051] S302、获取所述深度学习模型的第一网络构建层和第二网络构建层; [0052] S303、通过所述第一网络构建层对所述第一参数序列进行训练,以及通过所述第二网络构建层对所述第二参数序列进行训练,以得到人体动作捕捉模型。 [0053] S304、所述第二参数序列包括所述第一参数序列和历史参数序列,且分别对所述第一参数序列和所述历史参数序列进行标记,得到标签参数序列。 [0054] S305、所述第一网络构建层包括循环神经网络GRU和映射器模块,其中,通过所述第一网络构建层对所述第一参数序列进行训练,包括: [0055] S306、通过所述循环神经网络GRU从所述第一参数序列中提取第一目标参数;根据所述第一目标参数和所述标签参数序列,得到所述第一网络构建层的第一损失函数。通过所述映射器模块从所述第一参数序列中提取第二目标参数;根据所述第二目标参数和所述标签参数序列,得到所述第一网络构建层的第二损失函数。 [0056] S307、所述第二网络构建层包括判别器模块,通过所述第二网络构建层对所述第二参数序列进行训练,包括:通过所述判别器模块对所述第一目标参数的序列进行分类,以得到分类结果;根据所述分类结果计算所述第一网络构建层的第三损失函数。 [0057] 就具体应用场景而言,在一个优选实施方式中,本发明提供一种基于人体动作先验的单目人体动作捕捉方法和系统,通过Kienct2读入人体姿态序列,经过人体参数生成模块得到多种输出,可以直接在Blender等动画软件中进行人体骨骼的可视化,或者通过骨骼重定向模块用于驱动数字人模型,应用广泛,使用简便。 [0058] 可以通过提供一种基于RGBD深度相机和人体动作先验的实时人体动作捕捉方法和系统,所述方法包括以下几个部分: [0059] 构建深度学习网络过程: [0060] 在所述第一网络构建层中,进行人体参数生成网络构建,使用MLP结构的神经网络对Kinect输出的人体关键点序列进行特征加工,然后通过GRU模块得到output1:SMPL‑X模型的的参数序列。进一步通过mesh‑to‑landmark(网络到坐标功能)映射器得到output2:3D人体关键点坐标序列。最后通过pose2bvh模块,结合骨骼的拓扑结构输出output3:BVH格式的动捕数据。 [0061] 在所述第二网络构建层中,进行人体动作先验判别器网络构建,使用MLP结构的神经网络对AMASS人体动作数据集的数据和人体参数估计网络输出的SMPL‑X参数序列进行判别,在训练阶段判别器通过对抗Loss将动作先验注入到人体参数生成网络,使其输出的结果稳定性和合理性得到提升。在应用阶段,判别器输出output4:动作置信度。 [0062] 模型的训练数据集准备过程: [0063] 第一参数序列包括人体参数生成训练集:使用高分辨率网络摄像头采集人体运动的RGB视频数据(例如1080P高清摄像头),使用PROX方法对RGBD视频逐帧提取SMPL‑X模型参数序列,该参数序列即作为人体参数生成训练集的标签 [0064] 第二参数序列包括人体动作先验数据集:使用公开的AMASS数据集中的SMPL‑X参数序列数据,标签记为True,表示该数据的动作序列是真实的动作序列。在训练过程中人体参数生成网络实时输出的output1也作为数据,其标签记为False,表示该数据的动作序列是模型估计的动作序列。 [0065] 模型的损失函数设计和模型的训练采用如下公式进行计算获得: [0066] 步骤(1)中,SMPL‑X参数损失计算方式如下,即对上文描述的人体参数生成网络输出的output1 SMPL‑X参数与标签的SMPL‑X参数计算L2损失,损失函数记为[0067] [0068] 步骤(2)中,3D关节点坐标损失,即上文描述的人体参数生成网络输出的output2与标签的SMPL‑X模型经过mesh‑to‑landmark映射器得到的3D关节点坐标计算L2损失,损失函数记为 [0069] [0070] 步骤(3)中,判别器对抗损,使用人体动作先验判别器网络对人体参数生成网络的output1进行分类,计算分类的BinaryCrossEntropy损失,损失函数记为 [0071] [0072] 步骤(4)中,判别器分类损失,使用人体动作先验判别器网络对人体动作先验数据集中的数据和人体参数生成网络的output1进行分类,并计算BinaryCrossEntropy损失,损失函数记为 [0073] [0074] 其中步骤(1)、(2)、(3)中计算结果的损失函数用于人体参数生成网络的参数优化,总的损失函数记为 [0075] [0076] 步骤(4)中损失函数用于人体动作先验判别器网络的训练。在本实施例中,在GPU上对两个网络进行训练直至 和 收敛,将两个网络的参数进行保存。并将模型部署到带有GPU的AI处理服务端,输入实时采集的数据,计算output1‑output4,其中output1:SMPL‑X模型的的参数序列可以结合SMPL‑X参数化模型在动画软件中实时可视化重建的人体模型,可应用在AR、VR、XR等领域。output2:3D人体关键点坐标序列可以在动画软件中实时可视化或实时驱动数字人模型。output3:BVH格式的动捕数据是一种应用广泛的动捕数据格式,可以用于动捕数据的永久保存,也可用于骨骼结构的可视化以及数字人模型的驱动。output4:动作置信度则可以用于监控当前动作捕捉输出结果的置信度。 [0077] 图3为本申请实施例提供的一种人体动作捕捉模型确定装置示意图,如图所示,该装置包括: [0078] 第一获取模块401,用于获取深度学习模型的训练数据,所述训练数据包括第一参数序列和第二参数序列; [0079] 第二获取模块403,用于获取所述深度学习模型的第一网络构建层和第二网络构建层; [0080] 确定模块405,用于通过所述第一网络构建层对所述第一参数序列进行训练,以及通过所述第二网络构建层对所述第二参数序列进行训练,以得到人体动作捕捉模型。 [0081] 应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图4所示的装置可以执行上述方法实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现各个方法中的相应流程,为了简洁,在此不再赘述。 [0082] 图4是本申请实施例提供的电子设备500的示意性框图。 [0083] 如图4所示,该电子设备500可包括: [0084] 存储器510和处理器520,该存储器510用于存储计算机程序,并将该程序代码传输给该处理器520。换言之,该处理器520可以从存储器510中调用并运行计算机程序,以实现本申请实施例中的方法。 [0085] 例如,该处理器520可用于根据该计算机程序中的指令执行上述方法实施例。 [0086] 在本申请的一些实施例中,该处理器520可以包括但不限于: [0087] 通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。 [0088] 在本申请的一些实施例中,该存储器510包括但不限于: [0089] 易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read‑Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、外部随机存取存储器(Dynamic RAM,DRAM)、同步外部随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步外部随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步外部随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接外部随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。 [0090] 在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器510中,并由该处理器520执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。 [0091] 如图4所示,该电子设备还可包括: [0092] 收发器530,该收发器530可连接至该处理器520或存储器510。 [0093] 其中,处理器520可以控制该收发器530与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器530可以包括发射机和接收机。收发器530还可以进一步包括天线,天线的数量可以为一个或多个。 [0094] 应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。 [0095] 本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。 [0096] 当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。 [0097] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。 |