VPI - Vision Programming Interface

3.2 Release

Transform Estimator

Overview

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.

Implementation

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.

C API functions

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.

Performance

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.

 -