VPI - Vision Programming Interface

3.0 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.

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

Performance benchmarks will be added at a later time.