Coder Social home page Coder Social logo

fengyunxuan / liff Goto Github PK

View Code? Open in Web Editor NEW

This project forked from doda42/liff

0.0 0.0 0.0 4.73 MB

LiFF Light Field Feature Toolbox

License: Other

Shell 0.08% Python 3.17% C 60.90% MATLAB 24.06% M 0.06% CSS 1.35% TeX 0.28% Clean 0.28% Makefile 2.89% HTML 6.46% Roff 0.46%

liff's Introduction

LiFF Light Field Feature Toolbox
Copyright (C) 2019, Donald G. Dansereau

This is an implementation of the light field feature detector and descriptor from the paper:

[1] D. G. Dansereau, B. Girod, and G. Wetzstein, β€œLiFF: Light field features in scale and depth,” in Computer Vision and Pattern Recognition (CVPR), 2019. Paper and supplemental information are at https://roboticimaging.org/Tools/LiFF/.

The functionality closely mirrors the SIFT feature detector and descriptor, but exploits information in the light field to deliver more robust and informative features. This works by searching for features with well-defined scale, as in SIFT, but also with well-defined depth, which manifest as slope in the light field. This rejects more spurious features, detects partially occluded features, and builds descriptors with greater immunity to partial occlusions, noise, and higher-order light transport effects. It also delivers a per-feature depth (slope) estimate.

Presently the toolbox is written for and comes with precompiled binaries for use from within MATLAB. If there's a demand this can be extended for use from C and Python. Usage closely mirrors the VLFeat Library, and much of the extensive documentation and tutorial material for SIFT features at http://www.vlfeat.org/ also applies to LiFF.


---Getting started---
Clone the repo from https://github.com/doda42/LiFF*
Download the sample light fields https://dgd.vision/Tools/LiFF and extract into the SampleScenes folder
cd into the LiFF folder
run LiFF_DemoSimple

*On Linux systems you need to tell ldconfig where to find libvl.so. One way to do this is to add the following to .bashrc, changing <path to LiFF> appropriately:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/<path to LiFF>/lib/vlfeat-0.9.21/toolbox/mex/mexa64/

When calling from your own code it's convenient to add LiFF to the MATLAB path; you can do this manually, or by running the convenience function LiFF_PathSetup.


---Key files---
LiFF_PathSetup.m: add the LiFF light field feature toolbox to MATLAB's path -- it may be convenient to add this to your startup.m file

LiFF_ExtractFeatures.m: the main function for detecting and describing features, similar in usage to VL_SIFT

LiFF_DemoSimple.m: simple usage example

LiFF_DemoColMapOut.m: A more complex example including output for use with the COLMAP structure-from-motion tool, and manual control over feature detection parameters

LiFF_DemoFocalStack.m: Demonstrates use of the LiFF focal stack implementation


---Building---
The release includes prebuilt binaries for Windows and Linux, and the demo should run out of the box.

To rebuild the mex binary files from source, use the make_*.m scripts.


---Resources---
Further example light fields are available at lightfields.stanford.edu.

Additional tools for working with light field fields are available at github.com/doda42/LFToolbox.


---Contributing / Feedback---
Suggestions, bug reports, code improvements and new functionality are welcome -- email Donald.Dansereau+LFToolbox {at} gmail dot com.


---Acknowledgements---
Based on code from the VLFeat library v0.9.21
Copyright (C) 2007-11, Andrea Vedaldi and Brian Fulkerson
Copyright (C) 2012-13, The VLFeat Team
See COPYING.txt


---Citing---
The appropriate citation for LiFF light field features is:

@inproceedings{dansereau2019liff,
  author = {Donald G. Dansereau and Bernd Girod and Gordon Wetzstein},
  title = {{LiFF}: Light Field Features in Scale and Depth},
  booktitle = {Computer Vision and Pattern Recognition ({CVPR})},
  year = {2019},
  month = jun,
  organization={IEEE}
}




liff's People

Contributors

doda42 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.