Ultralytics YOLO27:
Get Started

Проект системы охранной сигнализации на базе Ultralytics YOLO26#

AI-powered security alarm system with object detection

Проект системы охранной сигнализации на базе Ultralytics YOLO26 использует передовые возможности компьютерного зрения для повышения уровня безопасности. YOLO26, разработанная Ultralytics, обеспечивает обнаружение объектов в реальном времени, позволяя системе своевременно выявлять потенциальные угрозы безопасности и реагировать на них. Проект имеет ряд преимуществ:

  • Обнаружение в реальном времени: Благодаря высокой эффективности YOLO26 система охранной сигнализации обнаруживает инциденты и реагирует на них в реальном времени, сводя к минимуму время реагирования.
  • Точность: YOLO26 известна высокой точностью обнаружения объектов, что снижает количество ложных срабатываний и повышает надёжность системы охранной сигнализации.
  • Возможности интеграции: Проект можно легко интегрировать в существующую инфраструктуру безопасности, добавив к ней интеллектуальный уровень видеонаблюдения.


Смотри: Система охранной сигнализации с Ultralytics YOLO26 и Solutions обнаружение объектов

Отправляй оповещения о безопасности с YOLO26#

Решение SecurityAlarm отслеживает объекты в видеопотоке и отправляет одно оповещение по электронной почте с прикреплённым размеченным изображением, как только число обнаруженных объектов достигает порога records. Подключи аккаунт Gmail с помощью пароля приложения, а затем запусти решение для обработки источника.

Требуется пароль приложения

Перейди в генератор паролей приложений, укажи название приложения, например "проект системы безопасности", и получи пароль из 16 символов. Скопируй пароль и вставь его в поле password в коде ниже.

Система охранной сигнализации на базе Ultralytics YOLO
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Запись видео
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("security_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

from_email = "abc@gmail.com"  # адрес электронной почты отправителя
password = "---- ---- ---- ----"  # пароль приложения из 16 символов, созданный на странице: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # адрес электронной почты получателя

# Инициализируй объект охранной сигнализации
securityalarm = solutions.SecurityAlarm(
    show=True,  # отобразить результат
    model="yolo26n.pt",  # например, yolo26s.pt, yolo26m.pt
    records=1,  # общее число обнаружений для отправки электронного письма
)

securityalarm.authenticate(from_email, password, to_email)  # аутентифицировать почтовый сервер

# Обработка видео
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    results = securityalarm(im0)

    # print(results)  # доступ к результату

    video_writer.write(results.plot_im)  # запись обработанного кадра.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # закрытие всех открытых окон

При запуске кода ты получишь одно уведомление по электронной почте, если будет обнаружен хотя бы один объект. Уведомление отправляется сразу и не повторяется. Ты можешь настроить код в соответствии с требованиями своего проекта.

Пример полученного письма#

Security alert email notification example

Аргументы SecurityAlarm#

Вот таблица с аргументами SecurityAlarm:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
recordsint5Общее количество обнаруженных объектов, при достижении которого отправляется электронное письмо с предупреждением системы безопасности.
line_widthint2Толщина линий рамок, ключевых точек и счётчиков, которые рисует решение.
verboseboolTrueВключает журнал решения для каждого кадра с указанием формы входных данных, количества объектов по классам и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода сообщений.

Решение SecurityAlarm поддерживает различные параметры track:

АргументТипПо умолчаниюОписание
trackerstr'tracktrack.yaml'Задаёт алгоритм отслеживания. Встроенные варианты: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Задаёт порог уверенности для обнаружений: при более низких значениях можно отслеживать больше объектов, но возрастает вероятность ложноположительных срабатываний.
ioufloat0.7Задаёт порог пересечения над объединением (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
devicestrNoneЗадаёт устройство для инференса (например, cpu, cuda:0 или 0). Позволяет выбрать CPU, определённый GPU или другое вычислительное устройство для выполнения модели.
imgszint or tuple640Целевой размер изображения для инференса: целое число для квадратного изображения или пара (height, width). Размеры корректируются с учётом шага модели.
max_detint300Максимальное количество обнаружений, сохраняемых в каждом кадре перед отслеживанием; ограничивает число объектов, обрабатываемых решением в насыщенных сценах.
quantizeint or strNoneТочность инференса: 16 (FP16) или 32/unset (FP32) для моделей PyTorch и TorchScript не на CPU; для других форматов точность определяется артефактом модели и средой выполнения. Заменяет устаревший аргумент half.

Кроме того, доступны следующие настройки визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, показывает аннотированные изображения или видео в окне. Полезно для мгновенной визуальной проверки во время разработки или тестирования.
show_confboolTrueПоказывает оценку уверенности каждой детекции рядом с меткой. Позволяет оценить уверенность модели в каждой детекции.
show_labelsboolTrueПоказывает метки каждой детекции на визуализации. Помогает сразу понять, какие объекты обнаружены.

Как это работает#

Система охранной сигнализации использует отслеживание объектов для мониторинга видеопотоков и обнаружения потенциальных угроз безопасности. Когда число обнаруженных объектов в кадре достигает заданного порога (установленного параметром records), система автоматически отправляет уведомление по электронной почте с прикреплённым изображением обнаруженных объектов.

В системе используется класс SecurityAlarm, предоставляющий методы для:

  1. Обработки кадров и извлечения обнаруженных объектов
  2. Аннотирования кадров ограничивающими рамками вокруг обнаруженных объектов
  3. Отправки уведомлений по электронной почте при достижении пороговых значений обнаружения

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

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

  • Ultralytics YOLO26 повышает эффективность систем охранной сигнализации благодаря высокоточным обнаружениям объектов в реальном времени. Передовые алгоритмы значительно сокращают число ложных срабатываний, поэтому система реагирует только на реальные угрозы. Повышенную надёжность модели можно легко обеспечить интеграцией в существующую инфраструктуру безопасности, улучшив общее качество видеонаблюдения.

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

  • Для запуска Ultralytics YOLO26 в стандартной конфигурации обычно требуется около 5 ГБ свободного места на диске. Оно нужно для хранения модели YOLO26 и дополнительных зависимостей. Для облачных решений Ultralytics Platform предлагает эффективное управление проектами и наборами данных, что помогает оптимизировать использование хранилища. Подробнее о тарифе Pro и его дополнительных возможностях, включая увеличенный объём хранилища.

  • Ultralytics YOLO26 превосходит такие модели, как Faster R-CNN или SSD, благодаря обнаружению объектов в реальном времени и более высокой точности. Уникальная архитектура позволяет обрабатывать изображения гораздо быстрее без ущерба для точности, что делает модель идеальной для задач, требующих быстрой реакции, например для систем охранной сигнализации. Подробное сравнение моделей обнаружения объектов смотри в нашем руководстве.

  • Чтобы сократить число ложных срабатываний, убедись, что модель Ultralytics YOLO26 достаточно обучена на разнообразном и тщательно размеченном наборе данных. Тонкая настройка гиперпараметров и регулярное обновление модели с использованием новых данных могут значительно повысить точность обнаружения. Подробные методы настройки гиперпараметров описаны в нашем руководстве по настройке гиперпараметров.

Комментарии