AbeLiuXL / se3comp_pytorch

SE3 composition layer of VINet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This PyTorch SE3 composition layer implementation is being inspired by Torch gvnn .
Thanks for the advice from Ankur Handa @ankurhanda (https://github.com/ankurhanda)(The author of gvnn).

Please cite

@misc{JackyLiuSE3comp18,
  author = {Tse-An (Jacky) Liu},
  doi = {10.5281/zenodo.1304166},
  title = {se3comp pytorch},
  year = {2018},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/HTLife/se3comp_pytorch}}
}

SE3 composition layer

Purpose: Compose global pose Tg with related pose xi

  • Tg is a SE3 pose represented with 7 parameters (x, y, z, ww, wx, wy, wz)
  • xi is a se3 pose represented with 6 parameters (rho1, rho2, rho3, omega_x, omega_y, omega_z)
  • Tutorial of lie group SE3: http://ethaneade.com/lie.pdf

Txi: 4x4 Matrix of the exponential mapping of xi (lie.pdf Eqation.84) Tg_matrix: Tg represented in matrix form T_composed: The pose calculated by matrix multiplication of Txi and Tg_matrix

T_composed = Txi (dot) Tg_matrix

Some implementation story

In VINet[1], the author described a important structure called SE3 composition layer (Figure.2 in VINet). However, they do not describe this structure in detail. I found some related statement in [2] page.9(which is a journal paper from the same advisor). In this journal paper, I found that gvnn[3] might be their reference of implementing SE3 composition layer.

Unfortunately, the source code of gvnn is written by torch-lua. After taking the kind advice from Ankur Handa, I finished implementing this PyTorch SE3 composition layer.

Reference

  • [1] R.Clark, S.Wang, H.Wen, A.Markham, andN.Trigoni, “VINet: Visual-Inertial Odometry as a Sequence-to-Sequence Learning Problem,” pp. 3995–4001, 2017.
  • [2] S.Wang, R.Clark, H.Wen, andN.Trigoni, “End-to-end, sequence-to-sequence probabilistic visual odometry through deep neural networks,” Int. J. Rob. Res., 2017.
  • [3] A.Handa, M.Bloesch, V.Pătrăucean, S.Stent, J.McCormac, andA.Davison, “Gvnn: Neural network library for geometric computer vision,” Lect. Notes Comput. Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 9915 LNCS, pp. 67–82, 2016.

About

SE3 composition layer of VINet

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 67.6%Language:Python 32.4%