コード例 #1
0
    def get_hres_smpl_model_data(self):

        dd = pkl.load(open(self.get_smpl_file()), encoding='latin-1')
        backwards_compatibility_replacements(dd)

        hv, hf, mapping = get_hres(dd['v_template'], dd['f'])

        num_betas = dd['shapedirs'].shape[-1]
        J_reg = dd['J_regressor'].asformat('csr')

        model = {
            'v_template':
            hv,
            'weights':
            np.hstack([
                np.expand_dims(np.mean(mapping.dot(
                    np.repeat(np.expand_dims(dd['weights'][:, i], -1),
                              3)).reshape(-1, 3),
                                       axis=1),
                               axis=-1) for i in range(24)
            ]),
            'posedirs':
            mapping.dot(dd['posedirs'].reshape((-1, 207))).reshape(-1, 3, 207),
            'shapedirs':
            mapping.dot(dd['shapedirs'].reshape(
                (-1, num_betas))).reshape(-1, 3, num_betas),
            'J_regressor':
            sp.csr_matrix((J_reg.data, J_reg.indices, J_reg.indptr),
                          shape=(24, hv.shape[0])),
            'kintree_table':
            dd['kintree_table'],
            'bs_type':
            dd['bs_type'],
            'bs_style':
            dd['bs_style'],
            'J':
            dd['J'],
            'f':
            hf,
        }

        return model
コード例 #2
0
 def get_vt_ft_hres():
     vt, ft = SmplPaths.get_vt_ft()
     vt, ft, _ = get_hres(np.hstack((vt, np.ones((vt.shape[0], 1)))), ft)
     return vt[:, :2], ft