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

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

Система безопасности с искусственным интеллектом и функцией обнаружения объектов

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

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



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

Примечание

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

  • Перейдите к Генератор паролей приложений, укажите название приложения, например, "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

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

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

Пример уведомления по электронной почте о безопасности

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Отображает метки для каждого обнаружения в визуальном выводе. Обеспечивает немедленное понимание обнаруженных объектов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



📅 Создано 2 лет назад ✏️ Обновлено 2 дней назад
glenn-jocherRizwanMunawarUltralyticsAssistantpderrengeronuralpszrY-T-Gjk4eambitious-octopusIvorZhu331

Комментарии