На основе mtcnn обнаружения лиц и onet отслеживания лиц, скорость обнаружения на процессоре i7-9700k может достигать 250 кадров в секунду.
Win7
VS2015
HyperFT — это открытый проект для быстрого видеоотслеживания лиц на мобильных устройствах. Проект основан на mtcnn обнаружении лиц с добавлением простого сопоставления шаблонов для отслеживания. Алгоритм прост, но эффективен, а скорость на мобильных устройствах может достигать более 150 кадров в секунду. Особенностью проекта является возможность отслеживания нескольких лиц одновременно.
Алгоритм многопользовательского отслеживания лиц в проекте HyperFT состоит из трёх основных частей:
Инициализация: поиск местоположения лица на первом кадре с помощью mtcnn и использование результата для инициализации отслеживания.
Обновление: предварительное определение местоположения цели лица с использованием сопоставления шаблонов, затем более точное позиционирование с помощью onet в mtcnn. Наконец, использование достоверности rnet в mtcnn для определения, является ли отслеживание лицом, чтобы предотвратить отслеживание рук вместо реальных лиц.
Периодическое обнаружение: добавление таймера в часть обновления для периодического обнаружения новых лиц. В проекте используется трюк: местоположение отслеживаемого лица маскируется, чтобы избежать повторного обнаружения и уменьшить вычислительную нагрузку, что повышает скорость обнаружения.
В классе Face проекта HyperFT определена только переменная прямоугольника лица. Для добавления отслеживания пяти ключевых точек необходимо определить класс Bbox faceBbox в классе Face, чтобы сохранить как местоположение лица, так и ключевые точки.
Перегрузить функцию doingLandmark_onet на основе исходной функции, изменив тип параметра с std::vector< cv::Point > &pts на Bbox& faceBbox.
Изменить вызов функции doingLandmark_onet в функции tracking.
Используя класс Face faceBbox, можно получить местоположение лица и его пять ключевых точек в main.cpp.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )