| Features2dRegistrationResult = | greySignedFeatures2dRegistration (inGreySignatures2d1,inGreySignatures2d2) |
| Features2dRegistrationResult = | greySignedFeatures2dRegistration (inGreySignatures2d1,inGreySignatures2d2,inRegMotionModel2d,inCorrelationThreshold2d,inOptRegistrationEstimationConfig) |
algorithm allowing registration of features 2d associated to grey signature
This algorithm allows automatic computation of a motion transform linking two sets of grey signed features 2d.
This algorithm is composed of two main phasis.
During this phasis, features from first input collection
are associated to features from second collection
. We consider this assignment problem of two sets of input grey signed features 2d as a weighted bipartite assignment problem using correlation of feature signatures as distance. Parameter
allows to exclude pairs with low correlation value.
Robust motion transform computation is by default based on a least median of squares regression technique. This allows to detect and remove outliers formed during pairing phasis. Note that this specific algorithm make the assuption of an outlier ratio lower than 50% (use RANSAC like algorithm to avoid this limitation). Parameter
allows to customize behavior of this phasis. See Parametric estimation for more informations on this stage.
Type of computed transformation is controled by
parameter.
On output algorithm returned a registration result composed of :
a scale factor computed in similarity case (ie. ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Similarity) and equal to 1 in rigid case (ie. ipsdk::imaproc::attr::eRegistrationMotionModel2d::eRMM2d_Rigid).
a rotation matrix, see Rotations 2d.
a translation vector
homogeneous coordinates associated to point 
a 3x3 matrix
Structure agregating indicators should be carefully analyzed by user to check reliability of computed results. Here are some clues to avoid classical pits in robust estimation :
Here is an example of usage of this algorithm in case of rigid transform computation :
In this case, user can see that we provide two input collections of grey signed features with 100 elements for each. Given used correlation threshold (set to 0.95 in this case), only 13 made pairs are keeped (blue points stands for rejected data during pairing phasis).
This allows a robust computation of rigid transformation which detects 3 outliers in input collections (red points) leaving 10 inliers (green points linked between images).
On output algorithm estimates a root mean square of residuals equal to 1.38 pixels which grants a good estimation of transformation.