Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Latest commit dcfe509 May 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
baseline init May 8, 2019
README.md init May 8, 2019
example.png init May 8, 2019

README.md

ID R&D antispoofing challenge

Материалы к соревнованию по определению обмана при идентификации по лицу с помощью камеры.

Описание задачи

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

Участникам соревнования предлагается построить алгоритм, который будет детектировать обман при идентификации по лицу с помощью камеры на основе последовательности кадров.

Пример реального изображения и трёх видов spoof-атак:

Формат набора данных

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

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

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

Изображения на этапе тестирования аналогичные. В публичной и приватных частях примерно по 1200 объектов.

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

В качестве решений принимается алгоритм (код + необходимые файлы) и описание точки запуска в виде одного архива. В корне архива с решением должен лежать файл 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"
}

Заданы переменные окружения:

  1. PATH_INPUT — путь до директории с данными

  2. PATH_OUTPUT — путь до директории для сохранения предсказаний.

Доступны следующие файлы:

  1. $PATH_INPUT/meta.csv — таблица с информацией об объектах для предсказания и путями до них. Таком образом, первое изображение для первого объекта можно открыть, используя путь $PATH_INPUT/sample_1/sample_1_01.png Пример файла:

    id,frame,path
    sample_1,1,sample_1/sample_1_01.png
    sample_1,2,sample_1/sample_1_02.png
    sample_1,3,sample_1/sample_1_03.png
    sample_1,4,sample_1/sample_1_04.png
    sample_1,5,sample_1/sample_1_05.png
    sample_2,1,sample_2/sample_2_01.png
    ...
    
  2. $PATH_OUTPUT/solution.csv — таблица, в которую нужно записать предсказания. Пример файла:

    id,prediction
    sample_1,0.99
    sample_2,0.001
    sample_3,0.3
    ...
    

Решение запускается в docker-контейнере, базовым образом выступаетksanvatds/idrnd-antispoof, аналогичный образу Kaggle с GPU (собран из коммита). Имеется CUDA 10, CUDNN 7.4 и актуальные версии библиотек. При желании можно указать свой образ.

Доступные ресурсы:

  • 4 ядра CPU (2.3 GHz)
  • 8Gb RAM
  • Видеокарта NVidia Tesla K80

Ограниченя:

  • 4Gb памяти для рабочей директории
  • 200Mb на архив с решением
  • 25Mb на выходную таблицу
  • 20 минут на работу решения

Пример решения вместе с примером данных можно скачать на странице соревнования.

Оценка качества

Для оценки качества используется следующая функция:

metric = min(P(falsealarm) + 19 P(miss)) by threshold = min(FP/(FP+TN) + 19 FN/(FN+TP))) by threshold.

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

Рекомендации по решению задачи

Начать решение конкурса можно с baseline-решения, основанного на finetuning предобученной на ImageNet сети и усреднением вероятностей по кадрам.

You can’t perform that action at this time.