FantasyTalking: инструмент с открытым исходным кодом для создания реалистичных говорящих портретов

Общее введение

FantasyTalking - это проект с открытым исходным кодом, разработанный командой Fantasy-AMAP и направленный на создание реалистичных видеороликов с говорящими портретами на основе звука. Проект основан на передовой модели диффузии видео Wan2.1 в сочетании с аудиокодером Wav2Vec и собственными весами модели, используя методы искусственного интеллекта для достижения высокореалистичной синхронизации губ и мимики. Поддерживаются различные стили создания портретов, включая реальных людей и мультяшные изображения, для широкого спектра ракурсов, таких как панорама, бюст или крупный план. Пользователи могут быстро генерировать высококачественное разговорное видео, вводя изображения и звук с помощью простых операций командной строки.

FantasyTalking:生成真实感说话肖像的开源工具

 

Список функций

  • Создавайте реалистичные портретные видеоролики с движениями губ, синхронизированными со звуком.
  • При съемке поддерживается несколько ракурсов, в том числе крупный план, портреты в пол-лица и в полный рост.
  • Совместим с реальными и мультяшными портретами, что позволяет удовлетворить самые разные потребности.
  • Функция управления словами для регулировки выражения лица и движения тела персонажа.
  • Поддерживает высокое разрешение до 720P.
  • Встроенный модуль перекрестного внимания к лицу для обеспечения согласованности черт лица.
  • Включает модуль модуляции интенсивности упражнений для управления выраженностью и амплитудой движений.
  • Модели и код с открытым исходным кодом для поддержки развития и оптимизации вторичного сообщества.

 

Использование помощи

Процесс установки

Чтобы использовать FantasyTalking, вам нужно сначала установить необходимые зависимости и модели. Ниже приведены подробные шаги по установке:

  1. Клонирование кода проекта
    Выполните следующую команду в терминале, чтобы клонировать проект локально:

    git clone https://github.com/Fantasy-AMAP/fantasy-talking.git
    cd fantasy-talking
  1. Установка зависимостей
    Проект зависит от среды Python и PyTorch (версия >= 2.0.0). Выполните следующую команду для установки необходимых библиотек:

    pip install -r requirements.txt
    

    Дополнительное крепление flash_attn для ускорения вычислений внимания:

    pip install flash_attn
    
  2. Скачать модели
    Для FantasyTalking требуются три модели: Wan2.1-I2V-14B-720P (базовая модель), Wav2Vec (аудиокодер) и весовая модель FantasyTalking. Их можно загрузить через Hugging Face или ModelScope:

    • Используйте CLI "Обнимающиеся лица":
      pip install "huggingface_hub[cli]"
      huggingface-cli download Wan-AI/Wan2.1-I2V-14B-720P --local-dir ./models/Wan2.1-I2V-14B-720P
      huggingface-cli download facebook/wav2vec2-base-960h --local-dir ./models/wav2vec2-base-960h
      huggingface-cli download acvlab/FantasyTalking fantasytalking_model.ckpt --local-dir ./models
      
    • Или используйте ModelScope CLI:
      pip install modelscope
      modelscope download Wan-AI/Wan2.1-I2V-14B-720P --local_dir ./models/Wan2.1-I2V-14B-720P
      modelscope download AI-ModelScope/wav2vec2-base-960h --local_dir ./models/wav2vec2-base-960h
      modelscope download amap_cvlab/FantasyTalking fantasytalking_model.ckpt --local_dir ./models
      
  3. Среда верификации
    Убедитесь в наличии графического процессора (рекомендуется RTX 3090 или выше, VRAM не менее 24 ГБ). Если вы испытываете проблемы с памятью, попробуйте снизить разрешение или включить оптимизацию VRAM.

Использование

После завершения установки пользователи могут запустить сценарий для создания видео из командной строки. Основные команды следующие:

python infer.py --image_path ./assets/images/woman.png --audio_path ./assets/audios/woman.wav
  • --image_path: Введите путь к изображению портрета (поддерживается формат PNG/JPG).
  • --audio_path: Путь к входному аудиофайлу (поддерживается формат WAV).
  • --prompt: Необязательные слова-подсказки для управления ролевым поведением, например:
    --prompt "The person is speaking enthusiastically, with their hands continuously waving."
    
  • --audio_cfg_scale ответить пением --prompt_cfg_scale: Регулирует уровень влияния аудио и слов подсказки, рекомендуемый диапазон 3-7. Увеличение CFG аудио улучшает синхронизацию губ.

Функциональное управление

  1. Синхронизация губ
    Основная функция FantasyTalking - генерировать точные движения губ на основе аудио. Пользователю необходимо подготовить чистый аудиофайл (например, в формате WAV, оптимальная частота дискретизации 16 кГц). После запуска скрипта умозаключений модель автоматически анализирует аудио и генерирует соответствующие движения губ. Для достижения наилучших результатов убедитесь, что в аудиофайле нет значительных шумов.
  2. Управление словами подсказки
    пройти (законопроект, проверку и т.д.) --prompt параметр, пользователь может определить выражения и действия персонажа. Например, введите --prompt "The person is speaking calmly with slight head movements." Можно подготовить видеозаписи спокойных разговоров. Слова подсказки должны быть краткими и четкими, избегая расплывчатых описаний.
  3. Поддержка нескольких стилей
    Проект поддерживает создание портретов в реальном и мультяшном стилях. Пользователи могут предоставить входные изображения различных стилей, и модель настроит выходной стиль в соответствии с особенностями изображения. Мультяшный стиль подходит для анимационных сцен, а реальный - для таких приложений, как виртуальные якоря.
  4. Модуляция интенсивности упражнений
    Модуль модуляции интенсивности движений FantasyTalking позволяет пользователю управлять амплитудой выражений и движений. Например, установив более высокую --audio_weight Параметр усиливает движения конечностей и подходит для динамичных сцен. Настройки по умолчанию оптимизированы, и при первом использовании рекомендуется оставить значения по умолчанию.

предостережение

  • требования к оборудованиюRTX 5090 с 32 ГБ VRAM все еще может испытывать проблемы с нехваткой памяти, поэтому рекомендуется уменьшить объем памяти, необходимый для создания видео высокого разрешения. --image_size возможно --max_num_frames.
  • Скачать модель: Файлы модели имеют большой размер (около десятков гигабайт), поэтому убедитесь, что у вас есть стабильная сеть и достаточно места на диске.
  • Оптимизация слов реплики: Слово подсказки оказывает большое влияние на результат, поэтому рекомендуется провести несколько экспериментов, чтобы найти наилучшее описание.

 

сценарий применения

  1. Создание контента виртуального якоря
    Пользователи могут использовать FantasyTalking для создания реалистичных разговорных видеороликов для виртуальных ведущих. Введите портретное изображение ведущего и закадровый голос, чтобы создать видео с синхронизацией губ для прямых трансляций, коротких видеороликов или образовательных материалов.
  2. Дубляж анимационных персонажей
    Аниматоры могут создавать видеоролики с озвучкой для персонажей мультфильмов. Предоставив изображение и звук, модель может генерировать соответствующие движения губ и выражения, упрощая процесс создания анимации.
  3. Производство учебных видеофильмов
    Преподаватели или учебные организации могут создавать виртуальные видеоролики для инструкторов. Введите портрет преподавателя и аудиозапись курса, чтобы быстро создать обучающие видеоролики, которые повысят привлекательность контента.
  4. Создание развлечений и очарований
    Пользователи могут создавать уморительные говорящие портреты для фанфиков или развлекательных видео. Настраивая слова подсказки, создавайте видео с преувеличенными выражениями или действиями, подходящими для публикации в социальных сетях.

 

QA

  1. Какие форматы ввода поддерживает FantasyTalking?
    Изображения поддерживаются в форматах PNG и JPG, а звук - в формате WAV с рекомендуемой частотой дискретизации 16 кГц для оптимальной синхронизации губ.
  2. Как решить проблему нехватки видеопамяти?
    Если графическому процессору не хватает памяти (например, 32 ГБ VRAM на RTX 5090), уменьшите значение --image_size(например, 512x512) или уменьшенный --max_num_frames(например, 30 кадров в секунду). Также можно включить опцию оптимизации VRAM или использовать более настраиваемый GPU.
  3. Как можно улучшить качество создаваемого видео?
    Используйте входное изображение высокого разрешения (не менее 512x512), чтобы обеспечить четкость звука и отсутствие шумов. Настройка --audio_cfg_scale(например, 5-7) улучшает синхронизацию губ, а оптимизация слов-подсказок повышает естественность выражений.
  4. Поддерживает ли он генерацию в режиме реального времени?
    Текущая версия поддерживает только автономный вывод, генерация в реальном времени требует дальнейшей оптимизации модели и аппаратной поддержки.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...