qianyizh / elasticreconstruction Goto Github PK
View Code? Open in Web Editor NEW3D reconstruction system to creating detailed scene geometry from range video.
Home Page: http://qianyi.info/scene.html
License: Other
3D reconstruction system to creating detailed scene geometry from range video.
Home Page: http://qianyi.info/scene.html
License: Other
=============================================================================== = 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.
hi,can i use kinect 2 as input for your code?
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.
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
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
when I use your code :the part of Graph Optimizer ,I got an error :"DenseBase::resize() does not actually allow to resize"
can you tell how to solve it
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.
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!
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
Hi,
May somebody explain what are the steps to compile and use this program ?
I wonder if it may be adapted in order to use it on Android, linked to ARCore, for real time scanning and 3D reconstruction. Any idea ?
Thanks a lot !
Hi, @qianyizh , I wonder if there is a Linux version? Since I am not familiar with the deploy on Windows ? Thanks so much!
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.