论文笔记:3DMM(ACM1999)
论文:《A Morphable Model for the Synthesis of 3D Faces》
文章目录
- 选择动机
- 数据集
- Morphable 3D Face Model
- 模型建立及基本思想
- 分区变形模型
- 人脸属性
- 模型与图片的匹配
- 单图像
- 多图像
- 结果展示
- 总结
选择动机
在接到这个课题的时候,先去看了相关硕博论文里的研究现状部分,发现这一篇论文的方法会被多次提及,所以选择这篇论文作为这一课题的第一篇文献。(目前读了十几篇相关文献,最近在回顾总结,所以CSDN上的文献顺序和我的阅读顺序不一致)
- 做什么?——基于单张(或多张)人脸图像进行人脸的三维重建
- 这篇论文的目标:modeling textured 3D faces 带纹理的三维人脸建模
- 怎么做?(如下图)分为两个部分
- 基于3D人脸扫描数据集建立变形模型
- 输入一张2D人脸图像,结合变形模型进行人脸的三维重建。通过调整相关形状和纹理参数进行属性编辑应用。
数据集
使用激光扫描仪对200个人(100男,100女)的头部进行扫描。扫描结果以**柱坐标(cylindrical)**进行表示。除此之外,所有的人脸没有化妆,没有饰品,不带头发,无表情。
Morphable 3D Face Model
模型建立及基本思想
假设数据集中所有人脸均对齐(使用光流法optic flow进行对齐)。
使用nnn个顶点的三维坐标对三维人脸的形状进行表示:S=(X1,Y1,Z1,X2,...,Yn,Zn)T∈R3nS={(X_1,Y_1,Z_1,X_2,...,Y_n,Z_n)}^T \in R^{3n}S=(X1,Y1,Z1,X2,...,Yn,Zn)T∈R3n,
使用nnn个顶点处的RGB值对三维人脸的纹理进行表示:T=(R1,G1,B1,R2,...,Gn,Bn)T∈R3nT={(R_1,G_1,B_1,R_2,...,G_n,B_n)}^T \in R^{3n}T=(R1,G1,B1,R2,...,Gn,Bn)T∈R3n。
那么,基于mmm个人脸样例构建3DMM,且每一个人脸样例均由形状向量SiS_iSi和纹理向量TiT_iTi表示。新的人脸形状SmodelS_{model}Smodel和纹理TmodelT_{model}Tmodel可基于mmm个样例线性表示为:Smodel=∑i=1maiSi,Tmodel=∑i=1mbiTi,∑i=1mai=∑i=1mbi=1S_{model}=\sum_{i=1}^m a_i S_i,\quad T_{model}=\sum_{i=1}^m b_i T_i,\quad \sum_{i=1}^m a_i = \sum_{i=1}^m b_i =1Smodel=i=1∑maiSi,Tmodel=i=1∑mbiTi,i=1∑mai=i=1∑mbi=1那么变形模型的定义:根据系数a⃗=(a1,a2,...,am)T\vec a={(a_1,a_2,...,a_m)}^Ta=(a1,a2,...,am)T和b⃗=(b1,b2,...,bm)T\vec b={(b_1,b_2,...,b_m)}^Tb=(b1,b2,...,bm)T产生的一系列人脸(Smodel(a⃗),Tmodel(b⃗))(S_{model}(\vec a),T_{model}(\vec b))(Smodel(a),Tmodel(b))。不同的系数a⃗\vec aa和b⃗\vec bb会产生不同的形状和纹理。
为了保证产生的结果是一张可信的人脸,需要基于样例人脸集估计参数的概率分布。
具体做法是将多元高斯分布(multivariate normal distribution)拟合到包含200个人脸扫描结果的数据集上。其中,形状均值为Sˉ\bar SSˉ,纹理均值为Tˉ\bar TTˉ,形状协方差为CSC_SCS,纹理协方差为CTC_TCT。协方差矩阵基于ΔS\Delta SΔS和ΔT\Delta TΔT进行计算,且有ΔSi=Si−Sˉ\Delta S_i =S_i-\bar SΔSi=Si−Sˉ和ΔTi=Ti−Tˉ\Delta T_i =T_i-\bar TΔTi=Ti−Tˉ。
引入PCA(Principal Component Analysis,主成分分析)思想,基于协方差矩阵计算得到特征值σ2\sigma^2σ2和特征向量s,ts,ts,t。根据特征值降序选择m−1m-1m−1个特征向量,基于平均形状或纹理,对新的人脸形状或纹理进行表示。Smodel=Sˉ+∑i=1m−1αisi,Tmodel=Tˉ+∑i=1m−1βitiS_{model}=\bar S+\sum_{i=1}^{m-1} \alpha_i s_i,\quad T_{model}=\bar T+\sum_{i=1}^{m-1} \beta_i t_iSmodel=Sˉ+i=1∑m−1αisi,Tmodel=Tˉ+i=1∑m−1βiti系数α⃗,β⃗\vec {\alpha},\vec{\beta}α,β的概率分布为:p(α⃗)∼exp[−12∑i=1m−1(αi/σs,i)2],p(β⃗)∼exp[−12∑i=1m−1(βi/σt,i)2]p(\vec{\alpha})\sim exp[-\frac{1}{2} \sum_{i=1}^{m-1}{(\alpha_i / \sigma_{s,i})}^2],\quad p(\vec{\beta})\sim exp[-\frac{1}{2} \sum_{i=1}^{m-1}{(\beta_i / \sigma_{t,i})}^2]p(α)∼exp[−21i=1∑m−1(αi/σs,i)2],p(β)∼exp[−21i=1∑m−1(βi/σt,i)2]
分区变形模型
将人脸分成4个独立的子区域进行变形操作:眼睛、鼻子、嘴巴、剩下区域。分别进行变形操作,再整合到一起。
人脸属性
变形模型的系数与人脸属性之间不是明确的对应关系。加入手动标记的人脸属性μi\mu_iμi,并映射到变形模型的参数空间。ΔS=∑i=1mμi(Si−Sˉ),ΔT=∑i=1mμi(Ti−Tˉ)\Delta S=\sum_{i=1}^m \mu_i (S_i - \bar S),\quad \Delta T=\sum_{i=1}^m \mu_i (T_i - \bar T)ΔS=i=1∑mμi(Si−Sˉ),ΔT=i=1∑mμi(Ti−Tˉ)继而去影响后续协方差矩阵、特征值、特征向量的计算。
模型与图片的匹配
单图像
上图展示的是模型与单张人脸图像的匹配过程。采用分析合成(analysis-by-synthesis)的思想,先基于目前的模型参数对人脸进行初步的三维重建,映射到二维图像,与输入图像进行对比,基于残差信息更新参数,使得产生的二维图像与输入图像尽可能相似。基于最终的结果可以对人脸进行一些属性编辑的操作。
在世界坐标与图像坐标之间进行投影计算时,引入渲染参数ρ⃗\vec \rhoρ,包含相机位姿、缩放因子、旋转矩阵、平移向量、光照因素等。
基于参数(α⃗,β⃗,ρ⃗)(\vec \alpha,\vec \beta,\vec \rho)(α,β,ρ),模型最终得到的2D图像可以表示为Imodel(x,y)=(Ir,mod(x,y),Ig,mod(x,y),Ib,mod(x,y))TI_{model}(x,y)={(I_{r,mod}(x,y),I_{g,mod}(x,y),I_{b,mod}(x,y))}^TImodel(x,y)=(Ir,mod(x,y),Ig,mod(x,y),Ib,mod(x,y))T。希望重建的2D图像与输入的2D人脸图像尽可能相似,通过计算二者之间的欧氏距离,并基于此更新重建过程中的参数。EI=∑x,y∥Iinput(x,y)−Imodel(x,y)∥2E_I=\sum_{x,y} {\lVert I_{input}(x,y) - I_{model}(x,y) \rVert}^2EI=x,y∑∥Iinput(x,y)−Imodel(x,y)∥2以贝叶斯决策论的思想来看,寻找一组参数(α⃗,β⃗,ρ⃗)(\vec \alpha,\vec \beta,\vec \rho)(α,β,ρ),使得后验概率p(Iinput∣(α⃗,β⃗,ρ⃗))p(I_{input}|(\vec \alpha,\vec \beta,\vec \rho))p(Iinput∣(α,β,ρ))越大越好。假设输入图像IinputI_{input}Iinput带有标准方差为σN\sigma_NσN的高斯噪声,则p(Iinput∣(α⃗,β⃗,ρ⃗))∼exp[−12σN2EI]p(I_{input}|(\vec \alpha,\vec \beta,\vec \rho))\sim exp[\frac{-1}{2{\sigma_N}^2}E_I]p(Iinput∣(α,β,ρ))∼exp[2σN2−1EI]。最大化后验概率等价于使下面的代价函数最小化。E=1σN2EI+∑j=1m−1αj2σS,j2+∑j=1m−1βj2σT,j2+∑j(ρj−ρˉj)2σρ,j2E=\frac{1}{\sigma_N^2}E_I+\sum_{j=1}^{m-1}\frac{\alpha_j^2}{\sigma_{S,j}^2}+\sum_{j=1}^{m-1}\frac{\beta_j^2}{\sigma_{T,j}^2}+\sum_j \frac{(\rho_j - \bar \rho_j)^2}{\sigma_{\rho,j}^2}E=σN21EI+j=1∑m−1σS,j2αj2+j=1∑m−1σT,j2βj2+j∑σρ,j2(ρj−ρˉj)2
参数更新方式αj→αj−λj∂E∂αj\alpha_j \rightarrow \alpha_j - \lambda_j \frac{\partial E}{\partial \alpha_j}αj→αj−λj∂αj∂E
多图像
输入的是同一个人的不同照片,共享相同的形状和纹理参数,不同的是渲染参数。EIE_IEI则替换为每一张输入图像与模型结果的欧氏距离的总和。
结果展示
上图展示的是变形模型与单张人脸图像进行匹配的结果。图1是输入的单张人脸图像,图2是3D形状,图4是带纹理的3D形状。图3、图5、图6、图7则是进行相关属性变化的结果。
总结
这篇论文是人脸三维重建任务中较为经典的一个解决方案,后续还有很多基于3DMM拓展的模型和数据集,使用也比较广泛。首先是引入PCA思想对三维人脸形状和纹理的线性表达和变形,其次是分析合成思想进行图像与模型的匹配以及参数更新。但这个模型的不足之处也显而易见:参数过多(不适用于实时性要求较高的任务),数据集的获取难度较大等。
论文笔记:3DMM(ACM1999)相关推荐
- ORB-SLAM3 论文笔记
ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...
- 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION
一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...
- 最新图神经网络论文笔记汇总(附pdf下载)
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 [导读]近年来,图神经网络变得非常火热,每年顶会在该领域内都会出现大量的研究论文,本文为大家提 ...
- [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)
Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning 2017-06-06 21: ...
- 光流 速度_[论文笔记] FlowNet 光流估计
[论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...
- 论文笔记 《Maxout Networks》 《Network In Network》
原文出处:http://zhangliliang.com/2014/09/22/paper-note-maxout-and-nin/ 论文笔记 <Maxout Networks> & ...
- 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization
论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts_U ...
- 论文笔记 A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forecasting
0 abstract 空间时间序列预测问题出现在广泛的应用中,如环境和交通问题.由于存在特定的空间.短期和长期模式,以及维度的诅咒,这些问题具有挑战性. 在本文中,我们提出了一个用于大规模空间时间序列 ...
- 论文笔记:Autoregressive Tensor Factorizationfor Spatio-temporal Predictions
0 摘要 张量因子tensor factorization分解方法在时空数据分析领域很受欢迎,因为它们能够处理多种类型的时空数据,处理缺失值,并提供计算效率高的参数估计程序. 然而,现有的张量因子分解 ...
最新文章
- 以太坊区块链同步_以太坊69:如何在10分钟内建立完全同步的区块链节点
- mysql 学习笔记(二)
- windwos-sshfs
- 产品经理是种病,我竟已晚期
- python mq_RabbitMQPython
- 椭圆极点极线性质_又见阿氏圆——适合作椭圆大题的小题
- ios公司开发者账号申请分享攻略
- Java中线程的生命周期-图解
- 研发管理系统选型必读
- Centos下更新php
- css3数字滚动特效
- 虚拟机安装教程win7_VMware15虚拟机软件安装教程
- R语言怎么写积分_2020年上海居住证积分申请表怎么填?个人履历该怎么写?—积分落户服务站...
- DEDECMS三级导航动态调用
- javaweb论文参考文献(2020年精选91个)
- Pr:图形与基本图形面板
- ☆【平衡二叉树】魔兽争霸
- html中两列合并,wps两列合并成一列(表格中怎么把两列内容合并)
- java opts tomcat,tomcat JAVA_OPTS配备
- C语言协程库async