机器学习:有关RGBD流和相关组件处理的问题

时间:2019-01-13 18:30:58

标签: opencv tensorflow openni realsense orbbec

我想对Intel RealSense或Orbbec Astra相机的对齐RGB和深度流进行机器学习(尤其是CNN)实验。我的目标是进行一些对象识别,并在输出视频流中突出显示/标记它们(作为起点)。

但是,在阅读了许多文章之后,我仍然对所涉及的框架以及数据如何从相机流经所涉及的软件组件感到困惑。我只是无法获得高水平的照片。

这是我对处理流程的假设:

传感器=>驱动程序=> libRealSense / Astra SDK => TensorFlow

问题

  • 我的假设是否正确?
  • Orbbec除了提供Astra OpenNI SDK之外还提供了另外一个Astra SDK,因为Intel为OpenCVOpenNI提供了包装(?)。我何时或为何需要此附加库/支持?
  • 最快的入门方法是什么?与C ++相比,我更喜欢C#

1 个答案:

答案 0 :(得分:1)

  • 您的假设是正确的:数据采集流程为:sensor -> driver -> camera library -> other libraries built on top of it(请参阅OpenCV对Intel RealSense的支持)-> captured image.一旦获得图像,您当然可以做任何想做的事。
  • 各种库使您可以轻松使用该设备。特别是,借助英特尔实感支持编译的OpenCV使您可以使用OpenCV标准数据采集流,而不必担心来自传感器并由Intel库使用的图像格式。 10/10使用这些库,它们使您的生活更轻松。
  • 您可以从英特尔实感(https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv)的OpenCV包装文档开始。一旦能够捕获RGBD图像,您就可以使用tf.data为模型创建输入管道,并在tensorflow中开发在RGDB图像上使用CNN的任何应用程序(只需在Google上搜索并查看arxiv以获得关于可能的应用程序。)

模型经过训练后,只需导出训练后的图并将其用于推理,因此您的管道将变为:sensor -> driver -> camera library -> libs -> RGBD image -> trained model -> model output