Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics 解决方案:利用 YOLO26 解决现实世界的问题#

Ultralytics 解决方案提供了 YOLO 模型的尖端应用,提供如对象计数、模糊处理和安全系统等现实解决方案,从而提高各行各业的效率和 准确性。探索 YOLO26 在实际应用中的强大功能。

Ultralytics 解决方案缩略图



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解决方案参数#

参数类型默认值描述
modelstrNoneUltralytics YOLO 模型文件的路径。
regionlist'[(20, 400), (1260, 400)]'定义计数区域的点列表。
show_inboolTrue控制是否在视频流上显示进入计数的标志。
show_outboolTrue控制是否在视频流上显示离开计数的标志。
analytics_typestr'line'图表类型,例如 line(折线图)、bar(柱状图)、area(面积图)或 pie(饼图)。
colormapintcv2.COLORMAP_DEEPGREEN用于热力图的颜色映射。
json_filestrNone包含所有停车坐标数据的 JSON 文件路径。
up_anglefloat145.0“向上”姿势的角度阈值。
kptslist[int]'[6, 8, 10]'用于监控健身锻炼的三个关键点索引列表。这些关键点对应于身体关节或部位,例如肩膀、肘部和手腕,适用于俯卧撑、引体向上、深蹲和腹部锻炼等练习。
down_angleint90“向下”姿势的角度阈值。
blur_ratiofloat0.5调整模糊强度的百分比,数值范围在 0.1 - 1.0 之间。
crop_dirstr'cropped-detections'用于存储裁剪后的检测结果的目录名称。
recordsint5触发安全报警系统发送电子邮件所需的检测总数。
vision_pointtuple[int, int](20, 20)使用 VisionEye 解决方案跟踪对象并绘制路径的视点。
sourcestrNone输入源路径(视频、RTSP 等)。仅适用于解决方案命令行界面 (CLI)。
figsizetuple[int, int](12.8, 7.2)用于热力图或图表等分析图表的图片尺寸。
fpsfloat30.0用于速度计算的每秒帧数。
max_histint5用于速度/方向计算时,每个对象可跟踪的最大历史点数。
meter_per_pixelfloat0.05用于将像素距离转换为现实世界单位的比例因子。
max_speedint120视觉叠加中的最高限速(用于警报)。
datastr'images'用于相似度搜索的图像目录路径。
imgszint640用于模型推理的输入图像尺寸。
跟踪参数

解决方案还支持 track 中的部分参数,包括 confline_widthtrackermodelshowverboseclasses 等参数。

参数类型默认值描述
trackerstr'botsort.yaml'指定要使用的追踪算法。内置选项包括:botsort.yamlbytetrack.yamlocsort.yamldeepocsort.yamlfasttrack.yamltracktrack.yaml
conffloat0.1设置检测的置信度阈值;较低的值允许跟踪更多的对象,但也可能包含误报。
ioufloat0.7设置用于过滤重叠检测的 交并比 (IoU) 阈值。
classeslistNone按类别索引过滤结果。例如,classes=[0, 2, 3] 仅跟踪指定的类别。
verboseboolTrue控制跟踪结果的显示,提供被跟踪对象的视觉输出。
devicestrNone指定推理设备(例如 cpucuda:00)。允许用户在 CPU、特定的 GPU 或其他计算设备之间进行选择以执行模型。
可视化参数

你可以使用 show_confshow_labels 以及提到的其他参数来自定义可视化效果。

参数类型默认值描述
showboolFalse如果为 True,则在窗口中显示标注后的图像或视频。这对于开发或测试过程中的即时视觉反馈非常有用。
line_widthint or NoneNone指定边界框的线条宽度。如果为 None,则线条宽度会根据图像尺寸自动调整。提供用于清晰度的视觉自定义功能。
show_confboolTrue在标签旁显示每次检测的置信度得分。让你深入了解模型对每次检测的确定性。
show_labelsboolTrue在视觉输出中显示每次检测的标签。提供对检测到对象的即时理解。

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_countout_countclasswise_count
SolutionResults
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_count

SolutionResults 对象具有以下属性:

属性类型描述
plot_imnp.ndarray带有视觉叠加层(如计数、模糊效果或特定于解决方案的增强功能)的图像。
in_countint视频流中检测到进入定义区域的对象总数。
out_countint视频流中检测到离开定义区域的对象总数。
classwise_countDict[str, int]记录用于高级分析的各类别进入/离开对象计数的字典。
queue_countint当前位于预定义队列或等待区域内的对象数量(适用于队列管理)。
workout_countint健身追踪期间完成的锻炼总次数。
workout_anglefloat健身期间计算出的关节或姿态角度,用于动作评估。
workout_stagestr当前锻炼阶段或动作相位(例如,'up'、'down')。
pixels_distancefloat两个对象或点(例如边界框)之间基于像素的距离。(适用于距离计算)。
available_slotsint监控区域内未占用的空位数量(适用于停车场管理)。
filled_slotsint监控区域内已占用的车位数量。(适用于停车场管理)
email_sentbool指示是否已成功发送通知或警报电子邮件(适用于安全警报)。
total_tracksint视频分析期间观察到的唯一对象轨迹总数。
region_countsDict[str, int]用户定义区域或范围内的对象计数。
speed_dictDict[str, float]按轨迹计算出的对象速度字典,对速度分析很有用。
total_crop_objectsint由 ObjectCropper 解决方案生成的裁剪对象图像总数。
speedDict[str, float]包含跟踪和解决方案处理性能指标的字典。

更多详细信息,请参阅 SolutionResults 类文档

Link to this section通过 CLI 使用 Solutions#

命令信息

大多数 Solutions 可以直接通过命令行界面使用,包括:

CountCropBlurWorkoutHeatmapIsegmentVisioneyeSpeedQueueAnalyticsInferenceTrackzone

语法

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 path

Link 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 创建和使用 热力图 以进行全面的数据分析和可视化。

评论