Deep3DFaceReconstruction踩坑实录

在跑3d人脸demo Deep3DFaceReconstruction时遇到一些问题,拿个小本本记录下来.

项目介绍

这个项目实现了通过单张图片推理3d人脸参数的功能,对应的论文为:Accurate 3D Face Reconstruction with Weakly-Supervised Learning: From Single Image to Image Set.
代码基于tensorflow编写.

环境介绍

Ubuntu18, 显卡1050ti,cuda配置:

 NVIDIA-SMI 450.102.04   Driver Version: 450.102.04   CUDA Version: 11.0 

1.按照readme下载好对应的BFM模型以及预训练模型.开始配置环境.

conda create -n deep3d python=3.6
source activate deep3d
conda install tensorflow-gpu==1.12.0
conda install bazel # 原文档漏写了安装这个bazel程序
pip install pillow argparse scipy

2.编译tf_mesh_renderer代码

git clone https://github.com/google/tf_mesh_renderer.git
cd tf_mesh_renderer
git checkout ba27ea1798
git checkout master WORKSPACE
# mesh_renderer/kernels/BUILD 文件编译部分添加上 'Set -D_GLIBCXX_USE_CXX11_ABI=1 ',支持c++11的编译.
bazel test //... # 原文档写的是bazel test ... , 但是我这里运行错误,估计是bazel版本不一致,加上//就可以编译了....

我这里还有个编译错误,说是找不到tensorflow_framework.so,原因是我装了两个python,一个3.6,另一个是3.7,但是mesh_renderer/kernels/BUILD中用python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())'来获取tensorflow 库安装位置,这里的python默认指向3.7,
所以要手动将python 改为python3.6就行了.编译完成后将生成的rasterize_triangles_kernel.so复制到Deep3DFaceReconstruction项目的render目录下.
3. 运行

python3.6 demo.py --pretrain_weights network

参数network指向预训练模型所在目录,完成后会在output目录下生成一些obj文件,用meshlab打开就行了.


生成的obj文件和mat文件可以从下面链接下载:
链接: https://pan.baidu.com/s/1M2NnahUR0OpwtQj_pb12eQ 提取码: xwqp

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值