kinect深度相机的精度

Fab*_*ian 38 depth kinect

kinect中的深度相机有多精确?

  • 范围?
  • 解析度?
  • 噪声?

特别是我想知道:

  • 微软是否有任何关于它的官方规范?
  • 有关于这个问题的科学论文吗?
  • TechBlogs的调查?
  • 个人实验很容易重现?

我现在正在收集大约一天的数据,但大多数作者都没有说出他们的来源,而且价值似乎差别很大......

man*_*off 25

  • 范围:~50厘米至5米.部件可以靠近(~40 cm),但不能使全视图<50 cm.
  • 水平分辨率:640 x 480和45度垂直视场和58度水平视场.简单的几何图形显示每像素约0.75毫米x在50厘米处y,并且每像素约3毫米×2米处的y.
  • 深度分辨率:50厘米时约1.5毫米.在5米处约5厘米.
  • 噪声:在所有深度处约为+ -1 DN,但DN到深度是非线性的.这意味着接近+ -1 mm,远离+ - 5 cm.

有传感器开发人员的官方规格,而不是微软.还没有我知道的科学论文.大量的调查和实验(见谷歌).该OpenKinect对这些事情莫过于此网站现在很多更多的讨论.


小智 12

Kinect for Windows SDK提供了一些我一直在使用并且似乎一致的常量.对于范围分辨率,这些值是:

在默认模式下:

  • 最小范围:80厘米
  • 最大范围:400厘米

在近模式:

  • 最小范围:40厘米
  • 最大范围:300厘米

对于彩色相机,您可能具有以下任一分辨率:

  • 80x60
  • 320×240
  • 640×480
  • 1280×960

对于深度相机,您可能具有以下任一分辨率:

  • 80x60
  • 320×240
  • 640×480

面对来自Avada Kedavra(以及大多数来源的信息)的信息,API给出的视野的值如下:

对于彩色相机:

  • 水平视场:62.0°
  • 垂直视场:48,6°

对于深度相机:

  • 水平视场:58.5°
  • 垂直视场:45,6°

来源:http://msdn.microsoft.com/en-us/library/hh855368


Tim*_*man 7

这里真正的问题是关于分辨率和精度.我在这里筹码,因为我发现分辨率和精度不如说明的那么好.深度分辨率的最大输出确实是640x480,然而,这不是有效的分辨率,并且这并不完全是多么精确.

kinect工作的方法基于结构光投影.在相机看到的表面上发射并投射光的图案,然后将来自原点的每条光线三角化,从物体反弹到相机.

问题在于,这种模式仅包含34.749个可以进行三角测量的亮点(http://azttm.wordpress.com/2011/04/03/kinect-pattern-uncovered/).如果我们将其与640x480 = 307.200数据点的分辨率联系起来,我们会发现一个很大的区别.问问自己,数据量是源数据点数量的10倍,是否有效,并且有效采样.我对此表示怀疑.如果你问我kinect的有效分辨率是多少,我猜它是大约240x180的诚实和相当不错的数据.


Ava*_*vra 5

根据Kinect技术规范,终于透露了深度领域的规格(这些匹配也在Mannimarco发布的官方编程指南中得到证实):

* Horizontal field of view: 57 degrees
* Vertical field of view: 43 degrees
* Physical tilt range: ± 27 degrees
* Depth sensor range: 1.2m - 3.5m
* Resolution depth stream: 320x240 pixels
* Resolution color stream: 640x480 pixels
Run Code Online (Sandbox Code Playgroud)

但根据我自己的经验,深度传感器范围更像是0.8m-4.0m,至少我在这个范围内读得很好.此范围与mankoff在以下评论中发布的Primesense数据表相匹配.

同样重要的是要记住,靠近传感器的深度分辨率远远高于远离传感器的深度分辨率.在3-4米处,分辨率不如1.5米.例如,如果您想要计算曲面的法线,这就变得很重要.结果将更接近传感器而不是更远.

它不是很难自己测试范围.当您超出范围时,官方SDK(当前测试版)将为您提供零(0)深度.所以,你可以用一个简单的标尺对它进行测试,并测试你得到的距离/没有任何大于零的读数.我不知道OpenKinect SDK如何处理超出范围的读数.

关于噪音的评论:我会说深度流中存在相当多的噪音,这使得它更难以使用.例如,如果您计算表面法线,您可以预期它们会有点"跳跃",这当然会对假照明等产生负面影响.此外,由于红外发射器之间的距离,您在深度流中会出现视差问题和接收器.这也很难处理,因为它在深度数据中留下了一个大的"阴影".此YouTube视频演示了此问题并讨论了使用着色器解决问题的方法.这是一个值得关注的视频.

  • 有**官方规格**.请参阅此处的数据表:http://openkinect.org/wiki/Hardware_info (2认同)