用于产生三维人脸模型的系统和方法
【技术领域】
[0001]本发明大体上涉及电子装置。更具体来说,本发明涉及用于产生三维(3D)人脸模 型的系统和方法。
【背景技术】
[0002] 在最近几十年中,电子装置的使用已变得普遍。具体来说,电子技术的进步已降低 了越来越复杂且有用的电子装置的成本。成本降低和消费者需求已使电子装置的使用剧 增,使得其在现代社会中几乎随处可见。由于电子装置的使用已推广开来,因此需要电子装 置的新的且改进的特征。更具体来说,人们常常寻求执行新功能和/或更快、更有效或以更 高质量执行功能的电子装置。
[0003] -些电子装置(例如,相机、视频摄像机、数码相机、蜂窝式电话、智能电话、计算 机、电视机等)捕获或利用图像。举例来说,数码相机可以捕获数字图像。
[0004] 人们常常寻求电子装置的新的和/或改进的特征。如可从此论述观察到,添加电子 装置的新的和/或改进的特征的系统和方法可以是有益的。
【发明内容】
[0005] 描述用于三维人脸生成的方法。基于深度图和反向第一矩阵而计算反向深度图。 由其中像素垂直对准并且水平不同的两个图像生成反向第一矩阵。反向深度图经正规化以 纠正由图像校正引起的深度图中的失真。基于反向深度图和两个图像中的一者而生成三维 人脸模型。
[0006] 可以获得对应于两个图像的第一图像的第一矩阵。可以获得对应于两个图像的第 二图像的第二矩阵。第一矩阵可以施加到第一图像以获得第一校正图像。第二矩阵可以施 加到第二图像以获得第二校正图像。第一矩阵可以是对应于第一图像的单应矩阵,并且第 二矩阵可以是对应于第二图像的单应矩阵。
[0007] 计算反向深度图可以包含反向第一矩阵以获得反向第一矩阵以及将所述反向第 一矩阵施加到深度图。可以从第一校正图像和第二校正图像确定深度图。可以从两个图像 确定基本矩阵。获得第一矩阵和第二矩阵可以包含分解基本矩阵。
[0008] 两个图像可以是相对于人脸的不同角度。将反向深度图正规化可以包含将反向深 度图中的像素的子集正规化。将反向深度图正规化可以包含使反向深度图旋转、倾斜和缩 放中的一者。
[0009] 使反向深度图倾斜可以包含确定反向深度图的子集选择中的每一列像素的深度 导数,确定子集选择的所有深度导数的平均值,将所述平均值与阈值相比较以及基于所述 比较而使反向深度图倾斜。子集选择可以包含矩形区域。子集选择可以包含第一区域和第 二区域。将平均值与阈值相比较还可以包含将第一区域的平均值与第二区域的平均值之间 的差与阈值相比较。
[0010] 使反向深度图旋转可以包含检测反向深度图中的对称特征,所述对称特征具有左 特征和右特征,以及按比例调整反向深度图以使左特征和右特征水平齐平。
[0011] 使反向深度图缩放可以包含检测反向深度图中的对称特征,所述对称特征具有左 特征和右特征,以及调整反向深度图以使左特征和右特征按比例均等并且处于同一深度水 平。
[0012] 还描述用于三维人脸生成的设备。所述设备包含处理器和存储在与所述处理器进 行电子通信的存储器中的可执行指令。所述设备基于深度图和反向第一矩阵而计算反向深 度图。由其中像素垂直对准并且水平不同的两个图像生成反向第一矩阵。所述设备还将反 向深度图正规化以纠正由图像校正引起的深度图中的失真。所述设备基于反向深度图和两 个图像中的一者而进一步生成三维人脸模型。
[0013] 描述用于三维人脸生成的另一设备。所述设备包含用于基于深度图和反向第一矩 阵而计算反向深度图的装置。由其中像素垂直对准并且水平不同的两个图像生成反向第一 矩阵。所述设备还包含用于将反向深度图正规化以纠正由图像校正引起的深度图中的失真 的装置。所述设备进一步包含用于基于反向深度图和两个图像中的一者而生成三维人脸模 型的装置。
[0014] 描述用于三维人脸生成的计算机程序产品。所述计算机程序产品包含具有在其上 的指令的非暂时性计算机可读媒体。所述指令包含用于使电子装置基于深度图和反向第一 矩阵而计算反向深度图的代码。由其中像素垂直对准并且水平不同的两个图像生成反向第 一矩阵。所述指令还包含用于使电子装置将反向深度图正规化以纠正由图像校正引起的深 度图中的失真。所述指令进一步包含用于使电子装置基于反向深度图和两个图像中的一者 而生成三维人脸模型的代码。
【附图说明】
[0015] 图1是说明用于产生三维(3D)人脸模型的组件的框图;
[0016]图2说明用于产生反向(inverse)深度图的过程;
[0017]图3是说明用于产生3D人脸模型的方法的流程图;
[0018]图4说明两个倾斜图像;
[0019]图5是说明用于产生3D人脸模型的另一方法的流程图;
[0020] 图6是说明用于使反向深度图倾斜的方法的流程图;
[0021] 图7说明用于将反向深度图正规化的过程;
[0022]图8是说明用于产生3D人脸模型的另一方法的流程图;
[0023] 图9是说明用于将反向深度图正规化的方法的流程图;并且
[0024] 图10说明可以包含于电子装置内的某些组件。
【具体实施方式】
[0025] 三维(3D)人脸模型可以用于不同的应用,例如虚拟现实和人脸识别。3D模型可以 由一组二维(2D)图像生成。举例来说,显示人脸图像的一组2D图片可以用于创建人脸的3D 渲染。举例来说,使用由电话捕获的两个图像的3D人脸模型重构可以提供与播音室环境相 比成本较低的方案。
[0026]在一个已知方法中,由两个立体图像建构3D人脸模型。在这种方法中,相机校准不 是必需的。但是这种方法使用对极几何来直接估计深度。为寻找两个图像之间的对应极线, 需要在白板前面拍摄人脸图像。在白板上,必须包含并且放置黑色矩形,以使得目标人脸的 高度拟合于所述黑色矩形内。在这种方法中,必须手动地手编图像以用于矩形的四个拐角 上的任何极端色彩。因此,这种方法的应用有限并且需要大量的用户交互。
[0027]在其它已知的基于立体相机的3D人脸重构方法中,立体相机硬件和相机需要校 准。相机校准可能复杂、昂贵并且费时,并且可能需要大量的用户交互。
[0028]在另一已知方法中,通用人脸模型和数个2D人脸图像用于建构3D人脸。脸部特征 是匹配的,并且所述通用人脸模型拟合于这些特征点。随后运算人脸深度的结构。但是这种 方法取决于通用人脸模型、脸部特征检测等的架构。这种方法可以不捕获个体的自然人脸。 换句话说,这种方法可以在将个体的人脸施加到一般人脸模型时使其失真。
[0029]类似地,在涉及通过单目相机进行3D人脸重构的另一已知方法中,使用单2D图像 将人脸重构成3D结构。这种方法采用含有实例补丁的对象(例如,人脸模型)的资料库。在这 种方法中,实践中使用数据组并不保证对象的存在足够类似于对准确重建的查询。
[0030] 然而,许多现用的3D图像生成方法使用的图像校正流程在个体的人脸渲染为3D人 脸模型时使其失真。图像校正大体上包含检测和匹配一对2D图像之间的一组对应点。通过 这种方法,校正图像向左偏斜并且失真。在其它方法中,需要手动修改和纠正以消除由图像 fe正引起的失真。
[0031] 因此,本发明的系统和方法可以提供用于由两个2D图像(例如,由单一相机拍摄) 自动产生3D人脸模型改进的方法和配置。在一些配置中,反向矩阵可以用于通过极少的用 户交互自动纠正图像失真。在一些配置中,旋转、倾斜和缩放可以纠正图像失真。下文更详 细地解释用于3D人脸生成和产生3D人脸模型的系统和方法。
[0032]图1是说明用于产生3D人脸模型的组件的方法100的框图。可以在硬件或软件中实 施每一组件。举例来说,图1可以实施于电子装置(未图示)上。电子装置的实例包含膝上型 或桌上型计算机、蜂窝式电话、智能电话、无线装置、电子书阅读器、平板装置、游戏系统等。 这些装置中的一些可以根据一或多个行业标准操作。
[0033] 图1中的组件包含图像接收器102、特征检测器/匹配器104、基本矩阵估计器106、 单应矩阵分解器108、图像校正器(rectifierHlO/深度估计器112和3D人脸建模器114。图1 还说明单应矩阵换向器116、反向深度图计算器118、反向深度图正规化器120和对称特征检 测器122。所述组件可以在单一装置上实施或可以在多个装置上实施。下文将更详细地论述 这些组件中的每一者。
[0034] 图像接收器102可以接收个体人脸的一组两个图像(例如,原始数据)。两个图像可 以是相对于人脸的不同角度。换句话说,图像可以是这样:两个图像中的像素垂直上和水平 不同。在一个配置中,图像接收器102可以是拍摄两个图片的单一相机。第一图片和第二图 片可以在同一水平位置处拍摄,但是相机可以向左或右稍微移动或沿水平轴旋转,从而产 生稍微不同的图像。
[0035] 在另一配置中,图像接收器102可以是从外部装置接收图像输入的模块。举例来 说,图像接收器102可以在电子装置上实施并且接收由相机电话或平板装置拍摄的图像。在 一些配置中,图像接收器102可以定位在捕获图像组的同一电子装置上。
[0036] 特征检测器/匹配器104可以使第一图像的像素与第二图像的对应像素相关。举例 来说,特征检测器/匹配器104可以检测两个图像中的每一者中的脸部特征(例如,眼睛、鼻 子、嘴巴等)并且将来自第一图像中的一个特征的像素与第二图像中的同一特征的对应像 素匹配。
[0037] 基本矩阵估计器106可以生成基本矩阵(H)。基本矩阵可以是涉及立体图像(例如, 两个图像组)中的对应点的3X3矩阵。可以基于两个图像之间的多个匹配特征、点或像素而 估计基本矩阵。大体而言,可以基于至少七个对应点而估计基本矩阵,然而,可以在估计基 本矩阵时采用更多或更少的对应点。
[0038] 在一些配置中,矩阵估计器可以由其中像素垂直对准并且水平不同的两个图像生 成另一类型的矩阵。换句话说,可以使用除基本矩阵以外的由两个立体图像生成的另一类 型的矩阵。
[0039] 单应矩阵分解器108可以从基本矩阵分解一或多个单应(即,投影变换)矩阵,例如 3x3单应矩阵。单应矩阵可以提供两个图像之间的相机的旋转和平移信息。可以从基本矩阵 分解一对单应矩阵,例如第一单应矩阵〇\)和第二单应矩阵(P R)。第一单应矩阵可以对应于 第一图像,并且第二单应矩阵可以对应于第二图像。
[0040] 图像校正器110可以通过将两个图像投影到共同图像平面上而校正所述两个图 像。举例来说,图像校正器110可以将第一单应矩阵施加到第一图像并且将第二单应矩阵施 加到第二图像。图像校正器110可以产生校正图像(例如,第一校正图像和第二校正图像)。 在一些配置中,图像校正器110以使得对应点具有相同行座标的方式将立体图像投影到平 行于光学中心之间的线的共同图像平面上。以这种方式,与2D立体对应性相关联的问题减 少成一维(1D)问题。
[0041] 深度估计器112可以确定深度图。深度图可以是图像或图像通道,其包含关于场景 对象的表面与视点(例如,相机)的距离的信息。深度图可以提供指示两个校正图像之间的 深度差的深度值。深度估计器112可以由一组两个