来自 Kinect 2 的原始深度数据是否完全未经过滤?
Is the raw depth data from the Kinect 2 completely unfiltered?
正如标题所说,原始数据真的是原始数据还是 Kinect 应用了某种过滤(中值、双边等)来降低噪音?我正在将数据与其他非消费类 ToF 相机进行比较,看起来 Kinect 2 的原始值非常平滑。
不,应用了一些过滤器。
但是微软没有公布任何关于他们的 Kinect 内部正在发生的事情的信息SDK/hardware,所以我们只能猜测。
关于此的最佳信息来自 libfreenect2,Kinect v2 的开源驱动程序。其中一位开发人员说:
[libfreenect's] current depth processing code [...] is doing the same things as the shader shipped with the K4W2 Preview SDK (might have changed in the meantime). The bilateral filter is applied to the complex valued images before computing the amplitude/phase(depth). Its only aware of intensity edges in these images. The "edge-aware" filter basically tries to filter the flying pixels at the object boundaries by calculating some statistics in a local neighborhood. Both filters can be disabled in libfreenect2.
(强调我的,Source)
当然,我们不知道 Microsoft SDK 的发布版本中是否发生了其他任何事情或是否发生了某些更改。
顺便说一句。这是最近的一篇论文,比较了一些当前的 ToF 传感器:
A Comparative Error Analysis of Current Time-of-Flight Sensors - Peter Fürsattel et al.
正如标题所说,原始数据真的是原始数据还是 Kinect 应用了某种过滤(中值、双边等)来降低噪音?我正在将数据与其他非消费类 ToF 相机进行比较,看起来 Kinect 2 的原始值非常平滑。
不,应用了一些过滤器。
但是微软没有公布任何关于他们的 Kinect 内部正在发生的事情的信息SDK/hardware,所以我们只能猜测。
关于此的最佳信息来自 libfreenect2,Kinect v2 的开源驱动程序。其中一位开发人员说:
[libfreenect's] current depth processing code [...] is doing the same things as the shader shipped with the K4W2 Preview SDK (might have changed in the meantime). The bilateral filter is applied to the complex valued images before computing the amplitude/phase(depth). Its only aware of intensity edges in these images. The "edge-aware" filter basically tries to filter the flying pixels at the object boundaries by calculating some statistics in a local neighborhood. Both filters can be disabled in libfreenect2.
(强调我的,Source)
当然,我们不知道 Microsoft SDK 的发布版本中是否发生了其他任何事情或是否发生了某些更改。
顺便说一句。这是最近的一篇论文,比较了一些当前的 ToF 传感器:
A Comparative Error Analysis of Current Time-of-Flight Sensors - Peter Fürsattel et al.