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

OSCHINA-MIRROR/RoseKissYou-facenet

Клонировать/Скачать
README.md 7.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 05:51 1f0c87f

Распознавание лиц с помощью TensorFlow

Это реализация распознавателя лиц на основе TensorFlow, описанная в статье «FaceNet: A Unified Embedding for Face Recognition and Clustering». В проекте также используются идеи из статьи «Deep Face Recognition» от Visual Geometry Group из Оксфорда.

Совместимость

Код протестирован с использованием Tensorflow r1.7 под Ubuntu 14.04 с Python 2.7 и Python 3.5. Тестовые случаи можно найти здесь, а результаты — здесь.

Новости

Дата Обновление
2018-04-10 Добавлены новые модели, обученные на Casia-WebFace и VGGFace2 (см. ниже). Обратите внимание, что модели используют фиксированную стандартизацию изображений (см. wiki).
2018-03-31 Добавлен новый, более гибкий входной конвейер, а также несколько незначительных обновлений.
2017-05-13 Удалены старые нетонкие модели. Последний уровень узкого места перемещён в соответствующие модели. Исправлена нормализация Center Loss.
2017-05-06 Добавлен код для обучения классификатора на собственных изображениях. Renamed facenet_train.py to train_tripletloss.py и facenet_train_classifier.py to train_softmax.py.
2017-03-02 Добавлены предварительно обученные модели, которые генерируют 128-мерные вложения.
2017-02-22 Обновлён до Tensorflow r1.0. Добавлена непрерывная интеграция с использованием Travis-CI.
2017-02-03 Добавлены модели, в которых только обучаемые переменные были сохранены в контрольной точке. Поэтому они значительно меньше.
2017-01-27 Добавлена модель, обученная на подмножестве набора данных MS-Celeb-1M. Точность LFW этой модели составляет около 0,994.
2017–01–02 Обновлено для работы с Tensorflow r0.12. Не уверен, работает ли он со старыми версиями Tensorflow.

Предварительно обученные модели

Название модели Точность LFW Набор данных для обучения Архитектура
20180408–102900 0,9905 CASIA-WebFace Inception ResNet v1
20180402–114759 0,9965 VGGFace2 Inception ResNet v1

ПРИМЕЧАНИЕ: Если вы используете какую-либо из моделей, пожалуйста, не забудьте отдать должное тем, кто предоставил набор данных для обучения.

Вдохновение

Код во многом вдохновлён реализацией OpenFace.

Данные для обучения

Для обучения использовался набор данных CASIA-WebFace, который состоит из 453 453 изображений более 10 575 личностей после обнаружения лица. Было замечено некоторое улучшение производительности, если набор данных был отфильтрован перед обучением. Позже появится дополнительная информация о том, как это было сделано. Лучшая модель была обучена на наборе данных VGGFace2, состоящем из ~3,3 млн лиц и ~9000 классов.

Предварительная обработка

Выравнивание лица с помощью MTCNN

Одна из проблем вышеупомянутого подхода заключается в том, что детектор лиц Dlib пропускает некоторые сложные примеры (частичное перекрытие, силуэты и т. д.). Это делает обучающий набор слишком «простым», что приводит к ухудшению работы модели на других тестах. Доказано, что в этой конфигурации очень хорошо работает Multi-task CNN. Реализацию на Matlab/Caffe можно найти здесь, и она использовалась для выравнивания лица с очень хорошими результатами. Реализацию MTCNN на Python/Tensorflow можно найти здесь. Эта реализация не даёт идентичных результатов с реализацией на Matlab/Caffe, но производительность очень похожа.

Запуск обучения

В настоящее время наилучшие результаты достигаются путём обучения модели с использованием функции потерь softmax. Подробности о том, как обучить модель с помощью функции потерь softmax на наборе данных CASIA-WebFace, можно найти на странице Обучение классификатора Inception-ResNet-v1 и .

Предобученные модели

Модель Inception-ResNet-v1

Предоставляется несколько предварительно обученных моделей. Они обучаются с использованием функции потерь softmax с моделью Inception-Resnet-v1. Наборы данных были выровнены с помощью MTCNN.

Производительность

Точность на LFW для модели 20180402-114759 составляет 0,99650+-0,00252. Описание того, как запустить тест, можно найти на странице Проверка на LFW. Обратите внимание, что входные изображения для модели необходимо стандартизировать с использованием фиксированной стандартизации изображений (используйте опцию --use_fixed_image_standardization при запуске, например, validate_on_lfw.py).

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/RoseKissYou-facenet.git
git@api.gitlife.ru:oschina-mirror/RoseKissYou-facenet.git
oschina-mirror
RoseKissYou-facenet
RoseKissYou-facenet
master