iat_SIFTflow computes the flows from SIFT-image SIM1 to SIFT-image SIM2 based on SIFTflow algorithm [1], which estimates dense correspondences from SIM1 to SIM2 in a coarse-to-fine manner (multi-resolution implementation). SIFT images are images whose pixels are SIFT descriptors [2]. The images are not necessarily of the same size.

Input arguments

SIM1 The target SIFT-image
SIM2 The source SIFT-image (that should be warped to reach the target)
PAR A struct with the following fields (parameters)

PAR.alpha:  the scale of the truncated L1-norm regularizer of flow discontinuity (default: 0.01)

PAR.d: the threshold of the truncated L1-norm (default: PAR.alpha*20)

PAR.gamma: the scale of the regularization on flow magnitude (L1 norm) (default: 0.001)

PAR.nlevels: the number of levels of the Gaussian pyramid (default:4)

PAR.topwsize: the size of the matching window at the top (coarsest) level (default: 10)

PAR.nTopIterations: the number of Belief-Propagation iterations at the top (coarsest) level (default: 100)

PAR.wsize: the size of the matching window at lower levels (default: 3)

PAR.nIterations: the number of BP iterations at lower levels (default: 40)

Output arguments

VX the horizontal components of flows (displacements)
VY the vertical components of flows
ENERGY a struct array with the minimum energy achieved per iteration per level.
ENERGY(i).data is a vector with PAR.nIterations elements when i<PAR.nlevels, and with PAR.nTopIterations
elements when i=PAR.nlevels.



[1] C. Liu, J. Yuen, A. Torralba: SIFT Flow: Dense Correspondence across Scenes and its Applications, IEEE Trans. on PAMI, vol. 33, no. 5, 2011
[2] D.G. Lowe, Distinctive image features from scale-invariant keypoints, Int. Journal on Computer Vision (IJCV), vol. 60, no. 2, 2004


Back to Index