一张倾斜图片进行矫正 c++_人脸三维重建与表观建模(三)用一张人脸图片进行三维人脸重建...

918ed491e75dedadbeb152f25832083a.png

下面介绍如何通过输入一张人脸图片建立三维人脸重建。输入一张人脸图片建立三维人脸重建的方法很简单,方法叫做analysis by synthesis(分析合成方法),用一个简单的例子解释下原理,小时候遇到了一道不会做的数学题,但是你可以去猜答案,如果把猜测的答案带入题目的条件中 ,发现某一个答案是符合已知条件的,那可以判断猜测的答案是对的。这也是在很多解决计算机视觉问题中用到的方法,就是基于优化的解决思路,我们可以迭代的优化一个未知数,每次用loss去检验猜测的答案离正确答案有多远, loss越低说明才猜测越准确。

回到三维重建上,如果目标是恢复人脸的几何形状,以及人脸的皮肤颜色等信息,我们能利用的信息有两点:

第一人脸几何结构在人脸的位置,如特殊的结构嘴,鼻等特征点的位置。

第二是人脸的明暗关系。

d3a0902fa5cb4329fcd7aeac0afef685.png

人可以在素描上清晰的看到人体几何结构,是因为画素描的时候会进行明暗的处理。需要重构的的图片也有明暗的变化,分析明暗的变化,一样可以得到物体的几何结构。这两个约束是做人脸重建的用到最多的两个约束。 在做三维人脸重建的时候,需要确定两个问题, 第一步是确定几何结构用什么方式表达(geometry representation) 一般常用的几何结构表达有三种:

  • point cloud点云
点云形式常用在深度传感器扫描的数据,它每一个像素会恢复到对应的一个三维点,
问题是它不具备直接的几何意义,如果不进行处理,这种点云很难在下一步更高级别
的应用中很难直接使用。
  • depth map/normal map(深度图/法线图)
在计算机视觉中,希望对输入的图像的一些位置,如人脸位置,的每一个像素都恢复
一个反向值nomal 或者 depth值,这样也算是完成了一个三维重建。
  • parametric model参数模型
参数模型是应用最广的,虽然人脸各不相同,但是人脸的几何机构是类似的,这奠定
了一个基础,可以用参数化的表达,用很少的参数来表达一个复杂的人脸。

以上是第一步是确定人脸几何机构的表示形式。

第二步构建2d到3d的映射关系

因为是从一张图像上推断出三维几何机构,这是一个2d到3d的过程,为了完成这个过程,必须要构建一个2d到3d的映射关系,俗称映射矩阵。投影的方式有三种:

  • orthographic projection
正交投影(Orthographic Projection) 正交投影矩阵定义一个立方体的平截头箱,
在这个立方体之外的顶点都会被裁剪掉。 正交投影矩阵直接将坐标映射到2D平面上。
正交投影没有近大远小的概念。
  • weakly perspective projection
弱透视投影(weakly perspective projection)是介于正交投影和透视投影之间的一个权衡。
  • perspective projection
透视投影(Perspective Projection)是3D固定流水线的重要组成部分,是将相机空间中的点
从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视
除法的行为。 与正交投影相反,日常生活中观察事物,有近大远小的概念。

人脸三维几何结构采用最多的表达形式是参数化的形式,这种表达形式叫做3d morphable model三维形变模型,这种模型在2009年提出,它提出来是为了解决在不同光照下人脸识别,到现在它基本上已经成为做人脸识别都会用的模型。

这个模型的原理是一个人的几何结构取决于两个因素:

第一个因素是人脸本身的样子,如人脸胖瘦,眼睛大小,嘴巴高低等。

第二个因素是人在当时做出的表情,如是不是在闭眼,噘嘴等。

有个思路是采集很多的人脸三维模型,通过pca的方式降维,就可以得到3dmm(3d morphable model)模型。 3ddmm包含两个部分,一部分是对人体几何结构的表述,它从人体平均几何结构开始,做pca的过程中提取两个特征,这两个维度的特征向量是:

一个是表示长相的特征向量

一个是描述表情的特征向量。

7b3198065d12e0fde8023a24049c3c50.png

αid和αexp就是想恢复出来的可以表征一个人的长相向量的特征权重。类似可以对人的肤色也可以做一个表达,从一个平均数的开始,控制不同维度的变化,就可以得到不同肤色的人,白种人,黑种人等,可以模拟肤色的变化,这是现在应用非常广泛的人脸几何机构,纹理的表达模型。

参看前文:

飘哥:人脸三维重建与表观建模(一)什么是三维人脸重建​zhuanlan.zhihu.com
飘哥:人脸三维重建与表观建模(二)工业领域的三维人脸重建​zhuanlan.zhihu.com
aef6c61f28d4838afabaca1ebd8e4c25.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值