public class TrifocalAlgebraicPoint7 extends TrifocalLinearPoint7
Initially computes the trifocal tensor using the linear method TrifocalLinearPoint7, but
then iteratively refines the solution to minimize algebraic error by adjusting the two epipoles.
The solution will enforce all the constraints and be geometrically valid. See page 395 in [1].
References:
A, e2, e3, enforce, extractEpipoles, N1, N2, N3, p1_norm, p2_norm, p3_norm, solutionN, svdNull, vectorizedSolution| Constructor and Description |
|---|
TrifocalAlgebraicPoint7(org.ddogleg.optimization.UnconstrainedLeastSquares optimizer,
int maxIterations,
double ftol,
double gtol)
Configures optimization algorithms
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
process(java.util.List<AssociatedTriple> observations,
TrifocalTensor solution)
Estimates the trifocal tensor given the set of observations
|
createLinearSystem, removeNormalization, solveLinearSystempublic TrifocalAlgebraicPoint7(org.ddogleg.optimization.UnconstrainedLeastSquares optimizer,
int maxIterations,
double ftol,
double gtol)
optimizer - Which least squares minimizer should be used.maxIterations - Maximum number of iterations it will optimize forftol - Convergence tolerance. See UnconstrainedLeastSquares for details.gtol - Convergence tolerance. See UnconstrainedLeastSquares for details.public boolean process(java.util.List<AssociatedTriple> observations, TrifocalTensor solution)
TrifocalLinearPoint7process in class TrifocalLinearPoint7observations - Set of observationssolution - Output: Where the solution is written to