NeuralBody / zju_smpl /extract_vertices.py
pengsida
initial commit
1ba539f
raw
history blame
1.22 kB
import os
import sys
import numpy as np
import torch
sys.path.append("../")
from smplmodel.body_model import SMPLlayer
smpl_dir = 'data/zju_mocap/CoreView_313/params'
verts_dir = 'data/zju_mocap/CoreView_313/vertices'
# Previously, EasyMocap estimated SMPL parameters without pose blend shapes.
# The newly fitted SMPL parameters consider pose blend shapes.
new_params = False
if 'new' in os.path.basename(smpl_dir):
new_params = True
smpl_path = os.path.join(smpl_dir, "1.npy")
verts_path = os.path.join(verts_dir, "1.npy")
## load precomputed vertices
verts_load = np.load(verts_path)
## create smpl model
model_folder = 'data/zju_mocap/smplx'
device = torch.device('cpu')
body_model = SMPLlayer(os.path.join(model_folder, 'smpl'),
gender='neutral',
device=device,
regressor_path=os.path.join(model_folder,
'J_regressor_body25.npy'))
body_model.to(device)
## load SMPL zju
params = np.load(smpl_path, allow_pickle=True).item()
vertices = body_model(return_verts=True,
return_tensor=False,
new_params=new_params,
**params)