-
Notifications
You must be signed in to change notification settings - Fork 243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert pose sequence to trajectory #36
Comments
We are planning to add pose evaluation support in one of our next releases, so please stay tuned! |
Maybe this is helpful. Here is a script for the pose inference from given a folder with images: The pose_net return 6 numbers. 3 are translations and the last 3 are euler angles. I am not 100% sure about the convention of te angles used in the trained checkpoint file but I think this is correct. If somebody could verify this, I am happy to make a PR for this. |
@cbaus - thanks. i tested your script on my own data and it seems to be working OK. you can see that the overall path looks the same but for some reason there's a factor of ~2 between the estimation i get from the network to the actual path. another thing - i also tried replacing your thanks to you both |
This looks pretty good! I am a little tight on deadlines right now, but will check @cbaus's fork as soon as possible, so we can perhaps PR it to master, that would be a great contribution! @iariav Are you training a self-supervised model? If that is the case they will be unscaled, that might be the reason behind this factor. |
Hi, |
another follow-up on that please -
does this have something to do with how you scale the depth information, and thus if i scale it differently i should also multiply the output by a different factor? thanks |
That's from the original PoseNet implementation. To my knowledge, this is included so initial pose estimates are small enough to not produce empty synthesized images in the first stages of training. |
I also noticed that I need to apply a scale factor a bit more than 2 to get the right pose. In another similar version, there is a factor of 0.1 multiplied to it (see here). My guess is that the 0.1 or 0.01 factor doesn't matter because it also has this factor during training and inference. Maybe @ClementPinard could help out with an explanation? Thank you. PS I also opened the PR as a draft. |
@VitorGuizilini-TRI and @cbaus are right. This is just for training stability, especially at the beginning, where no depth or pose makes sense. The important thing is to keep the same throughout the whole training and testing. This factor can also be mitigated with the network initialization. If you manage to get a normalized network with e.g. kaiming initialization, you already have a grasp of what distribution the random output of the untrained posenet will follow and you can change the factor accordingly. For my repo, I made a higher scale so that the gradient of my network weights would be higher. and I could afford the unstability at startup that it triggered. I could have just changed the learning rate parameter though. |
Congratulation for the great work and thanks for providing this well documented code! Also, thank you @cbaus for kindly sharing the useful script for pose inference. I supposed that translation vector should be implemented before rotation, which can be written as follows:
Look forward to your reply and thank you for your time! |
Hi, please correct me if I'm wrong, but I think you are only taking the pose transformation from image t-1 to t and ignore the pose transformation from t to t+1: So, if you have e.g. images [0, 1, 2, 3, 4, 5] you would only keep the following pose transformations: [0->1, 2->3, 4->5] That would explain why the qualitative output still looks reasonable, but you are off by a factor of 2. |
Hi,
Can you please share the code you used in one of your experiments for constructing the traversed route from the sequence of pose estimations?
For some reason I’m having trouble with that..
Thanks!
The text was updated successfully, but these errors were encountered: