lizhe00 / AnimatableGaussians

Code of [CVPR 2024] "Animatable Gaussians: Learning Pose-dependent Gaussian Maps for High-fidelity Human Avatar Modeling"
https://animatable-gaussians.github.io/
Other
813 stars 48 forks source link

Error when loading data #10

Open yejr0229 opened 3 months ago

yejr0229 commented 3 months ago

I download your preprocessed files from [PREPROCESSED_DATASET.md].(https://github.com/lizhe00/AnimatableGaussians/blob/master/PREPROCESSED_DATASET.md) Here is the detailed error: Import AvatarNet from network.avatar [ WARN:0@7.039] global /io/opencv/modules/imgcodecs/src/loadsave.cpp (239) findDecoder imread_('media/data4/yejr/AvatarReX/avatarrex_lbn1/smpl_pos_map/cano_smpl_pos_map.exr'): can't open/read file: check file path/integrity Traceback (most recent call last): File "main_avatar.py", line 829, in trainer = AvatarTrainer(config.opt) File "main_avatar.py", line 48, in init self.avatar_net = AvatarNet(self.opt['model']).to(config.device) File "/home/yejr/Digital_Avater/AnimatableGaussians-master/network/avatar.py", line 28, in init self.cano_smpl_map = torch.from_numpy(cano_smpl_map).to(torch.float32).to(config.device) TypeError: expected np.ndarray (got NoneType) How should I do?

zhangdanq commented 3 months ago

请问你解决了么?我也遇到了相同的问题

lizhe00 commented 3 months ago

https://github.com/lizhe00/AnimatableGaussians/blob/master/README.md#data-preparation

yejr0229 commented 3 months ago

Thanks for replying,but I have follow this instruction and download the preprocess data,it seems like the data is broken. f674d994d802dd0799fbdb764205e8c

lizhe00 commented 3 months ago

I checked the downloaded file from https://drive.google.com/file/d/1RDM3v5P4XF6Sp88EusDvokw-yHg6Je0C/view The data is correct for viewing and loading.

yejr0229 commented 3 months ago

Sorry, seems like I didn't download the file successfully, Thanks.

NguyenTriTrinh commented 3 months ago

@lizhe00 could you please verify if the calibration_full.json file is missing for the subject 'avatarrex_zzr'?

lizhe00 commented 3 months ago

@lizhe00 could you please verify if the calibration_full.json file is missing for the subject 'avatarrex_zzr'?

Which file have you downloaded? Dataset (https://github.com/lizhe00/AnimatableGaussians/blob/master/AVATARREX_DATASET.md) or preprocessed files (https://github.com/lizhe00/AnimatableGaussians/blob/master/PREPROCESSED_DATASET.md)?

NguyenTriTrinh commented 3 months ago

@lizhe00 could you please verify if the calibration_full.json file is missing for the subject 'avatarrex_zzr'?

Which file have you downloaded? Dataset (https://github.com/lizhe00/AnimatableGaussians/blob/master/AVATARREX_DATASET.md) or preprocessed files (https://github.com/lizhe00/AnimatableGaussians/blob/master/PREPROCESSED_DATASET.md)?

I downloaded the preprocessesd files. Now i noticed that the dataset files include calibration_full.json file. However, the entire dataset is large (21GB), so I was wondering if it would be possible to include it in the preprocessed files. Thanks.

feceugur commented 3 months ago

I likewise don't have enough space to download the entire dataset. Therefore I cannot get the calibration_full.json file. I would be really happy if it would be possible to include it in the preprocessed files.

lizhe00 commented 3 months ago

You can download it from here. avatarrex_zzr: calibration_full.json avatarrex_lbn1: calibration_full.json avatarrex_lbn2: calibration_full.json

TT-T1 commented 1 week ago

Hello, when I run python main_avatar.py -c configs/avatarrex_lbn2/avatar.yaml --mode=test, I get the following error: Traceback (most recent call last): File "main_avatar.py", line 837, in trainer.test() File "/mnt/usr/envs/test_env/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(args, kwargs) File "main_avatar.py", line 531, in test training_dataset = MvRgbDataset(self.opt['train']['data'], training = False) File "/mnt/usr/AnimatableGaussians/dataset/dataset_mv_rgb.py", line 401, in init super(MvRgbDatasetAvatarReX, self).init( File "/mnt/usr/envs/test_env/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(args, **kwargs) File "/mnt/usr/AnimatableGaussians/dataset/dataset_mv_rgb.py", line 91, in init self.inv_cano_jnt_mats = torch.linalg.inv(self.cano_smpl['A']) KeyError: 'A'

SMPL related

    ret = self.smpl_model.forward(betas = self.smpl_data['betas'][0][None],
                                  global_orient = config.cano_smpl_global_orient[None],
                                  transl = config.cano_smpl_transl[None],
                                  body_pose = config.cano_smpl_body_pose[None])

    print(ret.items())

    self.cano_smpl = {k: v[0] for k, v in ret.items() if isinstance(v, torch.Tensor)}
    self.inv_cano_jnt_mats = torch.linalg.inv(self.cano_smpl['A'])

I checked the keys in ret.items() and self.cano_smpl, but I did not find a key ='A'. How can I solve this problem?

lizhe00 commented 1 week ago

Hello, when I run python main_avatar.py -c configs/avatarrex_lbn2/avatar.yaml --mode=test, I get the following error: Traceback (most recent call last): File "main_avatar.py", line 837, in trainer.test() File "/mnt/usr/envs/test_env/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(args, kwargs) File "main_avatar.py", line 531, in test training_dataset = MvRgbDataset(self.opt['train']['data'], training = False) File "/mnt/usr/AnimatableGaussians/dataset/dataset_mv_rgb.py", line 401, in init super(MvRgbDatasetAvatarReX, self).init( File "/mnt/usr/envs/test_env/lib/python3.8/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context return func(args, kwargs) File "/mnt/usr/AnimatableGaussians/dataset/dataset_mv_rgb.py", line 91, in init** self.inv_cano_jnt_mats = torch.linalg.inv(self.cano_smpl['A']) KeyError: 'A'

SMPL related

    ret = self.smpl_model.forward(betas = self.smpl_data['betas'][0][None],
                                  global_orient = config.cano_smpl_global_orient[None],
                                  transl = config.cano_smpl_transl[None],
                                  body_pose = config.cano_smpl_body_pose[None])

    print(ret.items())

    self.cano_smpl = {k: v[0] for k, v in ret.items() if isinstance(v, torch.Tensor)}
    self.inv_cano_jnt_mats = torch.linalg.inv(self.cano_smpl['A'])

I checked the keys in ret.items() and self.cano_smpl, but I did not find a key ='A'. How can I solve this problem?

You should use the SMPL-X implementation from https://github.com/lizhe00/AnimatableGaussians/tree/master/smplx instead of the official one.