Coder Social home page Coder Social logo

lizhe00 / animatablegaussians Goto Github PK

View Code? Open in Web Editor NEW
736.0 736.0 38.0 2.46 MB

Code of [CVPR 2024] "Animatable Gaussians: Learning Pose-dependent Gaussian Maps for High-fidelity Human Avatar Modeling"

Home Page: https://animatable-gaussians.github.io/

License: Other

Python 75.82% CMake 0.12% C++ 5.11% Cuda 18.66% C 0.29%
3d-gaussian-splatting 3d-human 3d-reconstruction animatable-avatar

animatablegaussians's People

Contributors

lizhe00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

animatablegaussians's Issues

Driving any arbitrary action?

In the process of creating Avatar Animations, you may find that certain pose-driven animations deliver superior quality compared to others. For example, the "THuman4.0_POSE" may provide more convincing results than "MPI_mosh". How to improve the quality of driving any arbitrary action?

actorsHQ‘s camera pose does not fit 3DGS

When I tried your method of processing camera parameters in the actorshq dataset and applied the processed extrinsic and intrinsic matrices to the original 3DGS, the results were very blurry. Have you tried the same method before?
image

smpl_params

How do I get smpl_params in my own dataset?

Possible code errors in raster settings

In line 52 of gaussian_renderer.py, camera_center = torch.linalg.inv(extr)[:3, 3] seems to be changed to camera_center = torch.linalg.inv(extr)[3, :3], although judging from the results It seems to have little impact.

StyleUNet Conditions

Hi, thank you for the amazing work!

I just have a question regarding the inputs of the StyleUNet.

According to the paper, your StyleUNets takes as inputs both front and back posed position maps and outputs the front and back pose-dependent gaussian maps.
Screenshot from 2024-04-15 20-40-22

Meanwhile, I noticed that only the front posed position map is used as the condition to predict both front and back gaussian maps.

pose_map = items['smpl_pos_map'][:3]

I wonder whether this is intentionally done since the outputs still look good.

Thank you in advance.

Training Time

Hi,I wonder how long does the model take to train? I use one 3090 and have trained about 3 days...

Training on our custum dataset and smpl_params.npz

Thank you for your excellent work and providing the codes.

I want to train on our own dataset. For the setting, how can I obtain smpl_params.npz? Should I use PyMAF-X as mentioned in the AvatarRex? If so, how can I tune the parameters to align it to the calibrated camera parameters (K[R|T])? I was curious about it because smpl parameters obtained from PyMAF-X are trained on fixed virtual camera (maybe focal length=(5000,5000) and extrinsic matrices are identity) across all the images.

I would appreciate it if you could answer.

Key parameter to reduce VRAM

Hi, thanks again for releasing the code! If I'd like to retrain the model to reduce the VRAM usage, what are some key parameters/configurations I can tune? Thanks!

details about training and testing on avatarrex dataset

Hi, thanks for your nice work. I have read your paper, but I did not find any information about the viewpoint settings during training and testing. I noticed that all 16 viewpoints were used during training in your code, but can you clarify which viewpoints were used during testing? For example, which viewpoints were the results in Table 2 of the paper based on? Could you provide some instructions regarding the frame and camera viewpoint configuration during testing?

Batch size > 1

Hi, thanks for releasing the code! I'm wondering if it's possible to train/test with a batch size bigger than 1? What's the reason a batch size of 1 is used for training? Thanks!

Error when loading data

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:[email protected]] 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?

Rendered results not meeting expectation on training set

It is really a fantastic work. Congrats!
I managed to deal with all the data preprocessing and testing.
However I found the rendered results on avatar_lbn1 is not quite ideal, even on the training smpl dataset.
The rendered image rendered below ith command [python main_avatar.py -c configs/avatarrex_lbn1/avatar.yaml --mode=test]:
image
image
Is that sounds reasonable to you?
Thanks very much!

ERROR: Could not find a version that satisfies the requirement igl==2.2.1

Error: No matching distribution found for igl==2.2.1

Description

When trying to install the required dependencies from the requirements.txt file, I encountered the following error:

Collecting glfw==2.4.0 (from -r requirements.txt (line 1))
Using cached glfw-2.4.0-py2.py27.py3.py30.py31.py32.py33.py34.py35.py36.py37.py38-none-manylinux2014_x86_64.whl.metadata (4.8 kB)
ERROR: Could not find a version that satisfies the requirement igl==2.2.1 (from versions: none)
ERROR: No matching distribution found for igl==2.2.1

This error occurs when trying to install the `igl` package at version 2.2.1, which appears to be listed in the `requirements.txt` file.

Environments Tested

I have tried the following environments:

  1. venv with Python 3.11
  2. Anaconda with Python 3.10
  3. Anaconda with Python 3.9

Steps to Reproduce

  1. Create a new virtual environment (using pyenv or Anaconda)
  2. Install the required dependencies from the requirements.txt file

Expected Behavior

All the dependencies listed in the requirements.txt file should be installed successfully without any errors.

Additional Information

  • cuda:12.2.0
  • ubuntu22.04

Can you please let me know if you have an environment that works well for these errors?
Thank you in advance for your time.

AvatarRex数据集中的cano_smpl_pos_map.exr和init_pts_lbs.npy我该如何获得?在network.avatar.py中的第27行和31行中有引用

cano_smpl_map = cv.imread(config.opt['train']['data']['data_dir'] + '/smpl_pos_map/cano_smpl_pos_map.exr', cv.IMREAD_UNCHANGED)

self.lbs = torch.from_numpy(np.load(config.opt['train']['data']['data_dir'] + '/smpl_pos_map/init_pts_lbs.npy')).to(torch.float32).to(config.device)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.