В Frigate 0.16.0 для Home Assistant добавлены распознавание лиц и номерных знаков, роль Viewer, улучшена поддержка оборудования и множество других функций и улучшений.
В Frigate 0.16.0 для Home Assistant добавлены распознавание лиц и номерных знаков, роль Viewer, улучшена поддержка оборудования и множество других функций и улучшений.
Критические изменения
В этом релизе есть несколько критических изменений. Frigate попытается автоматически обновить конфигурацию. В некоторых случаях могут потребоваться ручные изменения. Всегда рекомендуется создавать резервную копию текущей конфигурации и базы данных перед обновлением:
- Просто скопируйте текущий конфигурационный файл в новое место
- Остановите Frigate и сделайте копию файла frigate.db
- Детектор TensorRT для GPU Nvidia был удален, вместо него следует использовать детектор ONNX. Nvidia недавно выпустила новые пакеты и прекратила поддержку старых версий TensorRT. Поддержка нативного детектора TensorRT оказалась слишком сложной, что затрудняло поддержку нового оборудования и обновление ONNX runtime. Было принято решение удалить детектор TensorRT, что позволит нам сосредоточиться на поддержке большего количества моделей и добавлении новых функций для платформы Nvidia через ONNX runtime. Пользователям, которые использовали детектор TensorRT, потребуется обновить конфигурацию для использования детектора ONNX и загрузить новую модель. Рекомендуются YOLO-NAS или YOLOv9, так как они обеспечивают лучшую производительность и точность по сравнению с моделями, поддерживаемыми TensorRT. Документация
- Обновлена обработка аудио в go2rtc для поддержки любых аудиокодеков вместо только AAC. Это упрощает получение аудио с камер, использующих аудио PCMA/U. Однако, если в настоящее время используется пресет ffmpeg для записи preset-record-generic-audio-copy, его, скорее всего, потребуется изменить на preset-record-generic-audio-aac для продолжения поддержки аудио в записях.ffmpeg:
...
output_args:
record: preset-record-generic-audio-aac - Обнаружение объектов теперь отключено по умолчанию. Мигратор конфигурации обновит вашу конфигурацию глобально с enabled: true для detect:. Если вы используете Frigate с конфигурацией только для чтения, вам может потребоваться вручную отредактировать конфигурацию, чтобы включить обнаружение объектов.detect:
enabled: true - Frigate больше не будет искать бинарник ffmpeg в PATH. Если вы расширяете образ Frigate или каким-то образом внедряете пользовательский бинарник ffmpeg в место типа /usr/local/bin, пожалуйста, ознакомьтесь с руководством по пользовательской сборке ffmpeg.
- Пользователям дополнения Home Assistant необходимо учитывать несколько важных критических изменений. См. раздел «Важные заметки для пользователей дополнения Home Assistant» ниже.
- Базовый образ Frigate обновлен до Debian Bookworm. Образы Jetpack 4 (jp4) и Jetpack 5 (jp5) были удалены из-за несовместимости с новым базовым образом. Новый образ Jetson Jetpack 6 (jp6) был добавлен участником сообщества.
- Обновлен набор иконок для групп камер. Некоторые из ваших иконок групп камер могут потребовать повторного выбора.
- Драйвер и прошивка Hailo обновлены до версии 4.21.0. Стандартный образ Docker теперь поддерживает Hailo. Если вы используете Home Assistant Operating System, требуется версия 16.0. Другим пользователям потребуется обновить драйвер и прошивку Hailo на своей системе с помощью скрипта пользовательской установки.
- Детектор ROCm migraphx удален: Вместо отдельной поддержки ROCm через MigraphX и через ONNX, детектор ROCm (rocm) был удален, и вместо него следует использовать детектор onnx. Это изменение требует только изменения type: rocm на type: onnx в detectors.
- Добавлен дополнительный параметр в movement_weights для пользователей автотрекинга. Мигратор конфигурации добавит новое значение, чтобы Frigate запустился, но если это не сработает или вы используете относительное масштабирование (relative) с автотрекингом, вам следует удалить movement_weights из конфигурации и перекалибровать.
- Теперь требуется маппинг заголовков прокси для ролей пользователей или установка default_role в admin для достижения той же функциональности, что и в предыдущих версиях. В этой версии реализована роль Viewer, которая теперь является ролью по умолчанию для аутентифицированных пользователей без определенного маппинга заголовка role в конфигурации. Если вы используете прокси, вы должны включить admin в маппинг заголовка роли, чтобы администраторы сохранили свои привилегии. См. документацию.
- Параметр конфигурации strftime_fmt теперь устарел и будет удален в будущей версии. Теперь UI будет определять форматы времени на основе вашего языка и локали.
- Некоторые API-маршруты теперь защищены и требуют учетных данных или изменений. С введением роли Viewer и возможности отмечать элементы для проверки как просмотренные отдельно для каждого пользователя, могут потребоваться изменения в любых сервисах, которые делают вызовы к API Frigate.
- Некоторым пользователям может потребоваться настроить параметр tls_insecure в конфигурации onvif, если элементы управления ONVIF PTZ работали в предыдущих версиях, но перестали работать в 0.16. Пакет ONVIF был обновлен для 0.16, и несколько пользователей сообщили, что установка tls_insecure: false решила их проблемы.
Важные заметки для пользователей дополнения Home Assistant
Только для пользователей дополнения Home Assistant
Каталог конфигурации Frigate для пользователей дополнения был изменен с каталога конфигурации Home Assistant на каталог конфигурации дополнения. С этим изменением файл конфигурации Frigate и база данных теперь являются частью резервной копии дополнения, создаваемой Home Assistant, и больше не требуют ручного резервного копирования. Обратите внимание, что только резервные копии, созданные после 0.16, будут использовать это изменение. Если вы создали резервную копию Frigate 0.15 при обновлении до 0.16, файл конфигурации Frigate и база данных не будут частью этой резервной копии. В этом случае вам все равно следует создать их резервную копию вручную перед обновлением до Frigate 0.16.
Автоматическая миграция
При первой инициализации Frigate 0.16 все файлы, связанные с Frigate, будут перемещены из каталога конфигурации Home Assistant в каталог конфигурации дополнения Frigate. Это означает, что эти файлы больше не будут доступны через ваш каталог Home Assistant /config. Теперь они будут находиться в каталоге /addon_configs, который также можно получить через дополнения Terminal или VS Code.
В новом каталоге файл конфигурации Frigate будет называться config.yml, а не frigate.yml. Это соответствует практике людей, запускающих Frigate другими способами. Если вы хотите вернуться к Frigate 0.15 и не создали резервную копию файла конфигурации, вы можете скопировать config.yml из /addons_config обратно в /config/frigate.yml перед восстановлением дополнения. Рассмотрите возможность копирования других файлов, таких как пользовательская модель, пользовательский ffmpeg и пользовательский go2rtc. Обратите внимание, что база данных из 0.16 несовместима с Frigate 0.15, поэтому ее не следует копировать обратно. Чтобы восстановить базу данных, вы должны восстановить ее из ручной резервной копии.
Перемещение каталога конфигурации между вариантами дополнения
Каталог /addon_configs содержит каталоги конфигурации всех дополнений. Вы можете перемещать файлы из одного каталога конфигурации дополнения в другой, например, из Frigate Beta в стабильную версию, или наоборот. Убедитесь, что вы делаете это перед удалением дополнения, если только вы не выбрали опцию Также навсегда удалить данные этого дополнения при его удалении.
Критическое изменение
Если ваш файл конфигурации Frigate ссылается на любые произвольные файлы в каталоге конфигурации Home Assistant, например, скрипты echo:/config/, их ссылки необходимо вручную обновить с /config/ на /homeassistant/.
Новые функции
Frigate 0.16 представляет несколько основных новых функций.
Распознавание лиц
Frigate использует обнаружение и распознавание лиц для применения подписей к известным лицам. Распознанные лица могут быть включены в встроенные уведомления и интегрированы в уведомления сторонних сервисов.
Frigate+ не требуется для использования распознавания лиц. Однако использование модели Frigate+ (или пользовательской модели, которая обнаруживает face нативно) повышает эффективность, устраняя необходимость в отдельном обнаружении лиц для каждого человека.
Точность распознавания лиц сильно зависит от качества изображений, используемых для обучения. Настоятельно рекомендуется следовать руководству по обучению для достижения наилучших результатов.
См. документацию по распознаванию лиц для получения дополнительной информации.
Распознавание номерных знаков (LPR)
Frigate обнаруживает и распознает номерные знаки, сохраняя распознанные номера в отслеживаемых объектах автомобилей. Известные номерные знаки также могут быть помечены пользовательскими метками (например, AB12345 → Машина Боба).
Frigate+ не требуется для распознавания номерных знаков. Однако использование модели Frigate+ (или пользовательской модели, которая обнаруживает license_plate нативно) повышает эффективность, устраняя необходимость в отдельной модели обнаружения.
Для дополнительных функций, таких как сопоставление на основе регулярных выражений, см. документацию по распознаванию номерных знаков.
Роль Viewer
Frigate 0.16 вводит роль Viewer, которая ограничивает доступ к системным функциям, редактору конфигурации и HTTP API Frigate. Зрители имеют разрешения на использование Live view, Review и Explore.
Кроме того, каждый пользователь может отмечать элементы для проверки как просмотренные независимо, чтобы действия одного пользователя не скрывали элементы проверки от других.
Вкладка Users в Settings может использоваться для создания пользователей и назначения ролей, и эти роли применяются при доступе к Frigate через аутентифицированный порт. Документация
Более детальные разрешения (например, запрет доступа к определенным камерам) появятся в будущей версии.
Прокси теперь также могут маппить роли пользователей. См. документацию по конфигурации прокси.
Улучшенная поддержка аппаратного обеспечения и моделей для обнаружения объектов
Hailo8
Детектор Hailo8 был переработан командой Hailo для значительного улучшения производительности обнаружения объектов и добавления поддержки большего количества типов моделей. Документация
ONNX & OpenVINO
Добавлена поддержка различных новых моделей для детекторов ONNX и OpenVINO
- Frigate теперь поддерживает современные модели D-FINE и RF-DETR через детекторы ONNX и OpenVINO. Документация
- Добавлена поддержка моделей YOLOv3, YOLOv4 и YOLOv9. Документация
- Добавлена поддержка моделей YOLOx. Документация
RockChip (RKNN)
Для RockChip были внесены следующие улучшения:
- Статистика GPU и NPU теперь поддерживается в UI (это требует маппинга /sys как доступного только для чтения, см. документацию для получения дополнительной информации)
- RKNN Toolkit обновлен до версии 2.3.2
- Теперь есть встроенная поддержка преобразования пользовательских моделей ONNX в формат RKNN
- Добавлена поддержка в детектор RKNN:Добавлена встроенная поддержка моделей YOLOv9 Документация Добавлена встроенная поддержка моделей YOLOx Документация
Улучшения камер
Динамическое включение и отключение камер
Frigate теперь предлагает возможность динамически включать/отключать камеры, включая кнопки в UI, MQTT и использование сервисов camera.turn_on / camera.turn_off в интеграции Home Assistant. Отключение камеры останавливает все декодирование и обработку Frigate для этой камеры. См. документацию.
Выбор потока в реальном времени
Frigate теперь позволяет настраивать несколько потоков для одной камеры, так что любое количество потоков для одной камеры может быть создано и выбрано в UI. См. документацию Live view.
Группы камер теперь включают настройки для каждой камеры, чтобы дополнительно настроить поведение потоков в реальном времени для этой камеры в этой группе камер.
Другие примечательные улучшения потоков в реальном времени:
- Создание записей по требованию из Live view отдельной камеры в UI
- Аудио можно включить на панелях Live view через контекстное меню правой кнопки мыши
- Статистика потоков позволяет легко просматривать режим и производительность потоков в реальном времени
Другие изменения UI
Есть много других заметных улучшений в UI Frigate:
- Таймлайн проверки был переписан для большей производительности и поддержки масштабирования с помощью жеста pinch-to-zoom на мобильных устройствах и Ctrl + колесо прокрутки на компьютере.
- Отображение путей объектов на панели Object Lifecycle.
- Добавлена возможность создания масок объектов из ограничивающих рамок на панели Object Lifecycle с помощью правой кнопки мыши.
- Добавлено прилипание к краям/точкам в редакторе Mask/Zone.
- Добавлена самая ранняя дата записи из базы данных на страницу Storage Metrics.
- Добавлено подчеркивание для каждого дня, когда доступны записи, в календарной панели History.
- Добавлена полоса прокрутки на панели Logs и потоковая передача логов в реальном времени по мере их записи.
- Добавлена панель Frigate+ в Settings для отображения информации о модели и выбора новой модели из UI.
- Добавлена возможность рисовать прямоугольник в представлении отладки для получения площади (в пикселях и процентах) и соотношения размеров.
- Добавлена возможность редактировать подписи непосредственно на панели Tracked Object Details.
- Обеспечено сохранение состояния включения/выключения звука для плеера HLS.
- Добавлен выбор камеры в представлении History.
Поддержка интернационализации (i18n)
Frigate теперь поддерживает интернационализацию и локализацию, что позволяет изменять язык UI. Язык автоматически выбирается на основе локали вашего браузера и также может быть изменен через меню Languages в UI.
Некоторые языки переведены не полностью. Вклад в перевод приветствуется и может быть сделан с помощью Weblate.
Функции бэкенда и улучшения производительности
Новый базовый образ
- Базовый образ Frigate обновлен до Debian 12 («Bookworm») и Python 3.11, что приносит множество улучшений производительности бэкенда. ПРЕДУПРЕЖДЕНИЕ: Популярный скрипт LXC Proxmox от tteck не будет автоматически поддерживать Frigate 0.16. В скрипт потребуется внести изменения. Proxmox остается официально неподдерживаемым методом установки.
Зоны и площадь объекта
- Добавлена возможность оценивать скорость объектов, проходящих через зоны, и устанавливать порог скорости для активации зон. Документация
- Добавлена возможность указывать min_area и max_area в виде десятичной дроби между 0.000001 и .99 для представления процента кадра. Числа выше 1 по-прежнему представляют площади в пикселях. Для справки, 0.000001 представляет ~1 пиксель при 1280×720.
- Десятичное значение площади объекта теперь отображается везде, где в UI отображаются пиксели площади.
Семантический поиск
- Семантический поиск теперь является необязательным и больше не требуется включать для использования генеративного ИИ.
- Теперь можно использовать Jina V2 для семантического поиска, что обеспечивает поддержку нескольких языков. Документация
- Добавлена возможность запускать переиндексацию вложений отслеживаемых объектов непосредственно из UI.
Классификация птиц
- Добавлена возможность классифицировать обнаруженных птиц и добавлять имя в подпись отслеживаемого объекта. Документация
ONVIF и автотрекинг
- Реализовано переподключение ONVIF, если камера отключается.
- Улучшена отзывчивость масштабирования при использовании относительного масштабирования с автотрекингом.
- Уточнены параметры отслеживания объектов и используется повторная идентификация при автотрекинге объекта person.
Другие заметные изменения
- Имена файлов экспорта теперь включают дату и время начала и окончания.
- Добавлен заголовок как метаданные mp4 для экспортов.
- Добавлена возможность указывать время охлаждения и приостанавливать нативные уведомления для каждой камеры. Документация
- Добавлена конечная точка API, /recordings/summary, которая возвращает true/false для каждого дня, когда доступны записи.
- Реализована дедупликация записей логов для предотвращения переполнения логов одинаковыми сообщениями.
- Добавлена поддержка статистики SR-IOV GPU.