Meet YOLO26: next-gen vision AI.

Link to this section使用 Ultralytics YOLO26 进行 VisionEye 视图对象映射 🚀#

Link to this section什么是 VisionEye 对象映射?#

Ultralytics YOLO26 VisionEye 为计算机提供了识别和定位对象的能力,模拟了人眼的观察精度。此功能使计算机能够像人眼从特定视点观察细节一样,识别并聚焦于特定对象。

VisionEye object mapping with YOLO tracking

Link to this section使用 YOLO26 进行物体映射#

VisionEye 会在画面中固定一个观察点,并从该点向每个被跟踪的物体绘制射线,这样你就能直观地看到从单一视角观察场景的效果。将 vision_point 设置为观察者的像素坐标,然后通过 Python API 或 CLI 在你的视频上运行该解决方案。

使用 Ultralytics YOLO 进行 VisionEye 映射
# Monitor objects position with visioneye
yolo solutions visioneye show=True

# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"

# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"

Link to this sectionVisionEye 参数#

下表列出了 VisionEye 的参数:

参数类型默认值描述
modelstrNoneUltralytics YOLO 模型文件的路径。
vision_pointtuple[int, int](20, 20)使用 VisionEye 解决方案跟踪对象并绘制路径的视点。

You can also utilize various track arguments within the VisionEye solution:

参数类型默认值描述
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 或其他计算设备之间进行选择以执行模型。

此外,还支持一些可视化参数,如下所示:

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

Link to this sectionVisionEye 的工作原理#

VisionEye 通过在画面中建立一个固定的视觉点,并从该点向检测到的物体绘制线条来工作。这模拟了人类视觉如何从单一视点聚焦多个物体。该解决方案使用 object tracking 来保持物体在帧间的一致性识别,从而创建观察者(视觉点)与场景中物体之间空间关系的视觉呈现。

VisionEye 类中的 process 方法执行几个关键操作:

  1. 从输入图像中提取追踪信息(边界框、类别和掩码)
  2. 创建一个标注器以绘制边界框和标签
  3. 对于每个检测到的对象,绘制一个框标签并从视点创建一个视觉线
  4. 返回带有追踪统计信息的标注图像

这种方法特别适用于需要空间感知和对象关系可视化的应用,例如监控系统、自动驾驶导航和交互式装置。

Link to this sectionVisionEye 的应用#

VisionEye 对象映射在各个行业中有着广泛的实际应用:

  • 安防与监控:从固定摄像机位置监控多个感兴趣的对象
  • 零售分析:追踪顾客移动模式与商店陈列的关系
  • 体育分析:从教练的视角分析运动员的定位和移动
  • 自动驾驶汽车:可视化汽车如何“观察”并优先处理环境中的对象
  • 人机交互:创建能响应空间关系的更直观的界面

通过将 VisionEye 与其他 Ultralytics 解决方案(如 distance calculationspeed estimation)相结合,你可以构建出不仅能跟踪物体,还能理解其空间关系和行为的综合系统。

Link to this section常见问题解答#

Link to this section如何开始使用 Ultralytics YOLO26 进行 VisionEye 对象映射?#

要开始使用 Ultralytics YOLO26 进行 VisionEye 对象映射,首先需要通过 pip 安装 Ultralytics YOLO 包。然后,你可以使用文档中提供的示例代码来设置 VisionEye 对象检测。这是一个帮助你入门的简单示例:

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("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init vision eye object
visioneye = solutions.VisionEye(
    show=True,  # display the output
    model="yolo26n.pt",  # use any model that Ultralytics supports, e.g., YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
)

# 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 = visioneye(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

Link to this section为什么要使用 Ultralytics YOLO26 进行对象映射和追踪?#

Ultralytics YOLO26 以其速度、准确性 和易于集成而闻名,使其成为对象映射和追踪的首选。主要优势包括:

  1. 最先进的性能:在实时对象检测中提供高准确度。
  2. 灵活性:支持检测、追踪和距离计算等多种任务。
  3. 社区与支持:拥有广泛的文档和活跃的 GitHub 社区,用于故障排除和功能增强。
  4. 易用性:直观的 API 简化了复杂任务,从而实现快速部署和迭代。

有关应用和优势的更多信息,请查阅 Ultralytics YOLO26 documentation

Link to this section如何将 VisionEye 与其他 机器学习 工具(如 Comet 或 ClearML)集成?#

Ultralytics YOLO26 可以与 Comet 和 ClearML 等多种机器学习工具无缝集成,从而增强实验跟踪、协作和可重复性。请参考 how to use YOLOv5 with Comet 以及 integrate YOLO26 with ClearML 的详细指南来开始使用。

如需进一步探索和查看集成示例,请查阅我们的 Ultralytics Integrations Guide

评论