На reddit заблокирован deepfakes
Похоже, создание роликов на заказ стало последней каплей, с Reddit полностью удалили разделы, посвященные порно созданному с помощью нейросетей и изменили правила.
Похоже, создание роликов на заказ стало последней каплей, с Reddit полностью удалили разделы, посвященные порно созданному с помощью нейросетей и изменили правила.
Я давно интересуюсь машинным обучением и нейронными сетями. Недавно один юзер на реддите(ну вы же все знаете, да?) опубликовал программное обеспечение, готовое для преобразования одних лиц на другие.
Это круто и я даже попробовал(в культурных целях, естесственно... Хехехе). Одна проблема, которая меня коснулась - отбор видеофрагментов с лицами крупным планом(если это возможно). Если брать в рассчет популярных личностей, то можно найти интервью какое-нибудь долгое или просто качественное. Главное, что там зачастую есть крупные планы. И вот эти самые крупные планы будут в разы полезнее, чем вся информация о целевом лице из видео.
Поставил себе задачу: написать скрипт, который с помощью глубоких нейронных сетей будет вычленять из видео фрагменты именно с крупными планами. Ну и так как понятие крупного плана растяжимое, то я просто ввел как параметр ширину лица в пикселях на картинке. Для определения ширины лица просто брал один кадр крупного плана и руками измерял ширину лица в пикселях и брал значение на 10% меньше того, что определил. Это для того, чтобы если крупные планы не всегда настолько крупные, как на взятом кадре, не потерять полезную для сети deepfakesapp информацию.
В итоге провел тестирование на Эмме Уотсон(я заметил, многим она нравится. Мне вот почему-то нет), на нескольких найденных на ютубе видео. В одном видео крупных планов не особо много, но много фрагментов без лиц(программа сначала находит лицо, потом проверяет размер и принимает решение о валидности кадра). Во втором есть много крупных планов ведущего. А третье - просто большое интервью.
В итоге первое и третье - отработали как надо.
Со вторым вопросы у меня, но буду как-то оптимизировать. Может стоит настроить LSTM слои, чтобы запоминалось лицо по признакам и не брать в рассчет другие лица. Тут думать надо.
Ну и по классике - сначала результат. Вдруг кому для той же deepfakesapp пригодится. Видео без звука. Ссылка на МЕГА-диск, может быть не очень быстрая скачка. https://mega.nz/#!rk8wGDAK!RUdyOo5gPA4QAQwyrlOJjjk6l459--Szo...
Если кому пригодится скрипт в будущем, то оптимизирую код и выложу в доступ.
P.S. Лайфкахи deepfakesapp:
1) Если при обучении не хватает ракурсов повернутой головы направо(или налево), но в есть ракурсы в другую сторону, то зеркальное отображение по горизонтали хорошо отрабатывает и сетка лучше учиться. С поворотом головы вверх-вниз, конечно, не работает :)
2) Если для обучения системы недостаточно оперативной памяти(мне вот моих 16Гб не всегда хватает), лучше выбрать необходимые ракурсы лица(учитывая эмоции), которое будет переноситься на будущий видеоролик. Это не так сложно, как кажется, но процесс обучения будет легче. Ну и с оперативной памятью ниже 16Гб лучше не подходить к обучению, т.к. либо библиотеки для обучения будет мало, либо все будет происходить очень медленно(даже если установлена топовая видеокарта). Также можно уменьшить количество кадров набора для обучения рандомом, оставив 3000-4000 кадров(у меня тогда хватает оперативы), но результат после рандома не всегда удовлетворительный.
3) Декодеры и энкодеры можно сохранять отдельными файлами, если есть желание передать их кому-либо или "преобразовать" несколько видеороликов с одной личностью.
4) Если у вас нет хорошей видеокарты, но есть у друга(настоящего, а не того, кому нужны итоговые видео), то можно подготовить вырезанные с помощью deepfakesapp лица и попросить обучить сеть своего друга. Если он не знает о программе, то не догадается в чем состоят ваши цели(наверное).
Я бы хотел создать сообщество посвящённое deepfakes. Чтобы все материалы по теме можно было найти в одном месте, шарить датасты для обучения, делиться хинтами в обучении и так далее. В ML вообще нахождение сетей в одном месте очень важно.
Сейчас распознавание образов с использованием данного рода сетей очень сильно хайпанёт)
Сам постов я на эту тему не писал, но есть:
Которые имеют посты очень очень годные на эту тему
https://pikabu.ru/story/instruktsiya_kak_zapustit_neyroset_m...
Вот например.
Если посты на данную тематику являются обязательными для авторства сообщества, то предлагаю @timoil94, как админа сообщества.
Тема очень узкоспециализирована.
Помните новость, в которой сообщалось о том что нейросеть научилась создавать порно со знаменитостями? С тех пор автор данного алгоритма не сидел сложа руки, буквально несколько часов назад выпустив десктопное приложение, которое позволит создавать фейки даже тем, кто плохо знаком с программированием. Для создания их нужно немного: несколько видео (с человеком чье лицо вы хотите добавить и ролик, в который вы его хотите добавить), CUDA 8.0, несколько свободных гигабайт на жестком диске, время.
Ссылка на пост на реддите