发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提出了一种人脸图像的生成方法和一种人脸图像的生成装置。
为了实现上述目的,本发明的第一方面,提供了一种人脸图像的生成方法,包括:
步骤S110、获取真实人脸的RGB三通道彩色图像,并根据所述RGB三通道彩色图像生成人脸位置矩形框和面部特征点坐标;
步骤S120、根据所述人脸位置矩形框和面部特征点坐标,获取3DMM人脸模型的PCA相貌参数、PCA表情参数以及三维人脸投影到所述RGB三通道彩色图像的仿射变换矩阵,并根据所述PCA相貌参数、所述PCA表情参数以及所述仿射变换矩阵重建人脸三维模型;
步骤S130、根据所述RGB三通道彩色图像和重建的人脸三维模型,生成三维重建所得人脸三维点阵中各采样点对应的颜色信息,所述颜色信息包括RGB色值和透明度;
步骤S140、基于所述人脸三维点阵各采样点的颜色信息、PCA相貌参数、PCA表情参数、光线材质和人脸角度信息,生成四通道RGBA人脸图像和人脸定位点坐标;
步骤S150、根据预先采集的标记有人脸位置的一般场景图片和所述四通道RGBA人脸图像,生成人脸图像。
可选地,所述步骤S120包括:
计算投影矩阵;
计算PCA相貌参数;
计算PCA表情参数;
根据所述投影矩阵、所述PCA相貌参数和所述PCA表情参数,迭代完成重建人脸三维模型。
可选地,所述计算投影矩阵的方法包括:
基于三维点阵向量和特征点坐标向量,利用最小二乘法得到仿射变换和平移,所述仿射变换和所述平移构成所述投影矩阵;其中,
面部特征点基于水平坐标和竖直坐标交替的方式排列形成所述特征点坐标向量;
三维点阵基于空间坐标交替的方式排列形成所述三维点阵向量。
可选地,所述计算PCA相貌参数的步骤包括:
固定投影矩阵和PCA表情参数,并采用最小二乘法显式求解;并且,
在求解的过程中,控制预设的三个约束目标,所述预设的三个约束目标包括:
缩小三维点阵向量投影到二维之后和特征点坐标向量之间的距离;
控制PCA相貌参数绝对值的大小;
控制三维点阵中一些预定的特定点到另外一些预定的特定点之间的距离。
可选地,所述计算PCA表情参数的步骤包括:
固定投影矩阵和PCA相貌参数,并采用最小二乘法显式求解;并且,
在求解的过程中,控制预设的三个约束目标,所述预设的三个约束目标包括:
缩小三维点阵向量投影到二维之后和特征点坐标向量之间的距离;
控制PCA表情参数绝对值的大小;
控制三维点阵中一些预定的特定点到另外一些预定的特定点之间的距离。
可选地,所述根据所述投影矩阵、所述PCA相貌参数和所述PCA表情参数,迭代完成重建人脸三维模型的步骤包括:
根据所述投影矩阵、所述PCA相貌参数和所述PCA表情参数,更新点阵参数,并将更新后的点阵参数作为下次迭代参数求解的初始值;
根据所述下次迭代参数求解的初始值进行迭代计算,并当迭代次数达到预设值或者投影矩阵目标函数小于预定阈值时,迭代终止并完成重建人脸三维模型。
可选地,所述步骤S130包括:
对三维点阵中的每一个三维点,将其通过投影矩阵映射为二维图像坐标点;
基于差值的方式从对应的二维人脸RGB图像中该二维坐标点相邻的四个点的RGB色值中获得该二维坐标点位置的色值和透明度;其中,透明度反比于对应位置人脸表面和水平面的夹角。
可选地,所述步骤S140包括:
采用预定的红外光照模型,照射所述人脸三维模型;其中,所述红外光照模型为漫反射、镜面反射和环境光的线性组合,并且,所述红外光照模型配置有衰减模型,以模拟近距离光照产生的阴影效果;
所述红外光照模型中的光源包含点光源和平行光源;其中,所述点光源由OpenGL中的预设光源模型产生;所述平行光源由OpenGL中的预设的顶点着色器产生,所述顶点着色器能够将光线材质以平行光的方式投射到所述人脸三维模型上的各采样点处;
根据各采样点上的光线、各采样点的颜色信息、PCA相貌参数、PCA表情参数、光线材质和人脸角度信息,生成四通道RGBA人脸图像和人脸定位点坐标;其中,
所述人脸角度信息由欧拉角表示,其为随机生成的角度,根据该角度计算OpenGL中人脸在世界坐标系下的坐标变换;人脸角度信息作为输出结果之一;
所述人脸定位点坐标由三维点阵上对应位置的三维坐标点经过投影变换获得;
所述三维点阵可以用相应地3DMM模型中的基本点阵在PCA系统下的线性组合经过所述人脸角度信息投影变换来获得;
所述光线材质通过下述步骤获得:
选取预定面积大小的白色墙面;
红外摄像机镜头平行于所述白色墙面架设;
选取距离所述白色墙面为20cm-120cm处,利用所述红外摄像机镜头拍摄多张红外图像;
将多张红外图像转化成灰度图,并记录拍摄时所述红外摄像机镜头与所述白色墙面的距离。
可选地,所述步骤S150包括:
灰度化所述标记有人脸位置的一般场景图片,并且,在有人脸的位置处执行高斯模糊,以获得背景图片;
对所述背景图片进行随机缩放和/或剪裁和/或旋转;
将所述光线材质通过带阈值的线性组合方式融合到所述背景图片中;
将所述四通道RGBA人脸图像随机贴在渲染好的所述背景图片上,生成人脸图像。
本发明的第二方面,提供了一种人脸图像的生成装置,包括:
人脸特征点检测模块,用于获取真实人脸的RGB三通道彩色图像,并根据所述RGB三通道彩色图像生成人脸位置矩形框和面部特征点坐标;
人脸三维重建模块,用于根据所述人脸位置矩形框和面部特征点坐标,获取3DMM人脸模型的PCA相貌参数、PCA表情参数以及三维人脸投影到所述RGB三通道彩色图像的仿射变换矩阵,并根据所述PCA相貌参数、所述PCA表情参数以及所述仿射变换矩阵重建人脸三维模型;
人脸材质生成模块,用于根据所述RGB三通道彩色图像和重建的人脸三维模型,生成三维重建所得人脸三维点阵中各采样点对应的颜色信息,所述颜色信息包括RGB色值和透明度;
人脸渲染模块,用于基于所述人脸三维点阵各采样点的颜色信息、所述PCA相貌参数、所述PCA表情参数、光线材质和人脸角度信息,生成四通道RGBA人脸图像和人脸定位点坐标;
背景渲染模块,用于根据预先采集的标记有人脸位置的一般场景图片和所述四通道RGBA人脸图像,生成人脸图像。
本发明的人脸图像的生成方法,可以快速获取近红外图像样本并生成准确标记的方法,该方法可以将现有的彩色图像转化为近红外图像,降低了近红外图像采集成本。此外,本发明中的人脸图像的生成方法,在根据各采样点颜色信息和光线材质等生成四通道RGBA人脸图像时,可以通过红外光线模拟和红外光照贴图,制造出了近似红外效果的图像。并通过颜色信息提取,成功将彩色人脸图像信息引入到红外图中。最后,由于采用了三维重建的方式,所以可以准确的获得生成的人脸图片的定位点和角度信息。同一张彩色人脸,经过不同的红外光照和贴图参数,表情参数微调,以及角度参数改变,可以生成丰富的样本。本方法对人脸原始数据和背景图片数据要求并不严格,可以方便快捷的生成大量模拟红外人脸图像,扩充红外人脸训练集。
本发明的人脸图像的生成装置,可以快速获取近红外图像样本并生成准确标记的方法,该装置可以将现有的彩色图像转化为近红外图像,降低了近红外图像采集成本。此外,本发明的人脸图像的生成装置,在根据采样点颜色信息和光线材质等生成四通道RGBA人脸图像时,可以通过红外光线模拟和红外光照贴图,制造出了近似红外效果的图像。并通过采样点颜色信息的提取,成功将彩色人脸图像信息引入到红外图中。最后,由于采用了三维重建的方式,所以可以准确的获得生成的人脸图片的定位点和角度信息。同一张彩色人脸,经过不同的红外光照和贴图参数,表情参数微调,以及角度参数改变,可以生成丰富的样本。本装置对人脸原始数据和背景图片数据要求并不严格,可以方便快捷的生成大量模拟红外人脸图像,扩充红外人脸训练集。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
名词解释:
OpenGL(Open Graphics Library)一个专业的计算机图形程序接口。
PCA(Principal Component Analysis)主成分分析法,一种高维数据降维方法。
3DMM(3-Dimentional Morphable Model)一类基于统计模型的三维可延拓人脸模型。
NIR(Near Infra-red)近红外图像。
OpenCV(Open Computer Vision Library)一个计算机视觉开源工具库。
如图1所示,本发明的第一方面,涉及一种人脸图像的生成方法S100,包括:
S110、获取真实人脸的RGB三通道彩色图像,并根据所述RGB三通道彩色图像生成人脸位置矩形框和面部特征点坐标。
具体地,在本步骤中,可以从现有数据集中,获取真实人脸的RGB三通道彩色图像。本步骤中,人脸位置矩形框,一般包括左上角坐标和矩形框的宽高等尺寸信息,面部特征点坐标一般包括68个。人脸位置矩形框和面部特征点坐标的单位均为像素,人脸检测和特征点的提取目前均采用Dlib(一个计算机视觉开源库)中所提供之方法,在此不再赘述。
S120、根据所述人脸位置矩形框和面部特征点坐标,获取3DMM人脸模型的PCA相貌参数、PCA表情参数以及三维人脸投影到所述RGB三通道彩色图像的仿射变换矩阵,并根据所述PCA相貌参数、PCA表情参数以及所述仿射变换矩阵重建人脸三维模型。
具体地,可以根据步骤S110中所获取的人脸位置矩形框和68个面部特征点坐标,获得3DMM人脸模型的PCA相貌参数、PCA表情参数以及三维人脸投影到所述RGB三通道彩色图像的仿射变换矩阵。人脸三维点阵可以用相应地3DMM模型中的基本点阵的在PCA系统下的线性组合来表示。
步骤S130、根据所述RGB三通道彩色图像和重建的人脸三维模型,生成三维重建所得人脸三维点阵中各采样点对应的颜色信息,所述颜色信息包括RGB色值和透明度。
步骤S140、基于所述人脸三维点阵各采样点的颜色信息、所述PCA相貌参数、所述PCA表情参数、光线材质和人脸角度信息,生成四通道RGBA人脸图像和人脸定位点坐标。
步骤S150、根据预先采集的标记有人脸位置的一般场景图片和所述四通道RGBA人脸图像,生成人脸图像。
本实施例中的人脸图像的生成方法S100,可以快速获取近红外图像样本并生成准确标记的方法,该方法可以将现有的彩色图像转化为近红外图像,降低了近红外图像采集成本。此外,本实施例中的人脸图像的生成方法S100,在根据各采样点的颜色信息和光线材质等生成四通道RGBA人脸图像时,可以通过红外光线模拟和红外光照贴图,制造出了近似红外效果的图像。并通过人脸各采样点的颜色信息的提取,成功将彩色人脸图像信息引入到红外图中。最后,由于采用了三维重建的方式,所以可以准确的获得生成的人脸图片的定位点和角度信息。同一张彩色人脸,经过不同的红外光照和贴图参数,表情参数微调,以及角度参数改变,可以生成丰富的样本。本方法对人脸原始数据和背景图片数据要求并不严格,可以方便快捷的生成大量模拟红外人脸图像,扩充红外人脸训练集。
可选地,所述步骤S120包括:
计算投影矩阵;
计算PCA相貌参数;
计算PCA表情参数;
根据所述投影矩阵、所述PCA相貌参数和所述PCA表情参数,迭代完成重建人脸三维模型。
具体地,所述计算投影矩阵的方法包括:
基于三维点阵向量和特征点坐标向量,利用最小二乘法得到仿射变换和平移,所述仿射变换和所述平移构成所述投影矩阵;其中,
面部特征点基于水平坐标和竖直坐标交替的方式排列形成所述特征点坐标向量。
三维点阵基于空间坐标交替的方式排列形成所述三维点阵向量,该三维点阵向量可以表示为PCA基向量的线性组合,这里PCA基向量是由3DMM模型基本点阵按照空间坐标交替排列生成的。
需要说明的是,3DMM模型中基本点阵由两部分组成:相貌点阵和表情点阵。在计算PCA相貌参数时,需要固定投影矩阵和下述的PCA表情参数。反之,当需要计算PCA表情参数时,需要固定投影矩阵和相貌点阵。
具体地,所述计算PCA相貌参数的步骤包括:
固定投影矩阵和PCA表情参数,并采用最小二乘法显式求解;并且,
在求解的过程中,控制预设的三个约束目标,所述预设的三个约束目标包括:
缩小三维点阵向量投影到二维之后和特征点坐标向量之间的距离;
控制PCA相貌参数绝对值的大小;
控制三维点阵中一些预定的特定点到另外一些预定的特定点之间的距离,也即采用相貌约束,这样,可以让算法在求解过程中生成符合我们期望的脸型的解,比如中国人的脸。
具体地,所述计算PCA表情参数的步骤包括:
固定投影矩阵和PCA相貌参数,并采用最小二乘法显式求解;并且,
在求解的过程中,控制预设的三个约束目标,所述预设的三个约束目标包括:
缩小三维点阵向量投影到二维之后和特征点坐标向量之间的距离;
控制PCA表情参数绝对值的大小;
控制三维点阵中一些预定的特定点到另外一些预定的特定点之间的距离。
需要说明的是,计算表情点阵和计算相貌点阵的三个约束目标的权重可以不同。
具体地,所述根据所述投影矩阵、所述PCA相貌参数和所述PCA表情参数,迭代完成重建人脸三维模型的步骤包括:
根据所述投影矩阵、所述PCA相貌参数和所述PCA表情参数,更新点阵参数,并将更新后的点阵参数作为下次迭代参数求解的初始值;
根据所述下次迭代参数求解的初始值进行迭代计算,并当迭代次数达到预设值或者投影矩阵目标函数小于预定阈值时,迭代终止并完成重建人脸三维模型。
具体地,所述步骤S130包括:
对三维点阵中的每一个三维点,将其通过投影矩阵映射为二维图像坐标点;
基于差值的方式从对应的二维人脸RGB图像中该二维坐标点相邻的四个点的RGB色值中获得该二维坐标点位置的色值和透明度;其中,透明度反比于对应位置人脸表面和水平面的夹角。
具体地,所述步骤S140包括:
采用预定的红外光照模型,照射所述人脸三维模型;其中,所述红外光照模型为漫反射、镜面反射和环境光的线性组合,并且,所述红外光照模型配置有衰减模型,以模拟近距离红外光照产生的阴影效果;
红外光照模型的光源包含点光源和平行光源;其中,所述点光源由OpenGL中的预设的光源模型产生;所述平行光源由OpenGL中的预设的顶点着色器产生,所述顶点着色器能够将光线材质以平行光的方式投射到三维人脸模型的各采样点(例如,顶点)上。此外,由于光照为红外光照模型,对不同物体有着不同的反射度,可以通过对光源RGB比例进行调整,来模拟反射度不同带来的影响。
根据各采样点上的光线、各采样点的颜色信息、PCA相貌参数、PCA表情参数、光线材质和人脸角度信息,生成四通道RGBA人脸图像和人脸定位点坐标。
所输出的四通道RGBA人脸图像为带透明度的灰度图像,图像中人脸部分透明度为255,非人脸部分透明度为0,人脸边缘对透明度进行插值。
所述人脸角度信息由欧拉角表示,其为随机生成的角度,根据该角度计算OpenGL中人脸在世界坐标系下的坐标变换;人脸角度信息作为输出结果之一;
所述人脸定位点坐标由三维点阵上对应位置的三维坐标点经过投影变换获得;
所述三维点阵可以用相应地3DMM模型中的基本点阵在PCA系统下的线性组合经过所述人脸角度信息坐标变换来获得;
所述光线材质通过下述步骤获得:
选取预定面积大小的白色墙面;
红外摄像机镜头平行于所述白色墙面架设;
选取距离所述白色墙面为20cm-120cm处,利用所述红外摄像机镜头拍摄多张红外图像;
将多张红外图像转化成灰度图,并记录拍摄时所述红外摄像机镜头与所述白色墙面的距离。
对于任意距离,可通过如下带有透视关系的差值方式获得:
假设距离为零是得到的图片是纯白图片,距离为无穷远时得到的图片是纯黑图片。对任意指定的距离,可以找到两个相邻的拍摄距离使得指定的距离落在该相邻拍摄距离之间。将这这两个拍摄距离下的图片按照正比于拍摄距离的方式缩放到指定距离的大小,然后对这两张缩放后的图片进行加权平均便得到所指定距离下的光纤材质图片。
具体地,所述步骤S150包括:
灰度化所述标记有人脸位置的一般场景图片,并且,在有人脸的位置处执行高斯模糊,以获得背景图片;
对所述背景图片进行随机缩放和/或剪裁和/或旋转;
将所述光线材质通过带阈值的线性组合方式融合到所述背景图片中,其中原背景图片灰度值大于所述阈值的像素点在融合时背景颜色的比例会比较小,这将模拟红外图像中的高光效果。
将所述四通道RGBA人脸图像随机贴在渲染好的所述背景图片上,生成人脸图像。
本实施例中的人脸图像的生成方法,通过红外光线模拟和红外光照贴图,制造出了近似红外效果的图像。并通过各采样点的颜色信息的提取,成功将彩色人脸图像信息引入到红外图中。此外由于采用了三维重建的方式,所以可以准确的获得生成的人脸图片的定位点和角度信息。同一张彩色人脸,经过不同的红外光照和贴图参数,表情参数微调,以及角度参数改变,可以生成丰富的样本。本方法对人脸原始数据和背景图片数据要求并不严格,可以方便快捷的生成大量模拟红外人脸图像,扩充红外人脸训练集。
本发明的第二方面,如图2所示,提供了一种人脸图像的生成装置100,包括:
人脸特征点检测模块110,用于获取真实人脸的RGB三通道彩色图像,并根据所述RGB三通道彩色图像生成人脸位置矩形框和面部特征点坐标;
人脸三维重建模块120,用于根据所述人脸位置矩形框和面部特征点坐标,获取3DMM人脸模型的PCA相貌参数、PCA表情参数以及三维人脸投影到所述RGB三通道彩色图像的仿射变换矩阵,并根据所述PCA相貌参数、所述PCA表情参数以及所述仿射变换矩阵重建人脸三维模型;
人脸材质生成模块130,用于根据所述RGB三通道彩色图像和重建的人脸三维模型,生成三维重建所得人脸三维点阵中各采样点对应的颜色信息,所述颜色信息包括RGB色值和透明度;
人脸渲染模块140,用于基于所述人脸三维点阵各采样点的颜色信息、所述PCA相貌参数、所述PCA表情参数、光线材质和人脸角度信息,生成四通道RGBA人脸图像和人脸定位点坐标;
背景渲染模块150,用于根据预先采集的标记有人脸位置的一般场景图片和所述四通道RGBA人脸图像,生成人脸图像。
本实施例中的人脸图像的生成装置100,可以快速获取近红外图像样本并生成准确标记的方法,该装置可以将现有的彩色图像转化为近红外图像,降低了近红外图像采集成本。此外,本实施例中的人脸图像的生成装置100,在根据采样点的颜色信息和光线材质等生成四通道RGBA人脸图像时,可以通过红外光线模拟和红外光照贴图,制造出了近似红外效果的图像。并通过各采样点颜色信息的提取,成功将彩色人脸图像信息引入到红外图中。最后,由于采用了三维重建的方式,所以可以准确的获得生成的人脸图片的定位点和角度信息。同一张彩色人脸,经过不同的红外光照和贴图参数,表情参数微调,以及角度参数改变,可以生成丰富的样本。本装置对人脸原始数据和背景图片数据要求并不严格,可以方便快捷的生成大量模拟红外人脸图像,扩充红外人脸训练集。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。