Kinect 如何计算深度?
-
21-12-2019 - |
题
我在这里有点困惑。
Kinect如何计算深度:我的理解是
- 红外投影仪投射出一个图案,该图案被反射回来并由红外摄像机读取。
- 现在,红外摄像机知道特定深度的模式。利用传入图案和已知图案之间的差异来使用三角测量(使用相似三角形的比例)来计算已知的深度。
问题1:是否考虑红外投影仪和红外摄像机之间的距离?我想不会,因为它们太接近而无法被考虑。
问题2:现在我们直接从图案中获取深度。我们什么时候使用 disparity map
计算深度?
解决方案
视差图基本上是您在开头提到的已知模式和观察到的模式之间的差异。您在深度计算期间使用它。
投影仪和相机之间的距离也被考虑在内。
看看下图:
普罗 是参考深度中散斑的位置 锆, , 和 宝 与 Kinect 在一定深度捕获的相同斑点 佐 (我们要计算的深度)。 D 是 2 点之间的 3D 视差,而 d 是二维图像平面上的视差。 F 是焦距,并且 乙 是相机之间的距离 C 和激光投影仪 L.
正如您所提到的,使用相似的三角形,深度计算如下:
该图来自的论文是 Kinect深度数据的准确性分析 由 K.科谢勒姆。我建议阅读它以更全面地解释深度计算过程。
不隶属于 StackOverflow