ИИ реализует видеоизменение лица
ИИ реализует видеоизменение лица

Предисловие

ИИ — горячая тема в этом году,Также появляется все больше и больше применений различных ИИ.,сосредоточиться Все больше и больше людей используют ИИ во всех сферах жизни. ИИ реализует видеоизменение Решений для лица становится все больше, поэтому блогер выбрала одно из направлений для изучения и внедрения. Выбор блоггера faceswap,Модель изменения лица на видео с открытым исходным кодом.

Знакомство с заменой лиц

Faceswap Используя алгоритмы глубокого обучения и технологию распознавания лиц, выражения лица, глаза, рот и другие черты одного человека можно извлечь из фотографии или видео и сопоставить с чертами лица другого человека. Используйте алгоритмы глубокого обучения и технологию распознавания лиц, чтобы получать нормальные фотографии лиц, искаженные фотографии лиц, векторы кодирования кодировщика, векторы декодирования декодера, а также восстанавливать нормальные фотографии лиц для достижения эффекта изменения лица.

Вот несколько официальных представлений:

Язык кода:txt
копировать
FaceSwap is a tool that utilizes deep learning to recognize and swap faces in pictures and videos.
Faceswap is the leading free and Open Source multi-platform Deepfakes software.owered by Tensorflow, Keras and Python; Faceswap will run on Windows, macOS and Linux.

Официальный сайтfaceswap

github:faceswap

QA: FaceSwap Forums

Экологическая подготовка

Faceswap поддерживает Windows, Linux, macOS, а основной язык — Python. Блогер использует систему Windows, поэтому для настройки среды разработки он использует Windows.

Язык кода:shell
копировать
Система: Win10/Win11
Канда: Миникаонда
питон: python3.10.X
Графический процессор: NVIDIA GeForce GTX 1050 Ti / NVIDIA Quadro T2000

Конда конфигурация

Адрес исследования: condaУстановить краткое руководство (на основе miniconda и Windows)

скачать

скачатьадрес:Latest Miniconda installer links by Python version

Адрес внутреннего зеркала: Зеркало программного обеспечения с открытым исходным кодом Университета Цинхуа, адрес с открытым исходным кодом

Примечание. При использовании загрузки обратите внимание на правила именования.,Обратите особое внимание на адрес зеркала.,Это было совершенно ясно, когда существовала официальная загрузка. Ниже приводится введение к официальному адресу:

Windows installers&

Python version

Name

Size

SHA256 hash

Python 3.11

80.5 MiB

c9b32faa9262828702334b16bcb5b53556e630d54e5127f5c36c7ba7ed43179a

Python 3.10

76.6 MiB

f242f98378691496851f78beaf466797fb20251ba5092840c794503594d37726

Python 3.9

77.1 MiB

3bffceaf97f2945d6ff38d51c946b5e4ad161096e7734c34e98a9b38092a0ab5

Python 3.8

78.1 MiB

74dff3c5e867dffa74a34eca1c4daac550ba42f9229547b37ae4a706c58ca775

скачать адрес зеркала: потому что есть Для разных систем обратите внимание на разницу в суффиксах, выберите тот, который соответствует системе, и выберите Windows. :Miniconda3-py310_23.9.0-0-Windows-x86_64.exe Подобно этому, py310представлять python3.10,x86_64представлятьвиндовс 64 бит

Установить

Просто выполните его до конца.

В интерфейсе регистрации вы можете выбрать регистрацию среды конфигурации системы.

Тогда по вашему Установить Конфигурация путиПеременные системной среды,Необходимо настроить три пути:

Язык кода:shell
копировать
#%PATH% — родительский адрес каталога установки.,Например, блоггер %PATH% = E:\ProgramData.
%PATH%\miniconda3
%PATH%\miniconda3\Скрипты
%PATH%\miniconda3\Library\bin

Конфигурация показана ниже:

Конфигурация переменной среды
Конфигурация переменной среды
конфигурация терминала

Терминал, который пытался использовать блоггер: windows terminal,потому чтоminicondaИспользуемая конфигурация по умолчанию: CMD,Отображение интерфейса некрасивое, а информация неполная, поэтому конфигурация страницы терминала была добавлена ​​вручную.

существоватьwindows terminal,Открытьраскрывающийся списоквыбирать настраивать,Добавить новый профиль,КопироватьCMD,Затем измените поведение команды %windir%\System32\cmd.exe "/K" D:\ProgramData\miniconda3\Scripts\activate.bat D:\ProgramData\miniconda3,этот персонажсуществовать(Anaconda Prompt (miniconda3))ярлык Свойства щелчка правой кнопкой мыши->ярлык,Просто выньте этот текст, скопируйте и замените его.

Эффект такой, как показано ниже:

windows terminal options
windows terminal options
этикетка, как показано
этикетка, как показано
Anaconda Prompt (miniconda3)
Anaconda Prompt (miniconda3)

Нужно использовать позже Anaconda Promptкогда,существовать windows terminalОткрыть Вот и все。

создание виртуальной среды facewap
  1. существовать windows terminalвыбиратьAnaconda PromptОткрыть Введите значение по умолчанию baseсреда。
  2. Получите версию Python: осуществлять python,Вы можете увидеть соответствующую версию, например 3.10.13.
  3. осуществлять conda create -n faceswap python=3.10.13,Обратите внимание, что версия Python согласована,В противном случае он будет переустановлен с новым Python.
  4. Переключить среду: conda activate faceswap
activate faceswap
activate faceswap

Скомпилируйте и выполните

компилировать

Язык кода:shell
копировать
git clone https://github.com/deepfakes/faceswap.git --depth 1
#Примечание: глубокая настройка, без настройки файл будет слишком большим, загрузка будет очень медленной
#тогда заходи conda среда замены лиц
#Если есть ·chcp 65001· осуществлятьнамекать,ноосуществлять。В противном случае нетосуществлять
#Как показано ниже
chcp 65001
python.exe D:\9-code\faceswap\setup.py
python.exe D:\9-code\faceswap\faceswap.py gui
chcp 65001
chcp 65001

Среди них: На этапе setup.py.

Язык кода:shell
копировать
%PATH%\faceswap\setup.py:18: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import parse_requirements
INFO     Running without root/admin privileges
INFO     The tool provides tips for installation and installs required python packages
INFO     Setup in Windows 10
INFO     Installed Python: 3.10.13 64bit
INFO     Running in Conda
INFO     Running in a Virtual Environment
INFO     Encoding: cp936
INFO     Installed pip: 23.3.1
INFO     DirectML support:
         If you are using an AMD or Intel GPU, then select 'yes'.
         Nvidia users should answer 'no'.
Enable DirectML Support? [y/N] N
Enable  Docker? [y/N] N
INFO     Docker Disabled
Enable  CUDA? [Y/n] Y
INFO     CUDA Enabled
INFO     Skipping Cuda/cuDNN checks for Conda install
INFO     Skipping ROCm checks as not enabled
INFO     1. Install PIP requirements
         You may want to execute `chcp 65001` in cmd line
         to fix Unicode issues on Windows when installing dependencies
INFO     Faceswap config written to: D:\9-code\faceswap\config\.faceswap
Please ensure your System Dependencies are met
Continue? [y/N] Y
INFO     Installing Required Python Packages. This may take some time...
INFO     Installing Required Conda Packages. This may take some time...
INFO     All python3 dependencies are met.
         You are good to go.

         Enter:  'python faceswap.py -h' to see the options
                 'python faceswap.py gui' to launch the GUI

Если появится последнее приглашение, это доказывает, что установка прошла успешно. а затем выполнить python.exe D:\9-code\faceswap\faceswap.py gui

Экстракт (экстракция лица)

1.Видео подготовка:Видео подготовка src,tar Два видео из которых источник поставлятьЗаменен лицевой материалвидео,tar поставлятьЗаменить лицевой материалвидео。

2.Выделение черт лица

В открывшемся пользовательском интерфейсе выберите Extract,осуществлять。

На самом деле есть только два места, которые нужно настроить.,Data -> (Input Dir) / (Output Dir)и Pluginsвыбирать Соответствующий плагин。Блогер здесьвыбирать Понятно Detector -> Cv2-Dnn и Aligner -> Cv2-Dnn,ХОРОШОвыбирать Другие плагины,Ожидание не обязательноЖду скачивания плагина

проиллюстрировать:

Язык кода:wiki
копировать
Input Dir : Видео с лицом или папка
Output Dir: Папка объектов выходного изображения лица

Создано блоггером здесь target: src_in,src_out,tar_in,tar_out,

Язык кода:wiki
копировать
src_in:   Заменена папка ввода видео с лицом.
src_out: Заменена папка вывода функции видео лица.
tar_int: Заменить папку входа видео для лица
tar_out: заменить папку вывода видео с лицом.

Извлечено дважды

Выполнение показано на рисунке ниже:

извлекать
извлекать

Поезд (обучение)

1. Подготовка папки: создать mod_out,tim_out

Язык кода:wiki
копировать
mod_out: папка вывода модели
tim_out: папка вывода шаблона

2. Конфигурация пути

Как показано ниже:

конфигурация пути-1
конфигурация пути-1
Конфигурация пути-2
Конфигурация пути-2

После настройки пути выберите Trainкнопка для начала тренировки,Просто дождитесь завершения обучения.

Обратите внимание на проверку рабочего состояния графического процессора.,Возможно, графический процессор не работает. Если не помогло, следуйте подсказкам,Найдите соответствующие вопросы。существоватьнижеИсключение ошибкиВозможно, есть соответствующие решения。

GPUсуществовать работу
GPUсуществовать работу

Конвертировать (конверсия)

1. Подготовка папки: создать В папке video_out хранятся и генерируются видео.

Input_dir -> src_inизвидео,Output Dir выбирать video_out, Model Dirвыбирать mod_outпапка

Варианты конфигурации следующие:

Создать график
Создать график

2. Нажмите кнопку и дождитесь завершения вывода видео.

Эффект видеовыхода следующий:

src_in
src_in
out_in
out_in
video_out
video_out

Поскольку время ожидания обучения слишком велико, обучение прерывается. Это результат обучения 20 000 раз. Время обучения все еще слишком короткое, а машина все еще тренируется. Сравнение после завершения обучения будет опубликовано позже. .

Обработка ошибок исключений

  • поддержка длинного пути Windows

Предупреждение об ошибке:

Язык кода:shell
копировать
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'C:\\Users\\wq\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\tensorflow\\include\\external\\com_github_grpc_grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\client_load_reporting_filter.h'
HINT: This error might have occurred since this system does not have Windows Long Path support enabled. You can find information on how to enable this at https://pip.pypa.io/warnings/enable-long-paths

Исправления ошибок:

Откройте согласно приведенной выше инструкции. https://pip.pypa.io/warnings/enable-long-paths , при открытии страницы вы увидите два решения Registry(.reg) file и PowerShell,существоватьблоггер здесьвыбирать Понятно Powershell,Откройте права администратора и введите

Язык кода:shell
копировать
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

Перезагрузите компьютер.

  • Ошибка среды активации

Согласно подсказкам сценария

Язык кода:shell
копировать
#осуществлять Активируйте с помощью следующей командысреда замены лиц
#      
# To activate this environment, use
#          
#     $ conda activate faceswap
#           
# To deactivate an active environment,использовать
#          
# $ конда деактивировать   
# если тыосуществлять conda active facewap
использование: conda-script.py [-h] [-v] [--no-plugins] [-V] КОМАНДА ...
conda-script.py: ошибка: аргумент КОМАНДА: неверный выбор: «активировать» (выбрать «очистить», 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'content-trust', 'doctor', 'repoquery', 'env')

Решение:

осуществлять

Язык кода:shell
копировать
activate замена лиц
#По данным каталога Установить activate.bat Всего один скрипт изучения
  • Предупреждение: существует более новая версия conda.
Язык кода:shell
копировать
==> WARNING: A newer version of conda exists. <==
  current version: 23.9.0
  latest version: 23.11.0

Please update conda by running

    $ conda update -n base -c defaults conda

Or to minimize the number of packages updated during conda update use

     conda install conda=23.11.0

Решение:осуществлять conda update -n base -c defaults conda

  • ошибка:OSError: [WinError -2005270496] Какая-то внутренняя ошибка не позволяет драйверу выполнить указанную операцию. Статус водителя подозрительный, Приложение должно завершиться.

Решение:

Язык кода:shell
копировать
# Обратите внимание, начинается ли существование 
Enable DirectML Support? [y/N] y
# DirectML Он поддерживает карту
  • ошибка WARNING[0m Couldn't install tensorflow<2.11.0,>=2.10.0 with pip. Please install this package manually
Язык кода:shell
копировать
pip install tensorflow==2.10.1
  • ошибка: Unicode issues
Язык кода:shell
копировать
INFO     1. Install PIP requirements
         You may want to execute `chcp 65001` in cmd line
         to fix Unicode issues on Windows when installing dependencies

Решение:Нужна инструкциясуществоватьвиртуальныйсредаосуществлять:chcp 65001,осуществлятьсуществовать Как показано на картинке выше。

  • ошибка:CPU (100% )and GPU(0%)

Решение первое:[CPU 100% GPU 0% when extracting and training)

Решение 2:исследоватьGPUПоддержка списка операций с плавающей запятой:Список совпадений графического процессора и тензорного потока,CUDA Toolkit Archive,список поддержки cuda-gpus,Просто убедитесь, что оно соответствует.

  • ошибка: среда Python дело с
Язык кода:shell
копировать
# https://github.com/deepfakes/faceswap/tree/v2.10.0
Если скачатьошибка ветка,Будет сообщено, что версия Python не соответствует.,Пожалуйста, опубликуйте необходимую версию Python.,Вам нужно переключать версии самостоятельно.

P.S.

На самом деле после завершения этого набора есть много преимуществ. Из-за ограничений имеющейся карты графического процессора скорость обучения немного медленная, а результаты неудовлетворительные.

Есть еще много мест, которые не охвачены,Работа в командной строке,Эксперименты с различными моделями алгоритмов,Вызов внешнего интерфейса,Но в настоящее время кажется, что он все еще близок к достижению промышленных стандартов.,Невозможно конвертировать в реальном времени,Если есть ошибки в написании, поправьте меня. В будущем появятся возможности для более глубокого изучения и понимания.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose