Remote Photoplethysmography (rPPG) — это технология бесконтактного измерения физиологических сигналов человека по видеозаписи. Изначально метод создавался для оценки пульса через обычную камеру, но позже стал одним из важных инструментов обнаружения дипфейков.
Основная идея очень проста:
Когда сердце перекачивает кровь, объем крови в капиллярах лица слегка меняется. Это вызывает микроскопические изменения отраженного света от кожи. Человеческий глаз их не замечает, но алгоритмы компьютерного зрения могут извлечь эти изменения из видеопотока и восстановить сигнал сердцебиения.
Для настоящего человека физиологический сигнал присутствует всегда, однако его качество извлечения зависит от условий съемки. В синтетических видео rPPG-сигнал часто отсутствует, искажается или демонстрирует физиологически неправдоподобные характеристики.
Почему дипфейки плохо проходят rPPG
Большинство генеративных моделей обучаются воспроизводить —
форму лица, мимику, движения губ, моргание. Но, они обычно не моделируют — кровоток, сосудистые изменения, физиологические процессы. Поэтому при анализе возникают артефакты.
Признак 1. Отсутствие пульсового сигнала
В некоторых дипфейках спектр выглядит как шум:
Настоящее лицо:
пик на 75 bpm
Дипфейк:
хаотический спектр
без выраженного пика
Признак 2. Несогласованность областей лица
У живого человека:
лоб,
правая щека,
левая щека
показывают одинаковый пульс.
Например:
Лоб: 72 bpm
Правая щека: 73 bpm
Левая щека: 71 bpm
У дипфейка:
Лоб: 62 bpm
Правая щека: 91 bpm
Левая щека: 47 bpm
что физиологически маловероятно.
Признак 3. Резкие скачки пульса
Например:
70 bpm
72 bpm
71 bpm
150 bpm
68 bpm
Такие изменения возникают из-за работы генератора кадров.
Признак 4. Нарушение пространственной корреляции
Кровоток распространяется по лицу согласованно.
У реального человека rPPG-карта выглядит гладкой.
У дипфейка появляются случайные зоны:
лоб -> сигнал есть
щека -> нет
нос -> другой ритм
Как выполнить анализ rPPG:
Этап 1. Выделение лица
Этап 2. Извлечение цветовых изменений
Этап 3. Построение временного сигнала
Этап 4. Спектральный анализ
Этап 1. Выделение лица
Алгоритм определяет лицо на каждом кадре:
лоб;
щеки;
нос;
подбородок.
Обычно используются области с минимальной мимикой и хорошим освещением.
Этап 2. Извлечение цветовых изменений
Для каждого кадра анализируются значения RGB.
Например:
Кадр Средний Green
1 127
2 128
3 127
4 129
Колебания очень малы (менее 1%).
Однако именно в зеленом канале лучше всего видны изменения кровотока.
Этап 3. Построение временного сигнала
Из последовательности кадров формируется временной ряд:
Интенсивность света
120 | /\ /\
| / \ / \
118 | / \ / \
| / \ / \
116 |_____ /__________\__/___________\____
0 1 2 3 4 5 сек
Время
Этот график в rPPG показывает изменение средней интенсивности зелёного канала кожи во времени. По сути, каждая точка на графике — это среднее значение яркости зелёного цвета в области лица на очередном кадре видео.
После фильтрации формируется квазипериодический сигнал, отражающий изменения кровенаполнения сосудов. По своей структуре он ближе к фотоплетизмограмме (PPG), чем к электрокардиограмме (ЭКГ).
Этап 4. Спектральный анализ
Затем выполняется FFT (Fast Fourier Transform).
Получаем доминирующую частоту:
72 bpm, 78 bpm, 65 bpm
Для 40–180 BPM является технически допустимым диапазоном поиска частоты. Для большинства взрослых людей в состоянии покоя обычно наблюдаются значения 50–100 BPM.
Ограничения метода
rPPG далеко не идеален, метод начинает работать плохо при:
-
— низком разрешении лица (<100–150 px по ширине);
-
— сильном сжатии видео;
-
— плохом освещении;
-
— быстром движении головы;
-
— макияже;
-
— фильтрах соцсетей;
-
— цветокоррекции;
-
— коротких видео (<5–10 секунд).
Кроме того, современные модели (например, на базе диффузионных и видео-трансформерных архитектур) уже начинают неявно воспроизводить физиологические паттерны, поэтому эффективность чистого rPPG постепенно снижается.
Что считается нормальным
Для настоящего видео обычно:
Есть 1 dominant peak
Например:
-
65–90 BPM
-
узкий
-
чёткий
-
сильно выше остальных
Что считается подозрительным
-
несколько крупных пиков
-
энергия размазана
-
нет одного устойчивого HR peak
Скрипт который можно использовать для анализа rPPG — https://github.com/IOB57/deep_fake/blob/main/rPPg.py
Значения в примерах ниже получены с помощью этого скрипта
Специально взял видео с разным качество генерации. Ниже результаты от лучшего по качеству к худшему.
CelebDF++
https://github.com/OUC-VAS/Celeb-DF-PP?ysclid=mpzmhofk5d367866401
Estimated BPM: 104.85
Signal STD: 3.7695
Signal Quality Ratio: 2.86
WARNING: weak physiological signal
Possible manipulation / deepfake artifact

|
Метрики |
Значение |
Возможная интерпретация |
|
BMP |
104.85 |
Пульс находится в физиологически возможном диапазоне, хотя несколько повышен для состояния покоя. |
|
Signal STD |
3.7695 |
Амплитуда колебаний сигнала присутствует, но сама по себе эта метрика малоинформативна без сравнения с эталонными данными. |
|
Signal Quality Ratio |
2.86 |
Относительно низкое качество спектрального пика. Для устойчивого rPPG обычно ожидается более выраженная доминирующая частота. |
|
WARNING: weak physiological signal |
Да |
Алгоритм не смог уверенно выделить устойчивую физиологическую периодичность. |
|
Possible manipulation / deepfake artifact |
Да |
Обнаружен признак, который может соответствовать дипфейку или иной форме нарушения сигнала. |
Deep Fake Detection (DFD)
https://www.kaggle.com/datasets/sanikatiwarekar/deep-fake-detection-dfd-entire-original-dataset
Estimated BPM: 48.93
Signal STD: 1.9038
Signal Quality Ratio: 1.94
WARNING: weak physiological signal
Possible manipulation / deepfake artifact


|
Метрики |
Значение |
Возможная интерпретация |
|
BMP |
48.93 |
Пониженное значение сердечного ритма. Может находиться на границе физиологической нормы (например, у спортсменов в покое), но также может быть результатом ошибки оценки сигнала. На видео видно что человек стоял и такой пульс выглядит весьма подозрительным |
|
Signal STD |
1.903 |
Низкая амплитуда колебаний сигнала, что указывает на слабые изменения цвета/яркости в ROI. |
|
Signal Quality Ratio |
1.94 |
Очень низкое качество сигнала. Спектральный пик слабо выражен, преобладает шумовая составляющая. |
|
WARNING: weak physiological signal |
Да |
Алгоритм не смог выделить устойчивый и достоверный rPPG-сигнал. |
|
Possible manipulation / deepfake artifact |
Да |
Обнаружена физиологическая несогласованность, которая может быть связана с синтетическим видео или сильными искажениями исходного сигнала. |
Плохо сгенерированное видео
Estimated BPM: 77.32
Signal STD: 8.3915
Signal Quality Ratio: 2.68
WARNING: weak physiological signal
Possible manipulation / deepfake artifact


|
Метрики |
Значение |
Возможная интерпретация |
|
BMP |
77.32 |
Пульс находится в физиологически возможном диапазоне, хотя несколько повышен для состояния покоя. |
|
Signal STD |
8.3915 |
Амплитуда колебаний сигнала достаточно высокая, что указывает на наличие выраженных изменений яркости/цвета в ROI. |
|
Signal Quality Ratio |
2.68 |
Низкое значение качества сигнала. Доминирующий спектральный пик выражен слабо относительно остального спектра. |
|
WARNING: weak physiological signal |
Да |
Алгоритм не смог уверенно выделить устойчивую физиологическую периодичность. |
|
Possible manipulation / deepfake artifact |
Да |
Зафиксирована физиологическая аномалия, которая может быть связана как с синтетической генерацией контента, так и с низким качеством видеоматериала. |
Общий тренд: снижение Signal Quality Ratio сопровождается ухудшением устойчивости оценки BPM, что указывает на доминирование шумовых компонентов над физиологическим сигналом.
Следует учитывать, что предупреждение «Possible manipulation / deepfake artifact» является эвристическим индикатором и не означает автоматическое подтверждение факта подделки. Аналогичные результаты могут наблюдаться при анализе реальных видеозаписей низкого качества.
Проведённые эксперименты показали, что во всех исследуемых видео наблюдалось снижение качества извлечённого физиологического сигнала и отсутствие устойчивого доминирующего спектрального пика. Несмотря на наличие признаков, потенциально характерных для синтетического контента, результаты rPPG-анализа не позволяют однозначно подтвердить факт использования дипфейк-технологий.
Метод remote photoplethysmography следует рассматривать как дополнительный инструмент видеофорензики. Наиболее высокая эффективность достигается при его использовании совместно с анализом пространственных артефактов генерации, движений глаз, моргания, синхронизации аудио и видео, а также другими методами детекции дипфейков.
Таким образом, rPPG не является самостоятельным средством обнаружения современных дипфейков, однако способен выступать ценным источником дополнительных признаков при комплексной оценке подлинности видеоматериала.
ссылка на оригинал статьи https://habr.com/ru/articles/1043738/