OpenSfM icon indicating copy to clipboard operation
OpenSfM copied to clipboard

the question about reconstruction.json

Open Jackeyzhou2 opened this issue 3 years ago • 1 comments

Hello, what is the physical meaning of rotation and translation in the reconstruction.json? I don't quite understand what you mean about the estimated rotation and estimated translation as angle axis vector. Thank you for your reply!!

Jackeyzhou2 avatar Oct 24 '21 15:10 Jackeyzhou2

Hi @Jackeyzhou2 ,

The rotation and translation is relative to the reference. For all reconstructions we compute a reference (typically the mean over all GPS positions) that is considered as the (0,0,0) position for the local reference system. For the berlin dataset, we have the reconstruction_example.json: https://github.com/mapillary/OpenSfM/blob/a0e99cd59680306eefb359e5fdd53abda4d39bed/data/berlin/reconstruction_example.json#L17361-L17365 with the reference given as latitude, longitude and altitude.

Since we have 6 degrees of freedom (DOF), where 3 DOF come from the rotation and 3 DOF from the translation. A rotation is typically a 3x3 rotation matrix but we convert it into its minimal representation as 3x1 axis angle vector. The translation adds another 3 DOF and is also a 3x1 vector.

If you want to learn more you can also check out the code, where we use reference, rotation and translation.

You can also take a look at how the viewer handles the reference and the poses.

Best, Fabian

fabianschenk avatar Oct 27 '21 14:10 fabianschenk