-
Notifications
You must be signed in to change notification settings - Fork 23
Automatic Homographic Registration of a Pair of Images, with A Contrario Elimination of Outliers IPOL 2012. http://www.ipol.im/pub/art/2012/mmm-oh/
License
Unknown, LGPL-3.0 licenses found
Licenses found
Unknown
LICENSE.txt
LGPL-3.0
license_LGPL.txt
pmoulon/IPOL_AC_RANSAC
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ORSA - A RANSAC variant with a contrario elimination of outliers Lionel Moisan [email protected] MAP5, Universite Paris Descartes Pierre Moulon [email protected] IMAGINE/LIGM, Universite Paris Est Pascal Monasse [email protected] IMAGINE/LIGM, Universite Paris Est The generic framework is applied to two model estimations (IPOL publications): - homography matrix (https://doi.org/10.5201/ipol.2012.mmm-oh) - fundamental matrix (https://doi.org/10.5201/ipol.2016.147) Future releases and updates: http://imagine.enpc.fr/~moulonp/AC_Ransac.html - Description: This provides a variant, called ORSA, of the well known RANSAC method for model parameter estimation. It is based on an a contrario criterion of inlier/outlier discrimination, is parameter free and relies on an optimized random sampling procedure. - Licensing: See LICENSE.txt file - Build, usage: See BUILD.txt file. - Reviewed files in IPOL: src/libOrsa/libNumerics/cubicRoots.h src/libOrsa/sampling.{hpp,cpp} src/libOrsa/model_estimator.{hpp,cpp} src/libOrsa/homography_model.{hpp,cpp} src/libOrsa/fundamental_model.{hpp.cpp} src/libOrsa/eval_model.{hpp,cpp} src/demo/demo_orsa_homography.cpp src/demo/demo_orsa_fundamental.cpp src/demo/homography_graphical_output.{hpp,cpp} src/demo/fundamental_graphical_output.{hpp,cpp} src/demo/put_epipolar.cpp src/demo/Rect.{hpp,cpp} - The SIFT algorithm used by the demo is based on sift_anatomy_20141201 from the article Ives Rey Otero, and Mauricio Delbracio, Anatomy of the SIFT Method, Image Processing On Line, 4 (2014), pp. 370–396. https://doi.org/10.5201/ipol.2014.82 - Reusing the libOrsa library: This library itself is self-contained and has no external dependencies. To reuse it in your own program, just copy the folder along with its sub-folder libNumerics in your program. You may need to remove the UNIT_TEST instructions in the CMakeLists.txt files if you do not want to take along the third-party CppUnitLite. The simplest usage is through the function - Homography: bool orsa_homography(const std::vector<Match>& vec_matchings, int w1,int h1, int w2,int h2, double precision, int nbIter, libNumerics::matrix<double>& H, std::vector<int>& vec_inliers); A lower-level function, just applying ORSA with no refinement: HomographyModel model(xA, w1, h1, xB, w2, h2); Orsa orsa(&model, M_PI/(w1*h1), M_PI/(w2*h2)); orsa.run(vec_inliers, 10000, 0, &H); - Fundamental: bool orsa_fundamental(const std::vector<Match>& vec_matchings, int w1,int h1, int w2,int h2, double precision, int nbIter, libNumerics::matrix<double>& F, std::vector<int>& vec_inliers); A lower-level function, just applying ORSA with no refinement: FundamentalModel model(xA, w1, h1, xB, w2, h2); Orsa orsa(&model, 2*hypot(w1,h1)/(w1*h1), 2*hypot(w2,h2)/(w2*h2)); orsa.run(vec_inliers, 10000, 0, &F);
About
Automatic Homographic Registration of a Pair of Images, with A Contrario Elimination of Outliers IPOL 2012. http://www.ipol.im/pub/art/2012/mmm-oh/
Resources
License
Unknown, LGPL-3.0 licenses found
Licenses found
Unknown
LICENSE.txt
LGPL-3.0
license_LGPL.txt
Stars
Watchers
Forks
Packages 0
No packages published