
Kryptonite ML Challenge – соревнование, на котором участники могут попрактиковаться на подготовленных данных, побороться за призовой фонд в 600 000 рублей и прокачать скиллы в Computer Vision, Metric Learning и Face Recognition.
Kryptonite ML Challenge организован командой компании «Криптонит». Подробнее про задачу и критерии оценки рассказал Георгий Поляков, заместитель руководителя лаборатории искусственного интеллекта «Криптонита».
«Криптонит» – российская технологическая и научно-исследовательская группа компаний, которая разрабатывает ПО и программно-аппаратные комплексы для хранения, обработки и анализа больших данных с помощью моделей машинного обучения, а также проводит научные исследования в области криптографии, информационной безопасности и искусственного интеллекта. «Криптонит» входит в структуру российского многопрофильного «ИКС Холдинга» и входит в реестр ИТ-организаций Минцифры.
Подписывайтесь на их Telegram-канал – там много интересного.
Митап Kryptonite ML Challenge
Структура систем распознавания лиц
Типичная архитектура системы распознавания лиц выглядит следующим образом.

Модули предварительной обработки:
- Модуль приема данных. Отвечает за получение и предварительную обработку входных данных. Принимает изображения, обеспечивает корректность форматов и устраняет шумы и артефакты.
- Модуль детектирования. Отвечает за определение области, где находятся лица на изображениях.
Модули защиты от атак:
- Модуль liveness-detection. Проверяет подлинность человека, чтобы убедиться в отсутствии попыток обмануть систему, например, сфотографировавшись в маске или с планшетом в руках, на котором открыто изображение другого человека.
- Модуль deepfake-detection. Проверяет, является ли лицо фотографией реального человека или оно было сгенерировано или заменено нейросетью.
Основные модули:
- Модуль распознавания лиц. В нем происходит идентификация и верификация, определение конкретного лица среди известных. До этого этапа доходят только настоящие изображения без атак: сравниваются фотографии реальных людей.
- Выходной слой. Выводит результаты работы всей системы.
Задача соревнования
Качество моделей зависит от имеющихся данных. Зачастую в датасетах для обучения систем распознавания лиц мало похожих друг на друга людей, при этом у многих представлено всего несколько фотографий, по которым нельзя определить, как изменяется лицо человека в течение нескольких лет. Сбор такой информации возможен только по известным персоналиям, массово подготовить необходимый объем данных проблематично.

Соревнование предлагает использовать «баги» моделей распознавания лиц в качестве «фичей» на этапе обучения, при этом не отказываясь от модулей liveness-detection и deepfake-detection. Поэтому в датасет для соревнования добавлены Deepfake-изображения для расширения данных.
Финальное решение должно уметь:
- распознавать фальшивые изображения;
- сравнивать реальные фотографии одного и того же человека;
- различать снимки разных людей.
Задача – подготовить систему, которая принимает на входе изображение, содержащее одно лицо, и выдает эмбеддинг – числовое представление лица в виде многомерного вектора, который отражает уникальные характеристики человека. Также модель должна уметь сравнивать фотографии, используя метрику cosine similarity. Близкий к единице показатель указывает на то, что на двух изображениях – один и тот же человек.
В обучающей выборке для каждого человека представлено несколько реальных и сгенерированных нейросетью фотографий, которые промаркированы эталонными метками, позволяющими определить подлинность картинки:
- Метка 1 – два изображения одного и того же человека.
- Метка 0 – два изображения разных людей.
- Метка 0 – одно лицо реальное, второе синтетическое. В этом случае система должна выдать результат «на фотографии изображен не один и тот же человек».

Финальная метрика – EER, которая учитывает, как часто система ошибается при сравнении пар с эталонной меткой 0 и 1.
Критерии оценки
Высокая метрика – лишь один из критериев определения победителей.
Ваше решение – это некоторый отчет об исследовании. Хочется, чтобы он был воспроизводимым, с описанием проделанной работы и возможностью повторить обучение вашей лучшей модели. Мы хотим, чтобы это было соревнование по обучению моделей, на котором вы предложите оригинальные идеи, предобработку данных, комбинацию классов. Ожидаем от участников увидеть что-то интересное.
Георгий Поляков, заместитель руководителя лаборатории искусственного интеллекта
- Метрика EER – 40 баллов. Баллы присуждаются в зависимости от результатов команды. Чем выше участники смогут превысить минимальный порог, определенный жюри, тем больше смогут заработать очков.
- Скорость инференса – 10 баллов. У экспертов подготовлены две референсные модели в формате ONNX – быстрая и медленная. Баллы начисляются в зависимости от того, какую из них сможет обогнать решение участников.
- Оригинальность подхода – 10 баллов. Поощрение участников за поиск нестандартных решений, которые смогут удивить команду жюри.
- Качество кода – 15 баллов. Корректность структуры кодовой базы проекта: указание зависимостей, создание библиотеки и т.д.
- Дизайн и воспроизводимость – 15 баллов. Корректная организация экспериментов: баллы начисляются за описание целей, результатов и выводов в итоговом отчете о результате работы.
- Презентация решения – 10 баллов. Итоги защиты решения на питчинге.

Пункты оригинальность подхода, качество кода, дизайн и воспроизводимость не имеют четких критериев и требований. С их помощью мы хотим отметить и поощрить команды, которые сделают классные проекты.
Георгий Поляков, заместитель руководителя лаборатории искусственного интеллекта
Советы участникам
Эксперты «Криптонита» подготовили для участников Kryptonite ML Challenge рекомендации, которые помогут победить.
- Распределяйте роли. Определите пул специалистов, которые нужны в команде, например, исследователь, ML-инженер, аналитик данных. Не забывайте, что капитан может совмещать лидерские функции с работой над проектом.
- Не стесняйтесь готовых решений. Использование существующих моделей ускорит работу и даст больше времени на доработку проекта и повышение целевой метрики.
- Проанализируйте тестовые данные. Четко сформулируйте список требований к модели.
- Документация – это важно! Систематизируйте ее ведение, продумайте структуру отчетов и хранения информации. Убедитесь, что вся команда знает, где лежит документация.
- Соблюдайте баланс работы и отдыха. Многодневные хакатоны – это марафон. Приберегите силы для финального дня перед сдачей решений.
- Презентация не менее важна, чем качество проекта. Структурируйте питчинг и грамотно расставьте акценты, чтобы эксперты тоже могли оценить проделанную командой работу.
Больше советов – в статье в блоге на Хабре «Криптонита».
Расписание соревнования
Этапы Kryptonite ML Challenge:
- 1 марта. Открытие соревнования.
- 1-9 марта. Работа над проектами.
- 16 марта. Питчинг и награждение победителей.
Участвуй и ты сможешь:
- получить шанс разделить призовой фонд в 600 000 рублей;
- разработать решения в области Machine Learning и Computer Vision;
- прокачать скиллы в Computer Vision, Metric Learning и Face Recognition.