Kinect Fusion体积体素设置?

时间:2015-11-29 00:07:23

标签: kinect kinect-sdk fusion

我需要一些帮助,试图找出Kinect Fusion中的Volume Voxel Per Meter和Resolution设置...主要是如何,如果有的话,它们与Kinect Fusion Explorer程序中的Depth Threshold设置相互作用,请...因为如果深度阈值最小值增加且最大值减小,我不会得到,这个较小的范围会增加扫描体积的整体精度,还是保持不变?

假设我将Kinect Fusion的深度阈值最小值设置为2m,最大值设置为3m,因此将扫描范围设置为3m-2m = 1m,然后将每米的体积体素设置为256和分辨率也是256意味着我会得到1m / 256 = 0.003m = 0.3cm(三分之一厘米)的体素深度精度?或者该分辨率仅适用于完整的Kinect深度范围,而不是通过深度阈值设置的那个?此外,深度阈值设置如何影响宽度和高度,以及如何计算这两个剩余轴的精度?

提前致谢

P.S。 如果所有三个轴(768x768x768)的体积体素分辨率都设置为最大值,那么使Kinect Fusion工作所需的最小GPU内存量是多少?

1 个答案:

答案 0 :(得分:1)

回答一个老话题;因为没有其他答案:

:一种。简单回答: 深度阈值设置只是决定您感兴趣的深度图的哪个区域。在深度图生成期间,任何低于最小深度阈值和高于最大深度阈值的值都将简单地替换为0。

<强> B中。详细答案:

每米体积体素:这是由单个体素表示的mm值深度。所以1000mm / 256(voxel_per_meter)= ~3.9mm /体素  (见:PCL documentation

体素分辨率:您正在构建的体积中的体素数量。

因此; 体素分辨率/体素/ m =重建体积量(以米为单位)

EG: 512体素/ 256 vpm = 2.0m(重建立方体的体积,假设立方体每侧的体素数相同 - 每个轴可以独立定义。 )

如果您安装了Kinect SDK;请参阅以下变量的说明:

minDepthClip = FusionDepthProcessor.DefaultMinimumDepth;
maxDepthClip = FusionDepthProcessor.DefaultMaximumDepth;
voxelsPerMeter; voxelsX; voxelsY; voxelsZ;

因此;这些值不依赖于深度阈值(反之亦然)。 使用深度阈值的一个很好的例子是Daniel Shiffman的伟大视频([Kinect & Processing]