可以从Microsoft Kinect识别来自房间的所有对象吗?
-
21-12-2019 - |
题
我有一个项目,在那里我必须识别整个房间,所以我可以计算物体之间的距离(如大的人,例如床,桌子等)和那个房间里的人。使用Microsoft Kinect可能类似的东西是可能的吗?
谢谢!
解决方案
Kinect为您提供以下
- 深度流
- 颜色流
- 骨架信息
取决于您如何使用此数据。
回答您的问题 - 官方MicoroSft Kinect SDK不提供盒子的形状检测。但它确实为您提供骨架数据/面部跟踪,您可以使用该数据/面部跟踪来检测来自Kinect的距离。 此外,映射彩色流到深度流,您可以检测特定像素来自Kinect的距离。在实现中,如果您有不同物体的独特特征,如颜色,形状和尺寸,您可能会检测到它们并检测距离。
opencv 是我用于计算机视觉等的库之一。
再次取决于您如何使用此数据。
其他提示
Kinect相机提供深度,并因此提供关于遮罩物体的3D信息(点云),其范围为0.5-10米。利用这些信息,可以将地板(通过装在房间的平面)分割,并且可能是墙壁和天花板。此步骤很重要,因为这些表面经常将单独的物体连接,使它们成为一个大物体。
如果它们在物理上不互相触摸,则可以通过深度分割剩余部分。使用颜色可以进一步分离对象。请注意,我们隐式地将对象定义为3D密集和颜色一致实体,而其他定义也是可能的。
一旦你的对象细分,你可以测量细分之间的距离,分析它们的形状,识别伪像或人类等,因为我的知识中最好的是,骨架库可以在他们移动之后识别人类秒。下面是一个简单的深度映射,在使用深度但不是颜色信息的几个细分中被打破。
不隶属于 StackOverflow