Искусственный интеллект deepfake использует синтез человеческого изображения – объединяет несколько картинок, на которых человек запечатлен с разных ракурсов и с разным выражением лица, и делает из них видео. Анализируя фотографии, специальный алгоритм "учится" тому, как выглядит и может двигаться человек.
Работают две нейросети. Первая генерирует образцы изображения, а вторая отвечает за то, чтобы отличать настоящие образцы от поддельных. Технологию можно сравнить с работой двух фальшивомонетчиков, один из которых подделывает купюры, а второй пытается отличить эти подделки от оригиналов. В случае если второй обнаруживает подделку, изображение отсылается первому, который улучшает свою работу, предлагая более реалистичную подделку.
Сервисы deepfake работают при помощи открытых алгоритмов машинного обучения и библиотек, за счёт чего нейросеть может не только обучиться, но и достичь "почти человеческого" качества. Нейросеть получает изображения из библиотеки и "учится" при помощи роликов на том же YouTube. Искусственный интеллект тем временем сопоставляет фрагменты исходных портретов с тем, что есть на видео, и в итоге мы получаем максимально правдоподобную картинку.
Поддельные видеоролики стали появляться в 2017-м году, когда один из пользователей социального сервиса Reddit с ником Deepfakes разместил у себя на страничке видео для взрослых, где вместо настоящего лица актрисы было "подрисовано" лицо исполнительницы роли Чудо-женщины Галь Гадот. Позже подобная технология также была использована для ролика, где экс-президент США Барак Обама нецензурно выражался и оскорблял Дональда Трампа. Лицо экс-президента просто наложили на лицо актёра Джордана Пила. Получилось правдоподобно.
В чём тут опасность?
С распространением deep fake появилась опасность дискредитации любого пользователя, фото которого есть в сети. Первыми под огонь попали публичные личности, изображений которых достаточно много в открытом доступе. Например, лицо актера Николаса Кейджа давно стало мемом, а сам он известен неразборчивостью в выборе ролей. Благодаря deep fake лицо Николаса Кейджа поместили практически во все эпизоды известных фильмов. Например, он стал Лоис Лейн из "Человека из стали":
Учитывая количество фото, которые мы заливаем в социальные сети, недостатка в материале для deep fake нет. Проблема в том, что в будущем пользователи, которые не смогут доказать, что их не было на определённом видео, может, например, грозить тюремный срок.
По мнению Адиля Жалилова, руководителя factсheck.kz, в зависимости от контента такие видео могут быть как безобидными, так катастрофически опасными.
"Предположим, что, учитывая напряжённые отношения между этносами, религиозными группами, кто-то зальет в социальные сети видео, где представитель той или иной группы высказывает оскорбительные мнения или осуществляет действия, которые могут быть восприняты как оскорбление",
– говорит он.
По его словам, если население будет не в курсе о возможностях и вообще о существовании deep fakes, то любое такое поддельное видео с провокационным контентом может "вложить в уста" любому политику или представителю какого-либо этноса любой месседж. Это может породить деструктивный импульс и спровоцировать конфликты. Любая попытка властей реагировать, объяснить технологию deep fakes постфактум будет запоздалой в такой ситуации.
Можно ли распознать deepfake?Видео с применением deepfake выглядят убедительно только в течение пары-тройки секунд, но они (во всяком случае, пока) далеки от того, чтобы обмануть пользователей.
Если присмотреться к таким роликам внимательней, то можно заметить, что, например, "подрисованные" лица на видео не моргают.
Эффект постоянно открытых глаз связан с недостатками процесса создания таких роликов. Дело в том, что среди картинок, по которым обычно учится нейросеть, не так много (на самом деле их нет вообще) фотографий с закрытыми глазами. Пользователи вряд ли хранят или выкладывают в сеть неудачные селфи, на которых они моргают. Адиль Жалилов отмечает, что в перспективе распознавать deep fakes можно будет путём анализа движения глаз и амплитуды моргания.
"Предполагаю, что найдутся и другие методы распознавания поддельных видео. И очень важно, чтобы эти методы были простыми и прикладными, доступными для общества. Также важно всем государствам активно развивать и поддерживать фактчекинг, специализирующийся на борьбе с дезинформацией, а также медиаграмотность, куда включать обучение всего населения в том числе по распознаванию поддельных изображений и видео",
говорит Жалилов.
Чтобы распознать deepfake, учёные из Университета Олбани провели эксперимент, в котором выявили, что в среднем люди моргают 17 раз в минуту. Эта цифра увеличивается до 26 раз во время разговора, и падает до 4,5 раз во время чтения. Эти же учёные предложили свой метод распознавания фейковых видеороликов, объединив две нейронные сети, для того чтобы более эффективно распознавать ненастоящие лица. Как выяснилось, нейронные сети часто упускают спонтанные и непроизвольные физиологические действия. Например, дыхание во время речи или движение глаз.
"Так как многие из политиков, вероятно, читают текст своей речи, когда их снимают. Когда спикер на видео не моргает вообще, легко определить, что такие кадры являются фейком", – говорит профессор Люй, возглавивший исследование Университета Олбани.
Профессор отмечает, что стандарты проверки доказательств deep fake должны развиваться параллельно улучшению поддельных видео, иначе однажды мы вообще не сможем доверять видеоконтенту.
источник
***
DeepFake своими руками - знакомимся с пакетом DeepFaceLab
Дешевая 3070 Gigabyte Gaming - успей пока не началось
MSI RTX 3070 еще дешевле
RTX 3080 MSI Gaming дешево - смотри цену
Эта небольшая заметка не про комплектующие или их разгон, а про первичное знакомство с ПО, которое помогает "утилизировать" мощь наших ПК для создания видео, получивших название DeepFake (и чем они мощнее - тем более качественный фейк мы сможем сделать за более короткое время). Это мой первый опыт написания "статьи", надеюсь блин выйдет не слишком уж большим комом. :)
DeepFake, DeepNude, Deep... - всё чаще слова с данным корнем звучат с экранов ТВ или пестрят в заголовках статей и блогов, заманивая сочной провокационной картинкой на обложке. Нейросети всё лучше учатся распознавать или изменять наши лица, тела, голоса. Всё труднее становится заметить эти подделки даже профессионалам. Источник скандалов и дискредитации известных персон, удел мошенников или просто обычное хобби и весёлый досуг? Всё зависит от чистоты помыслов людей, в чьих руках (особенно если прямых) оказывается подобное ПО. Моё внимание к данного рода программам привлекли видео, где Сталлоне остался "Один дома" и был вместо Арнольда в "Терминатор 2". Захотелось попробовать и узнать - насколько реально освоить это ремесло человеку, не обладающему знаниями в этой области, а также и не имеющему особых навыков использования фото- и видеоредакторов?! Попробуем разобраться вместе!
Скачав данный пакет программ (DeepFaceLab) около недели назад, я был несколько ошарашен, ибо перед моим взором предстала следующая картина:
Однако постепенно, шаг за шагом изучая обучающие видео и pdf файл обучения, пробуя что-то с этим всем добром сделать, я понял, что это - большой труд, который проделал автор данного ПО, чтобы облегчить наше бремя создания видеофейков. Сильно глубоко вдаваться в сам процесс создания DeepFake (далее DF) не буду: для этого есть, уже упомянутые выше - видео на ютуб от автора, других умельцев и мануал (или писать отдельную статью). Но некоторые пояснения, которые возможно смогут помочь людям, решившим бросить вызов коварным нейросетям, я, с вашего позволения, попробую сообщить.
1. Про железо, куда же без него родного! Кроме очевидного (конец первого абзаца), тут есть некоторые нюансы: т.к. лимитирующим по времени этапом создания DF является тренировка нейросети (далее ИИ), которое происходит на видеокарте (CUDA предпочтительнее, но можно даже на встройке!), то именно её параметры будут нам важнее, чем CPU. Мощь ядра и большой объём VRAM - ускоряют процесс и позволяют использовать более "тяжёлые" настройки, влияющие как на скорость некоторых операций, так и качество итогового видеоматериала. Автор пакета выставил следующие требования к комплектующим:
Минимальные системные требования: Windows 7 и выше, процессор с поддержкой SSE инструкций, 2Gb ОЗУ с подкачкой, OpenCL-совместимая видеокарта (NVIDIA, AMD, Intel HD Graphics)
Рекомендуемые системные требования: Windows 7 и выше, процессор с поддержкой AVX инструкций, 8Gb ОЗУ, NVIDIA видеокарта 6GB видео памяти.
Из чего можно сделать вывод, что лучше использовать карты уровня GeForce GTX 1060 (и более поздние аналоги) для nVidia или AMD Radeon 470 и выше. Мой конфиг: Ryzen 7 1800X @ 4.0 GHz, GeForce GTX 1080 Ti.
2. Отбор видеоматериала источника лица и видео, из которого делают DF - огромное, если не решающее, влияние на итоговый результат. Лучше использовать FHD исходники, ну или уж хотя бы честный HD. Выбор персонажей для источника лица и под замену - второй кит, на котором держится успешность нашего фейка. Если вы заменяете, например, блондинку с прямыми волосами на брюнетку с пышными - есть не иллюзорный шанс получить плохую узнаваемость героя DF. Худых моделей легче "вписать" в толстых, что наверное логично. Есть конечно исключения - вдруг вы, наоборот, хотите довести фэйк до абсурда и вписываете специально какие-то нелепые соотношения моделей (старика в ребёнка и т.д.). Такой подход тоже вполне имеет право на жизнь! Последний этап "пробоподготовки" - тщательно проверить: какие лица выделил детектор лиц, а он выделяет ВСЮ массовку! И приходится переназначать такие кадры вручную. Тренироваться лучше начинать на простых сценах, где 1 человек, и он более менее статичен: пресс-конференции, монологи и всё в таком духе. По мере увеличения способностей, повышать сложность сцены. Ещё очень важный момент при отборе лиц: SRC - это лицо, которые мы хотим вставить. DST - лицо, заменяемое в нашем фэйке. SRC лицо - нужно очень серьёзно "просеивать": удалять кадры, где чем-то закрывается лицо, размытые, смазанные и т.д. Оставлять только чёткие! А DST наоборот - нам нужны абсолютно все кадры с данным лицом, а иначе потом будут пропуски кадров, и настоящий герой видео будет возвращаться в фэйк.
3. Тренировка ИИ. Сложный процесс, имеющий кучи, непонятных не только новичку, но и чуть более опытным пользователям, настроек (в продвинутых моделях), поэтому лучше начинать либо с H64 или с DF (в данном случае это название модели для тренировки), т.к. они проще. Хотя можно запускать и более сложные модели, такие как SAE и SAE HD, в режиме "по умолчанию", главное чтобы хватило VRAM, иногда надо снижать некоторые параметры. Тренировать ИИ рекомендуют ОТ одного дня. Но на картах уровня 1080ti и выше, на мой взгляд, это время можно сократить, но исходя из результата, который выводится на экран в процессе тренировки.
Пример:
Выложу свой стандартный алгоритм создания DF, который поможет в самостоятельном освоении:
- 2) extract images from video data_src (источники лиц - им заменяют)
- 3.2) extract images from video data_dst FULL FPS (лицо, которое будет заменено)
- 4) data_src extract faces S3FD all GPU (детектирование лиц источника)
- [4.1) data_src check result] (удаляем всех левых персонажей, ошибочные кадры - крупные массивы фото, остальное отсеем позже)
- 4.2.2) data_src sort by similar histogram
- 4.1) data_src check result
- 4.2.1) data_src sort by blur
- 4.1) data_src check result (удалить мутные)
- 4.2.6) data_src sort by best (автоматика сама отбирает лучшие лица и удаляет ненужные, можно сразу использовать только этот пункт и потом вручную проверить, не осталось ли там "неликвида")
- 5) data_dst extract faces S3FD all GPU (детектирование лица "под замену")
- [5.1) data_dst check results]
- 5.2) data_dst sort by similar histogram
- 5.1) data_dst check results
- 5.3) data_dst sort by blur (Ручная проверка и удаление кадров, где несколько лиц или не совсем корректно определены контуры нужного лица в папке DeepFaceLab\workspace\data_dst\aligned_debug).
- 5) data_dst extract faces MANUAL RE-EXTRACT DELETED
RESULTS DEBUG (восстановление удалённого и последующая ручная разметка маски лица) - 6) train SAE HD (тренировка модели, можно брать другую использовав соответвующий *.bat файл)
- 7) convert SAE HD (замена dst лица на src, используя натренированную ранее модель)
- 8) converted to mp4 ("склеивание" стоп-кадров в видео)
Здесь "2) extract images from video data_src" - это "батник" "2) extract images from video data_src.bat" из папки "DeepFaceLab" и т.д. Эх, наверное сумбур уже пошёл, и я тут чутка перегрузил терминами, которые сложно воспринимать без подробного описания, а писать полную статью с подробным описанием всех действий - я в данный момент не потяну. При просмотре самых вводных видео от автора ПО - многое встанет на свои места. Если не хотите пока забивать голову, можно бегло пробежать по видео ниже, чтобы понять приблизительный уровень DF у человека, который неделю (плотно) пытался разбираться в этом вопросе. И сделать какие-то выводы о дальнейшей целесообразности самостоятельных попыток создания DeepFake видео.
Вывод: за неделю ознакомиться с данным пакетом можно, но получить реально хороший уровень фэйков - тяжело (если конечно вы не гений :)), потому что многие параметры моделей можно подбирать только эмпирическим путём или общаясь с более опытными фэйкерами, например, на рутрекере.
Привожу варианты своих "работ", чтобы вы могли оценить приблизительный уровень и некий прогресс в динамике обучения. Если она вообще имеется конечно. Все видео приводить не буду, можно поглядеть на моём канале. Только основные вехи.
- Далее пошёл этап набивания шишек (я многие из них уже озвучил ранее): когда наше видео по качеству хуже чем источник - получается, что очень сильно заметны грани заменённого лица. Один раз я не заметил, что детектор не взял некоторые лица, и они потом исчезли в видео. Выбор слишком сложных динамических сцен, совершенно разное освещение SRC и DST лиц - тоже получается слишком "топорная" вставка. Пример ошибки со вставкой Поклонской в Шурыгину - она довольно тяжело узнаётся из-за совсем разных причёсок и цвета волос:
- Ну и в самом конце, самый последний фэйк, который закончил только сегодня - тренировал 16 часов, личный рекорд пока что. Само обращение очень сочное, хорошего качества, а мой источник лица немного не дотягивает до такого уровня детализации и цветопередачи, возможно если продолжить тренировку модели с некоторыми другими настройками - его качество ещё можно поднять:
Если кого-то заинтересовала данная тема - скачивайте DeepFaceLab, устанавливайте и вперёд! Какие-то моменты могу попробовать подсказать, но в Интернете достаточно подробных рукописных и видеогайдов.
Можете самостоятельно натренировать нейросеть.
ссылки: - библиотека DeepFaceLab , инструкция
источник