1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/huiwei13-MNN_FaceTrack

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

MNN_FaceTrack

MNN использует алгоритмы mtcnn для обнаружения лиц и onet для их отслеживания. На процессоре i7-9700k скорость обнаружения может достигать 500 кадров в секунду.

Среда разработки

Win7

VS2015

Открытые фреймворки

Ссылки

HyperFT — это открытый проект для быстрого видеоотслеживания лиц на мобильных устройствах. Проект основан на алгоритмах mtcnn и использует простейший метод сопоставления шаблонов для отслеживания лиц. Алгоритм прост, но эффективен, а скорость работы на мобильных устройствах может превышать 150 кадров в секунду. Особенностью проекта является возможность отслеживать несколько лиц одновременно.

Анализ алгоритма кода

Алгоритм многопользовательского отслеживания лиц в проекте HyperFT состоит из трёх основных частей:

  1. Инициализация: с помощью алгоритмов mtcnn определяются положения лиц на первом кадре, и эти данные используются для инициализации процесса отслеживания.

  2. Обновление: используется сопоставление шаблонов для предварительного определения положения целевых лиц, затем данные объединяются с результатами алгоритмов mtcnn (onet) для более точного позиционирования. Наконец, алгоритм rnet из mtcnn используется для оценки достоверности отслеживания и предотвращения ложных срабатываний, например, когда рука проходит перед лицом.

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

Идеи по улучшению алгоритма (добавление отслеживания пяти ключевых точек)

  1. В классе Face проекта HyperFT определена только переменная, представляющая прямоугольник лица. Для добавления отслеживания пяти ключевых точек необходимо определить класс Bbox внутри класса Face. Это позволит сохранять не только положение лица, но и его ключевые точки.

  2. Основываясь на существующей функции doingLandmark_onet, можно перегрузить её, изменив тип параметра с std::vectorcv::Point &pts на Bbox& faceBbox.

  3. В функции tracking необходимо изменить вызов функции doingLandmark_onet.

  4. Используя класс Face и его атрибут faceBbox, можно получить информацию о положении лица и его пяти ключевых точках (main.cpp).

Связанные статьи

  1. Обзор методов быстрого отслеживания целей.

  2. Анализ и улучшение алгоритма открытого проекта HyperFT для отслеживания лиц.

  3. Пошаговое руководство по созданию и компиляции среды для проекта HyperFT на Android.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Открытый алгоритм отслеживания лиц в видео, MNN на основе детекции лиц mtcnn + отслеживание лиц onet. Скорость обнаружения на процессоре i7-9700k может достигать 500 кадров в секунду. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/huiwei13-MNN_FaceTrack.git
git@api.gitlife.ru:oschina-mirror/huiwei13-MNN_FaceTrack.git
oschina-mirror
huiwei13-MNN_FaceTrack
huiwei13-MNN_FaceTrack
master