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

AI-powered security alarm system with object detection

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

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


Watch: Security Alarm System with Ultralytics YOLO26 + Solutions Object Detection
Примечание

Необходимо создание пароля приложения

  • Перейди к App Password Generator, укажи название приложения, например «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Общее количество обнаружений для отправки электронного письма системой охранной сигнализации.

Решение SecurityAlarm поддерживает множество параметров track:

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Указывает алгоритм отслеживания, который необходимо использовать, например, bytetrack.yaml или botsort.yaml.
conffloat0.1Устанавливает порог достоверности для обнаружения; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
ioufloat0.7Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verboseboolTrueУправляет отображением результатов отслеживания, предоставляя визуальный вывод отслеживаемых объектов.
devicestrNoneУказывает устройство для вывода (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

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

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

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

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

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

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

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

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

Как Ultralytics YOLO26 повышает точность системы охранной сигнализации?

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

Могу ли я интегрировать Ultralytics YOLO26 с моей существующей инфраструктурой безопасности?

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

Каковы требования к хранилищу для работы Ultralytics YOLO26?

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

Чем Ultralytics YOLO26 отличается от других моделей обнаружения объектов, таких как Faster R-CNN или SSD?

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

Как уменьшить количество ложных срабатываний в моей системе безопасности с помощью Ultralytics YOLO26?

To reduce false positives, ensure your Ultralytics YOLO26 model is adequately trained with a diverse and well-annotated dataset. Fine-tuning hyperparameters and regularly updating the model with new data can significantly improve detection accuracy. Detailed hyperparameter tuning techniques can be found in our hyperparameter tuning guide.

Комментарии