ElasticFusion-master

所属分类:图形图像处理
开发工具:Visual C++
文件大小:1208KB
下载次数:1
上传日期:2019-06-29 11:37:05
上 传 者qalexw
说明:  实时密集视觉冲击系统,能够捕捉使用RGB-D相机探索的基于SURFEL的房间尺度环境的全面密集全球一致的地图。
(Real-time dense visual SLAM system capable of capturing comprehensive dense globally consistent surfel-based maps of room scale environments explored using an RGB-D camera.)

文件列表:
Core (0, 2018-06-03)
Core\src (0, 2018-06-03)
Core\src\CMakeLists.txt (2648, 2018-06-03)
Core\src\Cuda (0, 2018-06-03)
Core\src\Cuda\containers (0, 2018-06-03)
Core\src\Cuda\containers\device_array.hpp (10423, 2018-06-03)
Core\src\Cuda\containers\device_array_impl.hpp (6645, 2018-06-03)
Core\src\Cuda\containers\device_memory.cpp (9250, 2018-06-03)
Core\src\Cuda\containers\device_memory.hpp (10145, 2018-06-03)
Core\src\Cuda\containers\device_memory_impl.hpp (3200, 2018-06-03)
Core\src\Cuda\containers\kernel_containers.hpp (3648, 2018-06-03)
Core\src\Cuda\convenience.cuh (2930, 2018-06-03)
Core\src\Cuda\cudafuncs.cu (21430, 2018-06-03)
Core\src\Cuda\cudafuncs.cuh (7207, 2018-06-03)
Core\src\Cuda\operators.cuh (3627, 2018-06-03)
Core\src\Cuda\reduce.cu (32003, 2018-06-03)
Core\src\Cuda\types.cuh (4825, 2018-06-03)
Core\src\CudaComputeTargetFlags.cmake (1862, 2018-06-03)
Core\src\Defines.h (313, 2018-06-03)
Core\src\Deformation.cpp (10211, 2018-06-03)
Core\src\Deformation.h (4072, 2018-06-03)
Core\src\ElasticFusion.cpp (34345, 2018-06-03)
Core\src\ElasticFusion.h (10463, 2018-06-03)
Core\src\Ferns.cpp (15193, 2018-06-03)
Core\src\Ferns.h (5893, 2018-06-03)
Core\src\FindSuiteSparse.cmake (4918, 2018-06-03)
Core\src\GPUTexture.cpp (1978, 2018-06-03)
Core\src\GPUTexture.h (1831, 2018-06-03)
Core\src\GlobalModel.cpp (22473, 2018-06-03)
Core\src\GlobalModel.h (4335, 2018-06-03)
Core\src\IndexMap.cpp (17384, 2018-06-03)
Core\src\IndexMap.h (5623, 2018-06-03)
Core\src\PoseMatch.h (1463, 2018-06-03)
Core\src\Shaders (0, 2018-06-03)
Core\src\Shaders\ComputePack.cpp (1963, 2018-06-03)
Core\src\Shaders\ComputePack.h (1438, 2018-06-03)
Core\src\Shaders\FeedbackBuffer.cpp (5666, 2018-06-03)
Core\src\Shaders\FeedbackBuffer.h (1808, 2018-06-03)
... ...

# ElasticFusion # Real-time dense visual SLAM system capable of capturing comprehensive dense globally consistent surfel-based maps of room scale environments explored using an RGB-D camera. # Related Publications # Please cite this work if you make use of our system in any of your own endeavors: * **[ElasticFusion: Real-Time Dense SLAM and Light Source Estimation](http://www.thomaswhelan.ie/Whelan16ijrr.pdf)**, *T. Whelan, R. F. Salas-Moreno, B. Glocker, A. J. Davison and S. Leutenegger*, IJRR '16 * **[ElasticFusion: Dense SLAM Without A Pose Graph](http://thomaswhelan.ie/Whelan15rss.pdf)**, *T. Whelan, S. Leutenegger, R. F. Salas-Moreno, B. Glocker and A. J. Davison*, RSS '15 # 1. What do I need to build it? # ## 1.1. Ubuntu ## * Ubuntu 14.04, 15.04 or 16.04 (Though many other linux distros will work fine) * CMake * OpenGL * [CUDA >= 7.0](https://developer.nvidia.com/cuda-downloads) * [OpenNI2](https://github.com/occipital/OpenNI2) * SuiteSparse * Eigen * zlib * libjpeg * [Pangolin](https://github.com/stevenlovegrove/Pangolin) * [librealsense] (https://github.com/IntelRealSense/librealsense) - Optional (for Intel RealSense cameras) Firstly, add [nVidia's official CUDA repository](https://developer.nvidia.com/cuda-downloads) to your apt sources, then run the following command to pull in most dependencies from the official repos: ```bash sudo apt-get install -y cmake-qt-gui git build-essential libusb-1.0-0-dev libudev-dev openjdk-7-jdk freeglut3-dev libglew-dev cuda-7-5 libsuitesparse-dev libeigen3-dev zlib1g-dev libjpeg-dev ``` Afterwards install [OpenNI2](https://github.com/occipital/OpenNI2) and [Pangolin](https://github.com/stevenlovegrove/Pangolin) from source. Note, you may need to manually tell CMake where OpenNI2 is since Occipital's fork does not have an install option. It is important to build Pangolin last so that it can find some of the libraries it has optional dependencies on. When you have all of the dependencies installed, build the Core followed by the GUI. ## 1.2. Windows - Visual Studio ## * Windows 7/10 with Visual Studio 2013 Update 5 (Though other configurations may work) * [CMake] (https://cmake.org/) * OpenGL * [CUDA >= 7.0](https://developer.nvidia.com/cuda-downloads) * [OpenNI2](https://github.com/occipital/OpenNI2) * [SuiteSparse] (https://github.com/jlblancoc/suitesparse-metis-for-windows) * [Eigen] (http://eigen.tuxfamily.org) * [Pangolin](https://github.com/stevenlovegrove/Pangolin) * zlib (Pangolin can automatically download and build this) * libjpeg (Pangolin can automatically download and build this) * [librealsense] (https://github.com/IntelRealSense/librealsense) - Optional (for Intel RealSense cameras) Firstly install cmake and cuda. Then download and build from source OpenNI2, SuiteSparse. Next download Eigen (no need to build it since it is a header-only library). Then download and build from source Pangolin but pay attention to the following cmake settings. There will be a lot of dependencies where path was not found. That is OK except OPENNI2 and EIGEN3 (those should be set to valid paths). You also need to set MSVC_USE_STATIC_CRT to false in order to correctly link to ElasticFusion projects. Also, you can set BUILD_EXAMPLES to false since we don't need them and some were crashing on my machine. Finally, build Core and GUI. # 2. Is there an easier way to build it? # Yes, if you run the *build.sh* script on a fresh clean install of Ubuntu 14.04, 15.04, or 16.04, enter your password for sudo a few times and wait a few minutes all dependencies will get downloaded and installed and it should build everything correctly. This has not been tested on anything but fresh installs, so I would advise using it with caution if you already have some of the dependencies installed. # 3. Installation issues # ***`#include ` not found*** ```bash sudo ln -sf /usr/include/eigen3/Eigen /usr/include/Eigen sudo ln -sf /usr/include/eigen3/unsupported /usr/include/unsupported ``` ***invalid use of incomplete type const struct Eigen ...*** Pangolin must be installed AFTER all the other libraries to make use of optional dependencies. ***GLSL 3.30 is not supported. Supported versions are 1.10, 1.20, 1.30, 1.00 ES and 3.00 ES*** Make sure you are running ElasticFusion on your nVidia GPU. In particular, if you have an Optimus GPU - If you use Prime, follow instructions [here](http://askubuntu.com/questions/661922/how-am-i-supposed-to-use-nvidia-prime) - If you use Bumblebee, remember to run as `optirun ./ElasticFusion` # 4. How do I use it? # There are three subprojects in the repo: * The *Core* is the main engine which builds into a shared library that you can link into other projects and treat like an API. * The *GUI* is the graphical interface used to run the system on either live sensor data or a logged data file. * The *GPUTest* is a small benchmarking program you can use to tune the CUDA kernel launch parameters used in the main engine. The GUI (*ElasticFusion*) can take a bunch of parameters when launching it from the command line. They are as follows: * *-cal * : Loads a camera calibration file specified as *fx fy cx cy*. * *-l * : Processes the specified .klg log file. * *-p * : Loads ground truth poses to use instead of estimated pose. * *-c * : Surfel confidence threshold (default *10*). * *-d * : Cutoff distance for depth processing (default *3*m). * *-i * : Relative ICP/RGB tracking weight (default *10*). * *-ie * : Local loop closure residual threshold (default *5e-05*). * *-ic * : Local loop closure inlier threshold (default *35000*). * *-cv * : Local loop closure covariance threshold (default *1e-05*). * *-pt * : Global loop closure photometric threshold (default *115*). * *-ft * : Fern encoding threshold (default *0.3095*). * *-t

近期下载者

相关文件


收藏者