Annotate 用户指南

介绍项目创建、片段采集、标注、跟踪、帧标记、演示文稿、导出和项目存储。

完整工作流程

一段约 13 分钟的无声带字幕演示,涵盖全部功能,从新建项目到完成演示文稿。点击章节即可跳转。

概览

Annotate 是一款用于足球视频分析的本地应用。一个项目包含导入的视频、采集的片段、帧标记、标注数据、演示文稿、导出文件、缓存,以及可恢复的废纸篓。

片段标注是绘制在视频上的关键帧对象。帧标记标注是附在原视频某一精确帧上的文档,可以包含入场动画。跟踪会生成高亮的关键帧,单应性则为矩形和圆形提供球场坐标。

项目数据保存在所选的项目文件夹中。应用通过同一台电脑上的 Python 服务完成视频导入、跟踪、单应性计算和导出。桌面版自带并管理这项服务;浏览器开发环境中需单独运行。

片段

某个导入视频中的一段半开帧区间。

帧标记

片段中的某一精确帧,可包含零个或多个标注集。

演示文稿

由片段、帧标记和标题卡组成的有序序列。

视频教程

下面每个操作章节都附有一段真实应用的简短录像。录像无声,带字幕。点击教程即可跳转。

  1. 01第一个项目新建项目、导入比赛视频、采集一段带修饰项的控球、打开片段编辑器并添加帧标记。
  2. 02采集并标记一段比赛边播放边打标签,包括相互重叠的片段和修饰项,然后重新标记片段并缩放时间轴。
  3. 03绘制并制作动画图形绘制矩形、移动它以创建关键帧、调整大小并旋转、添加圆形,并同时修改两者的样式。
  4. 04裁剪片段向内拖动两个裁剪控制点,查看摘要,应用裁剪后立即撤销。
  5. 05跟踪球员从临时高亮中选择一名球员,开始跟踪、停止,并以正常速度检查结果。
  6. 06修正跟踪跟踪跳到了错误的球员身上。退回到最后一帧正确的画面,重新跟踪;跟丢球员时前进一帧,然后继续。
  7. 07为球员命名并连接箭头为两个跟踪高亮命名,在视频上显示名字,并把箭头连接到两人身上,让它跟随移动。
  8. 08标注帧标记添加帧标记,高亮两名球员,用连接的箭头把他们连起来,修改样式,保存并关闭帧标记。
  9. 09为帧标记添加动画让帧标记的标注逐步出现,预览动画顺序,再从片段播放到帧标记。
  10. 10在球场上绘制计算单应性,检查球场网格,在球场上绘制矩形,并播放一段镜头移动。
  11. 11制作并演示演示文稿新建演示文稿,加入片段、帧标记和标题,选择片段的暂停位置,然后演示。
  12. 12导出与恢复导出报告,找到导出的文件,删除片段后撤销删除,并备份项目文件夹。

第一个项目

以下步骤会新建项目、导入比赛视频、采集一个片段并为它添加帧标记。绘制、跟踪、演示文稿和导出在后面的章节中介绍。

  1. 01

    新建项目

    启动页

    选择新建项目,填写已知的比赛信息,并选择上级文件夹。

    结果: Annotate 会创建一个普通的项目文件夹,并打开项目页面。

  2. 02

    导入视频

    项目页面 · 视频

    选择导入视频…并选中比赛文件。媒体准备期间请保持 Annotate 打开。

    结果: 视频出现在项目中,保留原有的帧率和分辨率。

  3. 03

    采集片段

    采集播放器

    打开采集播放器并播放视频,在这段比赛的第一帧点击标签面板中的标签块,按需添加修饰项,然后在最后一帧再次点击同一个标签块。

    结果: 时间轴和片段列表中会出现一个已打标签的片段。

  4. 04

    打开片段并添加帧标记

    片段编辑器

    选中片段并选择打开编辑器。跳到要讲解的那一帧,选择添加帧标记。

    结果: 帧标记会在单独的窗口中、恰好在这一帧打开,可以开始标注。

  5. 05

    标注、演示和导出

    后续章节

    在片段或帧标记上绘制、跟踪球员、制作演示文稿;需要静态图片或片段数据时导出报告。

    结果: 以上每项都在下文有单独的章节和视频。

第一个项目视频 01

新建项目、导入比赛视频、采集一段带修饰项的控球、打开片段编辑器并添加帧标记。

安装与运行

从 GitHub Releases 下载 Mac 版 DMG 或 Windows 安装程序。在 macOS 上,打开 DMG 并把 Annotate 拖到“应用程序”中。在 Windows 上,运行安装程序,然后通过桌面快捷方式打开 Annotate。安装包适用于 macOS 14 或更高版本的 Apple Silicon Mac,以及 Windows 10/11 x64。

这些都是未签名的评估版本,即使 GitHub 将其标为 Latest。系统可能会要求你批准运行;请不要关闭系统的安全保护。Python、视频工具和模型均已内置,无需终端或单独的浏览器。服务随应用启动和退出;首次启动加载库时可能较慢。

桌面版服务日志位于 macOS 的 ~/Library/Application Support/Annotate/logs/services.log 和 Windows 的 %APPDATA%\Annotate\logs\services.log。片段编辑器和帧标记编辑器会在单独的窗口中打开。

浏览器开发环境仍支持 Chrome、Edge、Brave、Arc 或 Chromium;Safari 和 Firefox 无法授予所需的项目文件夹访问权限。旧版浏览器安装程序及其说明位于仓库的 legacy/browser-install 文件夹。

采集片段并打标签

标签面板是固定的工作区,而不是菜单。点击一次标签块开始一个片段,再次点击同一个标签块结束它。正在记录的标签块会显示红点和起始帧,进行中的片段在结束前就会出现在时间轴上。不同类型的片段可以相互重叠。

修饰项会为最近开始的那个采集添加结构化信息,因此请在该采集进行时选择。可用的修饰项随标签块而变化,但面板本身位置不变。没有自动的前置或后置余量:你点击的帧就是片段的边界。

在时间轴或列表中点击片段即可选中它并跳到其开头。暂停时选择重新标记所选片段,再选择修饰项和新的标签块;片段保留原有帧范围,并移到列表中的新分组。也可以把片段拖到另一个分组上。打开编辑器会在单独的窗口中打开该片段,若已打开则切换到该窗口。

采集时间轴按分组分为多条轨道,重叠的片段放入子轨道。点击或拖动可以定位,横向滚动可以前后移动,缩放滑块可在逐帧查看和整场比赛之间切换。手动滚动后,播放头自动跟随会暂停五秒。

内置标签面板跟随页眉中选择的语言。自定义面板保留各自的标签。切换语言不会重命名已保存的片段,也不会取消进行中的采集。

采集并标记一段比赛视频 02

边播放边打标签,包括相互重叠的片段和修饰项,然后重新标记片段并缩放时间轴。

编辑片段

片段编辑器包含原始视频、动画战术对象、属性检查器和逐帧关键帧时间轴。播放始终不会超出片段当前的起止范围。

绘制对象会在当前帧创建它的第一个位置关键帧。用逐帧按钮前进或点击时间轴跳到另一帧,然后在那一帧移动、缩放或旋转对象:Annotate 会添加一个关键帧,并在关键帧之间插值。点击某个关键帧可回到它所在的帧;在那里所做的修改会更新这个关键帧,而不是新建一个。

颜色、线宽、填充不透明度、线型、名称等样式属性属于整个对象,作用于每一帧。使用选择点击对象,或在空白区域拖动进行框选。按住 Shift 点击可在视频或对象列表中添加对象,此时检查器中的修改会作用于所有选中的对象。macOS 上按 Cmd 点击、Windows 上按 Ctrl 点击可取消选择。同类对象的位置关键帧互不重叠时,可使用合并对象。

绘制并制作动画图形视频 03

绘制矩形、移动它以创建关键帧、调整大小并旋转、添加圆形,并同时修改两者的样式。

裁剪片段

选择裁剪,向内拖动任意一个控制点。摘要会显示裁剪将移除多少帧标记、关键帧和对象。应用裁剪确认新的范围,取消则保持不变。在进行其他片段编辑之前,撤销裁剪可以恢复原来的范围。裁剪只能缩短片段,不能超出原有范围延长。

裁剪片段视频 04

向内拖动两个裁剪控制点,查看摘要,应用裁剪后立即撤销。

关键帧规则

  • 位置关键帧对齐到原视频的精确帧。
  • 手动关键帧和修正关键帧可以水平拖动;跟踪生成的关键帧位置固定。
  • Delete 删除选中的关键帧,Shift+Delete 删除选中的对象。
  • 对象至少要保留一个位置关键帧。
  • 跟踪会管理显示和隐藏的边界,但不改变位置。没有手动显示/隐藏关键帧的控件。

跟踪球员并修正错误

  1. 跳到画面清晰的一帧,选择跟踪。检测到的球员身上会出现临时高亮。
  2. 选中正确球员的临时高亮,然后选择开始。如果只需要一帧手动位置,改选停止即可。
  3. 视频、高亮和时间轴会随着跟踪结果实时推进。解码跟不上时预览可能会跳帧,但不会丢失跟踪关键帧。帧标记不会打断跟踪。
  4. 跟踪够了就选择停止。播放头会回到跟踪开始的位置,方便你回放结果。
跟踪球员视频 05

从临时高亮中选择一名球员,开始跟踪、停止,并以正常速度检查结果。

修正跟踪

跟丢时,跟踪高亮会隐藏,临时候选重新出现。选中正确的候选并选择继续;Annotate 会补齐中间的空缺并继续跟踪。如果这一帧没有检测到正确的球员,就逐帧前进直到检测到为止,再继续。有时需要重复几次。

如果跟踪跟到了错误的球员身上,回放到切换的位置,退回到最后一帧正确的画面,选择从此处重新跟踪。选中正确的球员并继续。完成会替换原跟踪的后半段;取消则保留原来的跟踪。

跟踪使用图像坐标,不需要单应性。跟踪编号只表示连续性,并不代表球员身份,因此在球员重叠、镜头切换或球员离开画面时,通常都需要人工修正。

修正跟踪视频 06

跟踪跳到了错误的球员身上。退回到最后一帧正确的画面,重新跟踪;跟丢球员时前进一帧,然后继续。

为球员命名并连接图形

选中一个高亮,在名称中输入球员名字。勾选显示名称即可在视频上显示,并可按需调整文字大小。名字也会作为该对象在时间轴中的标签。

箭头、高球、防守覆盖阴影和多边形都可以连接到高亮上。选择箭头后,先点一个高亮,再点另一个:两端都会连接上,箭头会跟随球员的跟踪移动,无需重新绘制。

为球员命名并连接箭头视频 07

为两个跟踪高亮命名,在视频上显示名字,并把箭头连接到两人身上,让它跟随移动。

帧标记与动画

帧标记标出片段中的某一精确帧。在片段编辑器中选择添加帧标记,帧标记会在单独的窗口中、恰好在该帧打开。帧标记编辑器使用与片段编辑器相同的绘图工具,从一个高亮画到另一个高亮的箭头会同时连接在两者上。选择保存,再选择关闭帧标记即可回到片段。

按住 ← 或 → 可以查看帧标记前后最多五秒的视频;离开帧标记所在帧时,标注会隐藏、编辑会锁定。按空格键回到可编辑的那一帧。当同一时刻需要不同的讲解时,一个帧标记还可以包含多个命名的标注集;导入片段会把当前标注集复制到片段中帧标记所在的帧。

标注帧标记视频 08

添加帧标记,高亮两名球员,用连接的箭头把他们连起来,修改样式,保存并关闭帧标记。

为帧标记添加动画

在帧标记编辑器中打开动画,选中一个图形,再选择添加。每个步骤都有效果(出现、淡入、放大或擦除)和触发方式(单击时、与上一动画同时或上一动画之后),并可调整延迟和时长。默认是淡入、单击时。没有添加步骤的图形从一开始就显示。预览和下一步可以逐步查看动画顺序。

片段播放到带动画的帧标记时,会停在帧标记处,并隐藏带动画的图形。播放、空格键或点击视频都会依次执行每个单击步骤;最后一步之后再点击一次,片段就会继续播放。

为帧标记添加动画视频 09

让帧标记的标注逐步出现,预览动画顺序,再从片段播放到帧标记。

在球场上绘制

要直接在球场上绘制,片段需要单应性。选择计算 H。进度条会先显示模型加载,再显示整个片段中采样帧的标定进度;启动应用后的第一次计算会更慢。取消会停止计算,不会替换已有结果。结果会被缓存,重新计算 H会替换它们。

显示 H会叠加球场网格,方便与场地标线对照。有了单应性后,矩形和圆形会画在球场上(绘制:球场):它们呈现球场的透视,控制点在球场上移动,镜头移动时也始终停在同一片草皮上。而用图像坐标绘制的图形则固定在屏幕上。

删除 H会移除单应性,绘制恢复为图像坐标。帧标记的标定提供同样的自动计算,并可在单帧上改用手动 H。跟踪不需要单应性。

在球场上绘制视频 10

计算单应性,检查球场网格,在球场上绘制矩形,并播放一段镜头移动。

制作并播放演示文稿

在项目页面新建演示文稿:输入名称,选择创建,然后选择打开。编辑界面包括素材浏览器、实时预览、横向幻灯片序列和检查器。

点击素材即可预览;只有把它拖入演示文稿后才会添加。展开片段的帧标记,可以把其中一个单独拖入作为幻灯片。用添加标题添加标题、章节或分隔卡片,拖动缩略图可以调整顺序。选中片段幻灯片,可以选择它在哪些帧标记处暂停。

演示会隐藏编辑界面并铺满窗口。片段幻灯片播放原视频及其动画标注,并在所选帧标记处暂停;点击会先显示帧标记的动画步骤,然后片段继续或演示前进到下一张。直接切换会直接进入下一张幻灯片;同一视频中按时间顺序排列的帧标记之间可使用比赛视频。

制作并演示演示文稿视频 11

新建演示文稿,加入片段、帧标记和标题,选择片段的暂停位置,然后演示。

导出、恢复与检查

项目页面上的导出报告…会在项目文件夹的 exports/report/ 中写入 clips.csv、clips.json,并为每个帧标记标注集生成一张与视频分辨率相同的 PNG。PNG 显示的是完整的标注,而不是动画中的某一瞬间。

要移除片段,在采集播放器中选中它并选择删除片段。删除片段、帧标记和标注集时,会先把它们复制到 .trash/;立即使用撤销删除即可恢复。清空废纸篓会永久删除保留的恢复数据。

要移除视频,在项目页面上点击它旁边的删除,并选择删除视频及片段确认。这会永久删除项目中的视频副本及其所有片段、帧标记和标注集。原始导入文件和演示文稿不受影响;相关幻灯片会提示来源缺失。删除视频无法撤销。

项目页面的完整性报告会列出缺失的媒体、无法读取的文档和无法解析的演示文稿引用。它只用于诊断:Annotate 不会自行猜测如何改写你的作品。为确保安全,请备份整个项目文件夹。

导出与恢复视频 12

导出报告,找到导出的文件,删除片段后撤销删除,并备份项目文件夹。

工作区一览

工作区用途主要产出
项目页面新建或打开项目、导入视频、编辑比赛信息、管理演示文稿、导出并检查完整性。项目配置和报告
采集播放器观看完整视频,用固定的标签面板标记可相互重叠的比赛片段。片段
片段编辑器制作战术对象动画、跟踪球员、计算单应性、向内裁剪并添加帧标记。片段标注和帧标记
帧标记编辑器在精确帧上创建一个或多个标注集和入场动画顺序。标注文档
演示文稿编辑器把片段、帧标记和标题卡编排成一个序列。演示文稿
演示模式在没有编辑控件的情况下播放序列。全屏播放
比赛信息维护球队、球员、教练、比分、赛事、场地等比赛信息。项目元数据

绘图工具与坐标

工具坐标行为
选择图像或球场选择、移动、缩放、旋转对象,或框选对象。按住 Shift 点击可添加到选择中。
矩形图像或球场矩形区域。在“绘制:球场”下,镜头移动时它固定在球场平面上。
圆形图像或球场带缩放和旋转控制点的椭圆区域。球场模式下与矩形相同。
球员高亮图像标记球员。可以命名、跟踪,并作为连接图形的锚点。
防守覆盖阴影图像防守覆盖范围,带半径、方向和张角控制点。
箭头图像表示有方向的动作。任一端点都可以连接到高亮上。
高球图像弧线传球路线,与箭头一样可以连接到高亮。
多边形图像封闭区域或开放折线。每个顶点都可以单独连接到高亮。
文字图像固定的说明文字。样式属于对象本身,而不是单个关键帧。

箭头、高球、防守覆盖阴影以及多边形的每个顶点都可以连接到高亮上。连接后的图形会跟随高亮移动,无论高亮是手动移动还是跟踪移动。只有矩形和圆形使用球场坐标;其他工具都使用图像坐标。

键盘快捷键

场景快捷键作用
采集标签面板快捷键开始或结束对应的片段,或切换修饰项。
采集Esc取消重新标记,或取消最近开始的采集。
采集Delete / Backspace把选中的片段移到项目废纸篓。
片段编辑器空格播放、暂停、触发帧标记动画,或从帧标记处继续播放。
片段编辑器← / →前进或后退原视频的一帧。
片段编辑器K在当前帧添加或替换位置关键帧。
片段编辑器Delete / Backspace删除选中的关键帧。
片段编辑器Shift + Delete / Backspace删除选中的对象。
片段编辑器Cmd/Ctrl + Z撤销上一步编辑。
片段编辑器Cmd/Ctrl + Shift + Z重做上一步编辑。Ctrl + Y 也可以。
片段或帧标记编辑器Enter完成封闭多边形。
片段或帧标记编辑器Shift + Enter完成开放折线。
帧标记编辑器按住 ← / →预览帧标记前后最多五秒。
帧标记编辑器空格回到可编辑的帧标记所在帧。
演示模式← / →后退、触发下一个动画,或前进。
演示模式空格 / 点击触发下一个动画,或继续播放暂停的片段。
演示模式Esc退出全屏演示。

焦点在文本框、文本区域或下拉框中时,快捷键不会生效。

术语表

标注集
附在帧标记上、单独保存的一份静止画面讲解。一个帧标记可以包含多个备选标注集。
标签面板
观看视频时用来标记比赛片段的固定按钮和修饰项布局。
片段
以帧为界的一段比赛。片段可以相互重叠,即使来自同一视频也彼此独立。
坐标模式
对象几何形状的存储空间:图像像素,或通过单应性投影的球场坐标。
修饰项
附加在片段上的结构化信息,例如结果或阶段细节。
单应性
可见画面与足球场平面之间逐帧的映射关系。
关键帧
原视频中的某一精确帧,动画对象在此保存几何形状。跟踪还会记录自动的停止/跟丢标记;没有手动显示/隐藏关键帧的控件。
对象
片段动画层中的图形,例如高亮、箭头、多边形或文字。
帧标记
片段中某一重要的精确帧。帧标记包含静止画面的标注集,并可以让片段播放暂停。
演示文稿
由片段、帧标记和标题卡组成的有序序列,带有播放和转场设置。
源帧
导入视频中的绝对帧号。Annotate 用帧号而不是近似时间戳来记录时间。
标签
标签面板中的主要分类,说明采集的片段表示什么。
跟踪
自动跟随球员,并生成高亮的位置关键帧。跟丢或认错人时需要人工重新选中来修正。
可见性关键帧
由跟踪管理的动画对象显示或隐藏边界。它不保存位置;没有手动显示/隐藏控件。

项目文件与备份

项目就是一个普通文件夹。清单文件是 project.json;源媒体在 media/ 中;片段及其标注文档在 analysis/ 中;演示文稿、导出文件、缓存和废纸篓各有对应的文件夹。

项目打开时,请不要重命名或移动内部文件。要备份或移动项目,请先关闭它,再复制整个文件夹。视频会被复制到项目中,因此导入期间需要同时容纳源文件和项目副本的空间。

Annotate 0.2 项目使用 project.v2 模型,与 Annotate 0.1 不兼容。请为旧项目保留一个 0.1 版本的安装。

故障排除

项目文件夹无法打开

确认文件夹可写,并且包含 project.json。在浏览器中,还需要授予 Chromium 文件夹访问权限;Safari 和 Firefox 不提供所需的文件夹 API。

服务离线

退出并重新打开 Annotate。保留启动错误信息和服务日志;日志位置见“安装与运行”。桌面版会自行选择本地服务端口。

帧标记没有打开

在桌面版中,先查找已经打开的帧标记窗口;再次打开同一个帧标记会切换到该窗口。在浏览器中,请允许应用地址的弹出窗口后重试。

第一次跟踪无法加载

桌面版已内置 YOLO 模型。请重启,并附上服务日志报告错误。在浏览器开发环境中,首次使用时可能需要下载模型。

单应性不可用

桌面版已内置 PnLCalib 及其模型权重。请重启 Annotate;若问题仍在,请附上启动错误和服务日志报告。

视频导入很慢

兼容的恒定帧率 H.264 MP4 会被保留或重新封装。其他编码格式和可变帧率视频需要完整转码。取消导入会安全地删除临时文件。

球员重叠时跟踪换了人

停在最后一帧可信的画面,选择从此处重新跟踪,选中正确的临时球员并继续。取消会保留原来的后半段。

完整性报告列出缺失项

尽可能从 .trash 中恢复,或从演示文稿中移除失效的引用。Annotate 会报告路径,而不会悄悄改写你的作品。