M.-D. Hua, J. Trumpf, T. Hamel, R. Mahony, and P. Morin (2019). Feature-based Recursive Observer Design for Homography Estimation and its Application to Image Stabilization. Asian Journal of Control, Special Issue Recent Advances on Data Fusion, Estimation in Navigation and Control, pp. 1-16.
The library has been designed in a way that the various sub modules like feature extraction and detection, feature matching, nonlinear homography observer that are necessary in order to perform the homography estimation have been written in separate C++ classes. Therefore, the user can use these individual libraries as well to write their own custom code and thus save significant time and resources. The users have also been given the option to modify the default parameters of nonlinear homography observer, parameters related to image processing as well as the camera and IMU parameters to suit the needs of their application.
Positioning of the implemented algorithm with respect to state-of-the-art algorithms
Classical algorithms for homography estimation taken from the computer vision community consist in computing the homography on a frame-by-frame basis by solving algebraic constraints related to correspondences of image features (points, lines, conics, contours, etc.) , , , , . These algorithms, however, only consider the homography as an incidental variable and are not focused on improving (or filtering) the homography over time. The quality of the homography estimate obtained depends heavily on the number and quality of the data features used in the estimation as well as the algorithm employed. For a well-textured scene, the state-of-the-art methods can provide high quality homography estimates at the cost of significant computational effort (see  and references therein). For a scene with poor texture and consequently few reliable feature correspondences, existing homography estimation algorithms perform poorly. Robotic vehicle applications, however, provide temporal sequences of images and it seems natural to exploit the temporal correlation rather than try to compute individual raw homographies for each pair of frames. Nonlinear observers provide a relevant answer to that preoccupation.
In  a nonlinear observer for homography estimation was proposed based on the group structure of the set of homographies, the Special Linear group SL(3). This observer uses velocity information to interpolate across a sequence of images and improve the individual homography estimates. However, the observer proposed in  still requires individual image homographies to be algebraically computed for each image, which are then smoothed using filtering techniques. Although such an approach provides improved homography estimates, it comes at the cost of running both a classical homography algorithm as well as the temporal filter algorithm, and only functions if each pair of images has sufficient data available to compute a raw homography.
In order to overcome the above drawbacks, in our recent work ,  the question of deriving an observer for a sequence of image homographies that takes image point-feature correspondences directly as input in the design of observer innovation has been considered. This saves considerable computational resources and makes the proposed algorithm suitable for embedded systems with simple point detection and matching software. In contrast with algebraic techniques, the algorithm is well posed even when there is insufficient data for full reconstruction of a homography. For example, if the number of corresponding points between two images drops below four it is impossible to algebraically reconstruct an image homography and the existing algorithms fail . In such situations, the proposed observer will continue to operate by incorporating available information and relying on propagation of prior estimates. Finally, even if a homography can be reconstructed from a small set of feature correspondences, the estimate is often unreliable and the associated error is difficult to characterize. The proposed algorithm integrates information from a sequence of images, and noise in the individual feature correspondences is filtered through the natural low-pass response of the observer, resulting in a highly robust estimate. As a result, we believe that the proposed observer is ideally suited for homography estimation based on small windows of image data associated with specific planar objects in a scene, poorly textured scenes, and real-time implementation; all of which are characteristic of requirements for homography estimation in robotic vehicle applications.
 A. Agarwal, C.V. Jawahar, and P.J. Narayanan. A survey of planar homography estimation techniques. Technical Report IIIT/TR/2005/12, IIIT, India, 2005.
 F. Caballero, L. Merino, J. Ferruz, and A. Ollero. Homography based Kalman filter for mosaic building. applications to UAV position estimation. In IEEE International Conference on Robotics and Automation (ICRA), pages 2004–2009, 2007.
 C. Conomis. Conics-based homography estimation from invariant points and pole-polar relationships. In IEEE Third Int. Symp. on 3D Data Processing, Visualization, and Transmission, pages 908–915, 2006.
 H. de Plinval, P. Morin, and P. Mouyon. Stabilization of a class of underactuated vehicles with uncertain position measurements and application to visual servoing. Automatica, 77:155–169, 2017.
 T. Hamel, R. Mahony, J. Trumpf, P. Morin, and M.-D. Hua. Homography estimation on the special linear group based on direct point correspondence. In IEEE Conference on Decision and Control (CDC), pages 7902–7908, 2011.
 R. Hartley and A. Zisserman. Multiple View Geomerty in Computer Vision. Cambridge University Press, second edition, 2003.
 M.-D. Hua, J. Trumpf, T. Hamel, R. Mahony, and P. Morin. Feature-based Recursive Observer Design for Homography Estimation and its Application to Image Stabilization. Asian Journal of Control, Special Issue “Recent Advances on Data Fusion, Estimation in Navigation and Control”, 1-16, 2019.
 P.K. Jain. Homography estimation from planar contours. In IEEE Third Int. Symp. on 3D Data Processing, Visualization, and Transmission, pages 877–884, 2006.
 J.Y. Kaminski and A. Shashua. Multiple view geometry of general algebraic curves. Int. J. of Computer Vision, 56(3):195–219, 2004.
 S. Krupinski, G. Allibert, M.-D. Hua, and T. Hamel. An inertial-aided homography-based visual servo control approach for (almost) fully actuated autonomous underwater vehicles. IEEE Transactions on Robotics, 33(5):1041–1060, 2017.
 R. Mahony, T. Hamel, P. Morin, and E. Malis. Nonlinear complementary filters on the special linear group. International Journal of Control, 85(10):1557–1573, 2012.
 E. Malis, F. Chaumette, and S. Boudet. 2-1/2-d visual servoing. IEEE Transactions on Robotics and Automation, 15(2):238–250, 1999.
 C. Mei, S. Benhimane, E. Malis, and P. Rives. Efficient homography-based tracking and 3-d reconstruction for single-viewpoint sensors. IEEE Transactions on Robotics, 24(6):1352–1364, 2008.
 L.-H. Nguyen, M.-D. Hua, G. Allibert, and T. Hamel. Inertial-aided homography-based visual servo control of autonomous underwater vehicles without linear velocity measurements. In 21st International Conference on System Theory, Control and Computing (ICSTCC), pages 9–16, 2017.
 O. Saurer, P. Vasseur, R. Boutteau, C. Demonceaux, M. Pollefeys, and F. Fraundorfer. Homography based egomotion estimation with a common direction. IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(2):327–341, 2017.
 D. Scaramuzza and R. Siegwart. Appearance-guided monocular omnidirectional visual odometry for outdoor ground vehicles. IEEE Transactions on Robotics, 24(5):1015–1026, 2008.