本发明涉及单位人体重建领域,尤其涉及一种基于多图像输入的单帧图像3d人体重建方法。
背景技术:
1、从单帧图像了解人类是计算机视觉的基本任务之一。在过去,研究界一直专注于预测2d内容,如关节点,剪影,以及来自rgb图像的部分分割。随着图像处理技术、神经网络、计算机硬件等技术进一步发展,三维人体重建技术逐渐成为计算机视觉、计算机图形学领域中重要的研究课题之一。通过计算机视觉图像的方式实现人体的表面重建,根据输入数据检测出人体的体态参数,即将这些数据转换为三维的数据信息。能够实现高效且高还原度的三维人体重建,在面貌还原、游戏与动画、增强现实(ar),以及虚拟现实(vr)、衣服试穿等领域中具有极为深远的意义。
2、现有三维人体重建方法具有以下问题:缺乏可以用于训练的3d数据;图像背景复杂,影响三维人体重建;人体姿态多样,图像存在歧义性;重建精度与效率不平衡等。
技术实现思路
1、本发明目的在于针对现有技术的不足,针对三维人体重建过程中存在精度不够的问题,本方面提供一种基于多图像输入的单帧图像3d人体重建方法,该方法具有简单、重建精度更高的特点。
2、该方法通过以下方案实现:一种基于多图像输入的单帧图像3d人体重建方法,步骤包括:
3、s1:由人体关节点检测网络以及实例分割网络对原始单帧图像进行人体关节点识别和人体图像分割,得到2d人体关节点图和2d人体分割图;
4、s2:分别将原始单帧图像、2d人体关节点图和2d人体分割图输入到人体重建网络中每个图像对应的编码网络中,得到3个图像特征r1,r2,r3;
5、s3:将图像特征r1,r2,r3拼接起来得到总图像特征r,再将r送入到人体重建网络的解码网络中,推理得到人体模型参数以及相机参数;将人体模型参数输入判别器,并判断人体模型参数的合理性;
6、s4:通过人体模型参数驱动smpl输出三维人体模型,并生成相应的3d关节点,通过相机参数将3d关节点投影到2d空间,得到2d关节点,监督人体重建网络的训练;
7、s5:将原始单帧图像、2d人体关节点图和2d人体分割图输入到训练好的人体重建网络,得到人体模型参数并驱动smpl输出最终三维人体模型。
8、进一步地,2d人体关节点图像是先由人体关节点检测网络检测到关节点,再根据人体关节的连接方式生成的,以此来表示人体大致的姿势;2d人体分割图则是由实例分割网络生成,以此来表示人体大致的轮廓。
9、进一步地,所述人体重建网络的编码网络包括三个并行的特征提取网络r1、r2、r3,输入分别为原始单帧图像、2d人体关节点图和2d人体分割图;r1、r2、r3使用的是三个resnext50-cbam网络,该网络是由resnext50网络增加cbam模块所得。
10、进一步地,所述人体重建网络的解码网络是由全连接层构成的,首先将拼接后的特征通过一个全连接层,得到一个中间特征,将中间特征分别拼接初始化的人体模型参数以及相机参数,再分别通过一个全连接网络使用迭代误差反馈方式回归出最终的人体模型参数以及相机参数。
11、进一步地,所述人体重建网络的目标函数如下公式所示:
12、l=λj3dlj3d+λj2dlj2d+λsmpllsmpl+λadvladv
13、其中lj3d表示3d的人体关节点损失,lj2d表示2d的人体关节点损失,其中2d关节点j2d由3d关节点j3d在相机参数下进行投影所得;所述人体模型参数包括人体姿态参数θ和人体形状参数β,lsmpl指的是关于人体姿态参数θ和人体形状参数β的损失计算;ladv是来自判别器的损失;λj3d、λj2d、λsmpl、λadv分别表示lj3d、lj2d、lsmpl、ladv的损失权重系数。
14、进一步地,lj3d、lj2d通过以下公式计算得到:
15、
16、
17、其中n为2d关节点的数目;jpred-i表示由三维人体模型回归出的第i个3d关节点;k3d-i表示第i个3d关节点真值;jproj-i表示第i个由3d关节点投影得到的2d关节点;k2d-i表示第i个2d关节点真值。
18、进一步地,ladv可以通过以下公式计算而得:
19、ladv=[discrimator(θpred-j,βpred-i)-1]2
20、其中discrimator为判别器,θpred-j,βpred-i分别为人体重建网络的解码网络输出的人体姿态参数和人体形状参数。
21、进一步地,lsmpl可以通过以下公式计算而得:
22、
23、其中βi和θj分别为人体形状参数和人体姿态参数的真值,βpred-i,θpred-j为人体重建网络的解码网络推理得到的结果。
24、本发明的有益效果:
25、利用smpl在重建3d的人体过程中,考虑了3d关节点损失、经过3d关节点投影所得的2d关节点损失、smpl参数损失、判别器损失,以获取误差更小的3d人体网格模型。
26、对于只输入原始单帧图像的三维人体重建,重建过程中会受到原始图像背景、噪声等因素的影响;对于只输入2d关节点与轮廓图,但重建过程中丢失原始图像的一些信息;因此本发明在模型中输入了原始图像、关节点图、分割图来指导输出,以获取精度更高3d人体模型。
27、使用resnext-50-cbam网络作为人体重建网络的编码网络,借由resnext的分组机制以及cbam的注意力机制,来提升网络的特征提取能力,最终降低人体重建网络的重建误差以及提升重建的精度。
1.一种基于多图像输入的单帧图像3d人体重建方法,其特征在于,该方法步骤包括:
2.根据权利要求1所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,2d人体关节点图像是先由人体关节点检测网络检测到关节点,再根据人体关节的连接方式生成的,以此来表示人体大致的姿势;2d人体分割图则是由实例分割网络生成,以此来表示人体大致的轮廓。
3.根据权利要求1所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,所述人体重建网络的编码网络包括三个并行的特征提取网络r1、r2、r3,输入分别为原始单帧图像、2d人体关节点图和2d人体分割图;r1、r2、r3使用的是三个resnext50-cbam网络,该网络是由resnext50网络增加cbam模块所得。
4.根据权利要求1所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,所述人体重建网络的解码网络是由全连接层构成的,首先将拼接后的特征通过一个全连接层,得到一个中间特征,将中间特征分别拼接初始化的人体模型参数以及相机参数,再分别通过一个全连接网络使用迭代误差反馈方式回归出最终的人体模型参数以及相机参数。
5.根据权利要求1所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,所述人体重建网络的目标函数如下公式所示:
6.根据权利要求5所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,lj3d、lj2d通过以下公式计算得到:
7.根据权利要求5所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,ladv通过以下公式计算而得:
8.根据权利要求5所述的基于多图像输入的单帧图像3d人体重建方法,其特征在于,lsmpl通过以下公式计算而得: