Проект системы охранной сигнализации с использованием Ultralytics YOLO11
Проект системы охранной сигнализации, использующий Ultralytics YOLO11 , объединяет передовые возможности компьютерного зрения для усиления мер безопасности. YOLO11 Проект, разработанный Ultralytics, обеспечивает обнаружение объектов в режиме реального времени, что позволяет системе оперативно выявлять потенциальные угрозы безопасности и реагировать на них. Этот проект обладает рядом преимуществ:
- Обнаружение в реальном времени: эффективность YOLO11 позволяет системе охранной сигнализации обнаруживать и реагировать на инциденты безопасности в режиме реального времени, что минимизирует время реагирования.
- Точность: YOLO11 известен своей точностью в обнаружении объектов, снижая количество ложных срабатываний и повышая надежность системы охранной сигнализации.
- Возможности интеграции: Проект может быть легко интегрирован в существующую инфраструктуру безопасности, обеспечивая новый уровень интеллектуального наблюдения.
Смотреть: Система охранной сигнализации с Ultralytics YOLO11 + решения Обнаружение объектов
Примечание
Необходима генерация паролей для приложений
- Перейдите в раздел Генератор паролей для приложенийукажите имя приложения, например "Проект безопасности", и получите 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
Вот и все! При выполнении кода вы получите одно уведомление на свой email, если обнаружите какой-либо объект. Уведомление отправляется сразу, а не многократно. Однако не стесняйтесь настраивать код в соответствии с требованиями вашего проекта.
Образец полученного электронного письма
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 |
Устанавливает порог пересечения над объединением (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 Ширина линии автоматически регулируется в зависимости от размера изображения. Обеспечивает визуальную настройку для наглядности. |
Как это работает
Система охранной сигнализации использует слежение за объектом для мониторинга видеопотока и обнаружения потенциальных угроз безопасности. Когда система обнаруживает объекты, превышающие заданный порог (установленный records
параметр), он автоматически отправляет уведомление по электронной почте с приложением изображения, на котором изображены обнаруженные объекты.
Система использует класс SecurityAlarm, который предоставляет методы для:
- Обработка кадров и извлечение обнаруженных объектов
- Аннотируйте кадры с ограничительными рамками вокруг обнаруженных объектов
- Отправка уведомлений по электронной почте при превышении пороговых значений обнаружения
Такая реализация идеально подходит для систем домашней безопасности, видеонаблюдения в розничной торговле и других приложений мониторинга, где важно немедленное оповещение об обнаруженных объектах.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как 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 обучена на разнообразных и хорошо проаннотированных наборах данных. Точная настройка гиперпараметров и регулярное обновление модели новыми данными могут значительно повысить точность обнаружения. Подробные методы настройки гиперпараметров можно найти в нашем руководстве по настройке гиперпараметров.