Ultralytics YOLO27:

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

AI-powered security alarm system with object detection

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

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


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection

Отправка предупреждений системы безопасности с помощью YOLO26#

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

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

Перейди к генератору паролей приложений, укажи имя приложения, например «security project», и получи 16-значный пароль. Скопируй этот пароль и вставь его в поле password в коде ниже.

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

from ultralytics import solutions

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

# Video writer
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"  # the sender email address
password = "---- ---- ---- ----"  # 16-digits password generated via: https://myaccount.google.com/apppasswords
to_email = "xyz@gmail.com"  # the receiver email address

# Initialize security alarm object
securityalarm = solutions.SecurityAlarm(
    show=True,  # display the output
    model="yolo26n.pt",  # e.g., yolo26s.pt, yolo26m.pt
    records=1,  # total detections count to send an email
)

securityalarm.authenticate(from_email, password, to_email)  # authenticate the email server

# Process video
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)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

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

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

Security alert email notification example

Аргументы SecurityAlarm#

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

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

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

АргументТипПо умолчаниюОписание
trackerstr'botsort.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/не задано (FP32) для моделей PyTorch и TorchScript; остальные форматы вычисляют с точностью, выбранной их артефактом и средой выполнения. Заменяет устаревший флаг 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 достаточно обучена на разнообразном и хорошо аннотированном наборе данных. Точная настройка гиперпараметров и регулярное обновление модели с использованием новых данных могут значительно повысить точность обнаружения. Подробные методы настройки гиперпараметров описаны в нашем руководстве по настройке гиперпараметров.

Комментарии