Giter Club home page Giter Club logo

densecorrespondences's Introduction

DenseCorrespodences

alt text

Created by Yuval Nirkin.

nirkin.com

Introduction

The objective of this project was to apply SIFT-flow into 3D reconstruction. The SIFT-flow and scale propagation algorithms were integrated into an existing 3D reconstruction pipeline, provided by OpenMVG. Part of the SIFT-flow code was available in C++ and the rest had to be converted from Matlab, in order to be fitted in the pipeline and for better performance.

If you find this code useful, please add reference to the following papers in your work:

[1] M. Tau and T. Hassner, Dense Correspondences Across Scenes and Scales. IEEE Trans. Pattern Anal. Mach. Intell. (TPAMI) 38(5): 875-888 (2016)

[2] C. Liu, J. Yuen, and A. Torralba, “SIFT flow: Dense correspondence across scenes and its applications,” Trans. Pattern Anal. Mach. Intell., vol. 33, no. 5, pp. 978–994, 2011.

For more information, please see project page for scale propagation here: http://www.openu.ac.il/home/hassner/projects/scalemaps/

The 3D Reconstruction Pipeline

The pipeline is based on OpenMVG’s pipeline and includes the following modules:

  1. Sparse matching – Matching all possible image pairs using SIFT descriptors on sparse keypoints.
  2. Dense matching – Matching all possible image pairs using SIFT images.
    • For each image pair find their scale maps using the matched sparse SIFT descriptor’s scales as seed.
    • Calculate the SIFT images of each image pair using their scale maps.
    • Do 2-sided SIFT-flow for every image pair and save pixel pairs that moved to each other as matches.
    • Optionally filter matches from pixels that are in textureless regions.
    • Apply geometric filtering. Using RANSAC on the matches of each image pair to find the corresponding Fundamental Matrix. A pair of matching points that is too far from the corresponding epipolar lines are than filtered out.
  3. Incremental SfM – Calculate the camera’s 3D poses and the scene’s 3D point cloud from the image matches.

Dependencies

  1. OpenMVG
  2. Boost
  3. OpenCV
  4. Eigen

Citations

  1. Adaptive structure from motion with a contrario model estimation. Pierre Moulon, Pascal Monasse, and Renaud Marlet. In ACCV, 2012.
  2. C. Liu, J. Yuen, and A. Torralba, “SIFT flow: Dense correspondence across scenes and its applications,” Trans. Pattern Anal. Mach. Intell., vol. 33, no. 5, pp. 978–994, 2011.
  3. M. Tau and T. Hassner, Dense Correspondences Across Scenes and Scales. IEEE Trans. Pattern Anal. Mach. Intell. (TPAMI) 38(5): 875-888 (2016)

Results

OpenMVG 3D reconstruction sparse vs dense

densecorrespondences's People

Contributors

talhassner avatar yuvalnirkin avatar

Watchers

 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.