Skip to content
Tutorials1 min read

多目标跟踪标注

多目标跟踪标注概念概述,以及 Potato 的视频标注功能如何支持基本的跟踪工作流。

Potato Team·

多目标跟踪标注

多目标跟踪(MOT)标注为监控、自动驾驶和体育分析创建训练数据。本教程讨论 MOT 标注概念以及 Potato 当前的视频标注功能如何支持基本的跟踪工作流。

MOT 标注挑战

  • 在帧之间保持一致的目标 ID
  • 处理遮挡和重新出现
  • 在拥挤场景中进行跟踪
  • 管理 ID 切换和合并

当前视频标注支持

Potato 目前通过 video_annotation 类型支持基本的视频标注。虽然完整的 MOT 专用功能(如自动 ID 管理、插值和遮挡处理)尚未实现,但您可以设置基本的视频标注工作流。

基本视频标注设置

yaml
annotation_task_name: "Video Object Labeling"
 
data_files:
  - data/videos.json
 
annotation_schemes:
  - annotation_type: video_annotation
    name: objects
    description: "Label objects in video frames"
    video_path: video
    labels:
      - name: person
      - name: vehicle
      - name: cyclist

示例数据格式

您的 data/videos.json 文件应包含带有视频路径的条目:

json
[
  {
    "id": "video_001",
    "video": "/path/to/video.mp4"
  },
  {
    "id": "video_002",
    "video": "/path/to/another_video.mp4"
  }
]

手动跟踪工作流

在没有专用 MOT 功能的情况下,您仍然可以手动执行跟踪标注:

手动创建轨迹

  1. 导航到目标首次出现的帧
  2. 使用视频标注界面标记目标
  3. 在标注中包含一致的标识符(例如 "person_1")
  4. 移动到后续帧并继续使用相同的标识符进行标注

处理遮挡

当目标被遮挡时:

  1. 记录目标最后可见的帧
  2. 当目标重新出现时,使用相同的标识符以保持轨迹连续性
  3. 在标注备注中记录遮挡时段

计划中的 MOT 功能

以下功能将增强 Potato 的 MOT 标注能力,目前正在考虑纳入未来的开发计划:

  • 自动 ID 分配:为新目标自动递增 ID
  • 轨迹插值:关键帧之间的线性或三次插值
  • 遮挡处理:可见性级别(可见、部分遮挡、严重遮挡、不可见)
  • 轨迹可视化:显示目标在帧之间的路径
  • 轨迹管理面板:合并、分割和管理轨迹 ID
  • 逐帧属性:逐帧变化的属性

如果您对这些功能感兴趣,请联系 Potato 开发团队或为项目做出贡献。

手动 MOT 标注技巧

  1. 分段工作:每次处理 100-200 帧
  2. 一致的命名:使用清晰的 ID 方案(例如 "person_001"、"vehicle_023")
  3. 记录过程:保留关于遮挡和轨迹决策的笔记
  4. 复查:先正向播放再反向播放以发现错误
  5. 使用外部工具:考虑使用检测模型进行预处理

替代方案

对于需要完整 MOT 标注功能的项目:

  1. 混合工作流:使用 Potato 进行初始标注,使用专用 MOT 工具进行轨迹管理
  2. 预标注:运行目标检测器生成初始边界框,然后在 Potato 中优化
  3. 后处理:导出 Potato 标注并在外部应用跟踪算法

下一步


有关当前视频标注文档,请参阅 /docs/features/image-annotation