Noup1_Fuck
Начинающий
- Регистрация
- Сообщения
- 13
- Реакции
- 0
Сегодня хочу рассказать, какие бывают дипфейки лиц и как их детектировать. Фальшивых лиц становится всё больше и они выглядят всё убедительнее, поэтому без надежных инструментов для их обнаружения сейчас никуда. О том, как определить, что перед вами не настоящий человек и том, как предотвратить манипуляции с вашими фотографиями (да, так тоже можно) — под катом.
Слово «дипфейк» происходит от двух терминов: deep learning, глубокий метод машинного обучения на нейросетях, и fake — подделка. Изначально термин относили только к замене лица человека. Постепенно это понятие расширилось и на другие категории, включая аудио, видео, текст и так далее.
Дипфейки отличаются от других подделок. Если мошенник попытается оплатить покупку, подняв перед камерой платёжного терминала изображение своей жертвы, это не дипфейк. Методы защиты от цифровых и физических подделок тоже отличаются.
В чем разница? Liveness — технология, которая помогает системе отличить живого человека. Она определяет физическую (не цифровую!) маску, даже если она из силикона или латекса, фото, запись голоса или видео.
Алгоритм работает в связке с системой распознавания лиц, но главное отличие в том, что он отвечает не на вопрос «Тот ли это человек?», а на вопрос «Живой ли это человек?».
Liveness — это очень интересная и обширная тема. О ней мы поговорим в другой раз.
Сейчас давайте погрузимся в мир дипфейков и посмотрим на их самые распространенные типы:
Алгоритмы генерации разделяются на два типа:
В реальности типов генерации ещё больше. Я описал два, чтобы показать: защитившись от одних алгоритмов, у нас нет гарантии, что мы защитимся и от других.
При обнаружении фальшивок есть и другие проблемы. По своему опыту я делю их на четыре основные категории:
Простое и рабочее решение. Но лучше взять классификатор, который «заточен» для работы с видео и под дипфейки.
Идея, например, в том, чтобы взять нейронку, обученную понимать, что произносит человек по движению его губ. Взяв за основу эту модель, можно установить реальность ролика, где хорошо видно говорящее лицо.
Что дает такое предобучение? В этом случае нейронка улавливает изменения и лучше адаптируется под новые атаки, чем если бы её обучали дополнительно. На скриншоте ниже — зависимость эффективности работы нейросетей по метрике AUC (сравниваются результаты разных алгоритмов детекции на 4 тестовых датасетах).
Если зафризить и не обучать основную часть сети, а обновлять её последнюю часть, она будет лучше выявлять новые фальшивки, так как не переобучается под артефакты старых видов атак.
Еще один хороший способ детекции дипфейков — обнаружение артефактов на разных кадрах одного и того же видео. Этот метод неплохо работает, поскольку ролики с поддельными лицами в основном генерируются по кадрам. Если артефакты то появляются, то исчезают, нейросеть это заметит и проанализирует.
Теперь про ситуацию, когда кто-то генерирует лицо и накладывает его на голову с видео, размыв края, чтобы скрыть изменения. В этом случае дипфейки отлавливают как раз через поиск краёв добавленного изображения.
В предыдущих способах мы сравнивали фейки с реальными данными, то тут нам придётся синтезировать «ненастоящие» данные и обучить сеть на них. Таким способом можно предсказывать места с изменениями на картинке.
Что такое дипфейки и какими они бывают?
И термин, и его реализация впервые появились на Reddit в 2017 году: один из пользователей тогда сделал несколько фейковых видео со знаменитостями.Слово «дипфейк» происходит от двух терминов: deep learning, глубокий метод машинного обучения на нейросетях, и fake — подделка. Изначально термин относили только к замене лица человека. Постепенно это понятие расширилось и на другие категории, включая аудио, видео, текст и так далее.
Дипфейки отличаются от других подделок. Если мошенник попытается оплатить покупку, подняв перед камерой платёжного терминала изображение своей жертвы, это не дипфейк. Методы защиты от цифровых и физических подделок тоже отличаются.
В чем разница? Liveness — технология, которая помогает системе отличить живого человека. Она определяет физическую (не цифровую!) маску, даже если она из силикона или латекса, фото, запись голоса или видео.
Алгоритм работает в связке с системой распознавания лиц, но главное отличие в том, что он отвечает не на вопрос «Тот ли это человек?», а на вопрос «Живой ли это человек?».
Liveness — это очень интересная и обширная тема. О ней мы поговорим в другой раз.
Сейчас давайте погрузимся в мир дипфейков и посмотрим на их самые распространенные типы:
- перенос лица;
- перенос выражения лица;
- кастомизация атрибутов. Добавление очков, затемнение или осветление кожи, изменение прически и так далее;
- генерация лица с нуля. Создание несуществующих в реальности людей;
- синхронизация губ в ходе разговора.
- рекламная интеграция;
- цифровые аватары;
- дубляж фильмов;
- виртуальная примерочная (макияж, укладка волос и т.п.);
- анонимизация аватара на видео во время конференции;
- цифровые актеры — эта технология становится всё более популярной в Голливуде.
- компрометирующий контент;
- манипуляция общественным мнением;
- реалистичные боты для соцсетей, которые используются для обмана пользователей;
- обход системы аутентификации.
Алгоритмы генерации разделяются на два типа:
- Auto-Encoder. Получается очень хорошее качество, но для обучения нейросети нужна база видео.
- ID-Injection. Здесь сохраняются черты оригинального лица. К ним добавляют лицо другого человека и получается нечто среднее между двумя людьми. Вот как это выглядит:
В реальности типов генерации ещё больше. Я описал два, чтобы показать: защитившись от одних алгоритмов, у нас нет гарантии, что мы защитимся и от других.
Защита от подделки
Дипфейков огромное количество — как примитивных, так и с трудом поддающихся детекции. Современный человек, находящийся в плотном информационном потоке, частенько даже не успевает задуматься, дипфейк перед ними или нет.При обнаружении фальшивок есть и другие проблемы. По своему опыту я делю их на четыре основные категории:
- очень много трудностей из-за сжатия данных, включая JPEG, H254. Детекторы дипфейков ориентируются на низкоуровневые артефакты, а сжатие часть из них убирает;
- появляются новые виды атак и плохая переносимость детектора дипфейков на новые алгоритмы генерации. Если его не обучали на алгоритме, использовавшемся при создании лица, могут быть ошибки;
- не до конца устоявшиеся тестовые данные. У разных методов детекции нет «золотого стандарта» образцов для проверки данных и из-за этого сложно сравнить результаты разных алгоритмов детекции.;
- хорошей точностью могут похвастаться только модели, в которые встроено много нейросетей с большим количеством параметров. Они почти не ошибаются, но даже на видеокарте работают медленно. Это сильно затрудняет создание real-time дипфейк-детекторов
Простое и рабочее решение. Но лучше взять классификатор, который «заточен» для работы с видео и под дипфейки.
Идея, например, в том, чтобы взять нейронку, обученную понимать, что произносит человек по движению его губ. Взяв за основу эту модель, можно установить реальность ролика, где хорошо видно говорящее лицо.
Что дает такое предобучение? В этом случае нейронка улавливает изменения и лучше адаптируется под новые атаки, чем если бы её обучали дополнительно. На скриншоте ниже — зависимость эффективности работы нейросетей по метрике AUC (сравниваются результаты разных алгоритмов детекции на 4 тестовых датасетах).
Если зафризить и не обучать основную часть сети, а обновлять её последнюю часть, она будет лучше выявлять новые фальшивки, так как не переобучается под артефакты старых видов атак.
Еще один хороший способ детекции дипфейков — обнаружение артефактов на разных кадрах одного и того же видео. Этот метод неплохо работает, поскольку ролики с поддельными лицами в основном генерируются по кадрам. Если артефакты то появляются, то исчезают, нейросеть это заметит и проанализирует.
Теперь про ситуацию, когда кто-то генерирует лицо и накладывает его на голову с видео, размыв края, чтобы скрыть изменения. В этом случае дипфейки отлавливают как раз через поиск краёв добавленного изображения.
В предыдущих способах мы сравнивали фейки с реальными данными, то тут нам придётся синтезировать «ненастоящие» данные и обучить сеть на них. Таким способом можно предсказывать места с изменениями на картинке.