Giter Club home page Giter Club logo

kinectfusionapplib_comments's Introduction

KinectFusionLib and KinectFusionApp

这个是自己在源仓库的基础上,加上了自己注释的版本。

源仓库:

程序由两个部分组成,lib部分和app部分。

注意编译通过的时候需要使用在cuda支持下的Eigen和OpenCV库,CUDA编译的时候使用的是8.0的版本。

其实里面还有一些小问题我也没有搞明白,欢迎有想法的大佬们疯狂提issue讨论~~

另 KinectFusionLib 中将最后的模型输出成为点云文件的功能部分我现在也没有进行注释(和 KinectFusion 本身的功能关系不是很大)(好吧,我懒 = =)

KinectFusion 中的 Point-to-plane ICP 的并行化有一些数学推导,导致KinectFusionLib中代码实现看起来比较“*”,希望 /doc/【附件】刘国庆-KinectFusion中Plane-to-point_ICP的计算推导.pdf 这篇文档能够有所帮助。

另外关于此 KinectFusionLib 的实现我在泡泡机器人的沈阳线下会议做了一个PPT:/doc/【PPT】刘国庆-KinectFusionLib代码精析-Preview-V5.pdf, 希望对感兴趣的同学有所帮助。

下面是原版的 ReadMe.md.


KinectFusionApp

This is a sample application using the KinectFusionLib. It implements cameras (for data acquisition from recordings as well as from a live depth sensor) as data sources. The resulting fused volume can then be exported into a pointcloud or a dense surface mesh.

Dependencies

  • GCC 5 as higher versions don't work with current nvcc (as of 2017).
  • CUDA 8.0 or higher. In order to provide real-time reconstruction, this library relies on graphics hardware. Running it exclusively on CPU is not possible.
  • OpenCV 3.0 or higher. This library heavily depends on the GPU features of OpenCV that have been refactored in the 3.0 release. Therefore, OpenCV 2 is not supported.
  • Eigen3 for efficient matrix and vector operations.
  • OpenNI2 for data acquisition with a live depth sensor.

Prerequisites

  • Adjust CUDA architecture: Set the CUDA architecture version to that of your graphics hardware
SET(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-O3 -gencode arch=compute_52,code=sm_52)

Tested with a nVidia GeForce 970, compute capability 5.2, maxwell architecture

  • Set custom opencv path (if built from source):
SET("OpenCV_DIR" "/opt/opencv/usr/local/share/OpenCV")

Usage

Setup the data sources in main.cpp. Then, start the application.

Use the following keys to perform actions:

  • 'p': Export all camera poses known so far
  • 'm': Export a dense surface mesh
  • ' ': Export nothing, just end the application
  • 'a': Save all available data

License

This library is licensed under MIT.

kinectfusionapplib_comments's People

Watchers

 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.