Class DistanceSe3SymmetricSq

All Implemented Interfaces:
DistanceFromModelMultiView<Se3_F64,AssociatedPair>, DistanceFromModel<Se3_F64,AssociatedPair>

public class DistanceSe3SymmetricSq extends Object implements DistanceFromModelMultiView<Se3_F64,AssociatedPair>

Computes the error for a given camera motion from two calibrated views. First a point is triangulated in homogenous coordinates from the two views and the motion. Then the difference between the observed and projected point is found at each view. Error is normalized pixel difference squared.

error = Δx12 + Δy12 + Δx22 + Δy22

Homogenous coordinates are used so that pure/nearly pure rotation can be handled. Points will be at infinity.

Error units can be in either pixels2 or unit less (normalized pixel coordinates). To compute the error in pixels pass in the correct intrinsic calibration parameters in the constructor. Otherwise pass in fx=1.fy=1,skew=0 for normalized.

NOTE: If a point does not pass the positive depth constraint then a very large error is returned.

NOTE: The provided transform must be from the key frame into the current frame.