Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making GLAMR actually work and solving all errors! #41

Merged
merged 3 commits into from
Nov 21, 2023

Conversation

take2rohit
Copy link
Contributor

@take2rohit take2rohit commented Nov 9, 2023

Thanks for such an awesome work. There were errors in the code and dependencies related to Hybrik and GLAMR. There were also missing files. I have tried to resolve all the problems and tried to document all the known errors here. Hope it helps.

The below steps works on Nvidia RTX 2080Ti, Driver Version: 530.30.02, CentOS Linux 7 (Core)

Complete conda and pip dependency can be found at environment.yml

Installing Hybrik environment

conda create -n hybrik python=3.9
conda activate hybrik
conda install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install -c bottler nvidiacub
# Anaconda Cloud
conda install pytorch3d -c pytorch3d 

Errors related to opendr

You are likely to encounter missing _constants.py error. You can resolve this here.

Missing downloads

set -e
unzip spec-github-data.zip
mkdir data/dataset_folders
rm spec-github-data.zip
mkdir -p $HOME/.torch/models/
mv data/yolov3.weights $HOME/.torch/models/

Credits

@Khrylx
Copy link
Collaborator

Khrylx commented Nov 21, 2023

Thank you!!

@@ -99,7 +100,14 @@ def init_data(self, in_dict):
new_dict['invis_frames'] = invis_frames = visible == 0
new_dict['frame2ind'] = {f: i for i, f in enumerate(new_dict['frames'])}
new_dict['scale'] = None
smpl_pose_wroot = quaternion_to_angle_axis(torch.tensor(pose_dict[f'smpl_pose_quat_wroot'], device=self.device)).cpu().numpy()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for you PR and it does save me a lot of time!
However, I think modification here may not be suitable.
In the issue you mentioned, the answerer said that "This probably happens because you use the hrnet version of HybrIK which produces 3x3 rotation matrices, not quaternions". And in my case, I do receive quaternions as the output, which means modification here actually make my code fail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants