基于可变形模板的三维人脸重建-学习笔记

原文地址:http://blog.csdn.net/hjimce/article/details/50331423

作者:hjimce

一、数据库处理:

我们通过扫瞄得到的数据,每个人脸模型的网格顶点个数各不相同,也就是拓扑结构不同,因此我们需要对我们的训练数据,做一个归一化处理。使得每个模型的顶点一一对应,拓扑结构相同,这一步采用的算法是,参数化的方法,进行网格重构划分。

1、首先采用柱面参数化的方法,把网格参数化到圆柱上,对应到二维平面。

2、然后在参数空间采用光流法进行稠密对齐,并对网格进行重新划分

3、采用重心坐标放射不变性的方法,进行网格重建。

这个算法流程,刚好跟我研究生的课题搞的算法,很类似。这样我们的数据库中的每个人脸模型的顶点、拓扑结构都是相同的,我们可以得到一个平均脸,包好了:

这个平均脸,将后续使用。

二、人脸重建主要公式

基于形变模型的人脸重建的主要思想,是利用数据库的人脸模型,作为基底向量,表示出任何一个人脸模型(我们即将重建的人脸的三维模型):

其中Savg、Tavg就是我们上面第一步求得的平均脸模型。Si表示人脸数据库样本i的形状向量、Ti则表示纹理向量,α、β是未知的系数。因此假设我们输入一张用户人脸,我们要重建其三维人脸模型,我们的目标就是要求解α、β,只要这两个系数知道了,我们就可以利用上面的公式,求解出其对应的三维模型了。当然上面的计算公式,我们后面将会使用PCA进行简化降维。

三、优化求解

上面我们说到我们的目标是求解未知的系数:α、β,说是这么说,说起来简单,做起来难,因此接着我们要讲解的α、β求解,也是paper算法的灵魂了。那么具体要怎么解呢?我们有如下已知条件:

1、用户输入的一张人脸图片

2、人脸数据库平均脸(包含了贴图)

3、人脸数据库

OK,没了,这就是我们目前所知道的已知条件了。那么到底是怎么从2D重建出3D?也就是怎么求解α、β?算法的总体思路是采用迭代优化的方法,先随机初始化α、β,然后我们可以得到3D的模型,然后我们把这个3D模型,投影到2D平面,得到一张新的人脸图片。然后采用这张人脸图片与用户输入的人脸图片构建损失函数:

使得用户输入的图片与我们投影到二维的图片,差值最小化。然后对上面的式子α、β进行求导,最后采用梯度下降法,更新参数α、β,如此一直循环迭代,直到收敛。因为我们从三维投影到二维的过程中,涉及到相机等相关的参数,这些参数也是未知数,所以统一用:ρ表示,然后梯度下降的过程中α、β、ρ这三个参数一起更新。

参考文献:

1、《A Morphable Model For The Synthesis Of 3D Faces》

**********************作者:hjimce   时间:2015.12.15  联系QQ:1393852684   地址:http://blog.csdn.net/hjimce   原创文章,版权所有,转载请保留本行信息(不允许删除)********************

图形处理(十三)基于可变形模板的三维人脸重建-学习笔记相关推荐

  1. 3D人脸重建--学习笔记

    本文旨在学习总结2D到3D人脸重建相关问题,个人水平有限,本人也是刚开始调研3D人脸重建,不足之处望大神指点改进. 文章目录 1 什么是3D人脸重建? 2 重建方法分类 3 通用模型3D人脸重建 4 ...

  2. 微软三维人脸重建论文总结——《Accurate 3D Face Reconstruction with Weakly-Supervised Learning》

    原作:https://arxiv.org/abs/1903.08527 研究机构:微软研究院 写在前面 想象一下,通过二维的人脸图片,生成高度还原的三维人脸模型.真是异想天开,可是人工智能要做的不就是 ...

  3. 「每周CV论文推荐」 初学深度学习单图三维人脸重建需要读的文章

    基于图像的人脸三维重建在人脸分析与娱乐领域里有巨大的应用场景,本文来介绍初学深度学习单张图像人脸三维重建必须要读的文章. 作者&编辑 | 言有三 1 3DMM与数据集 虽然这里推荐的是深度学习 ...

  4. 【每周CV论文推荐】 初学深度学习单张图像三维人脸重建需要读的文章

    欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 基于图像的人脸三维重建在人脸分析与娱乐领域里 ...

  5. VR来了,3D人脸重建跟上《三维人脸重建-3DMM》

    之前我们写过了<三维人脸重建入门>,接下来,自然就是入门之后的事情.当然了,不管是一个什么项目,方法永远不会是唯一的. 一 引言 To my best of knowledge,如之前所说 ...

  6. 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)

    本次我们的分享是三维人脸重建问题,我们将从以下几个方面给大家进行分享: 首先,我们对三维人脸重建做一个通用的介绍,并对它的常见的方进行比较详细的介绍. 其次,我们对当前的三维人脸重建中最常用的一个模型 ...

  7. 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)...

    本次我们的分享是三维人脸重建问题, 我们将从以下几个方面给大家进行分享: 首先,我们对三维人脸重建做一个通用的介绍,并 对它的常见的方进行 比较详细的介绍. 其次,我们对当前的三维人脸重建中最常用的一 ...

  8. 人脸论文解读系列——三维人脸重建(一)

    基于区域最佳匹配融合的三维人脸重建 <3D Face Reconstruction with Region Based Best Fit Blending Using Mobile Phone ...

  9. 《基于GPU加速的计算机视觉编程》学习笔记(2)

    <基于GPU加速的计算机视觉编程>学习笔记(2) 笔记(1)得到的结论 CUDA的开发环境 拥有Ubuntu16.04系统 linux下查看显卡信息 linux下安装CUDA工具包 一个基 ...

最新文章

  1. swd脱机烧录器及上位机源码_通用上位机框架HwLib.Automation(C#)
  2. linux分屏显示文件命令:more(less)
  3. 拦截器,过滤器,监听器原理
  4. 【重磅】ArcGIS 10.8手把手经典图文安装教程(附安装包全套装下载,亲测可用)
  5. aria2 配置教程
  6. 说说你印象中比较深刻的 Bug
  7. 计算机学院java男默女泪,最新网络用语学习笔记,看了后,男默女泪
  8. linux桌面只运行浏览器,分享|4 个 Linux 桌面上的轻量级图像浏览器
  9. 易基因|m5C RNA甲基化测序技术---从mRNA到全转录组(mRNA+lncRNA+tRNA)m5C单碱基分辨检测|技术解读
  10. linux 软件包kbd 位置,kbd-audio:通过麦克风来捕获和分析键盘输入的工具
  11. 整流电路 简答题与计算题
  12. win7电脑怎么提升开机速度?
  13. 一个游戏账号竟卖到7.5万元!
  14. Postgresql逻辑复制DDL插件pgl_ddl_deploy
  15. 毕业设计-基于微信小程序的点餐系统
  16. 咪咕代理php,【独家创业】新七星修改2开正咪咕影视7.2全版/支持自定义解析/支持PHP7.0及以上...
  17. android不支持USB怎么办,安卓手机usb不能用 手机找不到USB调试模式怎么解决?
  18. 2023 OPEN易支付系统开源源码
  19. 征服Excel VBA:让你工作效率倍增的239个实用技巧
  20. 每个孩子都是一朵独一无二的风信子(轉載,不知何處)

热门文章

  1. 海外投行抢滩大数据 人工智能等领域趋热
  2. java难点在哪里_java的难点在哪?
  3. Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
  4. RocketMQ-初体验RocketMQ(05)_RocketMQ架构解读
  5. 计算机应用办公软件实训报告,办公软件实习报告
  6. 微服务配置中心是干啥的_微服务入门到精通-分布式配置中心(续)
  7. Lock与synchronized 的区别
  8. MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
  9. idea打开项目慢怎么办?
  10. java防止表单二次提交_防止表单重复提交