Skip to content

sgjurano/ysda-celebrity-faces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ysda-celebrity-faces

Общее описание системы

Сервис построен на основе двух docker-контейнеров, связываемых через http, так же написан рецепт для docker-compose.

В контейнере celebrity_faces находится веб-морда на flask, скрипт для поиска лиц на залитой фотографии на основе предобученных каскадов Хаара (opencv) и нейронная сеть facenet, которая для каждого найденного лица считает 128-мерный эмбеддинг. Там же живёт небольшая генеративная нейросеть, который на основе переданной пары facenet-эмбеддингов восстанавливает лицо, одновременно похожее на оба.

Во втором контейнере hnsw_index находится написанный на C++ HNSW индексер, метод поиска kNN которого проброшен в flask через cython-биндинг, к нему прикручен swagger через модуль flasgger.

Текущее состояние

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

В выдаче показывается 5 ближайших соседей а также лицо, восстановленное из переданных эмбеддингов картинки и ближайшего соседа, для оригинальной фотографии, масштабированной до 160х160, необработанного opencv-кропа и расширенного opencv-кропа с эмпирически подобранными коэффициентами.

Результаты работы и более подробное описание принятых решений можно увидеть в отчёте. Результаты экспериментов с генерацией лиц лежат в репозитории, папка experiments

Использованные статьи и ресурсы

Запуск

Клонируем репозиторий

git clone git@github.com:sgjurano/ysda-celebrity-faces.git

Скачиваем параметры для индексера, модель для подсчета эмбеддингов, GAN, и датасет отсюда (датасет надо распаковать): https://yadi.sk/d/NkJaLhTS3UHBWd

unzip lsml-celebrity-faces -d .

Теперь нужно собрать докер-контейнеры для обеих частей:

cd hnsw_index && ./run_docker.sh
cd celebrity_faces && ./run_docker.sh

Запустим оба контейнера, смонтировав ресурсы и прокинув соответствующие порты:

docker-compose up

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published