Разработка системы Liveness Detection (защита от фото/видео подмены)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка системы Liveness Detection (защита от фото/видео подмены)
Сложная
от 2 недель до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Детекция живого лица и защита от спуфинга

Face recognition без liveness detection — это просто распознавание фотографий. Любой с распечатанным фото или видео с телефона проходит аутентификацию. В банковских приложениях, системах KYC и биометрическом контроле доступа это критическая уязвимость.

Типы атак спуфинга

2D-атаки: распечатанное фото, экран телефона/планшета с фото, видео на экране. Самые распространённые, относительно легко детектируются.

3D-атаки: 3D-маски (силикон, бумага), 3D-модели лица. Требуют более сложных методов детекции.

Deepfake-атаки: синтезированное видео с лицом жертвы в реальном времени. Растущая угроза, особенно с инструментами типа DeepFaceLive.

Adversarial атаки: специально подготовленные изображения, которые обманывают конкретную модель детекции.

Методы liveness detection

Passive liveness. Анализ одного кадра или короткого видео без взаимодействия пользователя. Работает на текстурных признаках (бумага vs. кожа), анализе бликов, частотных характеристиках изображения, артефактах сжатия.

Модели: FeatherNets, FaceAntiSpoofing (CDCN архитектура), Binary Supervision. На LFW Anti-Spoofing benchmark современные passive методы достигают ACER (Average Classification Error Rate) < 1%.

Active liveness. Пользователь выполняет случайные действия: моргнуть, повернуть голову, улыбнуться. Детектируем выполнение challenge через landmark tracking. Более надёжно против 2D-атак, хуже UX.

Depth-based liveness. Использует depth sensor (Face ID от Apple, Intel RealSense). Почти идеальная защита от 2D-атак, но требует специального оборудования.

Техническая реализация

Для мобильных/web-приложений без специального железа — passive + active комбинация:

class LivenessDetector:
    def __init__(self):
        # CDCN++ для passive detection
        self.passive_model = load_model("cdcn_plus_plus.onnx")
        # MediaPipe для landmark tracking
        self.face_mesh = mp.solutions.face_mesh.FaceMesh(
            max_num_faces=1,
            min_detection_confidence=0.7
        )

    def check_liveness(self, frames: list) -> LivenessResult:
        # Passive: анализ текстуры и артефактов
        passive_scores = [self.passive_model(f) for f in frames]
        passive_score = np.mean(passive_scores)

        # Active: трекинг движения landmarks
        motion_valid = self._verify_challenge_completion(frames)

        combined_score = 0.6 * passive_score + 0.4 * float(motion_valid)
        return LivenessResult(
            is_live=combined_score > 0.75,
            confidence=combined_score,
            passive_score=passive_score
        )

Защита от deepfake-атак

Это отдельная и сложная задача. Deepfake-видео в реальном времени создаёт артефакты, которые детектируются через:

  • Временну́ю консистентность: deepfake даёт нестабильные landmarks между кадрами
  • Анализ сердечного ритма (rPPG): реальное лицо показывает микро-изменения цвета кожи от пульса; deepfake — нет
  • Frequency domain analysis: GAN-артефакты в высокочастотной области спектра

rPPG-based детекция: сигнал извлекается из ROI (лоб, щёки), обрабатывается полосовым фильтром 0.7–3.0 Гц. Настоящий человек показывает чёткий пик на ЧСС (~1.2 Гц). Deepfake — нет пика или хаотичный сигнал.

Практический кейс

Банк внедрял мобильную биометрическую аутентификацию. Первая версия: только face recognition без liveness. В течение первых двух недель 3 попытки доступа через фото с экрана телефона (2 успешных — потери $14 000).

После внедрения passive liveness (CDCN++) + challenge (random моргание):

  • 0 успешных спуфинг-атак за 8 месяцев
  • FAR (False Acceptance Rate) для реальных атак: < 0.01%
  • FRR (False Rejection Rate) для реальных пользователей: 1.8% (после калибровки)
  • Среднее время проверки: 2.1 секунды

Регуляторные требования

Для KYC в российском финтехе необходимо соответствие требованиям ЦБ РФ по биометрической аутентификации. Системы liveness detection должны соответствовать ISO/IEC 30107-3 (Presentation Attack Detection). Сертификация через iBeta — стандарт для enterprise-деплоев.

Сроки: 3–6 недель для базового passive liveness, 8–14 недель для комплексной системы с deepfake detection и соответствием ISO 30107-3.