Package boofcv.alg.geo.pose
Class PositionFromPairLinear2
java.lang.Object
boofcv.alg.geo.pose.PositionFromPairLinear2
Given two views of N objects and the known rotation, estimate the translation. A linear system is constructed from the equations below and solved for. A minimum of two point observations is required since rotation is already known. This high level characteristics of this algorithm was stated in [1], but the mathematics were not described or sketched.
Derivation:
λx = R*X + T 0 = hat(x)*R*X + hat(x)*T hat(x)*T = -hat(x)*R*Xwhere hat(x) is the cross product matrix of the homogeneous (x,y,1) vector, R is a rotation matrix, T is the known translation, and X is the known point in 3D.
[1] Tardif, J.-P., Pavlidis, Y., and Daniilidis, K. "Monocular visual odometry in urban environments using an omnidirectional camera," IROS 2008
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetT()
boolean
process
(DMatrixRMaj R, List<Point3D_F64> worldPts, List<Point2D_F64> observed) Computes the translation given two or more feature observations and the known rotation
-
Constructor Details
-
PositionFromPairLinear2
public PositionFromPairLinear2()
-
-
Method Details
-
process
Computes the translation given two or more feature observations and the known rotation- Parameters:
R
- Rotation matrix. World to view.worldPts
- Location of features in world coordinates.observed
- Observations of point in current view. Normalized coordinates.- Returns:
- true if it succeeded.
-
getT
-