This repository aims to provide code snippets and examples for common virtual human utilities, for example, varies kinds of representation from skeletons to parameters models. You can regard this project as just a simple starting tutorial.
Tip
👋 Welcome! I hope this project will help you!
📖 As a newbie to this field, I can't ensure a comprehensive guidance here. But I think it's a good way to improve for the better through sharing what I've learned. I will try my best to improve this project. If you find any mistakes or have any suggestions, please feel free to open issues or PRs. Thanks!
✨ Problems you will meet in practice will be more complex. I think it's important to learn how to solve a specific problem without full set of guides. For instance, some researcher will use their own variation of SMPL model.
conda create -n lh python=3.8
conda activate lh
pip install -r requirements.txt # install the required packages
pip install -e . # install the local package
Some sections require extra data to be downloaded. (They can be checkpoints of models or datasets or something else.) The instructions about how to download them will be provided in specific notebooks in which you need those data.
The supporting codes are placed in lib
folder. They are mainly some utilities for visualization or logging or data organization or something else. You can just ignore them.
All the snippets are in the jupyter notebooks under the notebooks
folder.
Here is one recommended order to read the notebooks:
- Rotation Representation
- (🛠️ WIP) Abstract Skeletons
- SMPL Basic
- SMPLH Basic
- SMPLX Basic
- (🛠️ WIP) SMPL Details
- SKEL Basic
- T.B.C.
I also provide some code snippets for some common tasks:
- Parallel Tasks
- T.B.C.
- Abstract Skeletons (quite rough now)
- Parameter Models
- SMPL basic
- SMPL-H basic (compared to SMPL)
- SMPL-X basic (compared to SMPL)
- SMPL details
- SKEL basic
- Misc
- parallel tasks
- useful visualization tools
-
wis3d
-
viser
-
matplotlib
-
pyrender
-
pytorch3d
renderer - ...
-
- useful data processing tools (path walking, file dumping, etc.)
-
pathlib.Path
, ... -
shutil
, ... -
torch.save
,np.save
,np.savez
,joblib.dump
...
-
This project benefits a lot from the following resources:
- Motivations
- Contents Details
- Check the references in the notebooks.