1.环境配置
1.安装GitHub上运行(注意最好在conda中安装,不然可能会有问题)
git clone https://github.com/Skype-line/X-Avatar.git
cd X-Avatarconda env create -f environment.yml
conda activate xavatar
python setup.py install
2.安装kaolin
直接下载0.12.0版本,并进行安装
3.移动文件和数据集到对应位置
2.demo运行
00034是编号,motion_path是动作文件的路径(解压出来的文件)
生成每一帧的ply文件在output/00034_rgb/tennis_smoothed中
python demo.py subject=00034_rgbd experiments=XHumans_sdf_smplx demo.motion_path=/path/to/tennis_smoothed.pkl
使用vis_meshes.py进行可视化,可以保存成MP4,也可以使用aitviewer进行展示
data_root是上面demo生成的动作序列的ply文件
python vis_meshes.py --data_root=../outputs/XHumans_smplx/output/00034_rgb/tennis_smoothed
ps:smpl模型生成的并不能用demo
3.train
训练可以选择smpl和smplx,rgb和scan。
python train.py subject=00019_rgbd datamodule=XHumans_rgbd_smplx experiments=XHumans_sdf_smplx datamodule.dataloader.dataset_path=/root/autodl-tmp/00019
修改datamodule.dataloader.batch_size和datamodule.processor.points_per_frame大小。
但points_per_frame即使缩小10倍,显存消耗仅减少几个g,在3090上训练要缩小到原来的1/100.
在开始训练时,只要2g显存,但每val后显存就会变大(如果修改val的epoch,但没什么效果,val多次后显存还是会超出限制)
显存和时间:rgbd>scan smplx>smpl
4.test
motion_path是下载的数据中的test
python test.py subject=00016_rgbd experiments=XHumans_sdf_smplx demo.motion_path=/root/autodl-tmp/00016/test
smpl模型要超级多的显存(超过32g),smplx要22g显存
作者解释是smplx版本使用了预训练模型已经训练的比较好了,如果SMPL版本没有完全训练好,会查询更多的点,会更消耗显存。事实上我训练了30多轮但仍然出现这种问题,可能和我设置的训练参数比较低产生的问题。可以修改resolution来降低显存.作者回答
test后生成mesh_test文件夹,里面是ply文件