我想在英特尔实感或 Orbbec Astra 摄像头的对齐 RGB 和深度流上尝试机器学习(尤其是 CNN)。我的目标是进行一些对象识别并在输出视频流中突出显示/标记它们(作为起点)。
但是在阅读了很多文章之后,我仍然对所涉及的框架以及数据如何从相机流经所涉及的软件组件感到困惑。我只是无法获得高水平的图片。
这是我对处理流程的假设:
传感器 => 驱动程序 => libRealSense/Astra SDK => TensorFlow
问题
- 我对处理的假设正确吗?
- 除了
Astra SDK
之外,Orbbec 还提供了一个额外的Astra OpenNI SDK
,其中英特尔为OpenCV
和OpenNI 提供了包装器 (?)
。我何时或为何需要这些额外的库/支持? - 最快的入门方式是什么?与 C++ 相比,我更喜欢 C#
最佳答案
- 您的假设是正确的:数据采集流程为:
传感器 -> 驱动程序 -> 相机库 -> 在此基础上构建的其他库
(请参阅 OpenCV 对 Intel RealSense 的支持)-> 捕获的图像。
一旦获得图像,您当然可以做任何您想做的事情。 - 各种库可让您轻松使用设备。特别是,使用英特尔实感支持编译的 OpenCV 允许您使用 OpenCV 标准数据采集流,而无需担心来自传感器并由英特尔库使用的图像格式。 10/10 使用这些库,它们让你的生活更轻松。
- 您可以从英特尔实感 (https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv) 的 OpenCV 包装器文档开始。一旦您能够捕获 RGBD 图像,您就可以使用 tf.data 为您的模型创建输入管道,并在 Tensorflow 中开发任何在 RGDB 图像上使用 CNN 的应用程序(只需在 google 上搜索并在 arxiv 上查看即可)对可能的应用有想法)。
模型训练完成后,只需导出训练好的图形并将其用于推理,因此您的管道将变为:传感器 -> 驱动程序 -> 相机库 -> 库 -> RGBD 图像 -> 训练模型 -> 模型输出
关于opencv - 机器学习: Question regarding processing of RGBD streams and involved components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54171922/