Git Product home page Git Product logo

elasticreconstruction's Introduction

===============================================================================
=                       Robust Scene Reconstruction                           =
===============================================================================

LATEST NEWS (7/22/2015):

1. We have published my fork of PCL. It is a development version, for reference
only. We don't provide any support. https://github.com/qianyizh/StanfordPCL

2. Executable system available at http://redwood-data.org/indoor/tutorial.html

3. Lots of useful things - software, data, evaluation tools, beautiful videos
and pictures - are on:
Project page: http://qianyi.info/scene.html
New project page: http://redwood-data.org/indoor/

===============================================================================

Introduction

This is an open source C++ implementation based on the technique presented in
the following papers:

Robust Reconstruction of Indoor Scenes, CVPR 2015
Sungjoon Choi, Qian-Yi Zhou, and Vladlen Koltun

Simultaneous Localization and Calibration: Self-Calibration of Consumer Depth 
Cameras, CVPR 2014
Qian-Yi Zhou and Vladlen Koltun

Elastic Fragments for Dense Scene Reconstruction, ICCV 2013
Qian-Yi Zhou, Stephen Miller and Vladlen Koltun

Dense Scene Reconstruction with Points of Interest, SIGGRAPH 2013
Qian-Yi Zhou and Vladlen Koltun

Project pages:
http://qianyi.info/scene.html
http://redwood-data.org/indoor/

Executable system:
http://redwood-data.org/indoor/tutorial.html

Data:
http://qianyi.info/scenedata.html
http://redwood-data.org/indoor/dataset.html

Citation instructions:
http://redwood-data.org/indoor/pipeline.html

This github repository is maintained by Qian-Yi Zhou ([email protected])
Contact me or Vladlen Koltun ([email protected]) if you have any questions.

===============================================================================

License

The source code is released under MIT license.

In general, you can do anything with the code for any purposes, with proper 
attribution. If you do something interesting with the code, we'll be happy to 
know about it. Feel free to contact us.

We include code and libraries for some software not written by us, to ensure 
easy compilation of the system. You should be aware that they can be released
under different licenses:

g2o <GraphOptimizer/external/g2o> - BSD license
vertigo <GraphOptimizer/vertigo> - GPLv3 license
SuiteSparse <FragmentOptimizer/external/SuiteSparse> - LGPL3+ license
Eigen <FragmentOptimizer/external/Eigen> - MPL2 license

===============================================================================

Modules

+ GlobalRegistration
A state-of-the-art global registration algorithm that aligns point clouds
together.

+ GraphOptimizer
Pose graph optimization that prunes false global registration results. See CVPR
2015 paper for details.

+ FragmentOptimizer
The core function that simultaneously optimizes point cloud poses and a
nonrigid correction pattern. See CVPR 2014 and ICCV 2013 papers for details.

+ BuildCorrespondence
ICP refinement for point cloud pairs registered by GlobalRegistration module.

+ Integrate
A CPU-based algorithm that integrates depth images into a voxel, based on
camera pose trajectory and nonrigid correction produced by previous steps.

+ Matlab_Toolbox
A Matlab toobox for evaluation of camera pose trajectory and global
registration.

+ In the executable package
    * pcl_kinfu_largeScale_release.exe
    * pcl_kinfu_largeScale_mesh_output_release
Executable files for creating intermediate point clouds and final mesh.

===============================================================================

Quick Start

See tutorial on this page:
http://redwood-data.org/indoor/tutorial.html

===============================================================================

Build Dependencies

We strongly recommend you *compile* Point Cloud Library (PCL) x64 with
Visual Studio. http://pointclouds.org/

SuiteSparse is required for solving large sparse matrices.
https://github.com/PetterS/CXSparse

ACML is required for SuiteSparse.
http://developer.amd.com/tools-and-sdks/cpu-development/amd-core-math-library-acml/

The compilation requires Visual Studio 2010 on a Windows 7/8.1 64bit system.

We are not happy with the current compatibility issues. We are working on a new
code release that will not depend on external libraries as much and will be
much easier to compile. Stay tuned.

elasticreconstruction's People

Contributors

qianyizh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticreconstruction's Issues

There's no `trigger()` method

which version of PCL did you use?

I use 1.6.0 on VS2010, and it raise a compilation error on LINE 103, FILE IntegrateApp.cpp

How to creat gt.info and gt.log files

Hi,I want to know how to creat gt.info and gt.log files in ../ElasticReconstruction master/Matlab_Toolbox/Example/Data/RegistrationEvaluation/livingroom1 and what's the mean of gt.info . Is the gt.log file an evaluation of Transformation Matrix for two Frame Point Clouds?Can you help me ?Thanks a lot!

FragmentOptimizer: matrix not positive definite

When running this code (both my compiled version and the pre-compiled binaries available at the Reconstruction site) with the provided demo.sh, I run into some issues in FragmentOptimizer, resulting in the output giving a bunch of NANs.

For example, every entry in pose.txt is of form

0	0	1
1.#QNAN000 1.#QNAN000 1.#QNAN000 1.#QNAN000
1.#QNAN000 1.#QNAN000 1.#QNAN000 1.#QNAN000
1.#QNAN000 1.#QNAN000 1.#QNAN000 1.#QNAN000
1.#QNAN000 1.#QNAN000 1.#QNAN000 1.#QNAN000

and output.ctr is of form

1.#QNAN00000 1.#QNAN00000 1.#QNAN00000

Any ideas on what is going on here?

The output from FragmentOptimizer looks like:

FragmentOptimizer.exe --slac --rgbdslam ../sandbox/init.log --registration ../sandbox/reg_output.log --dir ../sandbox/pcds/ --num $numpcds --resolution 12 --iteration 10 --length 4.0 --write_xyzn_sample 10
Parameters: weight 1.00000, resolution 12, piece number 57, max iteration 10
IPose initialized.
Read ../sandbox/pcds/cloud_bin_1.pcd ... get 137524 points.
Read ../sandbox/pcds/cloud_bin_3.pcd ... get 188961 points.

snip

Read ../sandbox/pcds/corres_0_1.txt, get 120912 correspondences.
Read ../sandbox/pcds/corres_1_2.txt, get 94185 correspondences.

snip

Processing 224 :   224 ... Done.
Data error score is : 17028297.21
CHOLMOD warning: matrix not positive definite
SLAC optimization.
Regularization error score is : 0.00
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : 1.#R
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : -1.#J
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : 1.#R
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : -1.#J
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : 1.#R
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : -1.#J
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : 1.#R
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : -1.#J
Processing 224 :   224 ... Done.
Data error score is : 1.#R
CHOLMOD warning: matrix not positive definite
Regularization error score is : 1.#R
Neat Optimization took 601446ms.
Save ctr to file output.ctr ... Done.
Save sample pcd into sample.pcd ... Optimize All took 618325ms.

PCLException

Hi
I run this code with different oni files and sometimes I have PCLException error.
could you help me please what is cause of this error?
out put log is attach.
OutPut.txt

Rendering

Dear Quian-Yi,
thank you very much for sharing your great work!
I am having a question about how to render the voxel representation.
In your paper you show beautiful images of the reconstructed scene. How did you do this? Did you apply some "heavy" rendering like Maya or was it pure in opengl?

Thank you very much!

Regards
Eugen

question about reconstruction precision

Hi @qianyizh , I am looking for an algorithm that is offline and can produce very fined details from RGB-D data. I find this project, but the provided results on http://redwood-data.org/indoor/models.html website seem not so precise. Is ElasticReconstrction the same as Robust Reconstruction of Indoor Scene, or there are some revisions for detail reconstruction?

I'm confused that SfM+MVS can produce very fined detail from only RGB data, but most algorithm that I find can only produce rather coarse result from RGB-D data, why rare research is focused on reconstruct precise result from RGB-D data, I don't understand.

Do you know any algorithm that suits me, thank you.

test.sh won't run if CUDA 8.0 is installed instead of 7.0

Windows 10 64 bit with OpenNI, Cuda latest, VC 2010 redist. I unzipped the executables, ran test.sh and this is the result

/c/codes/indoor-excutables-1.1/bin
$ ./test.sh
C:/codes/indoor-excutables-1.1/bin/pcl_kinfu_largeScale_release.exe: error 
while loading shared libraries: ?: cannot open shared object file: No such 
file or directory

Please advice on how I should handle this issue

Kinect 2

hi,can i use kinect 2 as input for your code?

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.