【蜂口

编程入门 行业动态 更新时间:2024-10-20 07:44:39

【<a href=https://www.elefans.com/category/jswz/34/1325325.html style=蜂口"/>

【蜂口

本次我们的分享是三维人脸重建问题, 我们将从以下几个方面给大家进行分享:

首先,我们对三维人脸重建做一个通用的介绍,并 对它的常见的方进行 比较详细的介绍。

其次,我们对当前的三维人脸重建中最常用的一个模型, 也就是3D M M模型给大家做个非常详细的介绍。 在我们的传统方法和深度学习的方法中, 都非常频繁地使用到了这个模型。

然后,我们会对三维人脸重建中面临的一些难点进行阐述。 主要包括 3D数据的获取以及模型精度的问题。

最后,我们将对三维人脸重建的应用进行展示, 主要包括在表情驱动及人脸识别这两个方面。

下面开始正式的分享内容。

什么是三维人脸重建问题呢?我们看下面这张图:

这是一张二维的输入图片。 当我们基于这样一张二维输入图片, 得到了下边这样的一个三维的模型, 也就是从 2D 的图片到3D的模型的转变, 这就是一个所谓的三维人脸重建问题。

三维人脸重建问题,它实现了什么目标 呢 ?

首先,它增加了维度。 2D 图像只包含二维的XY信息,而 3D的人脸模型,它增加了一个深度的信息。 实际上,通常使用 XYZRGB等多维的向量来表示三维人脸的体像素。 当包含了更复杂的光照模型之后, 这个多维向量不仅仅包含XY Z RGB可能还包含很多其他的一些细数。

其次, 三维人脸图像相对于二维人脸图像 有一个好处, 就是三维人脸图像可以进行任意方向的投影, 它投影可以得到任意角度的二维图片, 得到这样的二维图片之后, 它可以用于非常方便地解决二维图像 难以解决的大姿态的人脸识别与关键点定位等问题。

那常见的三维人脸重建的方法主要包含三四个:

1) 手工建模 ,也是最传统的方法。 许多学过美工的同学应该知道, 3D MAX   Maya 软件就是用于大型的3D模型的建模, 它常用在电影和动漫的制作里面。 比如说这下面这个图是咕噜咕噜, 是《魔戒》里面的一个形象。

我们当年在看《魔戒》这样一个大场景制作的电影的时候是感觉到非常震撼的。 因为在当年C G 技术还没有这么发达, 大家平常只接触到二维 2D 的电影的时候,《 魔戒》的出现给我们带来了非常大的视觉冲击, 它就是利用玛雅来进行咕噜咕噜等一些里 面 大型场景的制作。

上面这张图是我最喜欢的一部国产动漫《秦时明月》, 它也是利用三维的手工建模的方法 来对其中的每一个人物形象基于 3D的建模, 然后进行渲染。

手工建模的技术 广泛应用于电影动漫行业, 它的特点就是必须要专业人员来操作, 所以它的精度非常高,但是它的成本也非常高。

2) 基于仪器的技术 , 主要包括结构光和激光扫描仪。说到这里, 大家可能应该就想到了接下来我要说的是什么: iPhone X。

这就是iPhone X 的结构光的技术。 iPhone X是 市面上第一款实现3D人脸识别的产品, 它利用的就是结构光的技术来进行三维人脸的重建。 有了iPhone X 的三维人脸重建之后, 它可以用于三维人脸的识别,以及做一些 3D表情的动画。

这门技术它是主动三维测量技术, 它就是使用一些消费级的 3D传感器, 它的成本虽然低,但是入门的门槛非常高。

现在国际上拥有这样一个批量生产 有 能力的企业屈指可数, 国外就包括苹果微软,以及英特尔。 国内包含了一个创业公司叫做奥比 中光 , 他已经成功地实现了手机 3D摄像头模组的量化量产。

所以在可见的一两年之内, 我们应该能看到安卓手机上也开始大量地使用 3D人脸识别技术。

3) 基于图像的技术 。 基于图像的技术 所使用的方法非常多:

   a)最开始使用的是 立体视觉 的技术。 立 体视觉适用于模仿人眼的方案。 因为人眼包括左右眼 , 左右眼,通过观察 2D 图像的 视差 , 从而能够感受到 3D的一个深度。

   b) Structure from motion 方法 。 Structure from motion 是基于视频来进行 3D 的重建, 所以它是利用光 流 等方法来估计相机的一个运动。

   c) Structure from shape 。它是一个基于反射光照模型的方法, 它可以基于多张图或者单张图来进行三维的重建。

   d) 3D M M 模型 。 3D M M 模型是一个比较低维的3D模型。 我们后面会给大家做详细的介绍。

   最后还包含一些其他的方法。

总之基于图像的方法, 它的特点就是它的成本非常低, 精度也是最低的, 但是因为它是现在最灵活的一个方案, 也是在学术界被研究最广泛的方案。

下面我们给大家介绍着重介绍一下 3D MM模型 ,是一个 在三维人脸重建领域里面非常著名的模型。

这个模型基于这样一个思想: 它将任何一张脸表示为一些平均 脸 的信息叠加, 他利用 199个人建立了一组标准的正交基, 每一个标准的正交基就是一个 3D的模型, 它包含了 5万多个点。 正交基它分两种: 形状 正交基 和纹理正 交基 。

上面是我们的形状正 交基 , 可以看到形状正 交基 , 它表征的就是形状, 我们可以通过形状的系数来控制脸型。

上面这是纹理 正交基 , 它表征的就是图像的纹理颜色, 我们可以利用这样一个纹理 系 数 来 进行不同的颜色的渲染。

有了这两个标准的 正交基 之后, 我们就可以把 3D的人脸模型拆分为形状和纹理, 分别是平均形状加上正交基的一些组合, 以及平均纹理加上纹理正交基 的组合 。

关于更具体的信息,大家可以去下面这个网站去获取:

.php?nav=1-1-0&id=details

那么3D M M 模型, 它要解决的核心问题就是如何恢复出我们这里的形状系数和纹理 系 数。

上面这幅图是一个比较早期的方案。 这个方案的特点就是:首先我们建立了一个 3D的数据库, 就是我们前面所说的 199个人建立的一个标准的数据集; 然后我们输进了一种二维图像;再利用人脸检测、 关键 点 检测获得它的一些关键点; 获得 68个关键点之后, 因为这些关键点在三维的模型中也有它对应的关键点, 所以我们可以从三维往二维图像进行投影; 然后计算这个投影与我们获取到的二维关键点的一个误差, 用最小二乘误差来求它的投影误差, 从而优化我们前面的形状系数和纹理 系 数。

关于如何迭代的求取形状系数和纹理系数, 大家可以去这样一篇文章中进行详细的解读:

Blanz V, Vetter T. A morphable model for the synthesis of 3D faces[C]//Proceedings of the 26th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1999: 187-194.

前面我们说的是用传统方法来解决这样一个系数问题, 它是一个基于优化的方法,他可以获得解析解。

现在我们也可以利用深度学习的方法来直接回归这样的一个系数。 上面这张图阐释的是一个深度学习的方案, 这个 深度 学的方案不仅是基于一张图,而是 基于多张图。 基于这些图,每张图都首先重建一个3D  M M模型, 然后我们获得3D  M M模型系数的一个平均值,获得平均值之后, 我们再与它的增值去进行误差的比对,然后再进行反向的传播。

基于深度学习的方案的好处就是直接利用深度学习模型,回归出了相应的系数。 在我们使用模型的时候非常方便,不需要去求解复杂的方程。

关于更多的细节,大家可以去相应的文章中进行读取。

三维人脸重建是一个比较困难的问题, 它有以下几个难点:

首先, 3D MM等模型维度太低导致图像细节难以恢复 。我们前面说的3D  M M模型是一个利用199个人脸,即 199个3D模型构成了一个空间 ,每一个模型都只包含了5万多个点。 实际上这 5万多个点仍然是一个比较低维的表示。 对于一个三维人脸来说,它的模型仍然非常低, 我们在求解系数的时候也会用到 PCA 降维等方法, 所以它天然就有一个缺陷,就是它的图像细节是难以恢复的, 它难以恢复人脸中的细节,包括皱纹啊胡子等等。 所以现在基于深度学习的最新的方案,已经开始放弃这样一个低 维 模型。

其次, 数据标注成本特别高。 因为如果我们要标注这样一个三维人脸, 我们必须使用到 昂贵 的器械, 包括一些激光扫描仪、结构光等等, 这个数据标注成本比二维图像的数据标注成本要高很多。 所以替代的方案是全世界尝试用一些仿真的数据, 或者使用 inverse rendering 这种不需要标注数据的方案。

最后, 3D人脸重建也容易受到干扰 。这些干扰主要来自于遮挡和光照等等。

下面展示了一个比较有希望的方案。 这个方案不需要标注数据,它也是个 inverse rendering方法 。

我们可以看到,首先利用深度学习, 利用一个 DEEP Encode 来回归出它的系数,

然后我们基于前面的模型 回归出一个三维的模型。 得到 三维 模型之后,我们再往二维空间进行投影, 最后在二维空间计算出像素的l oss 。 这是一个不需要使用昂贵的标注数据的方案。

最后我们对三 维 人 脸 重建的应用做一个简单的展示, 主要包含在两个方面:

首先,大 姿态 的人脸识别和关键 点 的检测。 因为三维人脸重建中,当我们重建出它的模型之后, 我们可以对这个三维人脸模型进行旋转等等操作, 从而可以得到二维图像中被遮挡的一些区域。 所以对于大姿态的人脸识别和关键点检测, 三维人脸模型是有它的优势的。

其次,卡通画和表情驱动。 这个我们从iPhone X 的卡通表情,就可以看出来它是一个应用的场景。 下面我们用动画来进行一个展示。 可以看到iPhone X 的一个表情的驱动是非常非常真实的。

下面这是一个大姿态的人脸关键点检测问题的展示。 因为目前大致的人的关键点以及有遮挡的人脸关键点, 仍然是困扰二维图像的一个非常大的课题。

我们往后期待三维人脸重建问题 能够缓解甚至解决这样的一个问题。

免费领取技术大咖分享课,加蜂口V信: fengkou-IT        
感谢您的阅读,更多精彩请持续关注蜂口微信小程序!

来自 “ ITPUB博客 ” ,链接:/,如需转载,请注明出处,否则将追究法律责任。

转载于:/

更多推荐

【蜂口

本文发布于:2023-06-29 10:47:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/943687.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:蜂口

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!