hifi3dface核心功能揭秘:RGB与RGBD数据处理全流程解析

hifi3dface核心功能揭秘:RGB与RGBD数据处理全流程解析

【免费下载链接】hifi3dfaceCode and data for our paper "High-Fidelity 3D Digital Human Creation from RGB-D Selfies".项目地址: https://gitcode.com/gh_mirrors/hi/hifi3dface

hifi3dface是一个基于RGB-D自拍照创建高保真3D数字人头的开源项目,能够从普通消费者级别的RGB-D自拍相机获取的视频中,自动生成具有照片级真实感的3D数字人头模型。该项目通过先进的3DMM优化和纹理合成技术,仅需用户拍摄一段头部旋转的自拍视频,就能在30秒内完成高质量的头部重建。

项目核心功能概览

hifi3dface主要围绕3D数字人脸重建展开,核心功能包括数据预处理、3DMM优化、纹理合成三大模块。项目结构清晰,各模块分工明确:

  • 3DMM/:包含基于200个高保真东亚人脸模型构建的3D形变模型(Tencent AI-NEXT 3D Face Model),提供了丰富的人脸几何基础
  • data_prepare/:实现人脸检测、关键点检测和人脸分割等数据预处理功能
  • optimization/:提供基于3DMM的人脸几何建模优化代码,支持RGB和RGBD两种输入模式
  • texture/:负责面部反射率合成,生成高分辨率的反照率和法线贴图

图:hifi3dface优化流程架构图,展示了从输入数据到3D模型生成的完整技术路线

RGB与RGBD数据处理流程详解

1. 数据采集与预处理

hifi3dface支持两种数据输入方式:RGB-D视频和普通RGB图像。对于RGBD数据,推荐使用带有TrueDepth摄像头的iPhone配合项目提供的RGBD数据捕获代码进行采集,可获得1504×1128分辨率的彩色图像和640×480的深度图像。

图:RGBD数据示例,上排为彩色图像,下排为对应的深度图像

数据预处理模块(data_prepare/)通过以下步骤为后续建模做准备:

  • 使用MTCNN进行人脸检测(detect_face_with_mtcnn.py)
  • 检测2D和3D人脸关键点(detect_2D_landmark.py、detect_3D_landmark.py)
  • 进行人脸分割(face_segmentation.py)

2. 3DMM优化流程

3D形变模型(3DMM)是hifi3dface的核心技术之一,项目提供的AI-NEXT Face Model (EAs)具有比传统3DMM更大的表达能力,能够通过线性基恢复更准确的面部几何形状。

RGBD数据优化流程

RGBD数据包含颜色和深度信息,能实现更高精度的重建,优化步骤如下:

  1. 帧选择:从视频中选择高质量帧(optimization/rgbd/step1A_choose_frames.py)
  2. 稀疏融合:融合多视角RGBD数据(optimization/rgbd/step2_sparse_fusion.py)
  3. 形状预拟合:初步估计面部形状(optimization/rgbd/step3_prefit_shape.py)
  4. 反照率预拟合:估计全局反照率(optimization/rgbd/step4A_prefit_Albedo_Global.py)
  5. RGBD优化:基于可微渲染器进行精细优化(optimization/rgbd/step5_run_RGBD_opt.py)

运行RGBD优化的命令非常简单,只需配置参数后执行:

bash run_opt_rgbd.sh
RGB数据优化流程

对于没有深度信息的RGB数据,hifi3dface也提供支持,但重建精度会有所降低。RGB优化流程主要通过多视角图像的外观信息来估计3D形状,核心代码位于optimization/rgb/目录下,运行命令为:

bash run_opt_rgb.sh

图:RGB输入的3D人脸重建结果展示

3. 纹理合成技术

纹理合成是生成高逼真度3D人脸的关键步骤,hifi3dface采用参数拟合与CNN相结合的混合方法,能够合成具有真实头发、毛孔和皱纹细节的高分辨率反照率/法线贴图。

纹理合成流程包含以下步骤:

  1. UV展开:将3D网格展开到2D平面(texture/step0_unwrapper.py)
  2. 反照率和法线拟合:使用RPB方法拟合基础纹理(texture/step1_fit_AlbedoNormal_RPB.py)
  3. 细节增强:使用改进的pix2pix网络(texture/step2_pix2pix.py)增强纹理细节
  4. 纹理域转换:将纹理映射到目标域(texture/step3_convert_texture_domain.py)

图:高分辨率UV法线贴图,展示了面部细节的几何信息

图:高分辨率UV纹理贴图,包含丰富的面部肤色和细节信息

快速开始使用指南

环境准备

hifi3dface需要以下环境依赖:

  • Linux操作系统
  • Python 3.6
  • TensorFlow 1.8(也测试过TensorFlow 1.15)
  • g++ 4.8或更高版本

安装步骤

  1. 克隆仓库:
git clone https://gitcode.com/gh_mirrors/hi/hifi3dface cd hifi3dface
  1. 运行安装脚本:
bash install.sh
  1. 下载必要数据:
    • 3DMM模型(5.4GB):解压到./3DMM文件夹
    • resources.zip(2GB):解压到项目根目录
    • test_data.zip(80MB):解压到项目根目录

运行重建

根据输入数据类型选择相应的运行脚本:

  • RGBD数据:bash run_opt_rgbd.sh
  • RGB数据:bash run_opt_rgb.sh

渲染与应用

重建结果包含head.obj(网格文件)、albedo.png(反照率贴图)和normal.png(法线贴图),可在多种渲染引擎中使用:

  • Meshlab:直接打开obj文件进行简单预览
  • Three.js:通过simple-mesh-visualizer进行Web端渲染
  • Unreal Engine 4:实现电影级真实感渲染

图:同一3D模型在不同渲染引擎中的效果对比(从左到右:输入图像、Meshlab、Three.js、Unreal Engine 4)

hifi3dface项目通过结合先进的3DMM优化和纹理合成技术,为创建高保真3D数字人脸提供了完整的解决方案。无论是用于虚拟现实、增强现实,还是数字娱乐领域,都能快速生成具有照片级真实感的3D人脸模型,极大降低了高质量3D数字人创建的技术门槛。

如果你在研究中使用了hifi3dface的代码或3DMM模型,请引用相关论文:

@article{hifi3dface2021tencentailab, title={High-Fidelity 3D Digital Human Head Creation from RGB-D Selfies}, author={Bao, Linchao and Lin, Xiangkai and Chen, Yajing and Zhang, Haoxian and Wang, Sheng and Zhe, Xuefei and Kang, Di and Huang, Haozhi and Jiang, Xinwei and Wang, Jue and Yu, Dong and Zhang, Zhengyou}, journal={ACM Transactions on Graphics}, year={2021} }

【免费下载链接】hifi3dfaceCode and data for our paper "High-Fidelity 3D Digital Human Creation from RGB-D Selfies".项目地址: https://gitcode.com/gh_mirrors/hi/hifi3dface

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考