Code Monkey home page Code Monkey logo

widebaselinefeaturematcher_pami's Introduction

WideBaselineFeatureMatcher_PAMI

New: We have just released the libraries for wide baseline feature matcher, check them out under GitHub release tag and find header files along with examples under CODE-LIB folder !!

(1) How to run the program
The .exe file contained in this repo was compiled under Windows7 64bit using Microsoft Visual Studio 2010 and nvcc of CUDA 7.0. In order to run the .exe file, you need first to download and install CUDA 7.0. The program can only be ran under Windows system at this time and an Nvidia card supporting CUDA is also a necessity.

(2) How to use the program

  • executing the CODE.exe from commandline without any parameters will display all parameter options
  • "-sift" will perform affine-sift feature detection. The program takes either a .txt file containing full paths to images or a full path to an image. Currently, .png, .jpg, .tif, and .bmp are supported. Example: C:/CODE -sift C:/image_list.txt
  • "-mach" will do matching on two .sift files, and two full paths to .sift files are used as inputs. A temporary .mat binary matching file will be output in the same folder as two .sift files. Example: C:/CODE -mach -indb C:/Image1.sift -inqy C:/Image2.sift
  • "-blat" will do the filtering and output filtered matches assuming that you've already got the .mat file and two .sift files in the folder. It still takes two .sift files as inputs and assume that the .mat file is in the same folder. Example: C:/CODE -blat -indb C:/Image1.sift -inqy C:/Image2.sift
  • "-mach" + "-blat" will perform the previous two steps altogether. The output is the filtered matchings which is a .txt file. The temporary .mat file will not be generated. Example: C:/CODE -mach -blat -indb C:/Image1.sift -inqy C:/Image2.sift
  • "-pwis" will take a .txt file as input and perform full matching between all pairs of images in the input list. Assuming image_list.txt is as follows:
    C:/Image1.png
    C:/Image2.png
    C:/Image3.png
    The program will do the matching in this order: (Image1.png, Image2.png), (Image1.png, Image3.png), and (Image2.png, Image3.png).
    Example: C:/CODE -pwis -indb C:/image_list.txt
  • "-full" will take two .txt files as inputs and perform full matching between every image in the first list and every image in the second list. Example: C:/CODE -full -indb C:/image_list1.txt -inqy C:/image_list2.txt
  • "-srdy" can be used in combination with "-pwis" or "-full". This option tells program that you've had the .sift files ready in the same folder with the images listed in the .txt file. Example: C:/CODE -pwis -srdy -indb C:/image_list.txt
  • "-stpt" can be used in combination with "pwis". In case an all pair matching is interrupted in the middle of execution, this option tells the program to restart from wherever it stops. Example: C:/CODE -pwis -srdy -stpt 5 -indb C:/image_list.txt
  • "-disp" enable display function in the program. It displays matchings as points and connecting lines. Example: C:/CODE -pwis -indb C:/CODE/image_list.txt -disp
  • "-noaf" means no affine. It turns off the affine simulation during sift detection and performs the standard sift feature detection only. Example: C:/CODE -sift -noaf -indb C:/image_list.txt
  • "-inqy" can be a .txt file containing query images or a path to a single image. The image(s) immediately following this parameter will be used as query (on the left).
  • "-indb" can be a .txt file containing compare images or a path to a single image. The image(s) immediately following this parameter will be used as compare (on the right). Note that most operations listed above accept only one input, in this case, only parameter immediately after "-indb" is used as input
  • "-rept" turns on the full timing report. Example: C:/CODE -pwis C:/image_list.txt -rept
  • "-nmal" tells the program that you do not want the VSFM compatible matches, you just need normal matching ouput. Example: C:/CODE -pwis -indb C:/image_list.txt -nmal

(3) Compatibility with VisualSFM
The default outputs from this program including .sift and matchings.txt are all VSFM compatible. You can directly feed the outputs from the program to VSFM without any trouble. You may notice that there is also a file called .aux. These files store the information about affine and must be put in the same folder as .sift files.

(4) Parameter tuning
We have two sets of parameters ready for tuning: sift feature detection and bilateral function. You can find bilateral_settings.txt and siftParam_settings.txt in the unzipped folder.
siftParam_settings.txt

The parameters inside bilateral_settings.txt are currently not recommended for tuning. Further instructions will be coming soon.

widebaselinefeaturematcher_pami's People

Contributors

seravee08 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.