Перейти к содержанию

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

Система охранной сигнализации

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

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



Смотреть: Система охранной сигнализации с Ultralytics YOLO11 + Решения Обнаружение объектов

Примечание

Необходима генерация пароля приложения

  • Перейдите к Генератор паролей приложений, укажите название приложения, например, "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="yolo11n.pt",  # i.e. yolo11s.pt, yolo11m.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

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

Образец полученного электронного письма

Образец полученного электронного письма

SecurityAlarm Аргументы

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

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

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

Аргумент Тип По умолчанию Описание
tracker str 'botsort.yaml' Указывает алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conf float 0.3 Устанавливает порог уверенности для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
iou float 0.5 Устанавливает порог Intersection over Union (IoU) для фильтрации перекрывающихся обнаружений.
classes list None Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verbose bool True Управляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов.
device str None Указывает устройство для инференса (например, cpu, cuda:0 или 0). Позволяет пользователям выбирать между CPU, конкретным GPU или другими вычислительными устройствами для выполнения модели.

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

Аргумент Тип По умолчанию Описание
show bool False Если True, отображает аннотированные изображения или видео в окне. Полезно для немедленной визуальной обратной связи во время разработки или тестирования.
line_width None or int None Указывает ширину линии ограничивающих рамок. Если None, ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для большей четкости.
show_conf bool True Отображает оценку достоверности для каждого обнаружения рядом с меткой. Дает представление об уверенности модели для каждого обнаружения.
show_labels bool True Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как я могу уменьшить частоту ложных срабатываний в моей системе безопасности, используя Ultralytics YOLO11?

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



📅 Создано 1 год назад ✏️ Обновлено 2 месяца назад

Комментарии