MediaPipe – это фреймворк с открытым исходным кодом, представленный Google, который помогает создавать мультимодальные конвейеры машинного обучения. Разработчик может создать прототип, не углубляясь в написание алгоритмов и моделей машинного обучения, используя существующие компоненты. Эта структура может использоваться для различных приложений для обработки изображений и мультимедиа (особенно в виртуальной реальности), таких как обнаружение объектов, распознавание лиц, отслеживание рук, отслеживание нескольких рук и сегментация волос. MediaPipe поддерживает различные аппаратные и операционные платформы, такие как Android, iOS и Linux, предлагая API на C ++, Java, Objective-c и т.д. Эта среда также способна использовать ресурсы GPU.
Компоненты MediaPipe
Структура состоит из трех основных компонентов
-
- Основа для вывода из данных конвейера
- Инструменты для оценки
- И набор повторно используемых компонентов логического вывода и обработки
Он следует подходу основанных на фреймворках Graph в OpenCV, и вся обработка происходит в контексте Graph. Graph содержит коллекцию узлов, и каждый узел реализован в виде калькулятора. Graph настраивается с помощью буфера GraphConfig, а затем запускается с использованием графического объекта. В Graph калькуляторы связаны друг с другом с помощью потока данных, и каждый поток содержит временные ряды пакетов данных. Эти калькуляторы и потоки определяют поток данных на графике.
Обнаружение случаев использования объекта
Mediapipe поставляется с готовыми к использованию моделями, где разработчики могут начать использовать его напрямую или со своими указанными модификациями. Вы можете найти все образцы моделей в исходном дереве. Обнаружение возражений может быть обработано очень легко, не потребляя много системных ресурсов. Обнаружение объектов на основе ML с камеры прямой трансляции с частотой кадров 30 кадров в секунду обычно требует больших ресурсов и неосуществимо из-за длительного времени вывода. MediaPipe достигает этого путем параллельного запуска, отслеживания и обнаружения, поэтому каждый процесс никогда не будет заблокирован другим.
Со ссылкой на приведенную выше диаграмму обнаружение возражений происходит в два отдельных процесса – медленный процесс обнаружения и быстрый процесс отслеживания. И как настроено в конфигурации графа Pipeline, калькуляторы запускают параллельные потоки для выполнения процесса.
Как установить MediaPipe
Mediapipe поддерживает различные операционные системы, включая Debian, Ubuntu, Centos и Android, а также IOS. Он также поддерживает установку с помощью Docker. Mediapipe может работать с OpenCV (3.x и выше) и Tensorflow. Ниже приведены инструкции по установке MediaPipe в операционной системе Ubuntu.
Получить последний источник из репозитория GitHub.
1 2 |
$ git clone https://github.com/google/mediapipe.git $ cd mediapipe |
Запустите setup_opencv.sh из дерева исходных текстов, чтобы автоматически собрать OpenCV вместе с FFmpeg из исходного кода и изменить конфигурацию OpenCV MediaPipe.
1 |
sh$ setup_opencv.sh |
Чтобы протестировать среду, вы можете запустить приложения Hello World, как указано в MediaPipe Examples
- Исходное дерево MediaPipe на Github
- Блог разработчиков Google
- https://sites.google.com/view/perception-cv4arvr/mediapipe
- https://ai.googleblog.com/2019/08/on-device-real-time-hand-tracking-with.html
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.