boofcv.alg.geo.pose
Class Relinearlize
- java.lang.Object
-
- boofcv.alg.geo.pose.Relinearlize
-
public class Relinearlize extends java.lang.ObjectUsed in case 4 of EPnP. See [1] for details. This technique appears to not be all that accurate in practice, but better than nothing. Or maybe there is a bug in the implementation below since even with perfect data it appears to generate large errors. One possible source of implementation error is that the entire null space is not being used. More of the null space (particularly in the planar case) could be used if more relinearization was run multiple times.
[1] Aviad Kipnis and Adi Shamir, "Cryptanalysis of HPE Public Key Cryptosystem" 1999
-
-
Constructor Summary
Constructors Constructor and Description Relinearlize()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidprocess(org.ejml.data.DenseMatrix64F L_full, org.ejml.data.DenseMatrix64F y, double[] betas)Estimates betas using relinearization.voidsetNumberControl(int numControl)Specified the number of control points.doublevalueNull(int which, int index)
-
-
-
Method Detail
-
setNumberControl
public void setNumberControl(int numControl)
Specified the number of control points.- Parameters:
numControl- 3 = planar, 4 = general
-
process
public void process(org.ejml.data.DenseMatrix64F L_full, org.ejml.data.DenseMatrix64F y, double[] betas)Estimates betas using relinearization.- Parameters:
L_full- Linear constraint matrixy- distances between world control pointsbetas- Estimated betas. Output.
-
valueNull
public double valueNull(int which, int index)
-
-
DataMelt 3.0 © DataMelt by jWork.ORG