Kinect Fusion要求客户端代码在初始化之前指定框内的有效边界框和体素分辨率。盒子内重建的细节保存在GPU内存中,因此很快就会遇到限制。当然,对于像高标准的标准住宅一样大小的空间,所需的GPU内存量(也太高)。
Fusion SDK允许用户将数据复制到GPU内存或从GPU内存复制数据,并随时重置边界音量,分辨率等,因此理论上可以通过将多个小卷拼接在一起来合成大量的卷。普通GPU可以处理的。在我看来,这是一种技术,但它有一些与之相关的微妙和困难的问题。
然而,这似乎是用kintinuous完成的。但kintinuous似乎没有任何公开可用的源代码(或对象代码)。 this SO post中也提到了这一点。
我想知道这是否已经以任何形式实施公共源代码。除了上面提到的kintinuous之外,我一直都找不到任何东西。
答案 0 :(得分:4)
您可以在PCL中使用实验性开源大规模kinect融合源代码。当相机姿势超过某个阈值时,它们会进行体积拼接。检查this
并且在MSR中实际上存在可扩展的kinect融合的新版本,但它们尚未将其放入SDK中,因此您无法正确使用它。
他们使用分层数据结构来存储无遮盖的重建体积。您可以查看this然后下载他们的论文,并自行实施。
============ EDIT =============
您可以从慕尼黑科技大学获得另一个代码'fastfusion'。他们使用多分辨率八叉树来存储体素,并在其他线程中每秒提取网格。它使用OpenNI。 它不包含摄像机跟踪,但您可以使用它们的dvo-slam进行视觉测距。
最近发布的名为InfiniTAM的项目使用哈希表来存储体素。它可以在Kinect v2上运行。
答案 1 :(得分:3)
Kintinuous现在是开源的,因为它是 2015年10月22日的第一次提交
以下是标签 kintinuous 的另一篇博客:https://hackaday.com/tag/kintinuous/
答案 2 :(得分:0)