1.环境配置
源项目使用V100 32g显存的卡来做的实验。我使用3090,24g显存和p100,16g显存进行项目搭建。对于部分模型训练,将采取修改模型大小来正常跑通代码。
2.项目运行
1.Coarse Shape Generation
粗略模型生成,保存在AvatarGen/ShapeGen/output/coarse_shape下
#在 AvatarCLIP/AvatarGen/ShapeGen路径运行,生成.obj文件
#建议使用提示性的增量'a 3d rendering of xxx in unreal engine'以获得更好的效果
python main.py --target_txt 'a 3d rendering of a strong man in unreal engine'
左侧是ironman右侧是strong man
渲染mesh,以便初始化隐含的avatar representation。生成图片以及json文件
python render.py --coarse_shape_obj output/coarse_shape/a_3d_rendering_of_a_strong_man_in_unreal_engine.obj --output_folder output/render
json文件格式如下,第一个元素还有“camera_angle_x”,剩余每张图片个一个元素
{
"file_path": "img/0001",
"transform_matrix": [[-1.0, -0.0, -0.0, -0.0], [0.0, 0.766044443118978, -0.6427876096865395, -1.414132741310387], [-0.0, -0.6427876096865395, -0.7660444431189782, -1.6852977748617524], [0.0, 0.0, 0.0, 1.0]]
}
2.Shape Sculpting and Texture Generation
生成纹理
#使用默认的smpl的基础模型进行雕刻,生成林肯
python main.py --mode train_clip --conf confs/examples/abrahamlincoln.conf
训练30000轮,需要32g显存,训练7.5h。生成ply文件,导入blender是左侧灰色建模
或者使用上一步的粗略模型进行雕刻
# Initilization of the implicit avatar
python main.py --mode train --conf confs/base_models/astrongman.conf
# Shape sculpting and texture generation on the initialized implicit avatar
python main.py --mode train_clip --conf confs/astrongman/hulk.conf
显存不够时,参照AvatarCLIP/AvatarGen/AppearanceGen/confs/examples_small/example.conf 文件修改网络模型参数
max_ray_num = 7000 #需要20g
max_ray_num = 5000 #需要16g