跳至内容

使用安全警报系统项目Ultralytics YOLO11

安全警报系统

利用Ultralytics YOLO11 的安全警报系统项目集成了先进的计算机视觉功能,以加强安全措施。YOLO11该项目由Ultralytics 开发,提供实时物体检测功能,使系统能够识别潜在的安全威胁并迅速做出反应。该项目具有以下几个优点:

  • 实时检测: YOLO11 的高效性使安全警报系统能够实时检测和响应安全事件,最大限度地缩短响应时间。
  • 准确性 YOLO11 以其物体检测的准确性著称,可减少误报,提高安全警报系统的可靠性。
  • 集成能力:该项目可与现有的安全基础设施无缝集成,提供一个升级的智能监控层。



观看: 安全警报系统项目Ultralytics YOLO11 物体检测

代码

备注

必须生成应用程序密码

  • Navigate to App Password Generator, designate an app name such as "security project," and obtain a 16-digit password. Copy this password and paste it into the designated password field in the code below.

Security Alarm System using YOLO11 Example

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.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_alarm_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

# Init SecurityAlarm
security = solutions.SecurityAlarm(
    show=True,  # Display the output
    model="yolo11n.pt",  # i.e. YOLO11s.pt
    records=1,  # Total detections count to send an email about security
)

security.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
    im0 = security.monitor(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

就是这样!执行代码后,如果检测到任何对象,您的电子邮件就会收到一条通知。通知会立即发送,不会重复发送。不过,您也可以根据自己的项目要求定制代码。

收到的电子邮件样本

收到的电子邮件样本

论据 SecurityAlarm

下面的表格显示了 SecurityAlarm 争论:

名称 类型 默认值 说明
model str None Ultralytics YOLO 模型文件的路径
line_width int 2 边界框的线条粗细
show bool False 用于控制是否显示视频流的标志。
records int 5 Total detections count to send an email about security.

论据 model.track

论据 类型 默认值 说明
source str None 指定图片或视频的源目录。支持文件路径和 URL。
persist bool False 可在帧间持续跟踪对象,在视频序列中保持 ID。
tracker str botsort.yaml 指定要使用的跟踪算法,例如 bytetrack.yamlbotsort.yaml.
conf float 0.3 设置检测的置信度阈值;数值越低,跟踪的物体越多,但可能会出现误报。
iou float 0.5 设置交叉重叠 (IoU) 阈值,用于过滤重叠检测。
classes list None 按类别索引筛选结果。例如 classes=[0, 2, 3] 只跟踪指定的类别。
verbose bool True 控制跟踪结果的显示,提供被跟踪物体的可视化输出。

常见问题

Ultralytics YOLO11 如何提高安全警报系统的准确性?

Ultralytics YOLO11 通过提供高精确度的实时目标检测,增强了安防报警系统的功能。其先进的算法大大减少了误报,确保系统只对真正的威胁做出反应。这种更高的可靠性可与现有安防基础设施无缝集成,提升整体监控质量。

能否将Ultralytics YOLO11 与现有安全基础设施集成?

是的,Ultralytics YOLO11 可以与您现有的安全基础设施无缝集成。该系统支持多种模式,可灵活定制,让您可以利用先进的目标检测功能增强现有设置。有关在项目中集成YOLO11 的详细说明,请访问集成部分

运行Ultralytics YOLO11 有哪些存储要求?

在标准设置上运行Ultralytics YOLO11 通常需要约 5GB 的可用磁盘空间。这包括用于存储YOLO11 模型和任何附加依赖项的空间。对于基于云的解决方案,Ultralytics HUB 可提供高效的项目管理和数据集处理,从而优化存储需求。了解有关专业计划的更多信息,以获得包括扩展存储在内的增强功能。

Ultralytics YOLO11 与 Faster R-CNN 或 SSD 等其他物体检测模型有何不同?

Ultralytics YOLO11 与 Faster R-CNN 或 SSD 等型号相比,它具有实时检测能力和更高的精度。其独特的架构使其能够更快地处理图像,同时又不影响精度,非常适合安防报警系统等时间敏感型应用。有关物体检测模型的全面比较,请参阅我们的指南

如何使用Ultralytics YOLO11 减少安全系统中的误报频率?

为减少误报,请确保您的Ultralytics YOLO11 模型经过了充分的训练,数据集种类繁多且标注齐全。微调超参数并定期用新数据更新模型可以显著提高检测准确率。详细的超参数调整技术可参阅我们的超参数调整指南

📅创建于 1 年前 ✏️已更新 26 天前

评论