Meet YOLO26: next-gen vision AI.

Link to this sectionПроект системы охранной сигнализации с использованием 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

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

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

Security alert email notification example

Link to this sectionАргументы SecurityAlarm#

Ниже представлена таблица с аргументами SecurityAlarm:

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

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

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Указывает алгоритм отслеживания, который нужно использовать. Встроенные опции: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.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Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает быстрое понимание того, какие объекты были обнаружены.

Link to this sectionКак это работает#

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

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

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

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

Link to this sectionFAQ#

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

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

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

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

Link to this sectionКаковы требования к хранению данных для запуска Ultralytics YOLO26?#

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

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

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

Link to this sectionКак я могу снизить частоту ложных срабатываний в моей системе безопасности с помощью Ultralytics YOLO26?#

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

Комментарии