IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 实习报告1——人脸三维重建方法 -> 正文阅读

[人工智能]实习报告1——人脸三维重建方法

人脸三维重建的主要问题

1.细节重建
2.纹理重建
3.纹理和形状的联合重建

目前由于单张图片缺少有效信息,很难通过单张图片重建图片的细节信息,需要配合先验算法或者神经网络对图片进行进一步处理。
且,在隐私保护意思日益增强的今天,RGBD图片数据的缺少也对机器学习的训练产生的阻碍。

通过论文学习,发现了一个模型,DF2NET,能够使用单张图片对人脸数据进行重建。

对细节的重建

在对细节的重建中,现有方案最常用的是3DMM模型,但是3DMM模型需要采用几百维的数据来表示几万个顶点的数据,会导致数据在重建过程中很难对细节进行无损的处理,在2D到3D的转换中会失真,并且需要很大的计算开销,在初始化的时候需要进行数据的对齐,也是一个耗时的过程。
但是3DMM能够根据任意一张二维图像来预测一个三维的图形,这是其优势,只是单纯依靠3DMM无法处理人脸的细节,需要配合其他模型使用。

还有SfS模型,通过光线的变换让图像的明暗细节产生变换,从而分析图像的形状,但是该模型会导致图像在明暗变换时只能判断形状,而很难去判断图像的凹凸性质,导致重建时需要使用其他技术进行还原,例如获取图像深度并在UV空间进行还原,如下图例子所示,SfS就没有很好的办法来分析凹凸性。
在这里插入图片描述

对纹理的重建

在对纹理的重建中,主要使用了

  • 基于模型的方法
  • 基于图像的方法

基于模型的方法效率比较低,3DMM模型就是使用的基于模型的方法,在他使用单张图片像3维图像进行变换时,受限于线性子空间,会产生纹理细节的丢失,而通过计算学习算法恢复的纹理会使其失去真实性,而且需要考虑形状、反射率、图片的照明参数,需要对参数进行进一步的设置。

基于图像的方式能够捕获任意图像的纹理,无需考虑图像的形状、反射率图片和照明参数,但是可能会受限于图像的清晰度导致纹理没有很好的办法进行复原。

基于图像的方法的复原步骤:

  1. 获得人脸的多个角度的图像和特征点
  2. 使用曲线标记人脸特征
  3. 产生三维模版人脸
  4. 通过给定的特征点在UV空间对人脸进行拟合

在这里插入图片描述
上图中,a给出了图像的多个角度和特征点,B标记了人脸的特征,C给出了3维的人脸模型,D给出了在特征点数量为13的时候的三维人脸重建的模型拟合情况,E给出了特征点数量在119时的三维人脸重建的模型的拟合情况。

基于纹理形状的人脸重建

这里首先介绍DF2NET方法,该方法模型图如下:
在这里插入图片描述
他使用了D-Net、F-Net、Fr-Net三个网络进行叠加对单个图像进行处理。

1.D-Net:通过2D图片获得深度图
2.F-Net:输入2D图像和深度图,输出精炼过的深度图(恢复高频细节)
3.Fr-Net:从不同清晰度的图像中恢复细节。(给阴影加权重)

github链接为:https://github.com/xiaoxingzeng/DF2Net

由于macos 不支持cuda,因此需要对torch模块中所有的cuda函数修改为cpu进行处理,当然也可以尝试使用mac os中支持的mps进行处理。

通过运行demo程序,并对代码中的img_list进行修改(代码中的这个是错的,文件不全,需要进行修改),能够得到一个tensor格式的数据输出。请添加图片描述
并在img目录下获得生成的图片。

但是目前由于技术能力有限,没有得到3维的生成图像。

这里对图像进行了测试:
输入图像:
在这里插入图片描述
输出图像:
在这里插入图片描述

图像裁剪:
在这里插入图片描述

目前的分析得到的是demo程序仅支持对人脸进行识别和裁剪。
但是仔细看输出图像,感觉输出图的分辨率被进行了压缩,损失了一部分像素,得到的图像效果不是很好,猜测三维重建的人脸信息也不会很理想。

论文中给出的方案是针对图像的深度图进行还原,并经过D-Net和Fr-Net进行进一步细致化的处理。
在这里插入图片描述
但是测试效果的问题可能是图像的分辨率较低导致的,可以考虑配合超分辨率方案针对人脸进行细节的恢复。

接下来测试了Facial_Details_Synthesis-master项目。
这是从单一输入图像合成面部细节的代码库。

github链接:https://github.com/apchenstu/Facial_Details_Synthesis/tree/def9bfe044790d771d15dc4a62bb47b78d7d6153

这个存储库由 5 个独立的部分组成:DFDN、emotionNet、landmarkDetector、proxyEstimator和faceRender。
在这里插入图片描述
该方法采用了对抗网络的方式来恢复面部的细节。
该方法考虑到了法线、光照、阴影、反照率、情绪、表情、姿势、面部纹理,并对人脸的面部表情进行了先验处理,通过表情库判断用户情绪来重建人脸细节。
如果在重建过程中出现了损失,则通过训练的方法来恢复面部细节。

这里是用的模型是BFM模型,模型的链接:https://faces.dmi.unibas.ch/bfm/bfm2017.html

目前该方法的测试在eos-py模块的安装中出现了一些问题,暂时没有解决,初步怀疑是Cmake和visual stdio没有进行绑定,导致eos-py 0.16.1版本的模块无法进行安装。正在尝试对代码进行测试和修复。请添加图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:32:47  更:2022-07-21 21:35:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:28:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码