news 2026/9/3 3:28:59

使用Ultralytics YOLO11的TrackZone

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用Ultralytics YOLO11的TrackZone

什么是TrackZone?

TrackZone 专门用于监控框架内指定区域的对象,而不是整个框架。基于 Ultralytics YOLO11,它在视频和实时摄像头流中特定区域的物体检测和跟踪中进行了集成。YOLO11 的高级算法和 深度学习 技术使其成为实时用例的完美选择,在人群监控和监控等应用中提供精确和高效的物体跟踪。

区域物体跟踪(TrackZone)的优势

  • 目标分析:在特定区域跟踪物体可以提供更专注的见解,使对感兴趣区域(如入口或限制区域)的精确监控和分析成为可能。
  • 提高效率:通过将跟踪范围限制在定义的区域,TrackZone减少了计算开销,确保了更快的处理速度和最佳性能。
  • 增强的安全性:区域跟踪通过监控关键区域来改善监控,有助于早期发现异常活动或安全漏洞。
  • 可扩展解决方案:能够专注于特定区域的能力使TrackZone能够适应各种场景,从零售空间到工业环境,确保无缝集成和可扩展性。

实际应用

使用Ultralytics YOLO的TrackZone

# Run a trackzone example yolo solutions trackzone show=True # Pass a source video yolo solutions trackzone source="path/to/video.mp4" show=True # Pass region coordinates yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

使用代码实现:

import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Define region points region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)] # 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("trackzone_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init trackzone (object tracking in zones, not complete frame) trackzone = solutions.TrackZone( show=True, # display the output region=region_points, # pass region points model="yolo11n.pt", # use any model that Ultralytics supports, e.g., YOLOv9, YOLOv10 # line_width=2, # adjust the line width for bounding boxes and text display ) # Process video while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or processing is complete.") break results = trackzone(im0) # print(results) # access the output video_writer.write(results.plot_im) # write the video file cap.release() video_writer.release() cv2.destroyAllWindows() # destroy all opened windows

TrackZone论据

这里有一个表格,列出了TrackZone的论据:

争论类型默认描述
modelstrNone通往超预测 YOLO 模型文件的路径。
regionlist'[(20, 400), (1260, 400)]'定义计数区域的点列表。

TrackZone解决方案包括对track参数的支持:

争论类型默认描述
trackerstr'botsort.yaml'指定使用的跟踪算法,例如,bytetrack.yamlbotsort.yaml
conffloat0.3设置检测的置信阈值;较小的值允许跟踪更多的物体,但也可能包括假阳性。
ioufloat0.5设置交并比 (IoU) 用于过滤重叠检测的阈值。
classeslistNone通过类索引过滤结果。例如,classes=[0, 2, 3]只跟踪指定的类。
verboseboolTrue控制显示跟踪结果,提供跟踪对象的视觉输出。
devicestrNone指定推理设备(例如,cpucuda:00)。允许用户在CPU、特定GPU或其他计算设备之间选择用于模型执行的设备。

此外,以下可视化选项可用:

争论类型默认描述
showboolFalse如果True,在窗口中显示标注的图像或视频。在开发或测试期间提供即时视觉反馈。
line_widthint or NoneNone指定边界框的线宽。如果None,线宽将根据图像大小自动调整。提供视觉定制以提高清晰度。
show_confboolTrue显示每个检测的置信分数以及标签。深入了解模型对每个检测的确定性。
show_labelsboolTrue在视觉输出中为每个检测显示标签。提供对检测到的物体的即时理解。

常见问题

如何使用Ultralytics YOLO11在视频帧的特定区域或区域中跟踪物体?

使用Ultralytics YOLO11在视频帧的定义区域或区域跟踪物体非常简单。只需使用下面提供的命令来启动跟踪。这种方法确保了高效分析和准确结果,使其成为监控、人群管理或任何需要区域跟踪的应用的理想选择。

yolo solutions trackzonesource="path/to/video.mp4"show=True

如何在Python中使用Ultralytics YOLO11和TrackZone?

只需几行代码,您就可以在特定区域设置物体跟踪,使它易于集成到您的项目中

import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) # Define region points region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)] # Video writer video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init trackzone (object tracking in zones, not complete frame) trackzone = solutions.TrackZone( show=True, # display the output region=region_points, # pass region points model="yolo11n.pt", ) # 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 = trackzone(im0) video_writer.write(results.plot_im) cap.release() video_writer.release() cv2.destroyAllWindows()

如何使用Ultralytics TrackZone配置视频处理的区域点?

使用Ultralytics TrackZone进行视频处理的区域点配置简单且可定制。您可以直接通过Python脚本定义和调整区域,从而精确控制您希望监控的区域。

# Define region points region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)] # Initialize trackzone trackzone = solutions.TrackZone( show=True, # display the output region=region_points, # pass region points )
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:40:23

Chromedriver下载地址汇总 + VibeThinker-1.5B编程推理双加持

Chromedriver下载与VibeThinker-1.5B:轻量智能 自动化控制的技术闭环 在算法竞赛训练营里,一位参赛者正为连续几道动态规划题卡壳发愁。他打开浏览器,准备手动搜索解法时,突然收到一条系统推送:“您关注的三道新题已生…

作者头像 李华
网站建设 2026/9/2 21:39:11

C++ STL 源码剖析与底层实现详解

一、引言标准模板库(STL, Standard Template Library)是 C 最强大的基础组件之一,包含了常用的数据结构(如 vector、map、set)与算法。STL 的使用门槛不高,但真正掌握其性能特点和底层实现逻辑,…

作者头像 李华
网站建设 2026/9/2 9:23:49

Docker容器自愈能力实战(健康检查成功配置全解析)

第一章:Docker容器自愈能力概述 Docker 容器的自愈能力是指在容器发生故障、崩溃或异常退出时,系统能够自动检测并采取恢复措施,从而保障服务的高可用性与稳定性。这一能力并非 Docker 原生默认开启的功能,而是通过组合使用容器编…

作者头像 李华
网站建设 2026/9/3 1:50:54

告别信息刷屏!RssHub+cpolar 让你的订阅源随时随地能看

RssHub 的核心功能是给各种网站生成 RSS 订阅源,不管是微博热搜、GitHub 仓库更新,还是豆瓣小组、慕课课程,它都能把内容整理成标准格式,方便用阅读器统一查看。适合需要实时追踪信息的自媒体人、关注代码动态的程序员&#xff0c…

作者头像 李华
网站建设 2026/9/3 3:13:38

认识定性数据和定量数据和描述性统计的常规分析

下面内容摘录自《用R探索医药数据科学》专栏文章的部分内容(原文5342字)。 2篇3章1节:定量数据的集中趋势描述,文末有众数的自定义函数-CSDN博客 在科研中,很多资料经过整理之后,常常需要进行一系列的统计…

作者头像 李华
网站建设 2026/9/2 22:21:54

【Docker安全监控终极指南】:揭秘Falco实时监控的5大核心应用场景

第一章:Docker安全监控的演进与Falco的崛起 随着容器化技术的广泛应用,Docker已成为现代应用部署的核心组件。然而,其轻量、动态和短暂的特性也带来了新的安全挑战。传统的主机级安全监控工具难以深入容器内部行为,无法有效检测异…

作者头像 李华