xiexh20 / behave-dataset

Code to access BEHAVE dataset, CVPR'22
https://virtualhumans.mpi-inf.mpg.de/behave/
Other
141 stars 6 forks source link

hi, person_fit.ply has 6890 points but readme said it was stored in SMPL+H format #24

Closed JasonJ33JYS closed 1 year ago

JasonJ33JYS commented 1 year ago

Hi @xiexh20 Thanks for your wonderful work. I have used your dataset for several weeks, and I found something that I don't understand.

Maybe I miss something, thanks for any help!

xiexh20 commented 1 year ago

Hi,

  1. The SMPL model and SMPL-H model have the same topology, i.e. same number of vertices and faces. They only differ in the number of joint angle parameters.
  2. Yes, same as SMPL mesh format.
  3. I don't understand your problem. Please give more details. e.g. How do you read the ply file?
JasonJ33JYS commented 1 year ago

Thanks a lot for your quick reply! @xiexh20 For the question3, maybe my expression is not so good, I will try again.

I read the person_fit.ply in fit02 dir using plyfile.PlyData module. like below

ply_name = 'transfer_data\meshes\smplh\person_fit2.ply'
plydata = PlyData.read(ply_name)
print(plydata['vertex'].data.shape)
# (6890,)
print(plydata['face'].data.shape)
# (0,)

You can see that plydata has two elements: vertex and face, but face's shape is 0, which means there is no face in .ply file, and this is why: when I transform SMPL+H to SMPL using the repo below, the code got wrong, it tells me there is no face in .ply file.

I set face = [ ] in the smplx code, and it worked, but I don't know if the SMPL format result is right or not.

Thanks for your reply, again!

JasonJ33JYS commented 1 year ago

And other questions:

I am new in 3d human pose estimation. So maybe my questions are too childish. Thanks for any help! Best wishes! @xiexh20

xiexh20 commented 1 year ago

Hi,

Sorry for the late reply. I am a bit busy these days.

  1. The trans parameters is on the camera space of kinect 1. All four views are calibrated and it is known how to transform from one view to another. For example, here.
  2. yes.
  3. We use FrankMocap estimated pose to initialize our SMPL-H fitting. see Sec. 3 in the paper.
  4. Again, k*.mocap.json is the result from FrankMocap. Each image is processed independently, the network prediction can have different outputs.
  5. See paper sec.3 and supp. Sec2.3.
  6. This I haven't tested. But the 3D keypoints are estimated from multi-view. So in theory it should be more accurate.