Удалённая идентификация по видеосвязи — привычный для бизнеса сценарий: клиент подключается к оператору, подтверждает личность и получает доступ к операциям.
Но современные дипфейки уже достаточно убедительны и «проверка на глаз» перестаёт работать: оператору становится сложнее принять решение. А пользователю — пройти проверку, например, его попросят помахать рукой перед лицом, чтобы ошибки в real-time подмене стали заметны.
Чтобы снизить риск мошенничества и убрать лишнюю нагрузку с участников процесса, мы обучили детектор, который в реальном времени подсказывает оператору: «перед вами, вероятно, дипфейк». Для обучения такой модели нужен набор данных с примерами реальных и сгенерированных видео, максимально близких к условиям ВКС.
Мы собрали собственный датасет и использовали его для обучения детектора, ориентированного на работу в сценариях видеосвязи. В статье расскажем, откуда брали материалы, как организовали сбор и тегирование, как генерировали фейки и почему важно заранее продумывать систему тегов. Датасет открыт для сообщества, ссылки оставили в конце статьи.
Чтобы сгенерировать дипфейк, нужны две составляющие: видео-таргет (куда «вклеивается» лицо) и источник — фото с лицом, которое будет подставлено. Данные собирали наши асессоры.
Сценарий: аналогичный видеоконференцсвязи — в кадре один человек, фронтально к камере; без смен сцен; без объектов между камерой и головой; тестовые плашки и логотипы допускаются только если они не закрывают человека.
Качество и длительность: разрешение не ниже 720p; фрагменты длиной 10–30 секунд (из одного ролика допускалось брать несколько, если в них разные люди).
Повороты головы: вправо/влево в пределах ~±30°, вверх/вниз ~±20°; голова целиком в кадре на всём протяжении фрагмента.
Лицензия: обязательно Creative Commons Attribution; на YouTube в поиске есть удобный фильтр «Особенности → Creative Commons».
Для качественной генерации нам было важно, чтобы голова человека была постоянно в кадре и без существенных поворотов, иначе качество дипфейка его легко выдаст. Но, как оказалось, не так-то просто найти подходящие видео — люди не сидят неподвижно, они постоянно двигаются и меняют положение.
Отзывы наших асессоров:

Асессоры выбрали 2500 видео. Часть из них мы отсекли из-за несоответствия требованиям или подозрений, что видео может кого-то оскорбить. Еще 24% не удалось скачать из-за ошибок на этапе автоматической выгрузки.
В результате у нас получилось 1636 релевантных видео.
Сценарий: цветное фото одного человека, лицом к камере; взгляд в камеру или с небольшим отклонением. В кадре — только этот человек, нет посторонних объектов между камерой и головой.
Требования к изображению: лицо занимает не менее 30% кадра; отсутствуют аксессуары, закрывающие лицо (например, очки); желательно минимальное количество постобработки.
Лицензия: Creative Commons с возможностью использования и модификации. Для поиска использовали Flickr (фильтр «Commercial use & mods allowed») и Pexels, где подходящая лицензия установлена по умолчанию.
Всего асессоры собрали 2000 фото.
Теги назначались и для видео, и для фото – это критично для генерации дипфейков (женское лицо на мужском теле легко определить как дипфейк), и важно для конечной цели дообучения модели определения дипфейков на этом датасете.
Теги для видео (всегда): пол (man/woman), освещение (dark/average/bright), локация (indoor/outdoor).
Теги при наличии: hat/headphones/glasses, beard/mustache/piercing, gesticulation (активная жестикуляция), head rotation, child, chair/armchair/sofa.
Теги для фото (всегда): пол, освещение, локация.
Теги при наличии: hat/headphones, beard/mustache/piercing, child.
Мы продумали чёткую и понятную систему тегирования. Как нам казалось :) На практике задача быстро превратилась в исследование границ восприятия: интерпретация тегов очень субъективна и спорные случаи приходилось постоянно согласовывать. Ниже — несколько характерных примеров.
Пол: когда контекст мешает определённости
Пример: Человек в женской одежде, но с мужским голосом или мужскими чертами лица — какой тег? По визуальным признакам или по предполагаемому физиологическому полу?
Решение: Используем визуальные признаки как основу, но фантазийные образы не используем в датасете (для сценария идентификации по видеосвязи они и не подходят). Если для асессора нет явной определённости по полу, то не используем фото/видео.
Освещение: градации между dark/average/bright
Примеры: Человек в интерьере помещения с окнами, но в пасмурный день. Это dark или average? Объект на улицах ночного города с яркой подсветкой — dark (по времени) или bright (по уровню света)?
Решение: Уровень освещения договорились определять по видимости деталей лица и окружающих объектов, а не по окружению.
Сделали коллекцию примеров‑эталонов.
Аксессуары: функция или форма?
Примеры: Наушники на шее — это headphones или уже нет? Большой ободок на голове — это headphones? Чёлка — это hat?
Решение: Тег hat и headphones применяем только если аксессуары непосредственно на голове человека, закрывают часть лица (чёлка), или изменяют форму головы (наушники, ободок и тд).
Особенности лица: минимальные пороги
Примеры: Редкая щетина — это beard? Колечко в брови, но не в носу — считать ли piercing?
Решение: Установили пороги видимости: например, beard — если волосы покрывают более 50% подбородка; piercing — если украшение явно видно в области лица.
Child: возраст и контекст
Пример: Подросток 12 лет — child или adult?
Решение: child — человек младше 12 лет, визуально узнаваемый как ребёнок.
Дополнительные плюсы комьюнити YouTube от нашей работы:
Модели для генерации дипфейков. Наша задача — распознавать ситуации, когда человек во время онлайн видеосвязи пытается выдавать себя за другого. Поэтому и для генерации нам нужны были генераторы, способные работать в реальном времени.
Также есть важная особенность: каждая модель генерации оставляет свои характерные артефакты, которые могут быть незаметны человеку. Но детектор, обученный на одном типе фейков, обычно лучше ловит именно их и заметно хуже — фейки, созданные моделями, чьих примеров работ он не видел. Поэтому мы сначала составили список из четырех кандидатов (inswapper, uniface, mobilefaceswap, simswap) которые могут генерировать дипфейки «на лету» и из них выбрали две модели для генерации датасета.
Комбинирование. Для каждого видео случайно выбиралась подходящая по полу фотография. Ещё нам пришлось для целевых видео мужчин с бородой ограничить источники только с бородой, потому что борода часто «пробивается» через генерацию.
В датасете три ключевых части: исходные видео, исходные фотографии и набор сгенерированных дипфейк-роликов, метаданные к ним лежат в CSV-файлах.
Исходные видео. После отбора и очистки в датасет вошли 1636 коротких клипов из YouTube-роликов. Метаданные в файле full_csv_videos.csv: одна строка — один клип. В нём хранятся:
идентификатор видео на YouTube,
время начала и конца клипа в секундах,
имя файла,
размер видео,
строка с тегами, разделёнными точкой с запятой,
ссылка на оригинал на YouTube (для соблюдения лицензии).
Теги описывают то, как выглядит сцена и человек в кадре: освещение (average, dark, bright), место съёмки (в помещении или на улице), есть ли активные повороты головы или жестикуляция, присутствуют ли наушники или головные уборы, а также какой тип кресла виден в кадре.
Исходные фотографии. В фотоколлекции 2000 изображений. Метаданные в файле full_csv_photos.csv. В нём для каждой фотографии указаны:
имя файла,
строка с тегами,
ссылка на источник.
Набор тегов пересекается с видеочастью, кроме тегов движения — жестикуляции и поворотов головы.
Сгенерированные видео. Третья часть датасета — результаты дипфейк-генерации с помощью генераторов inswapper (4875 видео) и uniface (4897 видео). Метаданные в файле generations_info.csv описывают связку «исходное фото → целевое видео»:
какое исходное видео использовано как таргет,
какое фото подставлено,
имя итогового файла,
название генератора, которым сделан дипфейк,
отметка об использовании faceenhancer.
Сбор данных с YouTube. Фильтр лицензии Creative Commons на этапе поиска — очень удобно; Есть утилита для автоматического скачивания yt-dlp, но при потоковой выгрузке часть роликов не скачивается – закладывайте ретраи и запас источников.
Теги. Согласованные пороги и эталонные примеры резко уменьшают разброс интерпретаций. Но реальность всё равно окажется сложнее и придётся уточнять сложные вопросы по ходу.
Наш датасет подходит для обучения и валидации детекторов реал-тайм генерации дипфейков, а также может быть полезен разметкой фото и видео по тегам.
Все данные выложили в открытый доступ, ссылки ниже. Датасет распространяется лицензией Creative Commons BY-SA. Будем признательны за обратную связь.
Kaggle Dataset
Hugging Face Dataset
Источник


