Библиотеки Dlib и Mediapipe для трекинга ключевых точек лица

Трекинг лица используется в приложениях дополненной реальности, медицины, маркетинга и безопасности. В статье приводится описание двух библиотек, позволяющих осуществить обнаружение ключевых точек лица в реальном времени.

Dlib

Основным языком Dlib является C++, поэтому для ее использования необходимо сначала установить CMake и Visual Studio, а затем с помощью pip установить CMake, dlib и OpenCV. Помимо Dlib, в скрипте придется импортировать OpenCV для получения изображения с веб-камеры. Для трекинга лица понадобятся три объекта:

  • детектор для обнаружения одного или нескольких лиц;
  • предиктор для обнаружения ключевых точек на лицах. В качестве параметра требуется указать расположение предобученной модели, которую можно скачать по ссылке;
  • объект cv2.VideoCapture для захвата изображения с веб-камеры.

Модель обнаружения ключевых точек основана на деревьях регрессии и обучена на датасете iBUG-300 W, содержащем изображения лиц с проставленными 68-ми контрольными точками. Результат работы кода с Dlib показан на изображении выше.

Mediapipe

Mediapipe разработана Google и позволяет решать такие задачи, как распознавание лиц, оценка позы, обнаружение объектов и многое другое. Преимущество этой библиотеки состоит в том, что ее можно использовать в веб-приложениях и на смартфонах. Для трекинга лица используется модель BlazeFace, оптимизированная для устройств со слабыми техническими характеристиками.

В отличие от Dlib, BlazeFace строит 468 ключевых точек одновременно на нескольких лицах и дает оценку их координат в трехмерном пространстве. Пример работы Mediapipe:

Подписаться
Уведомить о
guest

0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии

gogpt