backup
This commit is contained in:
+19
-2
@@ -34,12 +34,14 @@ eval_joints = {
|
||||
|
||||
class SMPL:
|
||||
|
||||
def __init__(self, orig_smpl=False, use_one_hot=False):
|
||||
def __init__(self, orig_smpl=False, use_one_hot=False, is_skirt=False):
|
||||
self.J_regressor = []
|
||||
self.v_template = []
|
||||
self.shapedirs = []
|
||||
self.posedirs = []
|
||||
self.weights = []
|
||||
self.use_one_hot = use_one_hot
|
||||
self.is_skirt = is_skirt
|
||||
# Load SMPL models
|
||||
# path = os.path.abspath(os.path.dirname(__file__))
|
||||
with open(os.path.join('custom_utils/super_model_f.pkl'), 'rb') as f:
|
||||
@@ -299,7 +301,22 @@ class SMPL:
|
||||
|
||||
def run_garment(self, pose, betas, v_cloth, v_shaped=None):
|
||||
J = self.get_joints_template(betas, v_shaped)
|
||||
R = self.run_rodrigues(pose)
|
||||
|
||||
if self.use_one_hot and self.is_skirt:
|
||||
# p_avg = (pose[:, 3:6] + pose[:, 6:9]) / 2
|
||||
# pose_dress = tf.concat([pose[:, :3], p_avg, p_avg, pose[:, 9:]], axis=-1)
|
||||
# R = self.run_rodrigues(pose_dress).numpy()
|
||||
# for b in range(betas.shape[0]):
|
||||
# R[b][[4,5,7,8,10,11],:,:] = np.eye(3)
|
||||
|
||||
pose_dress = pose
|
||||
# p_avg = (pose_dress[:, 3:6] + pose_dress[:, 6:9]) / 2
|
||||
# pose_dress[:,3:9] = np.concatenate([p_avg, p_avg], axis=-1)
|
||||
R = self.run_rodrigues(pose_dress).numpy()
|
||||
for b in range(betas.shape[0]):
|
||||
R[b][[4,5,7,8,10,11],:,:] = np.eye(3)
|
||||
else:
|
||||
R = self.run_rodrigues(pose)
|
||||
|
||||
# if filter is not None:
|
||||
# weights = tf.boolean_mask(self.weights, filter)
|
||||
|
||||
Reference in New Issue
Block a user