一种基于单目rgb输入的移动端实时3d人体动作捕捉方法及系统、电子设备、存储介质

文档序号:169564 发布日期:2021-10-29 浏览:19次 >En<

阅读说明:本技术 一种基于单目rgb输入的移动端实时3d人体动作捕捉方法及系统、电子设备、存储介质 (Monocular RGB input-based mobile terminal real-time 3D human body motion capture method and system, electronic equipment and storage medium ) 是由 杨凯航 李冬平 米楠 于 2021-08-02 设计创作,主要内容包括:本发明公开了一种基于单目RGB输入的移动端实时3D人体动作捕捉方法及系统、电子设备、存储介质,属于虚拟技术领域,包括获取用户在初始状态下所有点位的初始位置,确定每个点位的序号、名称以及相邻点位的距离,并保存初始姿态模型;获取RGB图像信息,并捕捉RGB图像中所有点位的目标位置;根据IK算法、点位的初始位置以及图像中所有点位的目标位置,计算初始姿态模型做出与RGB图像信息一样的动作时,初始状态下每个相邻点位的旋转角度,并驱动初始姿态模型做出与RGB图像信息一样的动作。本发明实现了一种基于RGB输入的移动端实时的3D人体动作捕捉和可视化应用。(The invention discloses a monocular RGB (red, green and blue) input based mobile terminal real-time 3D (three-dimensional) human body motion capture method and system, electronic equipment and a storage medium, belonging to the technical field of virtualization, and comprising the steps of acquiring initial positions of all point locations of a user in an initial state, determining the serial number and name of each point location and the distance between adjacent point locations, and storing an initial posture model; acquiring RGB image information, and capturing target positions of all point positions in the RGB image; and calculating the rotation angle of each adjacent point in the initial state when the initial attitude model performs the same action as the RGB image information according to the IK algorithm, the initial positions of the point positions and the target positions of all the point positions in the image, and driving the initial attitude model to perform the same action as the RGB image information. The invention realizes the real-time 3D human body motion capture and visualization application of the mobile terminal based on RGB input.)

一种基于单目RGB输入的移动端实时3D人体动作捕捉方法及 系统、电子设备、存储介质

技术领域

本发明属于虚拟技术领域,特别涉及一种基于单目RGB输入的移动端实时3D人体动作捕捉方法及系统、电子设备、存储介质。

背景技术

人体动作捕捉技术是一种能够检测人体在三维空间中的姿态和运动的轨迹,并在虚拟三维环境中重现人体运动的技术。当前业界比较常用的动作捕捉技术主要是光学式的和惯性式,其中光学式动作捕捉技术精确度很高可以达到亚毫米级,但是成本非常高,通常用于自动化控制、影视动画等领域,而成本稍低一些的惯性式动作捕捉技术则精度不如光学动补,且存在误差累计和传感器磁化的问题,通常使用在一些对精度要求不那么高的领域。虽然惯性式动作捕捉设备的成本已经不是很高了,但是还是难以普及到一般的用户群体中,主要由于:1)其需要穿戴配套设备才能使用,且限制了使用场景2)成本相对于手机这种已经非常普及的设备而言还是过高。

发明内容

针对上述的问题,本发明提供一种基于单目RGB输入的移动端实时3D人体动作捕捉方法及系统、电子设备、存储介质,其方法包括:

获取用户在初始状态下所有点位的初始位置,确定每个所述点位的序号、名称以及相邻所述点位的距离,并保存初始姿态模型;

获取RGB图像信息,并捕捉所述RGB图像中所有点位的目标位置;

根据IK算法、所述点位的初始位置以及所述RGB图像中所有点位的目标位置,计算所述初始姿态模型做出与所述RGB图像信息一样的动作时,初始状态下每个相邻所述点位的旋转角度,并驱动所述初始姿态模型做出与所述RGB图像信息一样的动作。

优选的是,所述点位包括手指点位和身体点位。

优选的是,所述手指点位的获取步骤包括:

对手部区域的RGB图像采用MobileNetV2神经网络检测手指2D关键点,获得所述手指的2D点位;

对所述位手指的2D点位采用全连接神经网络,回归获得所述手指的3D点位。

优选的是,所述身体点位的获取步骤包括:

数据采集;

构建身体点位的backbone网络模型;

根据所述数据,对所述身体点位的backbone网络模型进行训练;

对训练好的所述身体点位的网络模型输入身体区域的RGB图像,获得所述RGB图像的身体点位。

优选的是,所述数据采集包括身体的3D数据集和2D数据集;

所述3D数据集包括:

搜集3D人物模型,构建人物3D模型数据集;

搜集人物动画数据,构建基础动作数据集;

使用渲染软件,将所述基础动作数据集渲染到所述人物3D模型数据集,获得所述3D数据集;

所述2D数据集包括采集人像视频,并从所述人像视频中选取服饰、场景和动作丰富的图像。

优选的是,对所述身体点位的backbone网络模型进行训练包括:

使用backbone网络模型中的loss函数对所述2D数据集进行训练,获取所述backbone网络模型的所有权重参数;

固定所述所有权重参数,使用loss函数分别对所述2D数据集和所述3D数据集进行训练,直至收敛;

解开所述权重参数中的weights,使用loss函数Eall以及交叉监督函数Ecross进行训练,直至收敛;

其中,为网络2D输出的第n张点位热度图heatmap,为2D数据集中的真实标注的点位热度图,为网络2D输出的第n张肢体热度图,为2D数据集中真实标注的肢体热度图;为网络3D分支输出的第n张点位热度图,为3D数据集中的真实标注点位热度图,为网络3D分支输出的第n张肢体热度图,为3D数据集中真实标注的肢体热度图;H3d^2d为3D数据集中和2D数据集的共有点位;H2d^3d表示2D数据集中和3D数据集的共有点位。

优选的是,根据IK算法、所述点位的初始位置以及所述RGB图像中所有点位的目标位置,计算所述初始姿态模型做出与所述RGB图像信息一样的动作时,初始状态下每个相邻所述点位的旋转角度包括:

根据所述点位的初始位置以及所述RGB图像中所有点位的目标位置,获得所有活动关节;

根据IK算法,计算每个所述活动关节中骨骼的旋转角度,其算法包括:

将一个所述活动关节中外侧顶端的所述点位放置对应的目标位置;

将所述活动关节中其余所述点位按照公式移动到对应位置;

将所述活动关节中内侧顶端的所述点位放置到所述点位的初始位置;

将所述活动关节中其余所述点位按照公式移动到对应位置;

式中,bx为所述活动关节中任意点位的当前位置;bx-1为与所述bx相邻点位的当前位置;Bx为所述活动关节中任意点位对应的所述目标位置;Bx-1为与所述Bx相邻点位对应的所述目标位置;x为自然数;

判断每个所述点位的当前位置到所述目标位置的距离是否小于阈值;

若小于,则每个所述活动关节中骨骼的旋转角度;若大于,则循环迭代上述步骤直至每个所述点位的当前位置到所述目标位置的距离小于所述阈值。

本发明实施例提供一种基于单目RGB输入的移动端实时3D人体动作捕捉的系统,包括:

初始姿态模型模块,用于获取用户在初始状态下所有点位的初始位置,确定每个所述点位的序号、名称以及相邻所述点位的距离,并保存初始姿态模型;

捕捉模块,用于获取RGB图像信息,并捕捉所述RGB图像中所有点位的目标位置;

驱动模块,用于根据IK算法、所述点位的初始位置以及所述RGB图像中所有点位的目标位置,计算所述初始姿态模型做出与所述RGB图像信息一样的动作时,初始状态下每个相邻所述点位的旋转角度,并驱动所述初始姿态模型做出与所述RGB图像信息一样的动作。

本发明实施例提供的一种电子设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述所述的方法。

本发明实施例提供的一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行上述所述的方法。

与现有技术相比,本发明的有益效果为:

本发明构建人体点位检测的模型,用以降低3D数据采集成本和End-To-End方法的训练难度。

附图说明

图1是本发明实施例提供的基于单目RGB输入的移动端实时3D人体动作捕捉方法流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

参照图1,一种基于单目RGB输入的移动端实时3D人体动作捕捉方法及系统、电子设备、存储介质,其方法包括:

获取用户在初始状态下所有点位的初始位置,确定每个点位的序号、名称以及相邻点位的距离,并保存初始姿态模型;

获取RGB图像信息,并捕捉RGB图像中所有点位的目标位置;

根据IK算法、点位的初始位置以及图像中所有点位的目标位置,计算初始姿态模型做出与RGB图像信息一样的动作时,初始状态下每个相邻点位的旋转角度,并驱动初始姿态模型做出与RGB图像信息一样的动作。

在本实施例中,点位包括手指点位和身体点位,手指点位的获取步骤包括:

对手部区域的RGB图像采用MobileNetV2神经网络检测手指2D关键点,获得所述手指的2D点位;

对所述位手指的2D点位采用全连接神经网络,回归获得所述手指的3D点位。

在本实施例中,采用该方法检测到手指点位数目为21个。

进一步地,身体点位的获取步骤包括:

数据采集;

构建身体点位的backbone网络模型;

在本实施例中,网络输入为256*192大小的RGB图像,输出为肢体热度图L2d、L3d和点位热度图H2d、H3d。肢体热度图是覆盖对应肢体的一块矩形区域,比如小腿的肢体热度图就是覆盖小腿范围的矩形区域,其中L2d和L3d有所不同,L2d每个肢体对应1张热度图,该热度图中,肢体矩形区域范围内的值为255,范围外的值为0,L3d每个肢体对应3张热度图,肢体矩形区域范围内的值是对应肢体的3D方向(小腿的话就是脚踝3D坐标减去膝关节3D坐标)的归一化值:x、y、z。点位热度图是覆盖对应关节点的一个二维高斯分布,高斯分布峰值所在的位置就是关节点的2D位置,每个关节点都只有1张点位热度图。网络结构中,H2D分支为仅使用H2D数据集监督训练的分支,H3D分支为使用H3D数据集监督训练的分支。

根据数据,对身体点位的backbone网络模型进行训练;

对训练好的身体点位的网络模型输入身体区域的RGB图像,获得RGB图像的身体点位。

在本实施例中,数据采集包括身体的3D数据集和2D数据集;

3D数据集包括:

搜集或者建模较为逼真的3D人物模型,构建人物3D模型数据集;

搜集人物动画数据,同时也可以使用惯性动作捕捉设备采集一批人的动画数据,构建基础动作数据集;

使用常用的渲染软件(blender、UE4、Unity等)渲染人体动画;

在实际使用场景中,遇到无法准确检测的动作时,只需要动画师手动K出相应的动画。

2D数据集包括采集人像视频,并从人像视频中选取服饰、场景和动作丰富的图像。在实际使用场景中,遇到无法准确检测出人体2D点位的情况时,可以继续搜集对应场景、服饰的人物图像,标注2D点位扩充数据集即可。

在本实施例中,3D数据集H3D包含31个点位;2D数据集H2D包含25个点位。其中两个数据集中的点位顺序和含义如下表:

序号 H<sub>2</sub>D点位 H<sub>3</sub>D点位 序号 H<sub>2</sub>D点位 H<sub>3</sub>D点位
0 右臀 右臀 16 右拇指根 右拇指根
1 右膝 右膝 17 右小指根 右小指根
2 右脚踝 右脚踝 18 左拇指根 左拇指根
3 左臀 左臀 19 左小指根 左小指根
4 左膝 左膝 20 右脚跟 右脚跟
5 左脚踝 左脚踝 21 右脚尖 右脚尖
6 头顶 头顶 22 左脚跟 左脚跟
7 右肩 右肩 23 左脚尖 左脚尖
8 右肘 右肘 24 喉结位置 脖子
9 右腕 右腕 25 两臀中点
10 左肩 左肩 26 肚脐
11 左肘 左肘 27 胸口
12 左腕 左腕 28 喉结位置
13 右耳 右耳 29 右肩胛骨
14 鼻尖 鼻尖 30 左肩胛骨

在本实施例中,对身体点位的backbone网络模型进行训练包括:

使用backbone网络模型中的loss函数对2D数据集进行训练,获取backbone网络模型的所有权重参数;

固定所有权重参数,使用loss函数分别对2D数据集和3D数据集进行训练,直至收敛;

解开权重参数中的weights,使用loss函数Eall以及交叉监督函数Ecross进行训练,直至收敛;

其中,为网络2D输出的第n张点位热度图heatmap,为2D数据集中的真实标注的点位热度图,为网络2D输出的第n张肢体热度图,为2D数据集中真实标注的肢体热度图;为网络3D分支输出的第n张点位热度图,为3D数据集中的真实标注点位热度图,为网络3D分支输出的第n张肢体热度图,为3D数据集中真实标注的肢体热度图;H3d^2d为3D数据集中和2D数据集的共有点位;H2d^3d表示2D数据集中和3D数据集的共有点位。

根据IK算法、点位的初始位置以及图像中所有点位的目标位置,计算初始姿态模型做出与RGB图像信息一样的动作时,初始状态下每个相邻点位的旋转角度包括:

根据所述点位的初始位置以及所述RGB图像中所有点位的目标位置,获得所有活动关节;

根据IK算法,计算每个所述活动关节中骨骼的旋转角度,其算法包括:

将一个所述活动关节中外侧顶端的所述点位放置对应的目标位置;

将所述活动关节中其余所述点位按照公式移动到对应位置;

将所述活动关节中内侧顶端的所述点位放置到所述点位的初始位置;

将所述活动关节中其余所述点位按照公式移动到对应位置;

式中,bx为所述活动关节中任意点位的当前位置;bx-1为与所述bx相邻点位的当前位置;Bx为所述活动关节中任意点位对应的所述目标位置;Bx-1为与所述Bx相邻点位对应的所述目标位置;x为自然数;

判断每个所述点位的当前位置到所述目标位置的距离是否小于阈值;

若小于,则每个所述活动关节中骨骼的旋转角度;若大于,则循环迭代上述步骤直至每个所述点位的当前位置到所述目标位置的距离小于所述阈值。

本发明实施例提供一种基于单目RGB输入的移动端实时3D人体动作捕捉的系统,包括:

初始姿态模型模块,用于获取用户在初始状态下所有点位的初始位置,确定每个点位的序号、名称以及相邻点位的距离,并保存初始姿态模型;

捕捉模块,用于获取RGB图像信息,并捕捉RGB图像中所有点位的目标位置;

驱动模块,用于根据IK算法、点位的初始位置以及图像中所有点位的目标位置,计算初始姿态模型做出与RGB图像信息一样的动作时,初始状态下每个相邻点位的旋转角度,并驱动初始姿态模型做出与RGB图像信息一样的动作。

本发明实施例提供的一种电子设备,包括至少一个处理单元以及至少一个存储单元,其中,存储单元存储有程序,当程序被处理单元执行时,使得处理单元执行上述的方法。

本发明实施例提供的一种计算机可读存储介质,其存储有可由电子设备执行的计算机程序,当程序在电子设备上运行时,使得电子设备执行上述的方法。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:跳绳姿势检测方法、装置、电子设备和介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!