jmccormac / pySceneNetRGBD

Scripts showing how to work with the SceneNetRGBD dataset
GNU General Public License v3.0
178 stars 46 forks source link

Generating IMU Data #18

Closed arjunds closed 6 years ago

arjunds commented 6 years ago

Sorry I keep changing what this issue is about. I figured out how to generate ground truth using the python script, but in the paper for SceneNetRGBD it says that it has the ability to simulate IMU data, so how would I go about doing this?

Thanks!

jmccormac commented 6 years ago

Yes it is possible to simulate IMU readings from the dataset trajectories. In the paper this was alluded to as one of the benefits of an underlying physical trajectory model (namely that you have access to force vectors for second derivatives). Unfortunately as also mentioned these have not been generated for the currently released dataset, and there is no associated publicly available code which will do this for you directly as of now (only the code that generated the released dataset has been released). However if any IMU code is released in future I will make sure to update this issue accordingly, but a release is not currently in the works.

It will therefore be up to you to build upon the already provided trajectory generator to suit your needs. As a few pointers though, I will highlight some important points to note when directly calculating the IMU readings from the simulation as it stands. As described in the paper collisions basically just reverse the velocity and so have no corresponding force vector. Also, for the gyro readings instead of applying angular torques the rotation is hard-set with reference to a `look-at' point. To directly read out the second derivatives these part of the simulation would need to be tweaked to use forces and angular torques.

However a common an more flexible approach which can be taken which will avoid these problems is to fit splines after generating the trajectory. Although I have not used it myself, there does exist an open-source code-base here which may provide you with a starting point on generating your own ground-truth IMU readings from the trajectories. Even after getting these there a quite a few considerations for you that are dictated by your exact research, for example you would probably also want to design some sort of noise model to properly simulate the quality of IMU you are interested in etc.

arjunds commented 6 years ago

I will look into that, thanks a lot!