Class EssentialNister5
- java.lang.Object
-
- boofcv.alg.geo.f.EssentialNister5
-
public class EssentialNister5 extends java.lang.ObjectFinds the essential matrix given exactly 5 corresponding points. The approach is described in details in [1] and works by linearlizing the problem then solving for the roots in a polynomial. It is considered one of the fastest and most stable solutions for the 5-point problem.
THIS IMPLEMENTATION DOES NOT CONTAIN ALL THE OPTIMIZATIONS OUTLIED IN [1]. A full implementation is quite involved. Example: SVD instead of the proposed QR factorization.
NOTE: This solution could be generalized for an arbitrary number of points. However, it would complicate the algorithm even more and isn't considered to be worth the effort.
[1] David Nister "An Efficient Solution to the Five-Point Relative Pose Problem" Pattern Analysis and Machine Intelligence, 2004
-
-
Constructor Summary
Constructors Constructor and Description EssentialNister5()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanprocess(java.util.List<AssociatedPair> points, FastQueue<org.ejml.data.DenseMatrix64F> solutions)Computes the essential matrix from point correspondences.
-
-
-
Method Detail
-
process
public boolean process(java.util.List<AssociatedPair> points, FastQueue<org.ejml.data.DenseMatrix64F> solutions)
Computes the essential matrix from point correspondences.- Parameters:
points- Input: List of points correspondences in normalized image coordinatessolutions- Output: Storage for the found solutions. .- Returns:
- true for success or false if a fault has been detected
-
-
DataMelt 3.0 © DataMelt by jWork.ORG