Георгий Поляков, эксперт Kryptonite ML Challenge: как превратить «баги» моделей распознавания лиц в «фичи»

Kryptonite ML Challenge – соревнование, на котором участники могут попрактиковаться на подготовленных данных, побороться за призовой фонд в 600 000 рублей и прокачать скиллы в Computer Vision, Metric Learning и Face Recognition.

Kryptonite ML Challenge организован командой компании «Криптонит». Подробнее про задачу и критерии оценки рассказал Георгий Поляков, заместитель руководителя лаборатории искусственного интеллекта «Криптонита»

Регистрация открыта до 1 марта.

«Криптонит» – российская технологическая и научно-исследовательская группа компаний, которая разрабатывает ПО и программно-аппаратные комплексы для хранения, обработки и анализа больших данных с помощью моделей машинного обучения, а также проводит научные исследования в области криптографии, информационной безопасности и искусственного интеллекта. «Криптонит» входит в структуру российского многопрофильного «ИКС Холдинга» и входит в реестр ИТ-организаций Минцифры.

Подписывайтесь на их 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.

Успей зарегистрироваться до 1 марта!


    Оставьте заявку, мы подберем для вас лучшие решения для работы с ИТ-сообществом

    Будьте в курсе лучших кейсов хакатонов, ML-турниров, CTF и соревнований по спортивному программированию на Codenrock
    Добавить комментарий