apple / ml-neuman

Official repository of NeuMan: Neural Human Radiance Field from a Single Video (ECCV 2022)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About to export .ply file for manul alignmnt

Spphire opened this issue · comments

For scene, i guess that it should use "data_folder/sparse/points3D.txt or points3D.bin".
but for human pose model, i have no idea about which file should i use to export as .ply.

We export the vertices of the posed mesh as ply file, so it's basically a point cloud of human meshes.
You can also refer to #42

We export the vertices of the posed mesh as ply file, so it's basically a point cloud of human meshes. You can also refer to #42

So, i should generate posed mesh by SFU pose data first?

Yes, one trick you can do is add a dummy else branch here with 0 translation, 0 rotation and 1 scaling,

def get_manual_alignment(opt):
if os.path.basename(opt.scene_dir) == 'bike' and opt.motion_name == 'jumpandroll':
manual_trans = np.array([0.08, 0.12, 0.4])
manual_rot = np.array([95.8, 10.4, 1.8]) / 180 * np.pi
manual_scale = 0.14
else:
manual_trans = np.array([0, 0, 0])
manual_rot = np.array([0, 0, 0]) / 180 * np.pi
manual_scale = 1
return manual_trans, manual_rot, manual_scale

It will give you the posed mesh from a mocap sequence.
The meshes can be obtained from this line:
raw_verts, Ts = read_human_poses(opt, scene)

Yes, one trick you can do is add a dummy else branch here with 0 translation, 0 rotation and 1 scaling,

def get_manual_alignment(opt):
if os.path.basename(opt.scene_dir) == 'bike' and opt.motion_name == 'jumpandroll':
manual_trans = np.array([0.08, 0.12, 0.4])
manual_rot = np.array([95.8, 10.4, 1.8]) / 180 * np.pi
manual_scale = 0.14
else:
manual_trans = np.array([0, 0, 0])
manual_rot = np.array([0, 0, 0]) / 180 * np.pi
manual_scale = 1
return manual_trans, manual_rot, manual_scale

It will give you the posed mesh from a mocap sequence.
The meshes can be obtained from this line:

raw_verts, Ts = read_human_poses(opt, scene)

Thanks very much!!