Это 4-й день моего участия в ноябрьском испытании обновлений.Подробности о событии:Вызов последнего обновления 2021 г.
Изменение лица с помощью ИИ становится все более и более популярным, и везде есть видео с изменением лица, одним или другим. Существует несколько программ для изменения лица, и Deepfacelab, который я использую, — это программное обеспечение, основанное на глубоком обучении, которое может заменить лицо в видео на лицо, которое вы хотите. Здорово думать об этом, но такого рода зависимость от аппаратного обеспечения компьютера относительно велика, например, от видеокарты. Однако цена видеокарт в последнее время сильно колеблется, и в основном она недоступна, поэтому в качестве простого примера возьмем игровой ноутбук (GTX1060).
Изменение лица ИИ — это алгоритм искусственного интеллекта, использующий генеративно-состязательные сети (GAN, Generative Adversarial Networks).Первый контакт — это теория игр, исследованная фон Нейманом.
скачать
- Автор ГИТХАБ:GitHub.com/IP и o V/deep…
текущая версия
- DirectX12, AMD: поддержка DirectX12 и A-card
- GTX10, 20: поддержка карт серии 10, серии 20 N
- RTX30: поддерживает карты N серии 3000
Установить
-
Загрузите соответствующую версию (на тестовом компьютере установлена видеокарта GTX 1060)
-
Загрузите сжатый пакет и разархивируйте его.
файл каталога
-
==_internal== Хранить содержимое, связанное с исходным кодом
-
==рабочая область== рабочий каталог
-
==.bat== Пакетный файл скрипта
Пример смены лица ИИ
Примечание. В видео используется встроенный
Приблизительные шаги для выполнения:
- Преобразование исходного видео в изображение (исходное изображение)
- Преобразование целевого видео в изображение (целевое изображение)
- Извлечение исходной информации о лице из исходного изображения
- Извлечение информации о целевом лице из целевого изображения
- Используйте аватар с информацией о лице для обучения модели (Model)
- Используйте модель для смены лица на картинке
- Экспорт составного видеоизображения после изменения лица
Шаг 1 Преобразование исходного видео в изображение
-
[Дважды щелкните, чтобы запустить командный файл ==извлечь изображения из видео data_src.bat==]
- [0] Вырезать несколько изображений в секунду (?:help): 10
- Представляет несколько снимков в секунду. То есть количество кадров в секунду (FPS [Frames Per Second]), частота кадров видео, частота кадров обычного видео 24, 30, 60 и т.д., то есть несколько картинок в одной второй.
- Ввод 10 означает извлечение 10 картинок в секунду, если не вводить, то нажать Enter, по умолчанию 30, то есть извлечение 30 картинок в секунду
- [png] формат выходного изображения ( png/jpg ?:help ) : jpg
- Извлекаемый формат изображения (Format), основные форматы — png, jpg.
- png — это формат растрового изображения, который использует алгоритм сжатия без потерь и является громоздким.
- jpg использует сжатие с потерями для удаления избыточных данных изображения, и искажения находятся в пределах определенного допустимого диапазона.
- [0] Вырезать несколько изображений в секунду (?:help): 10
-
После завершения обработки программы изображение, извлеченное из исходного видео, появится в каталоге ==workspace\data_src==.
Шаг 2: Преобразуйте целевое видео в изображение
-
[Дважды щелкните, чтобы запустить пакетный файл == извлечение изображений из видео data_dst FULL FPS.bat ==]
Те же шаги, что и в шаге 1, но целевое видео (data_dst) не должно пропускать кадры, просто установите формат изображения.
-
После завершения обработки программы изображение, извлеченное из исходного видео, появится в каталоге ==workspace\data_dst==.
Шаг 3. Извлеките исходную информацию о лице из исходного изображения.
-
[Дважды щелкните, чтобы запустить командный файл ==data_src faceset extract.bat==]
6 параметров, обычно просто нажмите Enter по умолчанию, первые два шага относительно быстрые, этот шаг нужно подождать, конкретная скорость зависит от конфигурации компьютера. После начала извлечения внизу появится индикатор выполнения.Когда индикатор выполнения достигнет 100 %, извлечение будет завершено, и отобразится количество изображений и количество извлеченных лиц.
-
После завершения обработки программы изображение лица, извлеченное из исходного изображения, появится в каталоге ==workspace\data_src\aligned==.
Шаг 4. Извлеките информацию о целевом лице из целевого изображения.
-
[Дважды щелкните, чтобы запустить командный файл ==data_dst faceset Extract.bat==]
Как и Шаг 4, вплоть до значения по умолчанию. После начала извлечения внизу появится индикатор выполнения.Когда индикатор выполнения достигает 100 %, извлечение завершено.
-
После завершения обработки программы, в директории ==workspace\data_dst==, помимо фотографий из целевого видео, есть еще папка [aligned] [aligned_debug]
-
Изображение лица, извлеченное из целевого изображения, хранится в каталоге ==workspace\data_dst\aligned==.
После извлечения нам нужно его отфильтровать. Иногда в кадре изображений несколько человек, поэтому для точности нам нужно удалить лишние или размытые лица.
-
Картинки, помеченные идентификацией, хранятся в каталоге ==workspace\data_dst\aligned_debug==
- Красный указывает на область, где аватар перехватывается
- Синий указывает на область лица
- Зеленым цветом обозначены черты лица (основная черта) человеческого лица.
-
Шаг 5: Используйте аватар с информацией о лице для обучения модели (Model)
-
[Дважды щелкните, чтобы запустить командный файл ==train Quick96.bat==]
Введите название модели, выберите устройство и вообще выберите видеокарту. После завершения выбора программа автоматически инициализирует модель, загрузит образец и отобразит параметры модели.
Дождитесь запуска, после запуска автоматически всплывет окно предварительного просмотра и в командной строке отобразятся следующие параметры
Просто сосредоточьтесь на количестве итераций, потерях SRC и DST.
- Чем больше итераций, тем лучше
- Чем ниже потери SRC и DST, тем лучше
Окно предварительного просмотра содержит советы по работе, кривые потерь и области лица.
Область лица разделена на пять столбцов. [Исходное лицо | Генерация алгоритма | Целевое лицо | Генерация алгоритма | Генерация алгоритма | Генерация алгоритма]
По мере увеличения количества итераций обучения алгоритм будет постепенно генерировать контур лица, черты лица, а затем постепенно становиться более четкими.
-
В окне предварительного просмотра мы можем использовать клавиатуру (переключить метод ввода английского языка) для работы: P для обновления, Enter для остановки, S для сохранения.
Нам нужно только наблюдать, является ли второй столбец бесконечно подобным первому столбцу, четвертый столбец бесконечно подобен третьему столбцу, а выражение пятого столбца бесконечно подобен четвертому столбцу.
Когда картина всех столбцов будет достаточно четкой, тогда можно остановиться.
Шаг 6: Используйте модель, чтобы изменить лицо изображения
-
[Дважды щелкните, чтобы запустить пакетный файл == слить Quick96.bat ==]
После выбора модели, устройства, запуска интерактивного синтеза и количества потоков процессора (обычно меньше или равно 8) нажмите Enter.
Через некоторое время появится интерфейс справки.
Интерфейс справки показывает сочетания клавиш и функции, которыми мы можем управлять.
-
Нажмите клавишу Tab, чтобы открыть интерфейс композитного предварительного просмотра.
-
Настройка с помощью горячих клавиш
-
Нажмите E, чтобы увеличить растушевку, D, чтобы уменьшить растушевку.
-
" клавиша для перехода к предыдущему кадру, " клавиша для перехода к следующему кадру
-
После завершения настройки нажмите shift+? Применить параметры ко всем кадрам
-
Нажмите shift+>, чтобы начать автокомпозитинг.
-
-
Дождитесь, пока прогресс синтеза достигнет 100%, то есть синтез завершен, просто закройте окно вручную
-
В каталоге ==workspace\data_dst== есть две папки [merged | merged_mask]
В объединенном каталоге сохраняются измененные изображения.
Шаг 7: Экспортируйте составное видео изображения после изменения лица.
-
[Дважды щелкните, чтобы запустить командный файл == объединенный в mp4.bat==]
Программное обеспечение будет автоматически считывать информацию о конфигурации исходного видео, такую как частота кадров и звуковая дорожка.Нам нужно только установить выходной битрейт.Битрейт обычно устанавливается равным 3.
-
Дождитесь завершения синтеза
-
Окончательное синтезированное видео (result.mp4) появляется в каталоге ==workspace== (result_mask.mp4 — это маска видео для последующего использования).
-
Сравнительное видео
Технология сама по себе не хороша и не плоха, ключ в том, как ее использовать! ! !