Tutorials - LIOP

This tutorial gives an overview of the vl_liop VLFeat command implementing a Local Intensity Order Pattern (LIOP) feature descriptor. The function computes descriptor as proposed in [1]

The LIOP computation is described in API fundamental page for LIOP

LIOP descriptor computation

The liop descriptor can be computed from a patch. The patch has to be a square matrix of an odd side length.

[descr] = vl_covdet(patch) ;

You can add verbose if you wish to see the parametr and descriptor details

[descr] = vl_covdet(patch,'verbose') ;

This will use default parameters which are:

  • Number of neighburs [4]
  • Number of bins [6]
  • Radius (between a point and its neighbours) [6]
  • Weighting threshold [5]

Please note that the patch side length a has to be long enough with respect to the radius r between a point and its neighbours. The image below explains which pixels of the patch are taken for descriptor computation.

Descriptor computation from a patch

Only points belonging to the area of the inner circle will be used for descriptor computation as sample points. The points from the outer area will contribute only as neighbouring points.

Additional settings

You can easily change all parameters listed above.

[descr] = vl_covdet(patch,'neighbours',3,'OPTION',value) ;

The options are:

  • Neighbours set the number of neighburs
  • 'Bins' set the number of bins
  • 'Radius' set the distance between a point and its neighbours
  • 'WeightThreshold' set the threshold of how big must be the difference between neighbours intensities to increase weight of the particular permutation

References

  • [1] Z. Wang, B. Fan and F. Wu. Local Intensity Order Pattern for Feature Description. In ICCV, 2011