zoukankan      html  css  js  c++  java
  • their MVF-Net: Multi-View 3D Face Morphable Model Regression(2019 CVPR)

    本文链接:https://blog.csdn.net/qq_35045096/article/details/94409625
                       
                   
                       
                   
                                                       
                
                
               
                                           
                       
                       
                                                1.解决的问题
    从一组多视角的人脸图像集中恢复三维人脸几何。本文以一组多视图人脸图像作为输入,研究了基于3DMM的形状恢复法。
    2.采用的方法
    采用端到端的可训练的卷积神经网络(CNN)从多视图输入中回归3DMM参数。多视图几何约束通过利用一种新的自监督视图对齐损失,在不同视图之间建立密集的对应关系,被纳入到网络中。视图对齐损失的主要组成部分是一个可微的密集光流估计器,它可以在输入视图和异步呈现之间反向传播对齐错误。通过最小化视图对齐损失,可以恢复更好的三维形状,从而使从一个视图到另一个视图的合成投影能够更好地与观察到的图像对齐。
    3.采用的模型
    3.1概述
    采用一个端到端的可训练的CNN来从同一个人不同角度的多张人脸图片中回归出3DMM参数。为了建立像传统多视图三维重建方法那样的多试图几何约束,目前我们假设人脸图像是在相同的光照条件下同时拍摄的。但是本文的方法能够处理光照的变化情况。为了简化,我们采取三维视图设置来描述我们的方法。值得注意的是,本模型同样适合于其他数量的输入视图。
    我们通过一个共享权重的CNN从每一张输入图片学习特征,然后将这些特征连接起来来回归一组3DMM参数。不同的是,我们根据它的独立的特征来回归出每一个输入视图的姿态参数。根据姿态参数和3DMM参数,我们能够从每张输入图像中渲染一个纹理3D面部模型。在三视图背景下,得到三个纹理3D人脸模型,它们具有三个相同的基本3D形状,但是纹理不同。在获取到不同视图下的渲染的3D人脸模型后,我们将它们从采样纹理的视图投影到不同的视图。例如,我们将从具有视图A中采样的纹理的3D模型投影到视图B中。然后,我们能够计算投影图像与目标视图上的输入图像之间的损失。值得注意的是,渲染层非参数但是可微分的,因此,梯度可以反向传播到可训练的层。
    3.2 模型
    3.2.1 人脸模型
    人脸模型采用3DMM,可以表示为
    3.2.2 可微分模型
    为了将3D模型投影到2D图像平面,我们应用弱透视投影模型。
    3.3 网络回归器
    输入:三视图Ia,Ib,Ic
    输出:1个3DMM参数+3个姿态参数
    3.4 纹理采样
    具有预测的3DMM参数,和已知的特征基和表情基,通过采用的人脸模型计算出对应的3D人脸模型。通过从每张输入图片中采样纹理,利用回归出的姿态参数得到三张不同的纹理图。对于3D模型的每一个顶点,我们应用上述可微分模型,将顶点投影到图像平面并使用微分采样机制从每个输入的顶点图像中提取纹理颜色。对于网格上三角形内的三维点,我们利用重心插值从周围的顶点获取纹理颜色。纹理采样机制不能处理遮挡情况,从每输入图片的遮挡区域采样的纹理是错误的。这里使用可视化面具来处理这个问题。
    3.5 渲染投影和可视化面具
    3.5.1 渲染投影
    纹理3D模型通过可微分渲染层被投影到任意视图来渲染成一张2D图像。比如,给定一个具有从图片Ia采样的纹理的3D模型,我们可以使用姿态参数Pb将它渲染到Ib的视图上,使用Iab来表示。一般来说,对于网格平面的任意一个3D点v,渲染图片的投影像素的颜色能够计算出来:
    对于目标平面的任意像素,上述等式可以表示为:
    理想情况下,具有最优的基础3D模型和姿态参数,观察的图片Ib在非遮挡区域应该和渲染图片一样。
    3.5.2 可视化面具
    我们需要不同的面具来增强渲染图像和观察图像的光度一致性。对于渲染后的图像,我们只是通过排除其他视图中可能被遮挡的区域来提取一个可见掩模(面具),使用的是与2D人脸地标对应的3D顶点。对于观察到的真实图像,我们使用纹理采样区域来获取一个最初的掩模,然后在初始掩模上执行联合保边滤波。以输入的真实图像为导向,使掩模的边缘与输入图像的人脸区域很好地对齐。最后,使用2D检测地标排除其他视图中可能被遮挡地区域,类似于处理渲染图像的掩模。对于正面观察图像,当从左边和右边观察时得到两个不同的可视化掩模。
    渲染图片的可视化掩模:
    观察图像的掩模处理过程:
    3.6 损失和训练
    先在300W-LP数据集上使用监督的标签预训练CNN,在这个数据集中,真实场景3DMM和姿态参数通过卷积的3DMM拟合算法得到,多视图图片通过面部分析增强技术得到。然后再Multi-PIE数据集上执行自监督训练,在该数据集中,多视图图片是在室内受控的场景下获取的。
    3.6.1 监督训练

    中间两项损失是真实场景和预测值的L2损失。
    3.6.2 自监督训练
     

    4.实验
    输入图片集
    重建模型:
    ————————————————
    版权声明:本文为CSDN博主「qq_35045096」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_35045096/article/details/94409625
  • 相关阅读:
    【C++】几个简单课本例题
    【汇编】AX内容依次倒排序
    【汇编】课本第三章例题
    【汇编】补码的理解+标志寄存器的相关探索
    【记录】台式机的组装
    【记录】.bin文件 到 .vdi文件的转换教程
    【汇编】1.汇编环境的搭建:DOSBox的安装
    docker的常用命令,以及postgressql的启动
    Docker中容器的备份、恢复和迁移
    C# 常见面试问题汇总
  • 原文地址:https://www.cnblogs.com/skydaddy/p/11935002.html
Copyright © 2011-2022 走看看