Машинное обучение: вопрос, касающийся обработки потоков 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