yzcjtr / GeoNet

Code for GeoNet: Unsupervised Learning of Dense Depth, Optical Flow and Camera Pose (CVPR 2018)
MIT License
726 stars 181 forks source link

Pose Estimation Inquire #41

Closed IddoBotzer closed 5 years ago

IddoBotzer commented 5 years ago

Thank you for this wonderful work! I managed to run the pose estimation on the Kitti data set with good results. First, I was wondering what the 5 poses on each frame mean (Is it possible to do a prediction based on 2 frames?) Second, would it be possible to run on different data sets? If so what is needed to change in order to do so. Lastly, I would like to know if there is a place where I could modify the field of view used by the camera.

Thank you again!

yzcjtr commented 5 years ago
  1. 5-frames setting refers to predicting the other four frames' poses w.r.t a reference frame (the center frame in our implementation). Of course, you can try 2-frames setting;
  2. You should implement your customized dataloader and calibrate the intrinsics of the camera;
  3. Please refer to the intrinsic preparation code.
IddoBotzer commented 5 years ago

Thank you for your respond. Regarding the 2 frame prediction, how could I do that? What setting do I need to change? This is the error I am facing when I am sending 2 images to the net: ValueError: Cannot feed value of shape (1, 128, 416, 6) for Tensor u'raw_input:0', which has shape '(1, 128, 416, 15)' Also, do I need to retrain the net in order to do so?

yzcjtr commented 5 years ago

You can try setting argument --seq_length as 2. But I cannot promise this is correct for I assumed the sequence length is odd when I wrote the code.

IddoBotzer commented 5 years ago

Yeah, trying to use seq_length 2 fails: InvalidArgumentError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

yzcjtr commented 5 years ago

Of course, the provided model was trained with seq_length as 5. You should train your own model with seq_length as 2.