Машинное обучение: вопрос, касающийся обработки потоков RGBD и задействованных компонентов

Я хотел бы поэкспериментировать с машинным обучением (особенно CNN) на выровненном RGB и глубинном потоке либо камеры Intel RealSense, либо камеры Orbbec Astra. Моя цель - сделать какое-то распознавание объектов и выделить / пометить их в выходном видеопотоке (в качестве отправной точки).

Но после прочтения многих статей я все еще не могу понять, какие структуры используются и как данные передаются с камеры через соответствующие программные компоненты. Я просто не могу получить картину высокого уровня.

Это мое предположение относительно потока обработки:

Датчик => Драйвер => libRealSense / Astra SDK => TensorFlow

Вопросы

  • Правильно ли мое предположение относительно обработки?
  • Orbbec предоставляет дополнительный Astra OpenNI SDK Кроме Astra SDK где у Intel есть обертки (?) для OpenCV а также OpenNI, Когда или зачем мне нужны эти дополнительные библиотеки / поддержка?
  • Какой самый быстрый способ начать? Я бы предпочел C# над C++

1 ответ

Решение
  • Ваши предположения верны: поток сбора данных: sensor -> driver -> camera library -> other libraries built on top of it (см. поддержку OpenCV для Intel RealSense)-> captured image. Как только вы получите изображение, вы, конечно, можете делать все, что захотите.
  • Различные библиотеки позволяют легко работать с устройством. В частности, OpenCV, скомпилированный с поддержкой Intel RealSense, позволяет вам использовать стандартный поток сбора данных OpenCV, не заботясь о формате изображения, поступающего от датчика и используемого библиотекой Intel. Используй эти библиотеки 10/10, они облегчат тебе жизнь.
  • Вы можете начать с документации оболочки OpenCV для Intel RealSense ( https://github.com/IntelRealSense/librealsense/tree/master/wrappers/opencv). Как только вы сможете захватывать изображения RGBD, вы можете создать входной конвейер для вашей модели, используя tf.data и разработать в tenorflow любое приложение, которое использует CNN на изображениях RGDB (просто зайдите в Google и посмотрите на arxiv, чтобы получить представление о возможных приложениях).

Как только ваша модель будет обучена, просто экспортируйте обученный граф и используйте его в выводе, поэтому ваш конвейер станет: sensor -> driver -> camera library -> libs -> RGBD image -> trained model -> model output

Другие вопросы по тегам