The algorithm estimates an homography transform that maps matched source to destination 2D keypoints in a way that the overall reprojection error is minimized. It's often used in image registration pipelines where one image is to be aligned to a reference image by using the keypoint matches found in both images. When keypoints are VPIPyramidalKeypointF32 all keypoints with octave greater than zero are rescaled back to the base pyramid level at octave zero. The pyramid scale is considered to be 0.5.
The estimation is robust against bad keypoint matches. It uses a RANSAC pass to keep in an inlier set with all keypoint matches whose transform results in a bounded reprojection error, specified as a parameter.
By default the estimation works with 8 degrees of freedom (8DoF). To improve the convergence time and minimize the maximum reprojection error, the algorithm allows the user to constrain the problem by reducing the degrees of freedom, or imposing ranges on them. See VPIConstrainedHomography2DConfig for more details.
For list of limitations, constraints and backends that implement the algorithm, consult reference documentation of the following functions:
Function | Description |
---|---|
vpiInitTransformEstimatorParams | Initializes the VPITransformEstimatorParams with default values for a given transform type. |
vpiCreateTransformEstimator | Creates payload for vpiSubmitTransformEstimator. |
vpiSubmitTransformEstimator | Submits a Transform Estimator operation to the stream. |
For more information, please see Transform Estimator in the "C API Reference" section of VPI - Vision Programming Interface.
For information on how to use the performance table below, see Algorithm Performance Tables.
Before comparing measurements, consult Comparing Algorithm Elapsed Times.
For further information on how performance was benchmarked, see Performance Benchmark.