Commit 5e7d7257 authored by Ivan Chekanov's avatar Ivan Chekanov
Browse files

:pencil: Add task

parent 63034ffa
No related merge requests found
Showing with 8484 additions and 0 deletions
+8484 -0
This diff is collapsed.
%% Cell type:markdown id: tags:
# Суть задания
1. Реализовать решение задачи верификации лица (сравнение 1 к 1)
2. 2 на кого из МИЭМ вы похожи + 2 GUI
2. Протестировать работу различных методов трекинга объектов в различных задачах.
Примерное время выполнения - 8-10 часов.
Дедлайн: 1 февраля в 23:59
Штрафные коэффициенты оценивания при просрочке:
-|-
----|---
Просрочка меньше 12 часов | без штрафа
От 12 часов до 7 дней после дедлайна | 0.8
От 7 до 14 дней | 0.6
Более 14 дней и до начала сессии | 0.4
## Оценивание
Задание:
Часть работы | Стоимость в баллах
-------------|--------------------
Детекция + Верификация **Можно сдать без защиты**.| 3
Поисковик "MIEM Lookalikes" **Можно сдать без защиты**.| 2
MIEM Lookalike Web-GUI **Можно сдать без защиты**.| 1
Исследование устойчивости методов распознавания | 4
Итого | 10 баллов
Формула оценивания всей работы:
О = Задание * 0.9 + Тест на лекции * 0.1
%% Cell type:markdown id: tags:
# 1 Детекция + верификация (3 балла)
%% Cell type:markdown id: tags:
Часть 1: Обнаружение лиц в реальном времени или на видео (3 балла)
Задача:
Используя библиотеку OpenCV и метод [YuNET](https://docs.opencv.org/4.x/d0/dd4/tutorial_dnn_face.html) (или другой нейросетевой метод обнаружения лиц на ваше усмотрение), реализуйте обнаружение лиц на видео (или веб-камере).
Программа должна обрабатывать кадры с вебкамеры и корректно распознавать ваше лицо. Ваше лицо должно быть выделено зелёным прямоугольником, а чужие - красными.
%% Cell type:markdown id: tags:
# 2 MIEM Lookalike (2 балла)
%% Cell type:markdown id: tags:
Реализовать задачу поиска лиц с использованием эмбеддингов и FAISS
Задача:
Используйте предобученную модель распознавания лиц (например, FaceNet из библиотеки DeepFace) для создания эмбеддингов (векторных представлений) для всех изображений лиц из [выгрузки фотографий](https://drive.google.com/drive/folders/1I7EzyoJYYiLuOiPyjAHeSdTgzmDUAp2X?usp=sharing) сотрудников МИЭМ.
Создайте [FAISS](https://habr.com/ru/companies/okkamgroup/articles/509204/)-базу данных для хранения эмбеддингов лиц.
Реализуйте функцию поиска:
* Загрузите изображение нового лица.
* Извлеките эмбеддинг и найдите ближайший эмбеддинг в FAISS.
* Реализуйте выдачу имени человека с наиболее похожим лицом и его расстояние до текущего лица.
По-умолчанию предполагается выполнение решения в виде консольного скрипта или внутри блокнота Jupyter. Дополнительно можно реализовать веб-интерфейс с помощью библиотеки streamlit или другого веб-фреймворка на ваше усмотрение (+1 балл).
%% Cell type:markdown id: tags:
# 3 Анализ устойчивости распознавания лиц (4 балла)
%% Cell type:markdown id: tags:
## Часть 1. Оценить точность работы методов из DeepFace на тестовом видео (2 балла).
%% Cell type:markdown id: tags:
В данном задании предлагается рассмотреть задачу распознавания лиц как задачу классификации для оценки точности.
Вам даны [видео](https://drive.google.com/drive/folders/1z_YCdJF2Rf9WzlNSY3BpNFiakNisq5VB?usp=sharing), для которых представлена разметка в виде тайм-кодов и база фотографий людей с этих видео.
Необходимо взять каждый 50-й кадр видео (способ разбиения на кадры с учётом разметки - на ваше усмотрение) и для полученного набора изображений оценить метрику Precision на данном наборе изображений для всех лиц, присутствующих на видео и в разметке.
%% Cell type:markdown id: tags:
## Часть 2. Оценить точность работы методов из DeepFace на аугментированных данных (2 балла).
%% Cell type:markdown id: tags:
Необходимо собрать собственный набор данных из **различных** изображений Вашего лица с разных ракурсов, желательно настоящие фотографии из личного архива (20 штук)\
Возьмите эталонное изображение (как в паспорте) и при помощи библиотеки [DeepFace](https://github.com/serengil/deepface) проверьте его на соответствие всему датасету. Посчитайте метрику Precision. \
\
Примените каждую из перечисленных ниже аугментаций (**по-отдельности**) ко всему датасету и измерьте метрику Precision для измененнного датасета:
* Поворот изображения на 45° и 90°.
* Добавление шума (Gaussian Noise).
* Изменение яркости (увеличение и уменьшение на 50%).
* Размытие с различными параметрами.
\
Реузультаты соберите в таблицу вида:
Метод | Исходный датасет | Поворот на 45° | Поворот на 90° | Изображение с шумом |
--- | ----|--- | --- | --- |
VGG-Face | 0 | 0 | 0 | 0 |
Facenet | 0 | 0 | 0 | 0 |
Facenet512 | 0 | 0 | 0 | 0 |
OpenFace | 0 | 0 | 0 | 0 |
DeepFace | 0 | 0 | 0 | 0 |
DeepID | 0 | 0 | 0 | 0 |
ArcFace | 0 | 0 | 0 | 0 |
Dlib | 0 | 0 | 0 | 0 |
SFace | 0 | 0 | 0 | 0 |
GhostFaceNet | 0 | 0 | 0 | 0 |
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
# Итоговая проверка и отчётность
%% Cell type:markdown id: tags:
## Задание 1
* Ссылка на исходный код приложения в GitHub
* Ссылка на видеозапись экрана ПК во время работы приложения
## Задание 2
* Ссылка на исходный код приложения в GitHub
* Ссылка на видеозапись экрана ПК во время работы приложения
## Задание 3
* Ссылка на Jupyter Notebook с кодом подсчёта метрики по кадрам с видео в GitHub
* Ссылка на архив в формате ZIP или 7z с вашими фото
* Ссылка на Jupyter Notebook с кодом наложения аугментаций и подсчёта метрики в GitHub
%% Cell type:markdown id: tags:
# Контрольные вопросы
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment