发明内容
本发明实施例提供一种可通过单一的二维人物照片即可构建对应的三维人物模型的三维人物模型构建方法及装置,以解决现有的三维人物模型构建方法及装置对二维人物照片的拍摄要求较高且要求不同角度的二维人物照片数量较多、导致三维人物模型构建难度较大的技术问题。
本发明实施例提供一种三维人物模型构建方法,其包括:
从目标图像中分离人物图像,并生成所述人物图像对应的人物轮廓图;
对所述人物图像进行二维姿态预估,得到所述人物图像的姿态特征;
基于预设三维人物模型以及所述姿态特征,生成对应的预设二维网格顶点投影图;
获取所述预设二维网格顶点投影图的参照轮廓图,并计算所述人物轮廓图的像素点与所述参照轮廓图的像素点的映射关系;
基于所述预设三维人物模型,对所述人物轮廓图的像素点进行反投影计算,获取所述人物轮廓图的像素点的三维位置坐标;
以所述人物轮廓图的像素点为控制点,基于所述预设二维网格顶点投影图中的网格顶点的拓扑关系,计算所述人物图像的其他像素点的三维位置坐标;
基于所述人物图像的所有像素点的三维位置坐标构建三维人物模型。
在本发明所述的三维人物模型构建方法中,所述对所述人物图像进行姿态预估,得到所述人物图像的姿态特征的步骤包括:
基于所述人物图像中的人体关节点特征以及骨架走向特征进行姿态预估,以得到所述人物图像的姿态特征。
在本发明所述的三维人物模型构建方法中,所述基于预设三维人物模型以及所述姿态特征,生成对应的预设二维网格顶点投影图的步骤包括:
将所述姿态特征作为参数输入至SMPL人体参数化三维模型框架,得到所述人物图像对应姿态的SMPL人体参数化三维模型;
将所述SMPL人体参数化三维模型正视投影到二维图像空间,得到对应的预设二维网格顶点投影图。
在本发明所述的三维人物模型构建方法中,基于下述公式计算所述人物轮廓图的像素点与所述参照轮廓图的像素点的映射关系:
其中p
i为人物轮廓图上的像素点,
为参照轮廓图上的对应像素点,φ[i]用于表示该映射关系对应的映射空间,κ为预设参数。
在本发明所述的三维人物模型构建方法中,基于下述公式获取所述人物轮廓图的像素点的三维位置坐标:
其中M为目标图像相机的预设内参矩阵,R为预设外参旋转矩阵,T为预设外参平移向量,Z为预设基准参数,u、v为人物轮廓图的像素点的二维坐标,Xw、Yw、Zw为人物轮廓图的像素点的三维位置坐标。
在本发明所述的三维人物模型构建方法中,所述以所述人物轮廓图的像素点为控制点,基于所述预设二维网格顶点投影图中的网格顶点的拓扑关系,计算所述人物图像的其他像素点的三维位置坐标的步骤包括:
基于SMPL人体参数化三维模型对应的预设二维网格顶点投影图的网格顶点的拓扑关系,创建拉普拉斯坐标网格模型矩阵;
将所述人物轮廓图的像素点的三维位置坐标输入至所述拉普拉斯坐标网格模型矩阵;
使用带位置约束的优化模型,对所述拉普拉斯坐标网络模型矩阵求解,以得到所述人物图像的其他像素点的三维位置坐标。
本发明实施例还提供一种三维人物模型构建装置,其包括:
人物轮廓图生成模块,用于从目标图像中分离人物图像,并生成所述人物图像对应的人物轮廓图;
姿态特征获取模块,用于对所述人物图像进行二维姿态预估,得到所述人物图像的姿态特征;
预设二维网格顶点投影图生成模块,用于基于预设三维人物模型以及所述姿态特征,生成对应的预设二维网格顶点投影图;
映射关系计算模块,用于获取所述预设二维网格顶点投影图的参照轮廓图,并计算所述人物轮廓图的像素点与所述参照轮廓图的像素点的映射关系;
控制点三维位置坐标获取模块,用于基于所述预设三维人物模型,对所述人物轮廓图的像素点进行反投影计算,获取所述人物轮廓图的像素点的三维位置坐标;
三维位置坐标计算模块,用于以所述人物轮廓图的像素点为控制点,基于所述预设二维网格顶点投影图中的网格顶点的拓扑关系,计算所述人物图像的其他像素点的三维位置坐标;
三维人物模型构建模块,用于基于所述人物图像的所有像素点的三维位置坐标构建三维人物模型。
在本发明所述的三维人物模型构建装置中,所述预设二维网格顶点投影图生成模块包括:
三维模型创建单元,用于将所述姿态特征作为参数输入至SMPL人体参数化三维模型框架,得到所述人物图像对应姿态的SMPL人体参数化三维模型;
预设二维网格顶点投影图生成单元,用于将所述SMPL人体参数化三维模型正视投影到二维图像空间,得到对应的预设二维网格顶点投影图。
在本发明所述的三维人物模型构建装置中,所述三维位置坐标计算模块包括:
拉普拉斯坐标网格模型矩阵创建单元,用于基于SMPL人体参数化三维模型对应的预设二维网格顶点投影图的网格顶点的拓扑关系,创建拉普拉斯坐标网格模型矩阵;
参数输入单元,用于将所述人物轮廓图的像素点的三维位置坐标输入至所述拉普拉斯坐标网格模型矩阵;
三维位置坐标计算单元,用于使用带位置约束的优化模型,对所述拉普拉斯坐标网络模型矩阵求解,以得到所述人物图像的其他像素点的三维位置坐标。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述三维人物模型构建方法。
相较于现有技术,本发明的三维人物模型构建方法及构建装置基于人物图像的姿态特征以及预设二维网格顶点投影图生成人物轮廓图的像素点,并以该人物轮廓图的像素点为控制点来计算人物图像的其他像素点的三维位置坐标,进而构建对应的三维人物模型。本发明的三维人物模型构建方法及构建装置可基于单一的二维人物照片即可构建对应的三维人物模型,降低了三维人物模型的构建难度;有效解决了现有的三维人物模型构建方法及装置对二维人物照片的拍摄要求较高且要求不同角度的二维人物照片数量较多、导致三维人物模型构建难度较大的技术问题。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的三维人物模型构建方法及构建装置可设置在任何的电子设备中,用于基于人物二维图像来生成对应人物图像的像素点的三维位置坐标,进而构建对应的三维人物模型。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该三维人物模型构建装置优选为进行三维人物模型构建的图像处理终端或服务器,其基于人物图像的姿态特征以及预设二维网格顶点投影图生成人物轮廓图的像素点,并以该人物轮廓图的像素点为控制点来计算人物图像的其他像素点的三维位置坐标,进而构建对应的三维人物模型,其通过预设二维网格顶点投影图的设置有效降低了对二维人物照片的数量以及质量的要求。
请参照图1,图1为本发明的三维人物模型构建方法的一实施例的流程图。本实施例的三维人物模型构建方法可使用上述的电子设备进行实施,本实施例的三维人物构建方法包括:
步骤S101,从目标图像中分离人物图像,并生成人物图像对应的人物轮廓图;
步骤S102,对人物图像进行二维姿态预估,得到人物图像的姿态特征;
步骤S103,基于预设三维人物模型以及姿态特征,生成对应的预设二维网格顶点投影图;
步骤S104,获取预设二维网格顶点投影图的参照轮廓图,并计算人物轮廓图的像素点与参照轮廓图的像素点的映射关系;
步骤S105,基于预设三维人物模型,对人物轮廓图的像素点进行反投影计算,获取人物轮廓图的像素点的三维位置坐标;
步骤S106,以人物轮廓图的像素点为控制点,基于预设二维网格顶点投影图中的网格顶点的拓扑关系,计算人物图像的其他像素点的三维位置坐标;
步骤S107,基于人物图像的所有像素点的三维位置坐标构建三维人物模型。
下面详细说明本实施例的三维人物模型构建方法的三维人物模型构建过程。
在步骤S101中,三维人物模型构建装置(如图像处理终端)从目标图像中分离人物图像。这里的目标图像为包括人物图像的二维图像,图像处理终端对该目标图像进行处理,以建立该人物图像对应的三维人物模型。
具体的,这里三维人物模型构建装置可将目标图像输入到一个预先训练好的神经网络以获得该目标图像的图像特征,随后在目标图像的图像特征中设定多个候选感兴趣区域(ROI,Region Of Interest)。三维人物模型构建装置将上述候选感兴趣区域送入至区域选取网络(RPN,Region Proposal Network)进行二值分类,过滤掉部分候选感兴趣区域,随后对剩下的候选感兴趣区域进行分类以及全卷积网络(FCN,Fully ConvolutionalNetworks)的优化操作,最终将人物图像从目标图像中分离出来。
随后三维人物模型构建装置对分离出来的人物图像进行轮廓提取,以获取该人物图像对应的人物轮廓图。这里可基于人物图像中相邻像素的灰度变化量的大小来确定人物图像的轮廓,如相邻像素的灰度变化量大于某个设定值时,则判定该相邻像素为人物图像的轮廓像素,进而获取人物图像的人物轮廓图。
在步骤S102中,三维人物模型构建装置对人物图像进行二维姿态预估,以得到人物图像的姿态特征。
具体的,三维人物模型构建装置可基于人物图像中的人体关节点特征以及骨架走向特征进行姿态预估,以得出人物图像的姿态特征。
如这里可使用OpenPose开源库对人物图像进行姿态预估,即将人物图像的进行图像特征提取,随后将提取的特征通过人体关节点相关的第一预测分支网络进行识别,随后将第一预测分支网络输出的识别特征以及人物图像的提取特征通过骨架走向相关的第二预测分支网络进行识别,最终得到人物图像的姿态特征。
在步骤S103中,三维人物模型构建装置基于预设三维人物模型以及步骤S102获取的姿态特征,生成对应的预设二维网格顶点投影图。具体请参照图2,图2为本发明的三维人物模型构建方法的一实施例的步骤S103的流程图。该步骤S103包括:
步骤S201,三维人物模型构建装置将步骤S201获取的姿态特征作为参数输入至SMPL人体参数化三维模型框架中,以得到人物图像对应姿态的SMPL人体参数化三维模型。
这里SMPL(A Skinned Multi-person Linear Model)人体参数化三维模型框架包括了6890个顶点,构成了一个具有父子关系的骨架模型框架,整个模型框架分成了24块,包含了24个关节点,每个关节点有三个自由度,即每个关键点都可以绕自身的某个局部坐标做旋转运动,其包含一个调整三维模型姿态的姿态参数以及一个调整模型形状的形状参数。姿态参数是一个1*72的向量,其中每一个值均表示某个具体的关键点绕着一条旋转轴的旋转角度,形状参数是一个1*10的向量,可以实现对人体参数化三维模型形状的编辑,即表现出人体高、矮、胖、瘦等不同的人体形状。
因此将步骤S201获取的姿态特征输入到上述SMPL人体参数化三维模型框架,可以直接得到人物图像对应姿态的SMPL人体参数化三维模型。
步骤S202,三维人物模型构建装置将SMPL人体参数化三维模型正视投影到二维图像空间,得到对应的预设二维网格顶点投影图。这里的网格顶点是由SMPL(A SkinnedMulti-person Linear Model)人体参数化三维模型框架提供的,这里仅仅是进行三维至二维的投影转化。
具体可通过以下公式获取预设二维网格顶点投影图。
x=M[R|T]X;
其中x为预设二维网格顶点投影图的网格顶点的二维坐标,X为SMPL人体参数化三维模型中的网格顶点的三维坐标,M是目标图像相机的预设内参矩阵,R为预设外参旋转矩阵,T为预设外参平移向量。
在步骤S104中,三维人物模型构建装置获取步骤S103中生成的预设二维网格顶点投影图的参照轮廓图,即获取该预设二维网格顶点投影图的最外围的像素点的轮廓图,如可获取预设二维网格顶点投影图每一行像素的像素列坐标,将列坐标最大以及最小的两个像素作为该行像素的外围像素点,将每一行的外围像素点集合起来即为预设二维网格顶点投影图的参照轮廓图。
由于预设二维网格顶点投影图的参照轮廓图并不能保证每一行像素均具有对应的外围像素点,这里还可基外围像素点的连续性对外围像素点进行筛选操作,如相邻行的列坐标最大外围像素点的距离大于设定值,则只保留列坐标较大的外围像素点,将列坐标较小的外围像素点删除,随后将保留的外围像素点与相邻的下一行或上一行的外围像素点继续进行列坐标的比较,直至选取预设二维网格顶点投影图的所有像素行的外围像素点。
随后三维人物模型构建装置计算人物轮廓图的像素点与参考轮廓图的像素点的映射关系;具体的,可通过下述公式计算人物轮廓图的像素点与参照轮廓图的像素点的映射关系。
其中p
i为人物轮廓图上的像素点,
为参照轮廓图上的对应像素点,φ[i]用于表示该映射关系对应的映射空间,κ为预设参数。
在步骤S105中,三维人物模型构建装置基于预设三维人物模型,对任务轮廓图的像素点进行反投影计算,以获取人物轮廓图的像素点的三维位置坐标。具体的,可通过以下公式获取人物轮廓图的像素点的三维位置坐标。
其中M为目标图像相机的预设内参矩阵,R为预设外参旋转矩阵,T为预设外参平移向量,Z为预设基准参数,u、v为人物轮廓图的像素点的二维坐标,Xw、Yw、Zw为人物轮廓图的像素点的三维位置坐标。
在步骤S106中,三维人物模型构建装置以步骤S105获取的人物轮廓图的像素点为控制点,基于预设二维网格顶点投影图中的网格顶点的拓扑关系,计算人物图像的其他像素点的三维位置坐标。具体请参照图3,图3为本发明的三维人物模型构建方法的一实施例的步骤S106的流程图。该步骤S106包括:
步骤S301,三维人物模型构建装置基于SMPL人体参数化三维模型对应的预设二维网格顶点投影图的网格顶点的拓扑关系,创建拉普拉斯坐标网格模型矩阵。
具体的,SMPL人体参数化三维模型对应的预设二维网格顶点投影图的网格顶点的拉普拉斯坐标可表示为:
其中δi为顶点i的拉普拉斯坐标,j为顶点i的环顶点,N(i)为顶点i的环顶点集合,ωij为顶点j相对于顶点i的权重,vi为顶点i的三维位置坐标,该权重ωij可为:
其中αij、βij为顶点i和顶点j的两个邻接网格(三角面片)的对角,具体请参照图4。
如该预设二维网格顶点投影图的具有n个网格顶点,则该SMPL人体参数化三维模型的拉普拉斯坐标网格模型矩阵可表示为:
LijV=δ;
步骤S302,三维人物模型构建装置将人物轮廓图的像素点的三维位置坐标输入至上述拉普拉斯坐标网络模型矩阵中。
步骤S303,三维人物模型构建装置使用带位置约束的优化模型,对拉普拉斯坐标网络模型矩阵求解,以得到人物图像的其他像素点的三维位置坐标。
具体的,将人物轮廓图的像素点的三维位置坐标输入至上述拉普拉斯坐标网络模型矩阵之后,求解人物图像的其他像素点的三维位置坐标,可归结与求解一个带位置约束的优化问题,具体如下式所示:
其中ωj为约束点权值,其中V'为基于人物轮廓图的像素点的三维位置坐标变形后的人物图像的三维位置坐标,Δ'为变形后的SMPL人体参数化三维模型的预设二维网格顶点投影图的网格顶点的拉普拉斯坐标。
求解上述的最小值问题相当于求解超静定线性系统,其中
其中h是一个m*3阶矩阵,hj=ωj*uj,j=1,2,……m,每列代表一个坐标分量,V’是一个n*3阶矩阵,其第i行表示变形后的预设二维网格顶点投影图的网格顶点的三维位置坐标,求解上述线性系统,可得到变形后的人物图像的所有像素点的三维位置坐标。
具体为:
(ATA)V'=ATb;
V'=(ATA)-1·ATb;
这样即可计算出变形后的人物图像的所有像素点的三维位置坐标。
在步骤S107中,三维人物模型构建装置基于步骤S106计算出的人物图像的其他像素点的三维位置坐标构建出三维人物模型。
这样即完成了本实施例的三维人物模型构建方法的三维人物模型构建过程。
本实施例的三维人物模型构建方法基于人物图像的姿态特征以及预设二维网格顶点投影图生成人物轮廓图的像素点,并以该人物轮廓图的像素点为控制点来计算人物图像的其他像素点的三维位置坐标,进而构建对应的三维人物模型。基于单一的二维人物照片即可构建对应的三维人物模型,降低了三维人物模型的构建难度。
本发明还提供一种三维人物模型构建装置,请参照图5,图5为本发明的三维人物模型构建装置的一实施例的结构示意图,本实施例的三维人物模型构建装置可使用上述的三维人物模型构建方法进行实施。本实施例的三维人物模型构建装置50包括人物轮廓图生成模块51、姿态特征获取模块52、预设二维网格顶点投影图生成模块53、映射关系计算模块54、控制点三维位置坐标获取模块55、三维位置坐标计算模块56以及三维人物模型构建模块57。
人物轮廓图生成模块51用于从目标图像中分离人物图像,并生成人物图像对应的人物轮廓图;姿态特征获取模块52用于对人物图像进行二维姿态预估,得到人物图像的姿态特征;预设二维网格顶点投影图生成模块53用于基于预设三维人物模型以及姿态特征,生成对应的预设二维网格顶点投影图;映射关系计算模块54用于获取预设二维网格顶点投影图的参照轮廓图,并计算人物轮廓图的像素点与参照轮廓图的像素点的映射关系;控制点三维位置坐标获取模块55用于基于预设三维人物模型,对人物轮廓图的像素点进行反投影计算,获取人物轮廓图的像素点的三维位置坐标;三维位置坐标计算模块56用于以人物轮廓图的像素点为控制点,基于预设二维网格顶点投影图中的网格顶点的拓扑关系,计算人物图像的其他像素点的三维位置坐标;三维人物模型构建模块57用于基于人物图像的所有像素点的三维位置坐标构建三维人物模型。
请参照图6,图6为本发明的三维人物模型构建装置的一实施例的预设二维网格顶点投影图生成模块的结构示意图。该预设二维网格顶点投影图生成模块53包括三维模型创建单元61以及预设二维网格顶点投影图生成单元62。
三维模型创建单元61用于将姿态特征作为参数输入至SMPL人体参数化三维模型框架,得到人物图像对应姿态的SMPL人体参数化三维模型;预设二维网格顶点投影图生成单元62用于将SMPL人体参数化三维模型正视投影到二维图像空间,得到对应的预设二维网格顶点投影图。
请参照图7,图7为本发明的三维人物模型构建装置的一实施例的三维位置坐标计算模块的结构示意图。该三维位置坐标计算模块56包括拉普拉斯坐标网格模型矩阵创建单元71、参数输入单元72以及三维位置坐标计算单元73。
拉普拉斯坐标网格模型矩阵创建单元71用于基于SMPL人体参数化三维模型对应的预设二维网格顶点投影图的网格顶点的拓扑关系,创建拉普拉斯坐标网格模型矩阵;参数输入单元72用于将人物轮廓图的像素点的三维位置坐标输入至拉普拉斯坐标网格模型矩阵;三维位置坐标计算单元73用于使用带位置约束的优化模型,对拉普拉斯坐标网络模型矩阵求解,以得到人物图像的其他像素点的三维位置坐标。
本实施例的三维人物模型构建装置50使用时,首先人物轮廓图生成模块51从目标图像中分离人物图像。这里的目标图像为包括人物图像的二维图像,图像处理终端对该目标图像进行处理,以建立该人物图像对应的三维人物模型。
随后姿态特征获取模块52对人物图像进行二维姿态预估,以得到人物图像的姿态特征。
然后预设二维网格顶点投影图生成模块53基于预设三维人物模型以及步骤S102获取的姿态特征,生成对应的预设二维网格顶点投影图。
具体的,预设二维网格顶点投影图生成模块53的三维模型创建单元61将姿态特征作为参数输入至SMPL人体参数化三维模型框架中,以得到人物图像对应姿态的SMPL人体参数化三维模型。
预设二维网格顶点投影图生成模块53的预设二维网格顶点投影图生成单元62将SMPL人体参数化三维模型正视投影到二维图像空间,得到对应的预设二维网格顶点投影图。这里的网格顶点是由SMPL(A Skinned Multi-person Linear Model)人体参数化三维模型框架提供的,这里仅仅是进行三维至二维的投影转化。
具体可通过以下公式获取预设二维网格顶点投影图。
x=M[R|T]X;
其中x为预设二维网格顶点投影图的网格顶点的二维坐标,X为SMPL人体参数化三维模型中的网格顶点的三维坐标,M是目标图像相机的预设内参矩阵,R为预设外参旋转矩阵,T为预设外参平移向量。
然后映射关系计算模块54获取预设二维网格顶点投影图的参照轮廓图,即获取该预设二维网格顶点投影图的最外围的像素点的轮廓图,如可获取预设二维网格顶点投影图每一行像素的像素列坐标,将列坐标最大以及最小的两个像素作为该行像素的外围像素点,将每一行的外围像素点集合起来即为预设二维网格顶点投影图的参照轮廓图。
随后映射关系计算模块54计算人物轮廓图的像素点与参考轮廓图的像素点的映射关系。
然后控制点三维位置坐标获取模块55基于预设三维人物模型,对任务轮廓图的像素点进行反投影计算,以获取人物轮廓图的像素点的三维位置坐标。
随后三维位置坐标计算模块56以人物轮廓图的像素点为控制点,基于预设二维网格顶点投影图中的网格顶点的拓扑关系,计算人物图像的其他像素点的三维位置坐标。
具体的,三维位置坐标计算模块56的拉普拉斯坐标网格模型矩阵创建单元71基于SMPL人体参数化三维模型对应的预设二维网格顶点投影图的网格顶点的拓扑关系,创建拉普拉斯坐标网格模型矩阵。
三维位置坐标计算模块56的参数输入单元72将人物轮廓图的像素点的三维位置坐标输入至上述拉普拉斯坐标网络模型矩阵中。
三维位置坐标计算模块56的三维位置坐标计算单元73使用带位置约束的优化模型,对拉普拉斯坐标网络模型矩阵求解,以得到人物图像的其他像素点的三维位置坐标。
最后三维人物模型构建模块57基于人物图像的其他像素点的三维位置坐标构建出三维人物模型。
这样即完成了本实施例的三维人物模型构建装置50的三维人物模型构建过程。
本实施例的三维人物模型构建装置的具体工作原理与上述三维人物模型构建方法的实施例中的描述相同或相似,具体请参见上述三维人物模型构建方法的实施例中的详细描述。
本实施例的三维人物模型构建装置基于人物图像的姿态特征以及预设二维网格顶点投影图生成人物轮廓图的像素点,并以该人物轮廓图的像素点为控制点来计算人物图像的其他像素点的三维位置坐标,进而构建对应的三维人物模型。基于单一的二维人物照片即可构建对应的三维人物模型,降低了三维人物模型的构建难度。
下面通过一具体实施例说明本发明的三维人物模型构建方法及三维人物模型构建装置的具体工作原理。请参照图8和图9,图8为本发明的三维人物模型构建方法及三维人物模型构建装置的具体实施例的三维人物模型构建流程图,图9为本发明的三维人物模型构建方法及三维人物模型构建装置的具体实施例的三维人物模型构建示意图。
本实施例的三维人物模型构建装置设置在图像处理终端中,该图像处理终端进行三维人物模型构建的流程包括:
步骤S801,对二维目标图像进行人物图像检测;
步骤S802,对检测到的人物图像进行人物分离,并生成人物图像对应的人物轮廓图;
步骤S803,基于人物图像的姿态,获取SMPL人体参数化三维模型的网格顶点投影图;
步骤S804,获取该网格顶点投影图的参照轮廓图;
步骤S805,将人物轮廓图映射到SMPL人体参数化三维模型的网格顶点投影图的参照轮廓图中,对SMPL人体参数化三维模型的网格顶点投影图进行变形;
步骤S806,计算变形后的SMPL人体参数化三维模型的人物轮廓图对应的像素点的三维位置坐标;
步骤S807,以人物轮廓图的像素点为控制点,计算变形后的SMPL人体参数化三维模型的其他像素点的三维位置坐标;
步骤S808,基于人物图像的所有像素点的三维位置坐标构建三维人物模型。
这样即完成了本实施例的图像处理终端进行三维人物模型构建的流程。
本发明的三维人物模型构建方法及构建装置基于人物图像的姿态特征以及预设二维网格顶点投影图生成人物轮廓图的像素点,并以该人物轮廓图的像素点为控制点来计算人物图像的其他像素点的三维位置坐标,进而构建对应的三维人物模型。本发明的三维人物模型构建方法及构建装置可基于单一的二维人物照片即可构建对应的三维人物模型,降低了三维人物模型的构建难度;有效解决了现有的三维人物模型构建方法及装置对二维人物照片的拍摄要求较高且要求不同角度的二维人物照片数量较多、导致三维人物模型构建难度较大的技术问题。
如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图10和随后的讨论提供了对实现本发明所述的三维人物模型构建装置所在的电子设备的工作环境的简短、概括的描述。图10的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1012包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图10图示了包括本发明的三维人物模型构建装置中的一个或多个实施例的电子设备1012的实例。在一种配置中,电子设备1012包括至少一个处理单元1016和存储器1018。根据电子设备的确切配置和类型,存储器1018可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图10中由虚线1014图示。
在其他实施例中,电子设备1012可以包括附加特征和/或功能。例如,设备1012还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图10中由存储装置1020图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1020中。存储装置1020还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1018中由例如处理单元1016执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1018和存储装置1020是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1012访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1012的一部分。
电子设备1012还可以包括允许电子设备1012与其他设备通信的通信连接1026。通信连接1026可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1012连接到其他电子设备的其他接口。通信连接1026可以包括有线连接或无线连接。通信连接1026可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备1012可以包括输入设备1024,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1012中也可以包括输出设备1022,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1024和输出设备1022可以经由有线连接、无线连接或其任意组合连接到电子设备1012。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1012的输入设备1024或输出设备1022。
电子设备1012的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE13104)、光学总线结构等等。在另一个实施例中,电子设备1012的组件可以通过网络互连。例如,存储器1018可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1028访问的电子设备1030可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1012可以访问电子设备1030并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1012可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1012处执行并且一些指令可以在电子设备1030处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。