有无训练过DECA的相关同志,可以教我一下,如何处理DECA trainging相关的部分,
1.我对于deca的数据集vgg face2 的那个npy文件也有问题我不会得到那个文件?
2.AttributeError: 'DECA' object has no attribute 'to'这是我运行training得到的报错提示,不知道怎么修改?
这个应该是版本问题,就是代码比较老了,目前安装的模块版本较新,一些老旧的函数被弃用。解决这种问题的办法,就是回退模块的版本,或者升级代码。目前你没有贴出相关代码,我也不好判断。
找不到对应的对象的属性,常见的原因如下:
1、可能是初始化类的时候函数名写错了或者是在调用此处函数之前,所传递进来的变量,此处的self,由于某种原因,没有获得对应的值,而是空值,所以才出现这样的错误。
2、类构造函数出了问题,本来是init()函数,但有几个类的构造函数成了_init,少了一个’_’符号
3、缩进不正确,把空格当做tab。
根据报错可知DECA属性值没有获取到,有可能没有设置,
或者设置错误导致获取不到,可以检查一下属性配置位置。
望采纳!
DECA:详细的表情捕捉和动画(SIGGRAPH2021)
输入图像,对齐重建,各种姿势和表情的动画
这是 DECA 的官方 Pytorch 实现。
DECA 从单个输入图像重建具有详细面部几何形状的 3D 头部模型。生成的 3D 头部模型可以轻松制作动画。有关详细信息,请参阅arXiv 论文。
主要特点:
重建:从单个图像中生成头部姿势、形状、详细的面部几何形状和照明信息。
动画:用逼真的皱纹变形为面部设置动画。
鲁棒性:在无约束条件下对面部图像进行测试。我们的方法对各种姿势、光照和遮挡都具有鲁棒性。
准确:在NoW Challenge基准数据集上进行最先进的 3D 人脸形状重建。
入门
克隆回购:
git clone https://github.com/YadiraF/DECA
cd DECA
要求
Python 3.7(numpy、skimage、scipy、opencv)
PyTorch >= 1.6 (pytorch3d)
face-alignment (用于检测人脸可选)
您可以运行
pip install -r requirements.txt
或者通过运行使用虚拟环境
bash install_conda.sh
对于可视化,我们使用使用 pytorch JIT 编译扩展的光栅化器。如果出现编译错误,您可以安装pytorch3d并在运行演示时设置 --rasterizer_type=pytorch3d。
用法
准备数据
A. 下载FLAME 模型,选择FLAME 2020并解压,将 'generic_model.pkl' 复制到 ./data
b. 下载DECA 训练模型,并将其放入 ./data(无需解压缩)
c. (可选)按照Albedo 模型的说明获取 'FLAME_albedo_from_BFM.npz',将其放入 ./data
运行演示 重建
python demos/demo_reconstruct.py -i TestSamples/examples --saveDepth True --saveObj True
可视化预测的 2D 地标、3D 地标(红色表示不可见点)、粗略几何、详细几何和深度。
您还可以生成一个包含从输入图像中提取的纹理的 obj 文件(可以使用 Meshlab 打开)。
请运行python demos/demo_reconstruct.py --help以获取更多详细信息。
湾。表达转移
python 演示/demo_transfer.py
给定一张图像,您可以重建其 3D 面部,然后通过转移其他图像的表情来对其进行动画处理。使用 Meshlab 打开详细的网格 obj 文件,可以看到如下内容:
(感谢Soubhik允许我用他的脸^_^)
请注意,您需要设置 '--useTex True' 以获得完整的纹理。
C。对于预告片 gif(休息和动画)
python 演示/demo_teaser.py
更多演示和培训代码即将推出。
评估
与之前的最先进方法相比, DECA(我们的)在NoW Challenge数据集上的平均形状重建误差降低了 9% 。
左图比较了我们的方法和其他近期方法的累积误差(RingNet 和 Deng 等人的性能几乎相同,因此它们的曲线相互重叠)。在这里,我们使用点到面的距离作为误差度量,遵循现在的挑战。
有关评估的更多详细信息,请查看我们的arXiv 论文。
训练
准备训练数据
一种。下载图像数据
在 DECA 中,我们使用VGGFace2、BUPT-Balancedface和VoxCeleb2
湾。准备标签
FAN预测 68 个 2D 地标
face_segmentation得到皮肤遮罩
C。修改数据加载
器 不同数据集的数据加载器位于 decalib/datasets 中,为准备好的图像和标签使用正确的路径。
下载人脸识别训练模型
我们使用VGGFace2-pytorch中的模型计算身份损失,下载resnet50_ft,放入./data
开始训练
从头开始训练:
python main_train.py --cfg configs/release_version/deca_pretrain.yml
python main_train.py --cfg configs/release_version/deca_coarse.yml
python main_train.py --cfg configs/release_version/deca_detail.yml
在 yml 文件中,为“output_dir”和“pretrained_modelpath”编写正确的路径。
您也可以将发布的模型用作预训练模型,然后忽略预训练步骤。
引文
如果您发现我们的工作对您的研究有用,请考虑引用:
@inproceedings{DECA:Siggraph2021,
title={Learning an Animatable Detailed {3D} Face Model from In-The-Wild Images},
author={Feng, Yao and Feng, Haiwen and Black, Michael J. and Bolkart, Timo},
journal = {ACM Transactions on Graphics, (Proc. SIGGRAPH)},
volume = {40},
number = {8},
year = {2021},
url = {https://doi.org/10.1145/3450626.3459936}
}
https://blog.csdn.net/qq_14845119/article/details/112793522
DECA trainging
https://github.com/YadiraF/DECA
找不到对应的对象的属性,常见的原因如下:
1、可能是初始化类的时候函数名写错了或者是在调用此处函数之前,所传递进来的变量,此处的self,由于某种原因,没有获得对应的值,而是空值,所以才出现这样的错误。
2、类构造函数出了问题,本来是init()函数,但有几个类的构造函数成了_init,少了一个’_’符号
3、缩进不正确,把空格当做tab。
版本不匹配导致的,需要解决版本问题