2、标注基础:视频标注与图片标注的区别、关键概念(帧、目标、轨迹、ID)

大家好,我是老张。今天咱们聊聊视频标注的基础。

说实话,很多刚入行的朋友觉得标注嘛,不就是画框框?图片上画框,视频里也画框,能有多大区别?

嗯,我当年也是这么想的。直到第一次接了个视频跟踪项目,被甲方爸爸打回来三次……那滋味,真不好受。

今天我就把踩过的坑,一次性说清楚。

一、图片标注 vs 视频标注:到底差在哪?

先看一张对比表,一目了然:

对比维度 图片标注 视频标注
核心任务 识别并框出物体 识别 + 持续跟踪物体
数据量 单张独立 连续帧序列(30fps = 每秒30张)
标注对象 静态目标 动态目标 + 轨迹 + ID
时间维度 有(前后帧关联)
常见错误 漏标、框不准 ID跳变、轨迹断裂、目标消失
标注效率 较高(单张处理) 较低(需逐帧或插帧)

说白了,图片标注是「拍照片」,视频标注是「拍电影」。照片里人不动,你可以慢慢画。电影里人一直在动,你不仅要画,还得保证每一帧里「同一个人」的框始终跟着他走。

核心差异一句话: 图片标注是「静态识别」,视频标注是「动态跟踪 + 身份保持」。

二、四个关键概念:帧、目标、轨迹、ID

这四个词,是视频标注的「四梁八柱」。我一个个讲,每个都带实战经验。

1. 帧(Frame)

帧就是视频里的一张张图片。视频本质上是快速播放的图片序列。

举个例子:一段10秒的视频,30fps,那就是300帧。

标注时怎么处理?

  • 关键帧标注: 只标注第1帧、第30帧、第60帧……中间帧靠算法插值。
  • 逐帧标注: 每一帧都手动标注。精度最高,但累死人。
  • 我个人的习惯: 对于运动缓慢的目标(比如行人走路),每5帧标一次;对于快速运动的目标(比如赛车),每1-2帧标一次。这个经验值,是我在多个项目中试出来的。
小技巧: 标注时先标第1帧,然后跳到第10帧,看看目标移动了多少。如果框已经偏离目标超过30%,说明帧间隔太大了,需要加密。

2. 目标(Object)

目标就是你要跟踪的东西。可以是一个人、一辆车、一只猫,甚至是一个零件。

标注目标时要注意:

  • 类别明确: 是「行人」还是「骑自行车的人」?是「轿车」还是「SUV」?分类越细,模型学得越准。
  • 遮挡处理: 目标被遮挡了怎么办?我一般会标「可见部分」,并在属性里注明「遮挡程度:50%」。
  • 边界清晰: 框要刚好包住目标,不要留太多空白,也不要切掉目标的身体/车尾。

我记得有一次,团队里新来的同学把「行人」和「骑电动车的人」都标成了「人」。结果模型训练出来,看到骑电动车的人就识别成「人+车」两个目标……嗯,这就是分类不细的后果。

3. 轨迹(Trajectory)

轨迹就是目标在视频中移动的路径。说白了,把每一帧里目标的中心点连起来,就是轨迹。

轨迹标注的核心要求:

  • 连续性: 目标从第1帧出现,到第100帧消失,中间不能断。断了就叫「轨迹断裂」。
  • 平滑性: 相邻帧之间,目标的位置变化应该是连续的。如果第5帧在左边,第6帧突然跳到右边,那就是标注错误。
  • 完整性: 目标从进入画面到离开画面,全程都要有标注。
避坑指南: 我曾经在一个项目中,因为标注员偷懒,把目标被遮挡的几帧跳过了。结果模型学出来,遇到遮挡就「丢目标」——因为训练数据里就没有遮挡恢复的样本。所以,遮挡时也要标,哪怕只标可见部分。

4. ID(身份标识)

ID是视频标注里最容易出错的地方。每个目标都有一个唯一的ID,从出现到消失保持不变。

ID的规则:

  • 唯一性: 同一视频中,每个目标一个ID,不能重复。
  • 稳定性: 目标从第1帧到第100帧,ID始终是同一个。
  • 不可复用: 目标离开画面后,它的ID就作废了。新出现的目标要用新ID。

常见的ID错误:

  • ID跳变: 同一个目标,第1-50帧是ID=1,第51帧突然变成了ID=2。模型会以为来了个新目标。
  • ID交换: 两个人交叉走过,标注员搞混了,把A的ID给了B,B的ID给了A。这是最坑的错误,模型会学出「灵魂互换」的效果。
  • ID丢失: 目标还在画面里,但标注员忘了标,导致ID中断。
我的经验: 处理ID交换问题,我建议用「轨迹回放」功能。标注完一段视频后,把所有目标的轨迹画出来,看看有没有交叉点。如果有交叉,放大检查那几帧,确保ID没搞混。

三、知识体系结构图

下面这张图,把视频标注的核心逻辑串起来了:

视频目标跟踪标注核心知识体系 视频目标跟踪标注 帧 (Frame) 目标 (Object) 轨迹 (Trajectory) ID (身份标识) 关键帧标注 逐帧标注 帧间隔策略 类别明确 遮挡处理 边界清晰 连续性 平滑性 完整性 唯一性 稳定性 不可复用 核心目标:让每个目标在每一帧都有正确的ID和轨迹 图片标注 → 静态识别 | 视频标注 → 动态跟踪 + 身份保持

四、实战中的常见问题

讲完理论,说说实战。我整理了几个高频问题:

  1. 目标短暂消失又出现,ID怎么处理?

    比如一个人走到树后面,3秒后又走出来。我的做法是:保持原ID不变,中间被遮挡的帧标注「遮挡」属性。这样模型就知道:这个人没丢,只是暂时看不见。

  2. 多个目标外观相似,怎么区分?

    比如一群穿同样校服的学生。我建议:利用运动轨迹来区分。即使外观一样,每个人的运动路径是不同的。标注时先标第1帧,然后逐帧跟踪,利用位置变化来区分。

  3. 标注工具卡顿怎么办?

    嗯,这个问题我遇到过。视频标注工具吃内存,尤其是长视频。我的建议是:把长视频切成10-20秒的片段,分段标注。既减轻工具压力,也方便多人协作。

一句话总结: 视频标注不是「画框」,而是「给每个目标一个身份证,然后看着它走完全程」。

好了,这一章的内容就到这里。记住这四个概念:帧、目标、轨迹、ID。它们是视频标注的基石,也是你后面学习跟踪算法的基础。


公众号:蓝海资料掘金营,微信deep3321