Назад
Источник: Лукащук М.О. Анализ общей концепции работы и архитектуры систем синтеза видео, анализ достоинств и недостатков подходов. / М.О. Лукащук, С.А. Зори // Журнал «Информатика и Кибернетика» № 40 2025 2(40). – Донецк: ДонНТУ, 2024. – С. 45-52.
УДК 004.89
Система синтеза видео на основе технологии DeepFake
М.О. Лукащук1, С.А. Зори2
1 магистрант, Донецкий национальный технический университет,
mikhail.lukashchuk@mail.ru
2 д.т.н., проф. кафедры программной инженерии им. Л.П. Фельдмана,
Донецкий национальный технический университет,
ik.ivt.rec@mail.ru, OrcID: 0000-0003-4018-234X, SPIN-код: 3565-6330

Лукащук М.О., Зори С.А. Система синтеза видео на основе технологии DeepFake. В статье представлен краткий обзор существующих методов синтеза видео с использованием технологий DeepFake. После анализа современных методов предложен подход к улучшению технологии, направленный на повышение реалистичности и эффективности создаваемых видео, дано описание алгоритмов и моделей, применяемых для генерации видео.

Ключевые слова: DeepFake, синтез видео, генеративные модели, GAN, StyleGAN, алгоритмы, машинное обучение, нейронные сети

Введение

На сегодняшний день технология DeepFake широко используется для создания реалистичных видео, где изображение лица на видео может быть изменено или заменено лицом другого человека [1]. Несмотря на возможности применения в развлекательной и образовательной сферах, технология DeepFake также вызывает обеспокоенность в отношении безопасности данных и этики. Проблема создания реалистичных видео путем синтеза лиц или замены объектов актуальна не только в связи с вопросами прав собственности и контроля над контентом, но и с точки зрения оптимизации ресурсов и улучшения качества конечного видео.

Анализ современных методов синтеза изображений и применения технологий на основе генеративных состязательных сетей (GAN) рассмотрен в [2]. Согласно этому источнику, наиболее высококачественные результаты синтеза достигаются при использовании GAN[3] и их модификаций, таких как StyleGAN[4] и CycleGAN[5], которые обладают мощным потенциалом в создании фотореалистичных изображений. Эти подходы, основанные на конкурентной системе генератора и дискриминатора, позволяют генерировать изображения, а, следовательно, и видео, которые могут точно имитировать оригинальные.

Под термином DeepFake подразумевается использование алгоритмов, позволяющих синтезировать видео с высокой степенью реализма, сохраняя функции исходного видео, но значительно усложняя процесс его анализа и обратной инженерии. Существующие инструменты для создания DeepFake, такие как DeepFaceLab[6] и FaceSwap[7], активно используют генеративные сети для оптимизации синтеза, хотя их применение требует значительных вычислительных ресурсов и времени.

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

Целью данной работы является демонстрация и улучшение комплекса алгоритмов для синтеза видео с использованием DeepFake, которые обеспечат высокое качество изображения и оптимальную производительность. Такой подход позволит использовать технологию DeepFake в безопасных и полезных приложениях, таких как виртуальная реальность и образовательные проекты.

1 Проектирование системы синтеза видео на основе технологии DeepFake

В качестве прототипа системы синтеза видео на основе DeepFake для апробации разрабатываемых алгоритмов улучшения качества работы технологии предполагается разработка программной системы, которая состоит из нескольких ключевых компонентов, каждый из которых выполняет определённые функции в процессе генерации видео. Для демонстрации взаимодействия компонентов в системе разработана диаграмма компонентов (см. рис. 1).

Диаграмма компонентов системы синтеза видео
Рисунок 1 – Диаграмма компонентов системы синтеза видео

На данной диаграмме показаны 8 модулей проектируемой системы. Модуль загрузки данных отвечает за загрузку и хранение исходных видео и изображений. Модуль предобработки данных включает в себя функции нормализации, масштабирования и аугментации данных. Модуль обнаружения и отслеживания лиц локализует лица на видео и отслеживает их в течение всего ролика. Модуль синтеза на основе GAN выполняет генерацию новых кадров или замену лиц на основе GAN-алгоритмов. Модуль временной стабилизации устраняет резкие изменения между кадрами для повышения плавности. Модуль постобработки и улучшения качеств: улучшает разрешение и качество изображений. Модуль вывода и сохранения видео компилирует обработанные кадры в видеофайл и сохраняет его. API для клиентского взаимодействия обеспечивает доступ к системе через API, позволяя загружать и скачивать видео.

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

Диаграмма последовательности выполнения операций
Рисунок 2 – Диаграмма последовательности выполнения операций

Важным элементом системы является физическое расположение основных компонентов системы, включая сервер для вычислений, клиентское устройство пользователя, а также хранилище данных. Для работы системы требуются высокопроизводительные ресурсы, такие как GPU, а также серверные мощности для хранения данных. Основные компоненты системы, включая сервер с GAN-архитектурой, расположены на облачных серверах. Для отображения физического расположения основных элементов системы была разработана диаграмма развёртывания (см. рис. 3).

Диаграмма развёртывания
Рисунок 3 – Диаграмма развёртывания

2 Алгоритм GAN для синтеза видео

Далее будет рассмотрен алгоритм синтеза видео, наиболее актуальным на данный момент является подход с применением технологий на основе генеративных состязательных сетей (GAN). Алгоритм генеративно-состязательных сетей (GAN) для синтеза видео включает два ключевых компонента: генератор и дискриминатор. Генератор обучается создавать реалистичные кадры на основе шума или изображения, а дискриминатор пытается отличить сгенерированные кадры от реальных. Эти два компонента взаимодействуют друг с другом: генератор учится «обманывать» дискриминатор, создавая все более реалистичные изображения, а дискриминатор старается повысить точность распознавания реальных и сгенерированных кадров.

В контексте алгоритма GAN случайный шум – это вектор случайных чисел, который используется в качестве входных данных для генератора. Это своего рода "платформа" для генерации новых образцов данных, например, изображений или видеокадров. Генератор принимает случайный шум (чаще всего это просто вектор случайных чисел, например, сгенерированных с помощью нормального распределения) и преобразует его в нечто осмысленное, например, «фейковое» изображение или видеокадр. Суть заключается в том, что этот шум не имеет смысла сам по себе, но с помощью нейронной сети генератор обучается создавать из него реалистичные данные. Важно, что случайный шум не представляет собой какие-то заранее определенные данные (например, изображение или видео), а скорее его роль – это создание исходной случайности, на основе которой нейросеть «учится» генерировать осмысленные данные. Каждое изменение случайного шума может привести к созданию разных, но похожих по стилю или содержанию объектов.

Веса – это параметры, которые определяют, как входные данные (в данном случае случайный шум или реальные данные) обрабатываются нейронной сетью, включая как генератор, так и дискриминатор. Генератор использует веса для преобразования случайного шума в изображение или кадр, то есть для того, чтобы сгенерировать изображение, которое будет максимально похожим на реальные данные. Дискриминатор, в свою очередь, использует свои веса для того, чтобы распознать, является ли кадр реальным или сгенерированным.

Процесс обучения заключается в том, чтобы на основе ошибок (ошибки дискриминатора, который ошибочно принял фейк за реальное изображение) откорректировать веса сети таким образом, чтобы генератор создавал более реалистичные данные, а дискриминатор мог их лучше распознавать. Для лучшего понимания, алгоритм можно представить в виде диаграммы последовательности (см. рис. 4).

Алгоритм генеративно-состязательных сетей (GAN)
Рисунок 4 – Алгоритм генеративно-состязательных сетей (GAN)

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

2.1 Алгоритм обучения дискриминатора

Дискриминатор обучается на основе двух типов данных: реальных и сгенерированных кадров. Цель дискриминатора – правильно различать эти два типа, минимизируя ошибку классификации. На рисунке 5 представлен псевдокод данного алгоритма.

Псевдокод алгоритма обучения дискриминатора
Рисунок 5 – Псевдокод алгоритма обучения дискриминатора

Далее, при описании функций и алгоритмов, будем опираться на исследование [8]. Бинарная кросс-энтропия – это функция потерь, которая используется для оценки качества работы моделей, решающих задачи бинарной классификации. Задача бинарной классификации заключается в том, чтобы классифицировать объекты на две категории, например, «истинное» или «ложное», «1» или «0», «реальное» или «сгенерированное». Для одного предсказания функция потерь, основанная на бинарной кросс-энтропии, рассчитывается по формуле 1:

L = - (y*log(ŷ) + (1 - y)*log(1 - ŷ)) (1)

Где y – истинное значение (0 или 1), ŷ – предсказанное моделью значение вероятности (от 0 до 1). Если истинное значение y=1, то функция потерь становится −log(ŷ), что означает, что чем ближе ŷ к 1, тем меньше значение функции потерь. Цель обучения модели – минимизировать среднее значение бинарной кросс-энтропии для всех обучающих данных, что будет означать, что модель делает правильные предсказания с высокой уверенностью.

Градиентный спуск – это алгоритм оптимизации, который используется для нахождения минимума функции потерь (например, бинарной кросс-энтропии). Цель градиентного спуска – настроить параметры модели (веса), чтобы минимизировать ошибку предсказания.

Сначала вычисляется градиент функции потерь по каждому параметру модели. Градиент указывает направление, в котором функция потерь растет быстрее всего. Параметры модели обновляются в направлении, противоположном градиенту. Предыдущие шаги повторяются многократно, пока функция потерь не станет минимальной или почти минимальной.

2.2 Алгоритм обучения генератора

Цель генератора – создать кадры, которые дискриминатор примет за реальные. Обучение генератора происходит по обратной связи, полученной от дискриминатора, который указывает, насколько реалистичными получились кадры. На рисунке 6 представлен псевдокод данного алгоритма.

Алгоритм обучения генератора
Рисунок 6 – Алгоритм обучения генератора

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

2.3 Алгоритм постепенного улучшения кадров

Для создания реалистичного видео важно не только качество отдельных кадров, но и плавность переходов между ними. Алгоритм постепенного улучшения кадров помогает улучшить временную стабильность, чтобы сгенерированные кадры плавно перетекали друг в друга. На рисунке 7 представлен псевдокод данного алгоритма.

Алгоритм постепенного улучшения кадров
Рисунок 7 – Алгоритм постепенного улучшения кадров

3 Итоговый алгоритм синтеза видео

На основании описанных выше алгоритмов, можно представить общий алгоритм работы системы, который, исходя из анализа научных работ, является наиболее актуальным на момент написания статьи. Алгоритм представлен на рисунке 8.

Общий алгоритм работы системы
Рисунок 8 – Общий алгоритм работы системы

Синтез видео с использованием GAN имеет значительные достижения, но также сталкивается с рядом недостатков и сложностей, которые ограничивают его использование и требуют улучшений. В исследовании [9] выделены некоторые недостатки метода:

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

GAN в синтезе видео должен не только создавать реалистичные отдельные кадры, но и обеспечивать плавные, естественные переходы между ними. Часто это приводит к проблемам, как, например, «мерцание» или «дрожание» отдельных частей изображения, что нарушает целостность видео. Такие артефакты становятся особенно заметными при синтезе длинных видео.

Генератор может создавать артефакты, такие как размытые или искаженные участки изображения. Это особенно проблематично в динамичных сценах, где модель не успевает корректно адаптировать каждый кадр. Дискриминатор может начать «запоминать» тренировочные данные и терять способность оценивать правдоподобие новых данных, что ухудшает качество синтеза видео.

GAN часто теряют последовательность и правдоподобие в длинных видео. Для реалистичного синтеза длинных видео требуется учитывать взаимосвязь не только между соседними кадрами, но и в более широком временном контексте, что значительно усложняет задачу. Без таких зависимостей модель не может поддерживать стабильное качество по мере увеличения длины видео.

Для улучшения алгоритмов синтеза видео с помощью GAN, можно предложить несколько направлений и конкретных решений, позволяющих повысить качество, стабильность и управляемость результатов. Вот ключевые подходы:

Включение временных зависимостей позволяет улучшить согласованность кадров, минимизируя артефакты на границах между ними. Для этого в архитектуру GAN добавляются слои, обрабатывающие последовательность кадров, например, рекуррентные нейронные сети [10].

Добавление второго дискриминатора, который проверяет временные зависимости между кадрами, помогает модели лучше понимать, как объекты и фон должны изменяться от кадра к кадру. Один дискриминатор проверяет качество каждого кадра, а второй – их последовательность.

Внедрение атрибутов (например, меток объектов) в генератор для управления содержимым и движением в видео. Это позволяет задать начальные условия, чтобы контролировать вид и поведение объектов, улучшая предсказуемость и управляемость.

Использование промежуточных слоев для повышения разрешения (например, от низкого к высокому) улучшает качество видео, обеспечивая плавность переходов между кадрами и детализацию.

С учётом данных предложений, на рисунке 9 представлен обновлённый алгоритм синтеза видео с использованием технологии GAN.

Итоговый алгоритм синтеза видео с использованием технологии GAN
Рисунок 9 – Итоговый алгоритм синтеза видео с использованием технологии GAN

Выводы

В работе был проведён системный анализ методов и архитектур систем синтеза видео, в частности, алгоритмов на основе генеративных состязательных сетей (GAN). Основываясь на анализе, были выявлены ключевые проблемы стандартных GAN, такие как низкая согласованность кадров и недостаточная детализация, что может приводить к визуальным артефактам и неестественным переходам между кадрами. Для устранения этих недостатков предложены несколько усовершенствований, включая: использование рекуррентных нейронных сетей, включение дополнительного временного дискриминатора, многоуровневая генерация с постепенным увеличением разрешения и внедрение управляемых атрибутов.

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

Литература

  1. Deepfake: краткая история появления и нюансы работы технологии [Электронный ресурс]. – Режим доступа: https://habr.com/ru/companies/neuronet/articles/592119/. – Загл. с экрана.
  2. Узких, Г. Ю. Применение генеративно-состязательных сетей (GAN) в обработке изображений / Г. Ю. Узких // Вестник науки. – 2024. – Т. 4, № 8 (77). – С. 182-185.
  3. Generative adversarial network [Электронный ресурс] // Википедия. – Режим доступа: https://en.wikipedia.org/wiki/Generative_adversarial_network. – Загл. с экрана.
  4. StyleGAN: Revolutionizing AI-Driven Image Creation [Электронный ресурс]. – Режим доступа: https://www.simplilearn.com/tutorials/generative-ai-tutorial/stylegan. – Загл. с экрана.
  5. Cycle Generative Adversarial Network (CycleGAN) [Электронный ресурс]. – Режим доступа: https://www.geeksforgeeks.org/cycle-generative-adversarial-network-cyclegan-2/. – Загл. с экрана.
  6. DeepFaceLab - AI-Powered Face Manipulation and Editing [Электронный ресурс]. – Режим доступа: https://perchance-ai.vercel.app/free-ai-tools/deepfacelab. – Загл. с экрана.
  7. Face Swap Video [Электронный ресурс]. – Режим доступа: https://faceswapvideo.ai/. – Загл. с экрана.
  8. Великанов, М. С., Анзина, А. Б., Лаврушкин, С. В., Ватолин, Д. С. Нейросетевой алгоритм поиска областей открытия/закрытия в видеопоследовательностях / М. С. Великанов, А. Б. Анзина, С. В. Лаврушкин, Д. С. Ватолин // International Journal of Open Information Technologies. – 2020. – Т. 8, № 3. – С. 55-62.
  9. Аверченков, А. В., Андросов, А. А., Малахов, Ю. А. Анализ и применение генеративно-состязательных сетей для получения изображения высокого качества / А. В. Аверченков, А. А. Андросов, Ю. А. Малахов // Эргодизайн. – 2020. – № 4. – С. 167-175.
  10. Рекуррентная нейронная сеть (RNN): виды, обучение, примеры [Электронный ресурс]. – Режим доступа: https://neurohive.io/ru/osnovy-data-science/rekurrentnye-nejronnye-seti/. – Загл. с экрана.

Лукащук М.О., Зори С.А. Система синтеза видео на основе технологии DeepFake. В статье представлен краткий обзор существующих методов синтеза видео с использованием технологий DeepFake. После анализа современных методов предложен подход к улучшению технологии, направленный на повышение реалистичности и эффективности создаваемых видео, дано описание алгоритмов и моделей, применяемых для генерации видео.

Ключевые слова: DeepFake, синтез видео, генеративные модели, GAN, StyleGAN, алгоритмы, машинное обучение, нейронные сети

Lukashchuk M.O., Zori S.A. Video Synthesis Methods Based on DeepFake Technology. This article provides a brief overview of existing video synthesis methods utilizing DeepFake technology. After analyzing current methods, an approach to improving the technology is proposed, aimed at enhancing the realism and efficiency of generated videos. A description of algorithms and models used for video generation is provided.

Keywords: DeepFake, video synthesis, generative models, GAN, StyleGAN, algorithms, machine learning, neural networks