akanazawa / cmr

Project repo for Learning Category-Specific Mesh Reconstruction from Image Collections
MIT License
474 stars 84 forks source link

Experiment on PASCAL3D+ dataset #5

Closed yd-yin closed 5 years ago

yd-yin commented 5 years ago

Hi, I'm a beginner in 3d reconstruction. It's a really impressive work! I'm now trying to implement it on PASCAL3D+ dataset, facing some problems on camera pose. I find PASCAL3D+ dataset offer cam_pose in azi/ele system for each picture and the perspective projection codes. I just wonder how did you process the dataset to match cmr?

  1. Simply run SfM again, ignoring the ground-truth cam_pose provided by PASCAL3D+?
  2. Calculate the scale/trans/rotation for PASCAL correspond to CUB dataset? But I don't know if it's ok because PASCAL is under perspective projection and CUB is under weak-perspective projection.
  3. Rewrite python codes to project PASCAL using perspective camera? If I want to do this, I guess the main problem would be how to adjust neural renderer to match the projection.

I'd really appreciate it if you could offer any ideas/materials/codes in this. Thanks a lot!

shubhtuls commented 5 years ago

Hi, Thanks for the interest in the code. We created a different branch p3d with some initial instructions on preprocessing/training using PASCAL 3D.

I think this part of the release may not be as stable as the remaining code base that uses the CUB dataset, but should be a good starting point for the things you might be interested in. Please let us know if you have any followups.

nikhilaravi commented 5 years ago

@shubhtuls is there a trained model available for the the car and aeroplane classes?

Weipeilang commented 4 years ago

Hi,when I ran the "python instance_segment.py...." as follows,I met the problem that "loading annotations into memory... Done (t=0.65s) creating index... index created! Traceback (most recent call last): File "instance_segment.py", line 31, in from core.config import assert_and_infer_cfg ImportError: No module named core.config" Is it the lack of file?or how can I solve this problem? Thank you

akanazawa commented 4 years ago

Hi,

This sounds like some issue with python import, see "ImportError: No module named core.config" does that core.config exist in your path? If it does possibly you're running the code from a wrong directory.

Best

Weipeilang commented 4 years ago

Thanks for your reply! I solved that problem by putting the above path is set to "/ path/to/Detectron/detectron".But now I have a new problem, as shown in the picture.Configuring the environment is very difficult for me, so I was wondering if you could give me a more detailed description of how to implement running "python instance_segment.py". Thank you once again. 2019-12-21 18-48-48屏幕截图

Weipeilang commented 4 years ago

I successfully prepared the data set according to your method, which is similar to the format of the bird.I had a problem training, I only trained 50 or 100 iterations, the car model looked like this, W)POC6Z4X824NP6BT$7I69S image 500 or 700 times, the model looked like this. CM(Y)JA_BY V`@TWENP)_ I O{FN}9JQ65SXTCR41S8`}EU I want to ask if there are any details that I didn't notice, and how to achieve the good results in your paper image

Weipeilang commented 4 years ago

@akanazawa

akanazawa commented 4 years ago

Hi Weipeilang,

Yeah this looks like there's something wrong, but others have successfully trained on pascal car and we did not change any hyperparameters for it, so as long as you can train on the bird dataset you should be able to train on the cars as well. I suggest you visualize the dataset to make sure that the images + annotations look correct, if the mean shape looks correct, and make sure you can train on the bird dataset.

Best,

Angjoo

anandbhattad commented 3 years ago

Matlab preprocessing with SFM failing at multiple locations. It would be really helpful if you could provide a cache dataset and pre-trained models that were used for PASCAL3D+ experiments. Thanks a lot!