Link to this sectionUltralytics 解决方案:利用 YOLO26 解决现实世界的问题#
Ultralytics 解决方案提供了 YOLO 模型的尖端应用,提供如对象计数、模糊处理和安全系统等现实解决方案,从而提高各行各业的效率和 准确性。探索 YOLO26 在实际应用中的强大功能。
![]()
Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
Link to this section解决方案#
以下是我们精选的 Ultralytics 解决方案列表,可用于创建出色的 计算机视觉 项目。
- 分析:进行全面的数据分析以发现模式并做出明智决策,利用 YOLO26 进行描述性、预测性和规范性分析。
- 距离计算:使用 YOLO26 中 边界框 的中心点计算对象之间的距离,这对空间分析至关重要。
- 热力图:利用检测热力图可视化矩阵中的数据强度,为计算机视觉任务提供清晰的见解。
- 带对象跟踪的实例分割:结合 YOLO26 实现 实例分割 和对象跟踪,以获得精确的对象边界和持续监控。
- 通过 Streamlit 进行实时推理:利用 YOLO26 的强大功能,通过友好的 Streamlit 界面直接在你的网络浏览器中实现实时 对象检测。
- 对象模糊处理:在图像和视频处理中使用 YOLO26 应用对象模糊处理以保护隐私。
- 对象计数:学习如何使用 YOLO26 进行实时对象计数。获得在实时视频流中准确计数对象的专业知识。
- 区域内的对象计数:使用 YOLO26 计算特定区域内的对象,从而在不同区域实现精确检测。
- 对象裁剪:掌握使用 YOLO26 进行对象裁剪的技巧,从图像和视频中精确提取对象。
- 停车管理:使用 YOLO26 组织和引导停车区域的车辆流动,优化空间利用率并提升用户体验。
- 队列管理:使用 YOLO26 实施高效的队列管理系统,以最大限度地减少等待时间并提高生产力。
- 安全报警系统:使用 YOLO26 创建一个安全报警系统,在检测到新对象时触发警报。根据你的具体需求自定义系统。
- 相似度搜索:通过将 OpenAI CLIP 嵌入与 Meta FAISS 相结合,实现智能图像检索,支持如“拿着包的人”或“运动中的车辆”等自然语言查询。
- 速度估计:使用 YOLO26 和对象跟踪技术估计对象速度,这对自动驾驶和交通监控等应用至关重要。
- 区域内对象跟踪:学习如何使用 YOLO26 在视频帧的特定区域内跟踪对象,从而实现精确高效的监控。
- VisionEye 对象映射视图:开发模仿人眼聚焦于特定对象的系统,增强计算机识别和优先处理细节的能力。
- 健身监控:了解如何使用 YOLO26 监控健身锻炼。学习实时跟踪和分析各种健身例程。
Link to this section解决方案参数#
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
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_DEEPGREEN | 用于热力图的颜色映射。 |
json_file | str | None | 包含所有停车坐标数据的 JSON 文件路径。 |
up_angle | float | 145.0 | “向上”姿势的角度阈值。 |
kpts | list[int] | '[6, 8, 10]' | 用于监控健身锻炼的三个关键点索引列表。这些关键点对应于身体关节或部位,例如肩膀、肘部和手腕,适用于俯卧撑、引体向上、深蹲和腹部锻炼等练习。 |
down_angle | int | 90 | “向下”姿势的角度阈值。 |
blur_ratio | float | 0.5 | 调整模糊强度的百分比,数值范围在 0.1 - 1.0 之间。 |
crop_dir | str | 'cropped-detections' | 用于存储裁剪后的检测结果的目录名称。 |
records | int | 5 | 触发安全报警系统发送电子邮件所需的检测总数。 |
vision_point | tuple[int, int] | (20, 20) | 使用 VisionEye 解决方案跟踪对象并绘制路径的视点。 |
source | str | None | 输入源路径(视频、RTSP 等)。仅适用于解决方案命令行界面 (CLI)。 |
figsize | tuple[int, int] | (12.8, 7.2) | 用于热力图或图表等分析图表的图片尺寸。 |
fps | float | 30.0 | 用于速度计算的每秒帧数。 |
max_hist | int | 5 | 用于速度/方向计算时,每个对象可跟踪的最大历史点数。 |
meter_per_pixel | float | 0.05 | 用于将像素距离转换为现实世界单位的比例因子。 |
max_speed | int | 120 | 视觉叠加中的最高限速(用于警报)。 |
data | str | 'images' | 用于相似度搜索的图像目录路径。 |
imgsz | int | 640 | 用于模型推理的输入图像尺寸。 |
解决方案还支持 track 中的部分参数,包括 conf、line_width、tracker、model、show、verbose 和 classes 等参数。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 指定要使用的追踪算法。内置选项包括:botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yaml。 |
conf | float | 0.1 | 设置检测的置信度阈值;较低的值允许跟踪更多的对象,但也可能包含误报。 |
iou | float | 0.7 | 设置用于过滤重叠检测的 交并比 (IoU) 阈值。 |
classes | list | None | 按类别索引过滤结果。例如,classes=[0, 2, 3] 仅跟踪指定的类别。 |
verbose | bool | True | 控制跟踪结果的显示,提供被跟踪对象的视觉输出。 |
device | str | None | 指定推理设备(例如 cpu、cuda:0 或 0)。允许用户在 CPU、特定的 GPU 或其他计算设备之间进行选择以执行模型。 |
你可以使用 show_conf、show_labels 以及提到的其他参数来自定义可视化效果。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
show | bool | False | 如果为 True,则在窗口中显示标注后的图像或视频。这对于开发或测试过程中的即时视觉反馈非常有用。 |
line_width | int or None | None | 指定边界框的线条宽度。如果为 None,则线条宽度会根据图像尺寸自动调整。提供用于清晰度的视觉自定义功能。 |
show_conf | bool | True | 在标签旁显示每次检测的置信度得分。让你深入了解模型对每次检测的确定性。 |
show_labels | bool | True | 在视觉输出中显示每次检测的标签。提供对检测到对象的即时理解。 |
Link to this sectionSolutionAnnotator 的使用#
所有 Ultralytics Solutions 都使用独立的 SolutionAnnotator 类,它扩展了主要的 Annotator 类,并具有以下方法:
| 方法 | 返回类型 | 描述 |
|---|---|---|
draw_region() | None | 使用指定的点、颜色和粗细绘制区域。 |
queue_counts_display() | None | 在指定区域显示排队计数。 |
display_analytics() | None | 显示停车场管理的总体统计数据。 |
estimate_pose_angle() | float | 计算对象姿态中三个点之间的角度。 |
draw_specific_kpts() | np.ndarray | 在图像上绘制特定的关键点。 |
plot_workout_information() | int | 在图像上绘制带标签的文本框。 |
plot_angle_and_count_and_stage() | None | 可视化健身监控的角度、步骤计数和阶段。 |
plot_distance_and_line() | None | 显示质心之间的距离并用线条连接它们。 |
display_objects_labels() | None | 用对象类别标签注释边界框。 |
sweep_annotator() | None | 可视化一条垂直扫描线和可选的标签。 |
visioneye() | None | 将对象质心映射并连接到一个视觉“眼”点。 |
adaptive_label() | None | 在边界框中心绘制一个圆形或矩形背景标签。 |
Link to this section使用 SolutionResults#
除了 Similarity Search 之外,每个 Solution 调用都会返回一个 SolutionResults 对象列表。
- 对于对象计数,结果包括
in_count、out_count和classwise_count。
import cv2
from ultralytics import solutions
im0 = cv2.imread("path/to/img")
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(
show=True, # display the output
region=region_points, # pass region points
model="yolo26n.pt", # model="yolo26n-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(im0)
print(results.in_count) # display in_counts
print(results.out_count) # display out_counts
print(results.classwise_count) # display classwise_countSolutionResults 对象具有以下属性:
| 属性 | 类型 | 描述 |
|---|---|---|
plot_im | np.ndarray | 带有视觉叠加层(如计数、模糊效果或特定于解决方案的增强功能)的图像。 |
in_count | int | 视频流中检测到进入定义区域的对象总数。 |
out_count | int | 视频流中检测到离开定义区域的对象总数。 |
classwise_count | Dict[str, int] | 记录用于高级分析的各类别进入/离开对象计数的字典。 |
queue_count | int | 当前位于预定义队列或等待区域内的对象数量(适用于队列管理)。 |
workout_count | int | 健身追踪期间完成的锻炼总次数。 |
workout_angle | float | 健身期间计算出的关节或姿态角度,用于动作评估。 |
workout_stage | str | 当前锻炼阶段或动作相位(例如,'up'、'down')。 |
pixels_distance | float | 两个对象或点(例如边界框)之间基于像素的距离。(适用于距离计算)。 |
available_slots | int | 监控区域内未占用的空位数量(适用于停车场管理)。 |
filled_slots | int | 监控区域内已占用的车位数量。(适用于停车场管理) |
email_sent | bool | 指示是否已成功发送通知或警报电子邮件(适用于安全警报)。 |
total_tracks | int | 视频分析期间观察到的唯一对象轨迹总数。 |
region_counts | Dict[str, int] | 用户定义区域或范围内的对象计数。 |
speed_dict | Dict[str, float] | 按轨迹计算出的对象速度字典,对速度分析很有用。 |
total_crop_objects | int | 由 ObjectCropper 解决方案生成的裁剪对象图像总数。 |
speed | Dict[str, float] | 包含跟踪和解决方案处理性能指标的字典。 |
更多详细信息,请参阅 SolutionResults 类文档。
Link to this section通过 CLI 使用 Solutions#
大多数 Solutions 可以直接通过命令行界面使用,包括:
Count、Crop、Blur、Workout、Heatmap、Isegment、Visioneye、Speed、Queue、Analytics、Inference、Trackzone
语法
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS 是必需的关键字。
- SOLUTION_NAME 是以下之一:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']。 - ARGS(可选)是自定义的
arg=value对,例如show_in=True,用于覆盖默认设置。
yolo solutions count show=True # for object counting
yolo solutions count source="path/to/video.mp4" # specify video file pathLink to this section为我们的 Solutions 做出贡献#
我们欢迎社区做出贡献!如果你已经掌握了 Ultralytics YOLO 的某个特定方面,而我们的解决方案中尚未涵盖,我们鼓励你分享你的专业知识。撰写指南是回馈社区并帮助我们使文档更全面、更用户友好的一种好方法。
要开始,请阅读我们的 贡献指南,了解如何提交拉取请求 (PR) 🛠️ 的准则。我们期待你的贡献!
让我们携手合作,让 Ultralytics YOLO 生态系统更强大、更多元化 🙏!
Link to this section常见问题解答#
Link to this section我如何使用 Ultralytics YOLO 进行实时对象计数?#
Ultralytics YOLO26 可以通过利用其先进的对象检测功能用于实时对象计数。你可以按照我们关于 对象计数 的详细指南来设置 YOLO26 进行实时视频流分析。只需安装 YOLO26,加载你的模型,并处理视频帧即可动态计数对象。
Link to this section使用 Ultralytics YOLO 进行安全系统有什么好处?#
Ultralytics YOLO26 通过提供实时对象检测和警报机制增强了安全系统。通过使用 YOLO26,你可以创建一个安全警报系统,在监控区域内检测到新对象时触发警报。了解如何使用 YOLO26 设置 安全警报系统 以实现稳健的安全监控。
Link to this sectionUltralytics YOLO 如何改善队列管理系统?#
Ultralytics YOLO26 可以通过准确计数和跟踪队列中的人员来显着改善队列管理系统,从而帮助减少等待时间并优化服务效率。请遵循我们关于 队列管理 的详细指南,了解如何实现 YOLO26 以进行有效的队列监控和分析。
Link to this sectionUltralytics YOLO 可以用于健身监控吗?#
是的,Ultralytics YOLO26 可以通过实时跟踪和分析健身动作有效地用于监控锻炼。这允许精确评估运动姿态和表现。探索我们关于 健身监控 的指南,了解如何使用 YOLO26 设置基于 AI 的健身监控系统。
Link to this sectionUltralytics YOLO 如何帮助创建 数据可视化 的热力图?#
Ultralytics YOLO26 可以生成热力图,以可视化给定区域的数据强度,突出显示高活动或高关注的区域。此功能在理解各种计算机视觉任务的模式和趋势时特别有用。详细了解如何使用 YOLO26 创建和使用 热力图 以进行全面的数据分析和可视化。