32% пройдено
09.05
20.06

До конца: 29 дней

Задача

Всё чаще для идентификации пользователей используется камера телефона или ноутбука. Это приводит к попыткам обмана алгоритмов проверки лица злоумышленниками. Делают это разными способами: снимают на камеру видео с другого экрана или распечатанный портрет, надевают фотографию поверх своего лица.

Критерии качества

Участникам соревнования предлагается построить алгоритм, который будет детектировать обман при идентификации по лицу с помощью камеры на основе последовательности кадров. Решения принимаются в формате docker-контейнеров. Метрика качества решений: P(falsealarm) + 19⋅P(miss), что равно FP/(FP+TN) + 19⋅FN/(FN+TP).

Призы

Призовой фонд - 600 000 ₽! Разрешены команды до 6 человек, со всего мира и любого возраста. Команда, занявшее первое место, получит 300 000 ₽, второе место 150 000 ₽, и третье место 75 000 ₽. Также организована номинация за лучшее решение в 75 000 ₽, которая будет присуждена на основании решения жюри конкурса.

Данные

Для решения задачи участникам предоставляется набор из ~11500 примеров, каждый из которых представляет собой последовательность из 5 кадров, полученных одинаковым способом из видеозаписи.

В обучающей выборки класс spoof (обман) представлен в виде 3 отдельных классов:

  • 2dmask - надетая на лицо распечатанная фотография;
  • printed - съёмка распечатанной фотографии;
  • replay - съёмка видеозаписи.

Изображения на этапе тестирования аналогичные.

Положительным классом label=1 считается spoof. В используемой метрике P(falsealarm) — вероятность ложной тревоги, то есть посчитали за spoof то, что было реальным. P(miss) — вероятность пропустить spoof.

Участникам разрешено использовать для обучения любые публично доступные базы, а также пользоваться публично-доступными предобученными моделями.

Участникам предоставлены следующие наборы данных:

  • Dataset (30 Gb) — полная версия обучающих данных;
  • small train (10 Gb) — уменьшенная версия обучающих данных для лёгкого старта (уменьшено количество объектов);
  • Local check data + sample submission - небольшой сэмпл данных в формате аналогичном запуску в тестовой среде для локальной отладки.

insert_drive_filedataset insert_drive_filesmall_dataset
insert_drive_filelocal_check_data + sample_submission

Обсуждение и правила

Обсуждение соревнования происходит в канале #idrnd_challenge в слаке Open Data Science. Регистрация в slack доступна здесь.

Участники могут объединяться в команды до 6 человек. Обмен кодом вне команды участников разрешен только публично, в канале обсуждения соревнования.

Разрешено участие любых желающих независимо от их возраста и национальности, за исключением сотрудников компаний ООО "ДСП Лабс" и "Сингулярис Лаб".

Соревнование проходит с 9 мая по 20 июня включительно. Дедлайн на объединение в команды - 13 июня, 23:59.

descriptionправила

Формат решений

В качестве решений принимается алгоритм (код + необходимые файлы) и описание точки запуска в виде одного архива. В корне архива с решением должен лежать файл meta.json со структурой:

 {
"image": "<docker image>",
"entrypoint": "<entry point or sh script>"
}

Например:

 {

 "image": "ksanvatds/idrnd-antispoof",
"entrypoint": "python3 predict.py --path-images-csv $PATH_INPUT/meta.csv --path-test-dir $PATH_INPUT --path-submission-csv $PATH_OUTPUT/solution.csv"

}

Решение запускается в docker-контейнере, базовым образом выступает
ksanvatds/idrnd-antispoof, аналогичный образу Kaggle с GPU.

Участникам предоставляется пример корректного baseline решения от организаторов. Дополнительные материалы для участников доступны на github странице соревнования.

codegithub insert_drive_filebaseline_submission

Технические ограничения решений

  • CPU - x4 2.3 ГГц
  • RAM - 8 Gb
  • Размер решения - до 200 мб
  • Размер рабочей директории - 4 Гб
  • Размер выходной директории - 25 Мб
  • Лимит по времени - 20 минут
  • GPU - NVIDIA Tesla K80

Имеется CUDA 10, CUDNN 7.4 и актуальные версии библиотек. При желании можно указать свой образ.

Номинация за лучшее решение

По итогам конкурса, будет присуждена специальная номинация за лучшее решение (с точки зрения соотношения качества-компактности). Команда, победившая в данной номинации, получит приз в 75 000 ₽.

Выбор команды-победителя осуществляет жюри соревнования:

  • Константин Симончик, ID R&D Inc. (simonchik@idrnd.net)
  • Денис Тимошенко, ID R&D Inc. (timoshenko@idrnd.net)