开源
neuralbody:平面人物自动脑补出3D模型的算法
来源:元经纪     阅读:725
网站管理员
发布于 2023-02-23 06:02
查看主页

概述

具有结构化潜在代码的内隐神经表征,用于动态人类的新视图合成。 平面人物自动脑补出3D模型的算法,我们在以前的项目中提到过Facebook发布的PIFuHD; 浙大也在发布过一个类似的算法。 平面转3D有什么用呢? 传统的形势的VR实现,需要通过多部摄像机,多角度取景,再进行拼接,通过这些操作才能实现3D多角度的视频数据捕获。而AI实现的平面转3D,只需要1部摄像机,就自动脑补出其他角度的样子。

安装

有关手动安装,请参阅 INSTALL.md。

使用 docker 进行安装

请参阅 docker/README.md。

感谢万昭仪提供 docker 实现。

在自定义数据集上运行代码

[hidecontent type="logged" desc="隐藏内容:登录后可查看"]

请参阅自定义。

在人员快照上运行代码

请参阅 INSTALL.md 下载数据集。

我们在这里提供预训练模型。

处理人员快照

我们已经提供了一些经过处理的数据。如果要处理更多人物快照的视频,可以使用工具/process_snapshot.py。

您还可以使用工具/vis_snapshot.py可视化人物快照的 smpl 参数。

人物快照上的可视化

以可视化为例。可视化的命令行记录在 visualize.sh 中。female-3-casual

  1. 下载相应的预训练模型并将其放入.$ROOT/data/trained_model/if_nerf/female3c/latest.pth

  2. 可视化:

    • 可视化单帧的新视图
    python run.py --type visualize --cfg_file configs/snapshot_exp/snapshot_f3c.yaml exp_name female3c vis_novel_view True num_render_views 144
    

    • 使用固定摄像机可视化动态人类的视图
    python run.py --type visualize --cfg_file configs/snapshot_exp/snapshot_f3c.yaml exp_name female3c vis_novel_pose True
    

    • 可视化网格
    # generate meshes
    python run.py --type visualize --cfg_file configs/snapshot_exp/snapshot_f3c.yaml exp_name female3c vis_mesh True train.num_workers 0
    # visualize a specific mesh
    python tools/render_mesh.py --exp_name female3c --dataset people_snapshot --mesh_ind 226
    

  3. 可视化结果位于 和 。$ROOT/data/render/female3c$ROOT/data/perform/female3c

人物快照培训

以培训为例。用于训练的命令行以 train.sh 格式记录。female-3-casual

  1. 火车:
    # training
    python train_net.py --cfg_file configs/snapshot_exp/snapshot_f3c.yaml exp_name female3c resume False
    # distributed training
    python -m torch.distributed.launch --nproc_per_node=4 train_net.py --cfg_file configs/snapshot_exp/snapshot_f3c.yaml exp_name female3c resume False gpus "0, 1, 2, 3" distributed True
    
  2. 白色背景火车:
    # training
    python train_net.py --cfg_file configs/snapshot_exp/snapshot_f3c.yaml exp_name female3c resume False white_bkgd True
    
  3. 张量板:
    tensorboard --logdir data/record/if_nerf
    

在浙大动作卡普上运行代码

请参阅 INSTALL.md 下载数据集。

我们在这里提供预训练模型。

提供的 smpl 参数的潜在问题

  1. 新拟合的参数位于 中。目前,已发布的预训练模型是根据先前拟合的参数进行训练的,这些参数位于 .new_paramsparams
  2. ZJU-MoCap的smpl参数与MPI的smplx具有不同的定义。
    • 如果要从提供的 smpl 参数中提取顶点,请使用 。zju_smpl/extract_vertices.py
    • 此处描述了我们使用当前定义的原因。

可以使用 smplx 拟合的 smpl 参数训练神经体。

浙江大学-移动卡普测试

用于测试的命令行记录在 test.sh 中。

以测试为例。sequence 313

  1. 下载相应的预训练模型并将其放入.$ROOT/data/trained_model/if_nerf/xyzc_313/latest.pth
  2. 训练人体姿势的测试:
    python run.py --type evaluate --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313
    
  3. 测试看不见的人类姿势:
    python run.py --type evaluate --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 test_novel_pose True
    

浙江大学移动部可视化

以可视化为例。可视化的命令行记录在 visualize.sh 中。sequence 313

  1. 下载相应的预训练模型并将其放入.$ROOT/data/trained_model/if_nerf/xyzc_313/latest.pth

  2. 可视化:

    • 可视化单帧的新视图
    python run.py --type visualize --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 vis_novel_view True
    

    • 通过旋转 SMPL 模型可视化单帧的新视图
    python run.py --type visualize --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 vis_novel_view True num_render_views 100
    

    • 使用固定摄像机可视化动态人类的视图
    python run.py --type visualize --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 vis_novel_pose True num_render_frame 1000 num_render_views 1
    

    • 使用旋转相机可视化动态人类的视图
    python run.py --type visualize --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 vis_novel_pose True num_render_frame 1000
    

    • 可视化网格
    # generate meshes
    python run.py --type visualize --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 vis_mesh True train.num_workers 0
    # visualize a specific mesh
    python tools/render_mesh.py --exp_name xyzc_313 --dataset zju_mocap --mesh_ind 0
    

  3. 可视化结果位于 和 。$ROOT/data/render/xyzc_313$ROOT/data/perform/xyzc_313

浙江大学-体育部培训

以培训为例。用于训练的命令行以 train.sh 格式记录。sequence 313

  1. Train:
    # training
    python train_net.py --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 resume False
    # distributed training
    python -m torch.distributed.launch --nproc_per_node=4 train_net.py --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 resume False gpus "0, 1, 2, 3" distributed True
    
  2. Train with white background:
    # training
    python train_net.py --cfg_file configs/zju_mocap_exp/latent_xyzc_313.yaml exp_name xyzc_313 resume False white_bkgd True
    
  3. Tensorboard:
    tensorboard --logdir data/record/if_nerf

[/hidecontent]

 
免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 开源
重庆辖内四家地方法人银行数字化转型投入累计已近39亿
利好福建跨境电商,新政来了
企业文化在新媒体环境下的国际化传播策略
不用纠结油车电车了!吉利新车型可醇、可电、可油,零下40℃低温冷启动无压力
我国成功研制100吨超大推力电动振动试验系统

首页

分类

定制方案

消息

我的