The thing is that this pattern consists out of only 34.749 bright spots that can be triangulated (http://azttm.wordpress.com/2011/04/03/kinect-pattern-uncovered/) . 如果我们将其与640x480 = 307.200个数据点的分辨率联系起来,我们会发现一个很大的区别 . 问问自己,数据量是源数据点数量的10倍,是否有效,并有效采样 . 我对此表示怀疑 . 如果你问我kinect的有效分辨率是什么,我猜它是关于 240x180 的诚实和非常好的数据 .
我认为可能值得一提的是Khoshelham和Elbernik的论文,他在2012年2月提出了kinects深度传感器的理论随机误差模型 . 它被称为"Accuracy and Resolution of Kinect Depth Data for Indoor Mapping Applications" . 该论文可以找到here .
7 回答
范围:~50厘米至5米 . 部件可以靠近(~40 cm),但不能使全视图<50 cm .
水平分辨率:640 x 480和45度垂直视场和58度水平视场 . 简单的几何图形显示每像素约0.75毫米×50厘米处的y,以及每像素约3毫米×2米处的y .
深度分辨率:50厘米时约1.5毫米 . 在5米处约5厘米 .
噪声:在所有深度处约为-1 DN,但DN到深度是非线性的 . 这意味着-1毫米关闭,和-5厘米远 .
有传感器开发人员的官方规格,而不是微软 . 还没有我知道的科学论文 . 大量的调查和实验(见谷歌) . OpenKinect目前比这个网站有更多关于这些事情的讨论 .
Kinect for Windows SDK提供了一些我一直在使用并且似乎一致的常量 . 对于 range 和 resolution ,这些值为:
在默认模式下:
最小范围:80厘米
最大范围:400厘米
在近模式:
最小范围:40厘米
最大范围:300厘米
对于彩色相机,您可能具有以下任一分辨率:
80x60
320x240
640x480
1280x960
对于深度相机,您可能具有以下任一分辨率:
80x60
320x240
640x480
面对来自Avada Kedavra的信息(顺便提一下,从大多数来源),API给出的 field of view 的值如下:
对于彩色相机:
水平视场:62,0°
垂直视野:48,6°
对于深度相机:
水平视场:58.5°
垂直视野:45,6°
资料来源:http://msdn.microsoft.com/en-us/library/hh855368
这里真正的问题是关于分辨率和精度 . 我在这里筹码,因为我发现分辨率和精度不如说明的那么好 . 深度分辨率的最大输出确实是640x480,然而,这不是有效分辨率,并且这并不完全是多么精确 .
kinect工作的方法基于结构光投影 . 发射并投射在表面上的光图案,相机看到,然后将来自原点的每条光线三角测量,从物体反弹到相机 .
The thing is that this pattern consists out of only 34.749 bright spots that can be triangulated (http://azttm.wordpress.com/2011/04/03/kinect-pattern-uncovered/) . 如果我们将其与640x480 = 307.200个数据点的分辨率联系起来,我们会发现一个很大的区别 . 问问自己,数据量是源数据点数量的10倍,是否有效,并有效采样 . 我对此表示怀疑 . 如果你问我kinect的有效分辨率是什么,我猜它是关于 240x180 的诚实和非常好的数据 .
根据Kinect tech spec finally revealed深度字段的规格是(这些匹配也在Mannimarco发布的官方节目指南中确认):
但根据我自己的经验,深度传感器范围更像是
0.8m-4.0m
,至少我在这个范围内读得很好 . 此范围与mankoff在下面的评论中发布的Primesense数据表相匹配 .同样重要的是要记住,靠近传感器的深度分辨率远远高于远离传感器的深度分辨率 . 在3-4米处,分辨率不如1.5米 . 例如,如果您想要计算曲面的法线,这就变得很重要 . 结果将更接近传感器而不是更远 .
它不是很难自己测试范围 . 当您超出范围时,官方SDK(当前测试版)将为您提供零(0)深度 . 所以,你可以用一个简单的标尺对它进行测试,并测试你得到的距离/得到的读数大于零 . 我不知道OpenKinect SDK如何处理超出范围的读数 .
关于噪音的评论:我会说深度流中存在相当多的噪音,这使得它更难以使用 . 例如,如果您计算表面法线,您可以预期它们会有点"jumpy",这当然会对假照明等产生负面影响 . 此外,由于红外 Launcher 与红外 Launcher 之间的距离,您在深度流中会出现视差问题 . 接收器 . 这也很难处理,因为它在深度数据中留下了很大的"shadow" . This youtube video演示了该问题并讨论了使用着色器解决问题的方法 . 这是一个值得关注的视频 .
我认为可能值得一提的是Khoshelham和Elbernik的论文,他在2012年2月提出了kinects深度传感器的理论随机误差模型 . 它被称为"Accuracy and Resolution of Kinect Depth Data for Indoor Mapping Applications" . 该论文可以找到here .
如果你正在寻找微软发布的东西,请查看Kinect Programming Guide的第11页 . 它说的几乎每个人都已经提到了同样的事情 .
范围:1.2至3.5米
视角:垂直43°,水平57°
机械化倾斜范围:±28°
帧速率:每秒30帧
分辨率,深度流:320 x 240(实际上可以高于此值)
分辨率,色彩流:640 x 480(再次,它可以更高)
我没有看到任何提及噪音的东西,但我可以说它非常小,除了沿着表面边缘,它可以变得更加明显 .
我的经验是,它不是那么精确 . 它非常好,但是当你把它与卷尺比较那么它就不完全匹配了 . 我制作了一个Excel,每10毫米测量一次,它只是没有保持,特别是超过2500毫米的东西,但更接近 . 还要记住,实际深度像素比广告要低很多 . 内部的电子元件充满了喘气,这就是为什么你会看到小面积的伪像,而不是像素数据 . 实质上,这意味着320x240具有由“实际”测量覆盖的1/8像素,计算其他像素 . 所以你可以使用640x480;但它只会CPU / UBS资源,不会让你的应用程序看得更好 .
那只是我2美分的经验,我正在编程机器人 .