1.5、视频标注
| 序号 | 标注类型 | 核心任务 | 典型应用 |
|---|---|---|---|
| 1 | 视频分类 | 给整个视频打一个或多个类别标签 | 内容审核、视频推荐 |
| 2 | 时序动作检测 | 标注特定动作/事件的起止时间片段 | 体育分析、安防监控 |
| 3 | 视频目标跟踪 | 跨帧持续标注同一目标的边界框,赋予唯一ID | 自动驾驶、人流统计 |
| 4 | 视频分割 | 对每帧中的目标进行像素级掩码标注,并跨帧保持ID一致 | 影视后期、自动驾驶 |
| 5 | 行为/动作识别 | 识别特定帧或片段中个体的动作类别 | 智能健身、老人看护 |
| 6 | 视频描述(字幕) | 用自然语言描述视频内容 | 视频检索、视障辅助 |
| 7 | 事件/异常检测 | 标注视频中的异常事件类型及发生时间 | 安防监控、工业安全 |
1.5.1、视频分类
任务描述:为整个视频分配一个或多个类别标签,判断"这段视频是关于什么的"。
常用标签体系:
| 场景 | 标签示例 |
|---|---|
| 内容审核 | 正常、低俗、暴力、政治敏感 |
| 场景分类 | 室内、室外、城市、乡村、海滩、球场 |
| 活动分类 | 体育、美食、音乐、舞蹈、游戏、科技 |
标注方式:观看完整视频(可加速播放),综合判断主要内容;多个标签可同时选择(如"室外+体育")。
📌 案例1:体育视频
🎬 视频内容 :一段10秒的篮球比赛集锦,包含球员运球、投篮、观众欢呼。
🏷️ 标签 :
体育、篮球📌 标注说明:视频核心内容为篮球比赛,符合"体育"和"篮球"类别定义。
📌 案例2:生活记录🎬 视频内容 :一段15秒的视频,展示一个人在厨房切菜、翻炒。
🏷️ 标签 :
美食、室内📌 标注说明:视频核心内容为烹饪,场景为室内厨房。
1.5.2、时序动作检测
任务描述:在长视频中标注特定动作或事件的起止时间(时间戳),判断"什么动作在什么时间段发生"。
常用标签体系:
| 标签 | 英文标识 | 说明 |
|---|---|---|
| 跑步 | running | 人物持续跑步动作 |
| 跳跃 | jumping | 人物跳起离开地面 |
| 摔倒 | falling | 人物失去平衡倒地 |
| 投篮 | shooting | 篮球出手动作 |
| 打架 | fighting | 两人及以上肢体冲突 |
| 火灾 | fire | 出现明火或浓烟 |
标注方式 :观看视频,识别动作的起始帧 和结束帧;精确到秒(或毫秒);多个动作可重叠(如"跑步"和"跳跃"同时发生);动作持续时间过短(<0.5秒)可不标。
📌 案例1:运动视频
🎬 视频总时长 :30秒
📝 内容 :0-10秒跑步 → 10-12秒跳跃 → 12-30秒跑步
🏷️ 标注结果:
- 动作1:
跑步→[0s, 10s]- 动作2:
跳跃→[10s, 12s]- 动作3:
跑步→[12s, 30s]
📌 标注说明:同一动作分段出现时分别标注起止时间。
📌 案例2:监控视频🎬 视频总时长 :60秒
📝 内容 :0-45秒正常行走 → 45-50秒人物摔倒 → 50-60秒倒地不起
🏷️ 标注结果:
- 动作1:
摔倒→[45s, 50s]- 动作2:
倒地→[50s, 60s]
📌 标注说明:从站立到摔倒,再到倒地,分为两个连续的动作片段标注。
1.5.3、视频目标跟踪
任务描述:在视频的每一帧中用边界框标记特定目标,并为每个目标赋予唯一ID,实现跨帧的持续跟踪。
常用标签体系:
| 标签 | 英文标识 | 说明 |
|---|---|---|
| 行人 | pedestrian | 行走或站立的人 |
| 车辆 | vehicle | 汽车、卡车、公交车等 |
| 自行车 | bicycle | 自行车或电动车 |
| 动物 | animal | 猫、狗等 |
| 未知目标 | unknown | 无法识别类别的移动目标 |
标注方式 :在关键帧 (如每5-10帧)画边界框,软件通过插值自动生成中间帧(需人工修正);每个目标一个唯一ID (如person_01、person_02);目标被遮挡时暂停标注,重新出现时沿用原ID;目标离开画面后ID不再使用。
📌 案例1:自动驾驶场景
🎬 视频内容 :一段10秒的路口监控视频,有2个行人和1辆车移动。
🏷️ 标注结果(每帧标注):
- 帧1:
行人_01(框A)、行人_02(框B)、车辆_01(框C)- 帧5:
行人_01(框A')、行人_02(框B')、车辆_01(框C')- 帧10:
行人_01(框A'')、行人_02(框B'')、车辆_01(框C'')
📌 标注说明:同一目标跨帧保持ID不变,边界框随目标移动而更新位置。
📌 案例2:体育比赛🎬 视频内容 :一段足球比赛片段,多个球员在场上跑动。
🏷️ 标注结果:
- 球员A(红队10号)→
player_01(全程跟踪)- 球员B(红队9号)→
player_02(全程跟踪)- 球员C(蓝队7号)→
player_03(第3秒进入画面,从该帧开始标注)
📌 标注说明:新目标进入画面时创建新ID;目标之间发生遮挡时,各自跟踪可见部分。
1.5.4、视频分割(实例/语义分割)
任务描述 :在视频的每一帧中对目标进行像素级掩码标注,并为每个实例赋予唯一ID,实现精准的连续帧分割。
常用标签体系:
| 标签 | 英文标识 | 说明 |
|---|---|---|
| 人 | person | 人体像素区域 |
| 车辆 | vehicle | 车辆像素区域 |
| 道路 | road | 路面像素区域 |
| 建筑 | building | 建筑物像素区域 |
| 植被 | vegetation | 树木、草地像素区域 |
标注方式 :在关键帧 (通常每5-10帧)用多边形勾勒目标边缘生成掩码;软件通过插值生成中间帧掩码(需人工检查修正);每个实例一个唯一ID(如car_01、car_02);边界精度要求高(边缘误差≤3像素)。
📌 案例1:自动驾驶街景
🎬 视频内容 :一段5秒的街景视频,包含道路、1辆车、1个行人、路边树。
🏷️ 标注结果(逐帧掩码):
- 帧1:
道路(蓝色掩码)、车辆_01(红色掩码)、行人_01(绿色掩码)、植被(深绿色掩码)- 帧5:
道路(蓝色掩码)、车辆_01(红色掩码)、行人_01(绿色掩码)、植被(深绿色掩码)- 帧10:
道路(蓝色掩码)、车辆_01(红色掩码)、行人_01(绿色掩码)、植被(深绿色掩码)
📌 标注说明:掩码需每帧紧贴目标边缘,同一实例跨帧保持ID一致;静态背景(道路、植被)可复用掩码,动态目标需逐帧调整。
📌 案例2:医学视频(内窥镜)🎬 视频内容 :一段内窥镜视频,显示肠道组织,其中有一个息肉。
🏷️ 标注结果:
- 帧1:
息肉_01(橙色掩码,勾勒异常组织边界)- 帧5:
息肉_01(橙色掩码,随镜头移动调整位置)- 帧10:
息肉_01(橙色掩码)
📌 标注说明:在连续帧中持续标注病灶区域的像素级边界,同一病灶保持唯一ID。
1.5.5、行为/动作识别
任务描述:在特定帧或片段中识别个体的动作类别,判断"这个人正在做什么动作"。
常用标签体系:
| 标签 | 英文标识 | 说明 |
|---|---|---|
| 行走 | walking | 正常步行 |
| 奔跑 | running | 快速跑动 |
| 跳跃 | jumping | 双脚离地 |
| 坐下 | sitting_down | 从站立到坐下 |
| 站立 | standing_up | 从坐下到站立 |
| 挥手 | waving | 手臂挥舞 |
| 跌倒 | falling | 失去平衡倒地 |
标注方式:观看视频片段,识别个体动作;每个动作至少持续0.5秒才标注;同一个体同一时刻只标一个主要动作;结合上下文判断(如"坐下"需要看到椅子)。
📌 案例1:健身视频
🎬 视频内容 :一个人在健身房做深蹲。
🏷️ 标注结果(逐动作片段):
- 0-1.5秒:
站立- 1.5-3.5秒:
下蹲- 3.5-5秒:
站立
📌 标注说明:将完整动作拆解为相位变化,按时间顺序标注每个动作片段。
📌 案例2:课堂监控🎬 视频内容 :一名学生在教室里举手回答问题。
🏷️ 标注结果:
- 0-2秒:
坐着(学生坐在座位上)- 2-4秒:
举手(手臂抬起超过头顶)- 4-6秒:
说话(嘴部动作,回答老师问题)
📌 标注说明:同一学生在一段视频中可依次出现多个连续动作,分别标注。
1.5.6、视频描述 / 字幕
任务描述:用自然语言描述视频的视觉内容,包括场景、目标、动作、关系等。
常用标签体系:
| 标签 | 说明 |
|---|---|
| 描述文本 | 1-2句完整英文或中文句子描述视频内容 |
标注方式:用1-3句话描述视频核心内容;包含主体、动作、场景、属性;描述客观事实,不添加主观推测;覆盖视频的主要视觉元素。
📌 案例1:户外运动
🎬 视频内容 :一个戴红色头盔的男孩在公园里骑自行车。
🏷️ 标注结果:
- 描述句1:
"一个戴红色头盔的男孩在公园里骑自行车。"- 描述句2:
"公园里有树木和长椅,天气晴朗。"
📌 标注说明:描述主体、动作、场景、关键属性(红色头盔),不添加主观感受。
📌 案例2:交通事故🎬 视频内容 :十字路口,一辆白色轿车左转时与一辆直行的黑色SUV相撞。
🏷️ 标注结果:
- 描述句1:
"一辆白色轿车在十字路口左转时与一辆直行的黑色SUV相撞。"- 描述句2:
"事故发生在白天,路口有红绿灯和斑马线。"
📌 标注说明:客观描述事故双方、动作(左转/直行)、地点(十字路口),不做责任判定。
1.5.7、事件/异常检测
任务描述:在视频中检测并标注异常事件的发生时间、类型和严重程度。
常用标签体系:
| 标签 | 英文标识 | 说明 |
|---|---|---|
| 正常 | normal | 无异常事件发生 |
| 交通事故 | traffic_accident | 车辆碰撞或剐蹭 |
| 火灾 | fire | 出现明火或浓烟 |
| 打架斗殴 | fighting | 两人及以上肢体冲突 |
| 非法入侵 | intrusion | 人员进入禁入区域 |
| 跌倒 | fall | 人员突然倒地 |
| 设备故障 | equipment_failure | 机械异常、冒烟、断裂 |
标注方式:观看完整视频,判断是否包含异常事件;标注异常事件的起始时间和结束时间;标注异常类型;标注严重程度(轻微/中等/严重)。
📌 案例1:工业安全监控
🎬 视频总时长 :120秒
📝 内容 :0-80秒工人正常操作设备 → 80-85秒设备冒烟 → 85-120秒工人紧急停机
🏷️ 标注结果:
- 事件类型:
设备故障- 起始时间:
80s- 结束时间:
120s- 严重程度:
中等
📌 标注说明:从设备冒烟开始到工人处理完成,整个片段视为一次异常事件。
📌 案例2:公共场所安防🎬 视频总时长 :60秒
📝 内容 :0-30秒行人正常走动 → 30-45秒两名男子发生肢体冲突 → 45-60秒保安介入制止
🏷️ 标注结果:
- 事件类型:
打架斗殴- 起始时间:
30s- 结束时间:
60s- 严重程度:
严重
📌 标注说明:从肢体接触开始到保安介入结束,整个冲突过程标注为一次斗殴事件。
1.5.8、视频标注关键规则
| 规则 | 核心要点 | 具体说明 |
|---|---|---|
| 帧率与关键帧 | 合理设置标注间隔 | • 一般视频25-30帧/秒 • 目标跟踪通常每5-10帧标注一次(关键帧),中间帧通过插值生成 • 分割标注通常每5-10帧勾勒一次掩码 |
| ID一致性 | 同一目标跨帧保持ID不变 | • 目标重新出现时沿用原ID • 目标ID一旦分配不得更改 • 新目标出现时分配新ID(编号递增) |
| 遮挡处理 | 被遮挡目标如何处理 | • 完全遮挡:暂停标注,重新出现后沿用原ID • 部分遮挡:继续标注可见部分 • 边界框标注:可用虚线框表示被遮挡目标的位置推断 |
| 边界精度 | 标注框/掩码紧贴目标 | • 边界框:紧贴目标边缘,误差≤5像素 • 分割掩码:边缘误差≤3像素 • 视频中运动模糊目标按视觉判断标注 |
| 时间精度 | 动作/事件的起止时间 | • 时序动作检测:精确到秒 • 高精度动作识别:精确到毫秒 (0.001s) • 动作边界以动作开始帧 和结束帧为准 |
| 插值修正 | 自动插值后的必检项 | • 插值生成的中间帧框/掩码必须人工检查 • 快速移动目标的插值容易漂移,需重点修正 • 标注工具一般提供插值功能(如CVAT的track模式) |
1.5.9、输出格式
| 标注类型 | 推荐输出格式 | 样例 |
|---|---|---|
| 视频分类 | JSON / CSV | {"video_id": "001.mp4", "label": "体育"} |
| 时序动作检测 | JSON | {"video_id": "001", "segments": [{"start": 0, "end": 10, "label": "跑步"}]} |
| 视频目标跟踪 | JSON / XML(每帧标注) | {"frame": 1, "objects": [{"id": "person_01", "bbox": [x,y,w,h]}]} |
| 视频分割 | JSON / COCO / PNG掩码序列 | {"frame": 1, "masks": [{"id": "car_01", "segmentation": [多边形点集]}]} |
| 行为识别 | JSON | {"video_id": "001", "frame": 25, "label": "跳跃"} |
| 视频描述 | JSON / CSV | {"video_id": "001", "caption": "一个男孩在公园骑自行车"} |
| 事件检测 | JSON | {"video_id": "001", "event": "交通事故", "start": 30, "end": 45, "severity": "严重"} |