zju3dv / mvpose

Code for "Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views" (CVPR 2019, T-PAMI 2021)
https://zju3dv.github.io/mvpose/
Apache License 2.0
515 stars 79 forks source link

Testing on custom dataset #56

Open nshreyasvi opened 4 years ago

nshreyasvi commented 4 years ago

Hello, I was trying to run it on my custom dataset but was getting the following error:

in __init__
    img_path = img_lists[img_id]
IndexError: list index out of range

Is there any specific format in which I need to prepare imageset? I have presently used frames extracted from 4K cameras.

lisa676 commented 4 years ago

@nshreyasvi Hi, for multi-camera calibration which toolbox you used?

nshreyasvi commented 4 years ago

Hello, I didn't use any toolbox for caliberation, I am just trying to see if it works for my image dataset, I have just copied the caliberation files from Campus dataset. (I just wanted to see if it works on my custom images, I can later on caliberate them using some methods but the first goal was just to see if it works on custom dataset). Is there any way I can run it ?

lisa676 commented 4 years ago

Without calibration you can't get good results on your custom images... I think there is no way to to it without calibration. You will get very bad results or may be some errors.

nshreyasvi commented 4 years ago

I think it should work for the very least with any caliberation. I'm not even getting any plots and the library is unable to even read the images for some reason. I would just like to know what dimension of input images as well as other things that need to be adjusted before feeding them to mvpose.

ahsan3803 commented 4 years ago

@nshreyasvi Without having your own intrinsic and extrinsic parameters, you will be unable to get 3D results from MVPose because images you got are different from the camera in Shelf or Campus dataset. So you need to calibrate your camera system first then you can try.

If still you want to test your own images with current setup then your error is in dataset test_range. Here you can find exact solution https://github.com/zju3dv/mvpose/blob/f1bf69d650c7d337e73e0bd63b4472737e49ecba/src/m_utils/demo.py#L65 or L71. It means you need to specify your data images range. For example: if you have 100 images in sequence then you can write test_range = range ( 7, 90, 5) 7 is start point, 90 is end point and 5 is step. But again I'm sure that you will not get 3D results due to incorrect parameters. If you got any result then I would like to appreciate to share results.

nshreyasvi commented 4 years ago

Hello, Thanks a lot. I have in total 756 images for the 3 camera views. I was able to run the neural network. However it now shows the following error message

Traceback (most recent call last): File "src/m_utils/demo.py", line 93, in <module> pose_in_range = export ( test_model, test_loader, is_info_dicts=bool ( args.dumped_dir ), show=True ) File "src/m_utils/demo.py", line 45, in export show=show, plt_id=img_id ) File "/home/shrey/neural_network/mvpose/src/models/estimate3d.py", line 43, in predict return self._estimate3d ( 0, show=show, plt_id=plt_id ) File "/home/shrey/neural_network/mvpose/src/models/estimate3d.py", line 150, in _estimate3d geo_affinity_mat, W, plt_id, multi_pose3d ) File "/home/shrey/neural_network/mvpose/src/m_utils/visualize.py", line 590, in plotPaperRows colorAssignment = [all_color[pid_g] for pid_g in poseIDInCam] File "/home/shrey/neural_network/mvpose/src/m_utils/visualize.py", line 590, in <listcomp> colorAssignment = [all_color[pid_g] for pid_g in poseIDInCam] IndexError: list index out of range

Is it due to the number of images available in the folders for camra 0,1 and 2 I have used test range of (100,600,2) and resized the images to a smaller dimension of 320X288 as I was getting CUDA memory issue with large files (> 3000X2000 pixels)

ghost commented 3 years ago

@nshreyasvi i get problem while setup environment can you show your environment and version cuda