使用安全警报系统项目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
就是这样!执行代码后,如果检测到任何对象,您的电子邮件就会收到一条通知。通知会立即发送,不会重复发送。不过,您也可以根据自己的项目要求定制代码。
收到的电子邮件样本
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 通常需要约 5GB 的可用磁盘空间。这包括用于存储YOLO11 模型和任何附加依赖项的空间。对于基于云计算的解决方案,Ultralytics HUB提供高效的项目管理和数据集处理,可以优化存储需求。了解有关专业计划的更多信息,以获得包括扩展存储在内的增强功能。
Ultralytics YOLO11 与 Faster R-CNN 或 SSD 等其他物体检测模型有何不同?
Ultralytics YOLO11 与 Faster R-CNN 或 SSD 等型号相比,它具有实时检测能力和更高的精度。其独特的架构使其能够更快地处理图像,同时又不影响精度,非常适合安防报警系统等时间敏感型应用。有关物体检测模型的全面比较,请参阅我们的指南。
如何使用Ultralytics YOLO11 减少安全系统中的误报频率?
为减少误报,请确保您的Ultralytics YOLO11 模型经过了充分的训练,数据集种类繁多且标注齐全。微调超参数并定期用新数据更新模型可以显著提高检测准确率。详细的超参数调整技术可参阅我们的超参数调整指南。