本发明涉及人体三维修正领域,具体为一种基于2d人体图像修正三维人体模型的方法。
背景技术:
随着网络时代的到来,网上店铺逐渐成为主流,越来越多的人通过网上购物、购衣,购衣过程中,人们主要通过展示的图像来了解衣服的外观情况。目前阶段的电商场景中,商家上传的图像一般是2d的静态图像,人们还是不能真实准确的感受到穿着衣服后各方面的视角,这给人们购物带来不便。
由此各类围绕人工智能的分析技术都希望能够对商品图像中的模特进行三维还原,这样模特的展示就会更加立体和形象。但是目前商品模特的2d图还原成三维图,将会在空间上有一定程度的变形扭曲,还原的真实性不够,给用户的感观很不好,所以需要结合2d图像的信息对3维模型进行修正,以提高3d图像的可观性和精确性。
技术实现要素:
本发明的目的在于提供一种基于2d人体图像修正三维人体模型的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于2d人体图片修正三维人体模型的方法,该方法包括以下步骤:
s1,检测出rgbd人体图像的第一人体关键点;
s2,对所述rgbd人体图像进行三维还原重建,得到3d人体模型;
s3,对所述3d人体模型进行正面投影,得到2d投影图像;
s4,检测出所述2d投影图像的第二人体关键点;
s5,将第一人体关键点与第二人体关键点进行对应;
s6,根据第一人体关键点之间的距离修正第二人体关键点之间的距离,得到融合了2d图像信息的3d还原图;
s7,根据3d还原图上调整的第二人体关键点,将3d还原图映射回3d人体模型上,完成对3d人体模型的调节。
通过常规现有技对通过rgbd人体图像可以建立3d人体模型,3d人体模型的姿态和rgbd人体图像中人体的姿态相似,可以更加真实的展示2d图像中的3d人体效果。
作为本发明的一种优选技术方案,所述步骤s1和s4中,通过图结构识别包含深度信息的rgbd人体图像和2d投影图像,分别得到第一人体关键点ptwo,坐标位置为otwo(x2,y2),第二人体关键点pthree,坐标位置为othree(x3,y3)。
作为本发明的一种优选技术方案,所述s2步骤中采用rgbd人体图像结合基于cnn rnn结构的人体骨骼关键点获取模型进行三维还原重建,得到3d人体模型。
作为本发明的一种优选技术方案,步骤s5中,求得所述otwo(x2,y2)与所述othree(x3,y3)的距离d,d由汉明距离和欧式距离组成,计算方式为d=|x2-x3| |y2-y3| (|x2-x3|^2 |y2-y3|^2)^(0.5);求得与otwo最近距离的点othree,作为此otwo第一人体关键点对应的点;找到每个第一人体关键点与第二人体关键点对应关系。通过计算远近距离,准确的找到2d与3d中各关键点的对应,避免出现对应点错误的情况发生,提高准确度。
作为本发明的一种优选技术方案,所述第一人体关键点otwo的位置包括头部点、颈部点、左肩点、右肩点、左肘点、右肘点、左腕点、右腕点、左髋点、右髋点、左膝点、右膝点、左踝点和右踝点。这些人体关键点连接会描绘出大致人体的姿态信息。
作为本发明的一种优选技术方案,所述图结构通过弹簧形变模型对部件模型与整体模型的相对空间位置关系进行建模,通过识别每个单元模版,确定每个单元模版的人体关键点。
与现有技术相比:本发明提供了一种将2d模特图像和3d人体骨骼关键点融合的技术,识别出2d模特图像的第一人体关键点,通过2d模特图像建立3d人体模型,将3d人体模型正投影成2d投影图像,识别出2d投影图像的第二人体关键点,对第一人体关键点和第二人体关键点计算、对应和调节,实现2d模特图像的信息对3d人体模型进行修正的效果,提高了3d人体模型的准确性。
附图说明
图1是本发明的步骤流程图。
图2是本发明的人体关键点示意图。
图3是本发明人体关键点识别模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种基于2d人体图像修正三维人体模型的方法。
s1,确定2d图的图像数据是rgbd,即包含深度信息。然后对包含深度信息的rgbd人体图像中人体的关键点进行检测,人体关键点的位置主要是以下几个:分别是头部点、颈部点、左肩点、右肩点、左肘点、右肘点、左腕点、右腕点、左髋点、右髋点、左膝点、右膝点、左踝点、右踝点(参阅图2),人体关键点ptwo,坐标位置为otwo(x2,y2)。
检测人体关键点的技术为:图结构(pictorialstructure技术)主要包含两个部分,其一是单元模版(unarytemplates),其二是模版关系(pairwisesprings)。通过弹簧形变模型对部件模型与整体模型的相对空间位置关系进行建模,通过识别每个模块,确定每一区域的关键点(参阅图3)。
s2,建立3d人体模型,3d人体模型的姿态与rgbd人体图像中人体的姿态相似。对含有深度信息的rgbd人体图像进行人体关键点检测,通过基于cnn rnn结构的人体骨骼关键点获取模型,模型的输入为包含深度信息的rgbd人体图像,对包含深度信息的rgbd人体图像进行多次迭代处理,每一次迭代处理输入包含原图处理生成的一个图像块和s1步骤中生成的第一关键点信息;
通过提取图像中的不同的图像块,其中每个图像块都以每个预测的身体部位为中心,并且将其转化成为glimpse(glimpse是一种图,它是对原始输入的特殊编码形式形成的,它的中心分辨率高,周围分辨率逐渐降低,这就使得中心的特征得到重点的学习,同时又保留了部分空间信息)。
glimpse结合rgbd人体图像的深度信息数据,通过rgbd人体图像中每个第一人体关键点与3d模型的人体骨骼关键点的对应关系,将后者映射为3d人体模型;
s3,对所述3d人体模型进行正面投影,得到2d投影图像。
s4,通过图结构(pictorialstructure技术)检测出所述2d投影图像的第二人体关键点;第二人体关键点pthree,坐标位置为othree(x3,y3)。
s5,将第一人体关键点与第二人体关键点进行对应;求得所述otwo(x2,y2)与所述othree(x3,y3)的距离d,d由汉明距离和欧式距离组成,计算方式为d=|x2-x3| |y2-y3| (|x2-x3|^2 |y2-y3|^2)^(0.5);求得与otwo最近距离的点othree,作为此otwo第一人体关键点对应的点;找到每个第一人体关键点与第二人体关键点对应关系。
s6,根据第一人体关键点之间的距离修正第二人体关键点之间的距离,得到融合了2d图像信息的3d还原图;
s7,根据3d还原图上调整的第二人体关键点,将3d还原图映射回3d人体模型上,完成对3d人体模型的调节,此处的映射回3d人体模型上主要运用图像矩阵映射,为常规现有技术。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
1.一种基于2d人体图片修正三维人体模型的方法,其特征在于,该方法包括以下步骤:
s1,检测出rgbd人体图像的第一人体关键点;
s2,对所述rgbd人体图像进行三维还原重建,得到3d人体模型;
s3,对所述3d人体模型进行正面投影,得到2d投影图像;
s4,检测出所述2d投影图像的第二人体关键点;
s5,将第一人体关键点与第二人体关键点进行对应;
s6,根据第一人体关键点之间的距离修正第二人体关键点之间的距离,得到融合了2d图像信息的3d还原图;
s7,根据3d还原图上调整的第二人体关键点,将3d还原图映射回3d人体模型上,完成对3d人体模型的调节。
2.根据权利要求1所述一种基于2d人体图片修正三维人体模型的方法,其特征在于:所述步骤s1和s4中,通过图结构识别包含深度信息的rgbd人体图像和2d投影图像,分别得到第一人体关键点ptwo,坐标位置为otwo(x2,y2),第二人体关键点pthree,坐标位置为othree(x3,y3)。
3.根据权利要求1所述一种基于2d人体图片修正三维人体模型的方法,其特征在于:所述s2步骤中采用rgbd人体图像结合基于cnn rnn结构的人体骨骼关键点获取模型进行三维还原重建,得到3d人体模型。
4.根据权利要求2所述一种基于2d人体图片修正三维人体模型的方法,其特征在于:步骤s5中,求得所述otwo(x2,y2)与所述othree(x3,y3)的距离d,d由汉明距离和欧式距离组成,计算方式为d=|x2-x3| |y2-y3| (|x2-x3|^2 |y2-y3|^2)^(0.5);求得与otwo最近距离的点othree,作为此otwo第一人体关键点对应的点;找到每个第一人体关键点与第二人体关键点对应关系。
5.根据权利要求1所述一种基于2d人体图像修正三维人体模型的方法,其特征在于:所述第一人体关键点otwo的位置包括头部点、颈部点、左肩点、右肩点、左肘点、右肘点、左腕点、右腕点、左髋点、右髋点、左膝点、右膝点、左踝点和右踝点。
6.根据权利要求2所述一种基于2d人体图像修正三维人体模型的方法,其特征在于:所述图结构通过弹簧形变模型对部件模型与整体模型的相对空间位置关系进行建模,通过识别每个单元模版,确定每个单元模版的人体关键点。
技术总结