Skip to content

feature match sieve_v0.2

Nils Hamel edited this page Sep 24, 2015 · 3 revisions

Overview

The feature-match-sieve software provides basic sieves for matches filtering. Its use is specifically designed for cases where no filtering based on camera poses can be performed.

The proposed sieves are fully based on the matches list, without any other external parameters. Statistical, threshold and dichotomous sieves are available and detailed below.

Usage

The feature-match-sieve software expect the following parameters. Starting with the stream parameters :

--input -i

Path of the input matches file.

--output -o

Path of the output matches file.

Sieve parameters :

--strength -s, --minimum -m, --maximum -a

Sieve parameters. See below for their usage.

Software switch for sieve selection :

--stat-dist -r

Performs statistical filtering based on matches disparity value.
Matches that have a disparity bigger the the standard deviation
times --strenght are removed.

--thre-dist -t

Performs a threshold filtering based on matches disparity value. 
Matches that have a disparity outside of the range defined by 
--minimum and --maximum are removed.

--stat-disp -d

Performs a statistical filtering based on both x and y 
components of the matches disparity. Matches that have one or
both components bigger than their own standard deviation times
--strength parameter are removed.

--stat-flow -f

Performs the same statistical filtering than --stat-disp, but
considering normalised disparity values. The normalisation is
simply achieved by dividing each component by the norm and
--strenght parameter is used the same way as for --stat-disp
sieve.

--dich-slop -l

Performs a dichotomous filtering based on matches disparity
slope. The matches that have the same slope as the statistically
most represented one are kept.

Demonstration

Considering the two rectilinear images extracted from panoramas taken with the Eyesis4Pi camera in Geneva :

 

and assuming information on camera poses are unknown, the SIFT keypoint generator and Flann keypoint matcher (OpenCV implementation) are used to extract matches between the two images. The left image below shows the raw matches provided by the SIFT and Flann algorithms. Using four passes of statistical disparity sieve (--stat-dist) with --strength parameter at 0.5 and a dichotomous sieve (--dich-slop), the matches are filtered. The remaining matches are drawn on the right image below :

 

Repeating the same operation using SURF instead of SIFT, the left image below shows the raw matches and the right one shows the matches that passed the successive sieves :

 

One has to keep in mind that matches filtering without any information on camera poses is a difficult task. Usually, to obtain satisfying results, many sieve passes are necessary. Moreover, sieve parameters are usually function of images.

The four last images are generated using the feature-match-view software.

Compilation

The software binary can be build using its specific makefile by simply typing in its base directory :

$ make clean && make build [OPENMP=false]

The binary is placed in the local bin directory and is not copied in the main bin directory. To generate the documentation, use the command :

$ make clean-documentation && make documentation

To install or uninstall the binaries on the local computer, use the commands :

# make install
# make uninstall

  [Home](home)

  Section : image transformation

  Section : image keypoints

  Section : image matches

  Section : file operations

  Section : file standards

  • [Feature file standard](Feature file standard_v0.2)

  Development : logs


Clone this wiki locally