Skip to content

erik-nelson/berkeley_sfm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status License

Berkeley SfM is a structure from motion library created to explore new solutions to challenging 3D reconstruction problems (large scale, indoors, incremental, homogeneously textured, etc.). It is developed by Erik Nelson and David Fridovich-Keil, members of the Berkeley Vision and Learning Center (BVLC).

Status

This library is currently in development, and lacks most of the core components of a good SfM library. In other words, it doesn't do anything yet - Hang tight! We're both first-year PhD students developing this as a tool for our research, and are just getting started.

Overview

This repository is entirely written in C++, and is structured around the CMAKE cross-compilation paradigm. All source code is in the berkeley_sfm/src/cpp/ directory. We have also written extensive unit tests, which are automatically compiled and tested in continuous integration. The source code for these tests is stored in the berkeley_sfm/test/ directory, and the test executable will be compiled into berkeley_sfm/build/run_tests. Tests can be run using make check.

Build Instructions

We follow the standard CMAKE build scheme. Just download the repository and from the top directory type:

mkdir build && cd build && cmake .. && make

Optionally, to run tests:

make check

We have tested the build process on Mac OSX Yosemite and El Capitan, and on Ubuntu 14.04 Trusty. One difficulty we did encounter is the potential conflict between multiple copies of OpenCV on a system. For example, if you run Anaconda's (and/or Homebrew's) version of OpenCV it may not be compiled properly such that it will link to our repository. If you run into this problem, we suggest uninstalling all versions of OpenCV and rebuilding it from source with the default compiler on your system (not Homebrew's version of gcc/g++).

API Documentation

Auto-generated Doxygen API documentation is available from here. Doxygen creates documentation from inline comments in project source and header files. Even though our comments are not tailored to Doxygen best-practices, it seems to do an okay job.

About

Hacking away at large scale structure from motion.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published