Kinect Fusion 体素设置?

Kinect Fusion volume voxel settings?

我需要一些帮助来弄清楚 Kinect Fusion 中的“每米体积体素”和“分辨率”设置...主要是他们如何与 Kinect Fusion Explorer 程序中的“深度阈值”设置交互,如果有的话...... .因为如果深度阈值最小值增加而最大值减少,我不知道,较小的范围会增加扫描体积的整体精度,还是保持不变?

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

提前致谢

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

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

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

乙。详细答案:

Volume Voxel per meter:这是由单个体素表示的毫米值深度。所以 1000mm/256 (voxel_per_meter) = ~3.9 mm/voxel (参见:PCL documentation

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

所以; 体素分辨率/每米体素 = 重建体积的体积(以米为单位)

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

如果您安装了Kinect SDK;查看以下变量的说明:

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

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

的精彩视频