Ultralytics 解决方案:利用YOLO11 解决现实世界的问题
Ultralytics 解决方案提供了YOLO 模型的前沿应用,提供了物体计数、模糊和安全系统等实际解决方案,提高了各行各业的效率和准确性。了解YOLO11 在实际应用中的强大功能。
观看: 如何从命令行运行Ultralytics 解决方案 (CLI) |Ultralytics YOLO11 🚀
解决方案
以下是我们精心挑选的Ultralytics 解决方案列表,可用于创建超棒的计算机视觉项目。
- 物体计数:学习使用YOLO11 进行实时物体计数。获得在实时视频流中准确计数物体的专业知识。
- 对象裁剪:使用YOLO11 掌握对象裁剪,从图像和视频中精确提取对象。
- 对象模糊:使用YOLO11 对物体进行模糊处理,在图像和视频处理中保护隐私。
- 锻炼监控:了解如何使用YOLO11 监控锻炼。学习实时跟踪和分析各种健身程序。
- 区域物体计数:使用YOLO11 对特定区域的物体进行计数,以便在不同区域进行精确检测。
- 安全警报系统:使用YOLO11 创建一个安全警报系统,在检测到新物体时触发警报。自定义系统以满足您的特定需求。
- 热图利用检测热图可视化矩阵中的数据强度,为计算机视觉任务提供清晰的洞察力。
- 实例分割与对象跟踪:利用YOLO11 实施实例分割和对象跟踪,实现精确的对象边界和持续监控。
- VisionEye 视图对象映射:开发可模仿人眼对特定物体聚焦的系统,提高计算机辨别和优先处理细节的能力。
- 速度估算:利用YOLO11 和物体跟踪技术估算物体速度,这对自动驾驶汽车和交通监控等应用至关重要。
- 距离计算:使用YOLO11 中的边界框中心点计算对象之间的距离,这对空间分析至关重要。
- 队列管理:使用YOLO11 实施高效的队列管理系统,最大限度地减少等待时间,提高生产率。
- 停车场管理:利用YOLO11 组织和引导停车区域的车流,优化空间利用率和用户体验。
- 分析:利用YOLO11 进行描述性、预测性和规范性分析,进行全面的数据分析,以发现模式并做出明智的决策。
- 使用 Streamlit 进行实时推理:利用YOLO11 的强大功能,通过用户友好的 Streamlit 界面,直接通过网络浏览器进行实时对象检测。
- 跟踪区域内的对象🚀 新功能:了解如何使用YOLO11 跟踪视频帧特定区域内的对象,以实现精确高效的监控。
解决方案论据
论据 | 类型 | 默认值 | 说明 |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO 模型文件的路径。 |
region |
list |
[(20, 400), (1260, 400)] |
定义计数区域的点列表。 |
show_in |
bool |
True |
用于控制是否在视频流中显示输入计数的标志。 |
show_out |
bool |
True |
用于控制是否在视频流中显示输出计数的标志。 |
analytics_type |
str |
line |
图形类型,即 line , bar , area 或 pie . |
colormap |
int |
cv2.COLORMAP_JET |
热图使用的颜色图。 |
json_file |
str |
None |
包含所有停车坐标数据的 JSON 文件的路径。 |
up_angle |
float |
145.0 |
向上 "姿势的角度阈值。 |
kpts |
list[int, int, int] |
[6, 8, 10] |
用于监控锻炼的关键点列表。这些关键点与肩部、肘部和腕部等身体关节或部位相对应,用于俯卧撑、引体向上、深蹲、腹肌锻炼等运动。 |
down_angle |
float |
90.0 |
俯卧 "姿势的角度阈值。 |
blur_ratio |
float |
0.5 |
调整模糊强度的百分比,取值范围为 0.1 - 1.0 . |
crop_dir |
str |
"cropped-detections" |
用于存储裁剪检测数据的目录名称。 |
records |
int |
5 |
通过安全警报系统触发电子邮件的总探测次数。 |
vision_point |
tuple[int, int] |
(50, 50) |
视觉将使用 VisionEye 解决方案跟踪物体并绘制路径的点。 |
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 根据图像大小自动调整线宽。提供可视化定制,使图像更加清晰。 |
轨道参数
解决方案还支持以下论点 track
包括以下参数 conf
, line_width
, tracker
, model
, show
, verbose
和 classes
.
论据 | 类型 | 默认值 | 说明 |
---|---|---|---|
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 或其他计算设备执行模型。 |
解决方案注释器的使用
所有Ultralytics 解决方案都使用单独的类 SolutionAnnotator
,扩展了主 Annotator
类,并具有以下方法:
方法 | 返回类型 | 说明 |
---|---|---|
draw_region() |
None |
使用指定的点、颜色和厚度绘制区域。 |
queue_counts_display() |
None |
显示指定区域的队列计数。 |
display_analytics() |
None |
显示停车场管理的总体统计数据。 |
estimate_pose_angle() |
float |
计算物体姿态中三个点之间的角度。 |
draw_specific_points() |
None |
在图像上绘制特定的关键点。 |
plot_workout_information() |
None |
在图像上绘制带标签的文本框。 |
plot_angle_and_count_and_stage() |
None |
可视化角度、步数和阶段,以监测锻炼情况。 |
plot_distance_and_line() |
None |
显示中心点之间的距离,并用直线将它们连接起来。 |
display_objects_labels() |
None |
用对象类别标签注释包围盒。 |
seg_bbox() |
None |
为分割后的对象绘制轮廓线,并选择性地对其进行标注。 |
sweep_annotator() |
None |
显示垂直扫掠线和可选标签。 |
visioneye() |
None |
将物体中心点映射并连接到视觉 "眼睛 "点。 |
circle_label() |
None |
用圆形标签代替边界框。 |
text_label() |
None |
用矩形标签代替边界框。 |
使用解决方案结果
所有解决方案调用都会返回一个 SolutionResults
对象,其中包含有关解决方案的全面信息。
- 在物体计数方面,结果包括
incounts
,outcounts
和classwise_counts
.
解决方案结果
counter = solutions.ObjectCounter(
show=True, # display the output
region=region_points, # pass region points
model="yolo11n.pt", # model="yolo11n-obb.pt" for object counting with OBB model.
# classes=[0, 2], # count specific classes i.e. person and car with COCO pretrained model.
# tracker="botsort.yaml" # Choose trackers i.e "bytetrack.yaml"
)
results = counter.count(im0)
print(results.in_counts) # display in_counts
print(results.out_counts) # display out_counts
有关详细信息,请参阅 SolutionResults
类文档.
通过CLI使用解决方案
命令信息
大多数解决方案都可以通过命令行界面直接使用,包括
Count
, Crop
, Blur
, Workout
, Heatmap
, Isegment
, Visioneye
, Speed
, Queue
, Analytics
, Inference
语法
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS是必填关键字。
- 解决方案名称 是其中之一:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye']
. - ARGS (可选)是自定义的
arg=value
对,如show_in=True
,以覆盖默认设置。
yolo solutions count show=True # for object counting
yolo solutions source="path/to/video.mp4" # specify video file path
为我们的解决方案做贡献
我们欢迎来自社区的贡献!如果您已经掌握了Ultralytics YOLO 的某一方面,而我们的解决方案尚未涵盖,我们鼓励您分享您的专业知识。撰写指南是回馈社区的好方法,可以帮助我们使文档更全面、更方便用户使用。
要开始使用,请阅读我们的贡献指南,了解如何打开拉取请求 (PR) 🛠️。我们期待您的贡献!
让我们共同努力,使Ultralytics YOLO 生态系统更加强大和灵活🙏!
常见问题
如何使用Ultralytics YOLO 进行实时物体计数?
Ultralytics YOLO11 可利用其先进的物体检测功能进行实时物体计数。您可以按照我们的 "物体计数"详细指南设置YOLO11 以进行实时视频流分析。只需安装YOLO11 ,加载您的模型,然后处理视频帧,即可动态计数物体。
在安全系统中使用Ultralytics YOLO 有什么好处?
Ultralytics YOLO11 通过提供实时物体检测和警报机制,增强了安防系统的功能。通过使用YOLO11 ,您可以创建一个安防报警系统,在监控区域检测到新物体时触发警报。了解如何利用YOLO11 设置安防报警系统,实现强大的安防监控。
Ultralytics YOLO 如何改进排队管理系统?
Ultralytics YOLO11 通过准确计算和跟踪排队人数,可以大大改善排队管理系统,从而帮助减少等待时间,优化服务效率。请跟随我们的队列管理详细指南,了解如何实施YOLO11 以进行有效的队列监控和分析。
Ultralytics YOLO 可用于锻炼监测吗?
是的,Ultralytics YOLO11 通过实时跟踪和分析健身程序,可有效用于监控锻炼情况。这样就可以对锻炼形式和效果进行精确评估。请浏览我们的锻炼监控指南,了解如何使用YOLO11 建立人工智能驱动的锻炼监控系统。
Ultralytics YOLO 如何帮助创建数据可视化热图?
Ultralytics YOLO11 可以生成热图,直观显示给定区域内的数据强度,突出显示活跃度高或感兴趣的区域。这一功能对于了解各种计算机视觉任务中的模式和趋势尤为有用。了解有关利用YOLO11 创建和使用热图进行综合数据分析和可视化的更多信息。