Инструменты распознавания лиц Frigate

Frigate — лучший открытый NVR, потому что он честен в том, что делает: обнаружение объектов (люди, машины, посылки) с высокой частотой кадров на скромном оборудовании. Он намеренно не делает распознавание лиц, поскольку лица — это другая модель и другой разговор о приватности. Если вы хотите, чтобы уведомление от дверного звонка говорило «Сара у двери» вместо «обнаружен человек», вам нужно добавить слой распознавания лиц, который интегрируется с Frigate.

Семь лучших приложений для распознавания лиц Frigate ниже работают как дополнительные контейнеры Docker на том же NAS или домашнем сервере, получают снимки Frigate через MQTT или REST-хук и возвращают названное имя, которое Home Assistant затем направляет в уведомление, разблокировку замка или сцену освещения. Всё размещается локально и работает на Linux. Данные о лицах никогда не отправляются третьим лицам.

На что обратить внимание

Таблица быстрого сравнения

Приложение Лучше всего для Платформы Бесплатный план Начальная цена/мес Оценка
Double Take Оркестратор для Frigate + поставщиков лиц Docker Полностью бесплатно (OSS) Бесплатно Соединяющий клей
CompreFace Высокоточное распознавание лиц Docker Полностью бесплатно (OSS) Бесплатно Лучшая точность в тестах
DeepStack Долгосрочное обнаружение с режимом лиц Docker Бесплатно Платные добавки моделей Старше, но стабильно
Facebox API для лиц Machine-Box Docker Бесплатно (ограниченно) Платная поддержка Исторический стандарт
Home Assistant Фронтенд автоматизации для конвейера Docker Полностью бесплатно (OSS) Бесплатно Центр управления
Frigate+ Собственный платный сервис модели Frigate Docker Frigate бесплатно $50/год Улучшает обнаружение объектов
Immich Face Search База данных лиц из вашей библиотеки фото Docker Полностью бесплатно (OSS) Бесплатно Бесплатный источник данных для обучения

Приложения

1. Double Take — лучший оркестратор

Double Take — это коннектор между Frigate и одним или несколькими бэкендами распознавания лиц. Он подписывается на события MQTT Frigate, загружает снимок каждого обнаруженного человека, отправляет его в CompreFace или DeepStack для идентификации и повторно публикует сообщение MQTT с именем человека и достоверностью. Затем Home Assistant делает с этим всё, что вы хотите.

Где оно не справляется: Единая точка отказа в конвейере. Если Double Take падает, распознавание лиц прекращается (Frigate продолжает обнаруживать людей). Конфиг — это YAML, и он имеет значение.

Цены:

Платформы: Docker.

Загрузка: skrashevich Double Take

Итог: Любая локальная установка Frigate с распознаванием лиц использует Double Take. Начните отсюда.

2. CompreFace — лучшая точность

CompreFace от Exadel — лидер по точности среди бесплатных, локальных бэкендов распознавания лиц. Зарегистрируйте 8-15 фотографий на человека, проверьте процент распознавания и повторите. Поставляется с REST и gRPC API; Double Take разговаривает с ним из коробки.

Где оно не справляется: Стек Docker Compose состоит из нескольких сервисов (API, база данных, воркеры). Работает комфортно на 8 ГБ ОЗУ; на меньших устройствах возникают проблемы. Вывод GPU требует образ с CUDA.

Цены:

Платформы: Docker.

Загрузка: CompreFace GitHub

Итог: CompreFace — это то, на что нужно сначала указать Double Take.

3. DeepStack — лучший долгосрочный движок обнаружения

DeepStack предшествует большей части этого списка и по-прежнему работает хорошо. Режим лиц регистрирует личности через API, возвращает оценки достоверности и выдерживает непрерывный опрос. Образ Docker маленький; работает и на ARM64 (старые Synology, Raspberry Pi 5).

Где оно не справляется: Разработка замедлилась после того, как исходная команда ушла. Новые альтернативы (CompreFace, InsightFace) превосходят его по точности для похожих лиц.

Цены:

Платформы: Docker (x86 и ARM).

Загрузка: DeepStack docs

Итог: DeepStack — это выбор, если вам нужен лёгкий бэкенд на ARM-оборудовании.

4. Facebox — исторический стандарт

Facebox от Machine-Box — это контейнер распознавания лиц на основе REST, который Double Take поддерживает с первого дня. Регистрируйте личности через API, отправляйте снимки, получайте имена назад. Просто, стабильно и всё ещё поддерживается после приобретения Veritone.

Где оно не справляется: Новые проекты обогнали его по точности в граничных случаях (братья-сёстры, близнецы). Бесплатный уровень ограничивает личности.

Цены:

Платформы: Docker.

Загрузка: Machine-Box Facebox

Итог: Facebox — это вариант «просто работает», если CompreFace конфликтует с вашей установкой.

5. Home Assistant — лучший фронтенд автоматизации

Home Assistant — это место, где сообщение MQTT о названном человеке от Double Take превращается в «разблокировать дверь крыльца для Сары, приглушить свет в коридоре, отправить снимок в Slack». Интеграция Frigate устанавливается из HACS. Интеграция MQTT встроена.

Где оно не справляется: Настройка шаблонов для объявления занимает первый вечер. HA ломается реже, чем раньше, но крупный выпуск иногда меняет синтаксис автоматизации.

Цены:

Платформы: Docker, Home Assistant OS, голое железо.

Загрузка: Home-Assistant.io

Итог: Home Assistant — это слой, который делает распознавание лиц полезным вместо декоративного.

6. Frigate+ — лучше всего для улучшения обнаружения объектов сначала

Frigate+ — это платный сервис Blake Blackshear, который тренирует пользовательскую модель на потоках вашей камеры, чтобы уменьшить ложные срабатывания перед тем, как когда-либо запустится распознавание лиц. Он не делает распознавание лиц сам по себе, но Frigate с меньшим количеством ложных срабатываний «человека» означает, что Double Take спрашивает CompreFace только о реальных людях, экономя CPU.

Где оно не справляется: $50/год — это не бесплатно (хотя это поддерживает проект). Не решение для лиц само по себе.

Цены:

Платформы: Docker.

Загрузка: Frigate.video/plus

Итог: Frigate+ — это выбор «уменьшить шум в верхней части конвейера» перед тем, как вы настраиваете конвейер лиц.

7. Immich Face Search — лучший бесплатный источник данных для обучения

Immich (ваша локальная замена Google Photos) уже работает с кластеризацией лиц во всей вашей библиотеке фотографий семьи и группирует лица по личности. Экспортируйте папку высококачественных справочных изображений на человека, чтобы заполнить CompreFace или DeepStack. Экономит час на то, чтобы показывать членам семьи в камеру.

Где оно не справляется: Модель лиц Immich отличается от бэкендов распознавания, поэтому экспортированные кластеры требуют ручной проверки. Не движок распознавания в реальном времени.

Цены:

Платформы: Docker.

Загрузка: Immich.app

Итог: Immich сокращает регистрацию с вечера до кофе-брейка.

Как выбрать правильный

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

Часто задаваемые вопросы

У Frigate есть встроенное распознавание лиц?

Нет встроенного. Frigate обнаруживает объекты (человек, машина, собака, посылка). Распознавание лиц — это отдельный конвейер через Double Take плюс бэкенд, например CompreFace или DeepStack.

Может ли распознавание лиц работать на Raspberry Pi?

DeepStack работает на Raspberry Pi 5 с приемлемой задержкой для использования дверного звонка. CompreFace тоже работает, но тяжелее; ожидайте несколько секунд на обнаружение на Pi-оборудовании. На мини-ПК Intel N100 или NAS Synology Plus-series оба работают комфортно в реальном времени.

Сколько фотографий для регистрации нужно для лица?

CompreFace и DeepStack оба улучшаются до примерно 15 фотографий на человека, сделанных при разном освещении и углах. Сверх того доход убывает. Менее 5 фотографий обычно дают низкую достоверность совпадений.

Нужен ли Coral TPU для распознавания лиц с Frigate?

Coral TPU ускоряет обнаружение объектов Frigate, а не распознавание лиц. Распознавание лиц использует разные модели. GPU (или скромный CPU) достаточно для CompreFace и DeepStack.

Могу ли я запустить Double Take и Frigate на одном хосте Docker?

Да; это стандартное развёртывание. Дайте каждому свой префикс темы MQTT, примонтируйте одну папку клипов обоим, если вы хотите, чтобы Double Take читал снимки Frigate напрямую, и поместите обоих за одним обратным прокси.