weigq/3d_pose_baseline_pytorch

Dataset missing

Opened this issue · 23 comments

Data is missing. Cannot reproduce the results.

@kevinlemon I uploaded the data in Google Drive

@alvarogonjim can you please explain what each file you uploaded contains?

@alecda573 In Human3.6M there are 5 subjects for training and 2 for validation. Furthermore in the
A simple yet effective baseline for 3d human pose estimation
they used Stacked Hourglass detection to train the network and they apply standard normalization to the 2D inputs and 3D outputs by subtracting the mean and dividing by the standard deviation. Knowing that the files are divided in;

  • train_2d.pth.tar: Contains the subjects for the training process in 2D (input of the network)
  • train_2d_ft.pth.tar: Contains the subjects for the training process in 2D with the Stacked Hourglass detection (input of the network)
  • train_3d.pth.tar: Contains the subjects for the training process in 3D (output of the network)
  • test_2d.pth.tar: Contains the subjects for the validation process in 2D.
  • test_2d_ft.pth.tar: Contains the subjects for the validation process in 2D with the Stacked Hourglass detection.
  • test_3d.pth.tar: Contains the subjects for the validation process in 3D.
  • stat_3d.pth.tar: Contains the main/std of the 2D inputs and 3D outputs to unnormalize the data and calculate MPJPE.

You can train the network either with Stacked Hourglass detection or not.

@alvarogonjim Thanks for the quick response and explanation! Unfortunately, I get errors when trying to unzip all the files after downloading from the drive, the archive is either in a unknown format or damaged and no archives found. You have any idea about this?

@alecda573 I can download the file from drive without any problems. If your question is related to #25 how exactly to get the data out of the .pth.tar files is just using the torch.load function. The dataset class contains the functions to read those files:

self.train_3d = torch.load(os.path.join(data_path, 'train_3d.pth.tar'))

@alvarogonjim ahhh thanks sorry I was being silly! As just one other question, do you have a the euler angle or axis angle for the 2 million articulate poses in the dataset you supplied here?

@alvarogonjim one other question I noticed that the number of samples in the test_2d stacked hourglass has more samples than the test_3d, was there just a few othe samples added?

@alecda573

  1. No I do not have Euler angles of this dataset.
  2. Does make sense right? A single pose in the dataset that you are reading in 2D will be 16 joints x 2 = 32 data points in 3D will be 16 joints x 3 = 48.

@alvarogonjim yes this makes since, what I mean in the second post is that test_3d has 550644 samples while test_2dft has 548819 and I am wondering why the discrepancy?

Are you aware of anyway to get access to the euler angles the correspond to the dataset you have provided?

weigq commented

@alecda573

  • Why the number of 3D samples is different with that of 2D samples? It is because one single video (I am not sure it is one or more, you can check the original dataset) in original dataset has corrupted 3D pose annotations.
  • Can you explain more about the euler angles you need? I did not get what you mean.

@weigq

  1. that makes since, I was just trying to figure out how to make the stacked hourglass detection number correspond with the test_2d number of samples. Like do I just need to remove the extra 2k samples from test_3d to agree with the stacked hour glass test_2d?
  2. I was hoping to get my hands on the Euler angles for the full H3.6M dataset, along with the 2d joint coordinates in image coordinates. I have tried to contact the creators of the dataset but cant really get a response.
    The only thing I can find with Euler angles is in the following .zip file: http://www.cs.stanford.edu/people/ashesh/h3.6m.zip
    but this only contains 550k samples, and I was looking for more than this, and to also have the corresponding 2d coordinates. As in this dataset, you do not get the extrinsics/intrinsics to perform perspective projection after applying forward kinematics.

@alvarogonjim One last thing, are you able to share the GT 2d normalization stats?

weigq commented

@alecda573

  • Yes.
  • If I understand correctly, you can calculate the Euler angles representation from GT 3D pose.

@weigq not I’m exactly... you can apply inverse kinematic but the solution is non unique....

@alvarogonjim In your post above you said "stat_3d.pth.tar: Contains the main/std of the 2D inputs and 3D outputs to unnormalize the data and calculate MPJPE." I loaded this file and found it has 6 fileds: "mean, std, dim_use, dim_ignore, train_root, test_root". The mean and std are arrays with length 96 (32x3) which means they are for 3D outputs. My question is: Where are the means and stds for the 2D inputs? Is there another file called "stat_2d_pth.tar"?

@kevinlemon I uploaded the data in Google Drive

Hello, thanks for sharing, cant access the drive link, is it moved to different URL? Could you also clarify if there should be stat_2d.pth.tar? Thanks!

Hello @alvarogonjim I believe the link to the pre-processed Human3.6M dataset in 3d joints is broken

Old link: https://drive.google.com/file/d/1IbVK2fXcr77JyI_ntyRV6OvoLwoMSq3a/view?usp=sharing

Would it be possible to get this preprocessed data?

@alecda573 In Human3.6M there are 5 subjects for training and 2 for validation. Furthermore in the
A simple yet effective baseline for 3d human pose estimation
they used Stacked Hourglass detection to train the network and they apply standard normalization to the 2D inputs and 3D outputs by subtracting the mean and dividing by the standard deviation. Knowing that the files are divided in;

  • train_2d.pth.tar: Contains the subjects for the training process in 2D (input of the network)
  • train_2d_ft.pth.tar: Contains the subjects for the training process in 2D with the Stacked Hourglass detection (input of the network)
  • train_3d.pth.tar: Contains the subjects for the training process in 3D (output of the network)
  • test_2d.pth.tar: Contains the subjects for the validation process in 2D.
  • test_2d_ft.pth.tar: Contains the subjects for the validation process in 2D with the Stacked Hourglass detection.
  • test_3d.pth.tar: Contains the subjects for the validation process in 3D.
  • stat_3d.pth.tar: Contains the main/std of the 2D inputs and 3D outputs to unnormalize the data and calculate MPJPE.

You can train the network either with Stacked Hourglass detection or not.

@alecda573 In Human3.6M there are 5 subjects for training and 2 for validation. Furthermore in the
A simple yet effective baseline for 3d human pose estimation
they used Stacked Hourglass detection to train the network and they apply standard normalization to the 2D inputs and 3D outputs by subtracting the mean and dividing by the standard deviation. Knowing that the files are divided in;

  • train_2d.pth.tar: Contains the subjects for the training process in 2D (input of the network)
  • train_2d_ft.pth.tar: Contains the subjects for the training process in 2D with the Stacked Hourglass detection (input of the network)
  • train_3d.pth.tar: Contains the subjects for the training process in 3D (output of the network)
  • test_2d.pth.tar: Contains the subjects for the validation process in 2D.
  • test_2d_ft.pth.tar: Contains the subjects for the validation process in 2D with the Stacked Hourglass detection.
  • test_3d.pth.tar: Contains the subjects for the validation process in 3D.
  • stat_3d.pth.tar: Contains the main/std of the 2D inputs and 3D outputs to unnormalize the data and calculate MPJPE.

You can train the network either with Stacked Hourglass detection or not.

Thank you for your data set, which is very helpful to me. Do you have any questions_ 2d.pth.tar and test_ The image data corresponding to 3d.pth.tar, because I want to jointly test 2D and 3D, thank you very much

@alvarogonjim
Thank you for your data set, which is very helpful to me. Do you have any questions_ 2d.pth.tar and test_ The image data corresponding to 3d.pth.tar, because I want to jointly test 2D and 3D, thank you very much

@alvarogonjim
Thank you for your data set, which is very helpful to me. Do you have any questions_ 2d.pth.tar and test_ The image data corresponding to 3d.pth.tar, because I want to jointly test 2D and 3D, thank you very much

@mzy12345678 I don't quite understand your question. If you mean do I have access to the dataset no, I had to remove from Google Drive. The LICENSE forbids the redistribution.

@alvarogonjim
Hi, thanks for sharing your data set, the data is processed and the coordinates are normalized, could you tell me what process is done on the original 2d data, like (data-mean)/std? and whether the 2d data is finetuned on hm3.6?

@kevinlemon I uploaded the data in Google Drive

Hello, thanks for sharing, cant access the drive link, is it moved to different URL? Could you also clarify if there should be stat_2d.pth.tar? Thanks!

Hi, could you just share the file you mentioned here (stat_2d.pth.tar), and the pre-trained model weights?