Giter Club home page Giter Club logo

neuralannot_release's Introduction

NeuralAnnot: Neural Annotator for 3D Human Mesh Training Sets

Introduction

This repo provides 3D pseudo-GTs (SMPL/MANO/FLAME/SMPL-X parameters) of various datasets, obtained by NeuralAnnot (CVPRW 2022 Oral.). We additionally provide 3D pseudo-GTs of SMPL parameters of MSCOCO, obtained by Three Recipes for Better 3D Pseudo-GTs of 3D Human Mesh Estimation in the Wild (CVPRW 2023). You need to install smplx.

Human3.6M

MPI-INF-3DHP

MSCOCO

MPII 2D Pose Dataset

3DPW

CrowdPose

FFHQ

InstaVariety

InterHand2.6M

Reference

@InProceedings{Moon_2022_CVPRW_NeuralAnnot,  
author = {Moon, Gyeongsik and Choi, Hongsuk and Lee, Kyoung Mu},  
title = {NeuralAnnot: Neural Annotator for 3D Human Mesh Training Sets},  
booktitle = {Computer Vision and Pattern Recognition Workshop (CVPRW)},  
year = {2022}  
}  

@InProceedings{Moon_2023_CVPRW_3Dpseudpgts,  
author = {Moon, Gyeongsik and Choi, Hongsuk and Chun, Sanghyuk and Lee, Jiyoung and Yun, Sangdoo},  
title = {Three Recipes for Better 3D Pseudo-GTs of 3D Human Mesh Estimation in the Wild},  
booktitle = {Computer Vision and Pattern Recognition Workshop (CVPRW)},  
year = {2023}  
}  

neuralannot_release's People

Contributors

mks0601 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

neuralannot_release's Issues

NeuralAnnot for Foot on NeuralAnnot

Hi Dr. Moon, May I ask whether you can open-source the NeuralAnnot? I would like to generate NeuralAnnotation for foot parameters on MSCOCO. Thanks in advance.

question about pseudo-GT files

I find your offered pseudo-GT file (MSCOCO_train_MANO_NeuralAnnot.json) contain pose, shape, trans for mano, focal ,princpt for camera.
I want to know how to get trans, focal, princpt.

Will the code of Running SMPLify-X on 3D joint coordinates be made public?

Thank you very much for the parameters you shared!!

I am very interested in Running SMPLify-X on 3D joint coordinates. Will you disclose the modified code of this part?

I learned about this part of your work from the supplementary material of your article. I also want to learn and write the corresponding code, but I don’t know how to start better, so I would like to ask whether this part of the code will be made public.

Looking forward to your reply.

InstaVariety images are missing

Thanks for this valuable work.
It seems that InstaVariety data only contains images while in the demo file it loads them. Could you please add it to the repository, if possible?

parametric meaning

Thank you very much for your work.
Here are some questions I hope you can answer
(1)What are the meanings of the red boxes
智慧联想浏览器截图20221111102529
(2) why we should merge root pose and camera rotation
` # apply camera extrinsic (rotation)
# 合并根姿势和摄影机旋转 merge root pose and camera rotation

    root_pose = root_pose.numpy()
    root_pose, _ = cv2.Rodrigues(root_pose)#旋转矩阵转换为旋转向量
    root_pose, _ = cv2.Rodrigues(np.dot(R,root_pose))
    root_pose = torch.from_numpy(root_pose).view(1,3)`

Question about results replacing only 3d annotations used in SPIN

@mks0601
Hello! NeuralAnnot is a wonderful work. I have a question about the experiment.

For SPIN used 3D dataset labels, that is, h36m mosh labels and mpi-inf-3dhp_mview_fits, will substituting NeuralAnnot pseudo labels with them raise the score (i.e. indirect 3d annotation error) while keeping ITW datasets labels with the same 2D GT annots without GT SMPL supervision?

Hi, the download link seems not working

Dear author,

it seems the download link for the dataset is not working, could you take a look when you have time to see if it is possible to fix it.

Thanks!

The translation and bbox in MPI-INF-3DHP

Hi mks0601 !
I am trying to visualize the SMPLXmesh driven with parameters provided in MPI-INF-3DHP_SMPLX_NeuralAnnot.json, and I used the bounding box and camera parameters provided in MPI-INF-3DHP_camera_1k.json. The pose of SMPLX mesh seemed to be right, but the rendered image had incorrect projected mesh.

image

About annotation matching of MPII-3D

Thank you for your excellent work! The SMPL parameter is based on a size-reduced image, so does it match the 2D and 3D keypoint annotation provided by the original MPII-3D dataset?

Clarification on 3D joint labels

Hi,

May I ask what is the 3D joint positions stored in "Human36M_subject*_joint_3d.json"? Is that the 3D joint label provided in the original datasets or provide by NeuralAnnot?

Thanks,
Yufei

Question about loss in three recipe

Hello! @mks0601

I am trying to reproduce three recipes based on Pose2Pose. I am not quite sure about the loss implementation. Is that the same as NeuralAnnot (i.e. same as below)?

loss['joint_img'] = self.coord_loss(joint_img, smpl.reduce_joint_set(targets['joint_img']), smpl.reduce_joint_set(meta_info['joint_trunc']), meta_info['is_3D'])
loss['smpl_joint_img'] = self.coord_loss(joint_img, smpl.reduce_joint_set(targets['smpl_joint_img']), smpl.reduce_joint_set(meta_info['smpl_joint_trunc']))
loss['smpl_pose'] = self.param_loss(smpl_pose, targets['smpl_pose'], meta_info['smpl_pose_valid']) # computing loss with rotation matrix instead of axis-angle can avoid ambiguity of axis-angle. current: compute loss with axis-angle. should be fixed.
loss['smpl_shape'] = self.param_loss(smpl_shape, targets['smpl_shape'], meta_info['smpl_shape_valid'][:,None])
loss['joint_proj'] = self.coord_loss(joint_proj, targets['joint_img'][:,:,:2], meta_info['joint_trunc'])
loss['joint_cam'] = self.coord_loss(joint_cam, targets['joint_cam'], meta_info['joint_valid'] * meta_info['is_3D'][:,None,None])
loss['smpl_joint_cam'] = self.coord_loss(joint_cam, targets['smpl_joint_cam'], meta_info['smpl_joint_valid'])
loss['regularizer_shape'] = self.regular_loss(smpl_shape)/100
loss['regularizer_pose'] = self.regular_loss(vposer_para)/100

where regular_loss is the regularize l2 loss (i.e. torch.pow(para,2))

Besides, original 3dpw dataset dataloader don't offer full targets like targets = {'joint_img': joint_img, 'smpl_joint_img': smpl_joint_img, 'joint_cam': joint_cam, 'smpl_joint_cam': smpl_joint_cam, 'smpl_pose': smpl_pose, 'smpl_shape': smpl_shape}. Can you offer the preprocess script to get the joint_img and joint_cam in 3dpw?

instavariety dataset .pt annotation file is not loaded.

When I try to load the insta_train_db.py and insta_test_db.py using torch.load , i got error in load pickle.
I tried with every pytorch version. 1.1 to 1.11
_pickle.UnpicklingError: invalid load key, '\xc0'

How can I load it?

About MPI-INF-3DHP data formats

@mks0601

smpl_param = smpl_params[str(subject_idx)][str(seq_idx)][str(frame_idx)]

In the demo code, you use subject_idx, seq_idx, and frame_idx as indexes. I check the original MPI-INF-3DHP datasets, and it uses subject_idx, seq_idx, video_idx, and frame_idx. How to match the video_idx?

And is the num of NeuralAnnot MPI-INF-3DHP pseudo GT the same as the fits used in SPIN?

smplx shape dimension is 16 not 10

Hi Gyeongsik,

I ran the demo_smplx.py and it failed because the shape size in smplx model is 16 while the data from the json file is 10. I added the following code to solve the issue:

shape = torch.cat([shape, torch.zeros((1, 6))], dim=-1)

Is this inconsistency caused by a different version of smplx repository?

dataset_anno

Hello, thank you for your outstanding work. I recently encountered some problems in making datasets. I would like to know how you labeled those datasets. Will the code for dataset annotation be made public?

The number of pseudo labels on MOCOCO dataset

Hi, thanks for your excellent work!
I notice that the number of pseudo labels on MSCOCO datasets you provided is 262461, while SPIN and EFT only provide 28344 and 74834 samples, respectively. Could you please tell me what cause the difference? BTW, will the number of samples greatly affect the performance?

extract files

Thank you for your contribution, I have a question. How to extract files, such as images_1k.tar.gzaj.gzaj의 사본, how to use passwords to decompress in Ubuntu?

Action name mismatch

Hi,

Thanks making this great work. When checking the data, the action name defined in annotation file does not match with the real action in the video frames. For example, action 4 is marked as Eating in the annotation while the corresponding image frames actually show sitting down. Do I access the data correctly?

Yufei

Code Release

Dear Authors,
Thank you for your inspiring work.
Will there be a code release?

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.