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.

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