前四层都在回答"给定这些数据,怎么把它标好"。这一层换了问法: 这些数据里,到底哪些值得标。
它看起来最软,实际是五层里杠杆最大的。原因是一个乘法:
总标注成本 ≈ 样本数量 × 每帧单位成本
↑ ↑
治理层在这里 加速层在这里
加速层优化的是每帧多贵,治理层优化的是要标多少帧。而后者的乘数大得多: 在典型流程里,九成以上的成本花在不到百分之一的帧上。
规范层:让所有人【画得一样】 一致性
加速层:让人【别从零画】 效率,单位成本
治理层:决定【标哪些】 分配,样本数量
治理层最直观的工具叫相似度图。它怎么来的,是一个从高维到人眼的降维过程:
10 万帧
↓ ① 特征提取,每帧变成一个 1280 维向量
↓ ② 降维到 2 维
↓ ③ 画散点图,一张能用眼睛看的图
第一步是用一个模型把每张图压成向量,这个向量代表这张图的视觉内容。 问题是 1280 维没法看。降维干的就是把它压到 2 维。
降维的目标不是压缩,是保持邻域关系:高维里相近的两个点,在 2 维里也要相近。 于是相似的帧会在图上聚成一团。
| 能读的 | 不能读的 |
|---|---|
| ✅ 这两帧很像,谁和谁近 | ❌ 团的大小,大团不代表这个场景多 |
| ✅ 这些帧各成一类 | ❌ 团与团的距离,离得远不代表差别大 |
| ✅ 这个点孤立 | ❌ 绝对位置,旋转或翻转整张图是等价的 |
把它当坐标系读,会得出错误结论。
它产出的是一张地图,一个客观事实:谁和谁像。 决策(标谁、不标谁)是在图上另外一步做的。
它是测量工具,不是过滤器。跑一下并不会自动去重。
而在同一张图上,要做的是四个方向不同的决策。这是最容易混的地方:
| 图上的形态 | 决策 | 方向 |
|---|---|---|
| 密集团,大量相似帧 | 降采样,少标 | ⬇️ 删 |
| 小团 | 可能是稀有场景,优先标 | ⬆️ 补 |
| 离群点 | 也可能是坏数据,丢弃 | ⬇️ 删 |
| 整张图 | 按团切分数据集 | — |
注意第二、三行形状一样、方向相反。这一点后面会变成一个很尖锐的结论。
另外,去重是降采样,不是清零。密集团留几个代表就够,因为相似的帧仍然提供统计覆盖, 只是边际价值递减极快:
第 1 帧 价值 100%
第 10 帧 价值 30%
第 100 帧 价值 2%
第 3000 帧 价值接近 0 ← 这就是浪费
密集团就是几乎一样的帧。典型来源:车在路口等红灯,连拍三千帧。 决策是只抽几个标,整团跳过。
孤立点和小团是罕见场景,而罕见场景恰好是模型最缺的数据。
你不需要先有一个能识别施工锥桶的模型,就能发现哪些帧是罕见的。
这解掉了一个鸡生蛋问题。传统做法要先训一个模型才能检索场景, 而降维图用通用视觉特征就能给出线索。
完全孤立的点可能是镜头被挡、曝光失败、传感器故障、传输损坏。 这类数据混进训练集是有毒的。
随机切分 → 同一个团的相似帧同时落进训练和验证
→ 模型在验证集上"见过"几乎一样的图
→ 指标虚高
→ 你据此判断"模型够好了" → 出事
这是在相似度图出现之前几乎无法系统解决的问题。 而它一次失误的代价可能比整个标注预算还大。
图上能直接看出行人多、骑车人少,于是决定要不要针对性补采,要不要按团加权。
离群点
├── 真·稀有场景(牛横穿高速) → 宝贵,要优先标
└── 坏数据(镜头被挡、全黑) → 垃圾,要删
自动删除所有离群点,会精准地误杀掉你最缺的长尾数据。
地图告诉你"这里有个异类",但不告诉你是金子还是垃圾。 所以这一步必须有人看一眼,或者用确定性指标做二次判定。
相似度图:昂贵,无监督,只能给候选,要靠眼睛看。
信号质量指标:廉价,确定性,可以直接判定,可以写成规则。
能用确定性指标判的,不要用相似度图判。
| 类别 | 指标 | 判什么 |
|---|---|---|
| 曝光与成像 | 直方图:过曝是大量像素饱和在 255,欠曝堆在 0 | 曝光失败 |
| 拉普拉斯方差、图像熵、对比度 | 模糊、全黑、全白 | |
| 镜头遮挡 | 图像几乎均匀:单峰窄直方图、熵极低、拉普拉斯方差极低 | 镜头被挡 |
| 多帧一致性:连续 N 帧图像几乎不变,而其他传感器在动 | 比单帧可靠得多 | |
| LiDAR | 一帧点数远低于正常值、空环比例高 | 采集中断、通道失效 |
| 点只落在一个平面,几何退化 | 退化场景,比如正对一堵墙 | |
| 时序与同步 | 时间戳间隔突变、重复、倒退、丢帧 | 采集链路故障 |
| 点云投到图像上的错位突然变大 | 标定漂移 | |
| 标注侧 | 多人标注一致性、标注耗时异常 | 标签不可靠、流程问题 |
一、坏数据是事件,不是帧。一次镜头被泥挡住,会连续几千帧坏。 所以报告要带时间轴聚合:
✗ 第 1207、1208、1209 … 2050 帧不合格 没用的报告
✓ 第 1200 到 1850 帧:前视相机镜头遮挡 可执行的事件
二、坏数据最贵的不是标它浪费钱,是它污染训练集。 一帧全黑图像加上标注员硬着头皮画了个框,模型就学到"黑色画面里有车"。 这类污染是静默的,指标和损失曲线上都看不出来。
把场景或类别按出现频率排序,画成曲线:
频率
│█
│██
│███▄
│█████▄▄
│████████▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
└─────────────────────────────────────────────► 场景,按频率降序
└── 头部 ──┘└──────────── 长尾 ────────────┘
左边那一段是常见场景,几类就占了九成数据。 右边那一段单个出现很少,但加起来种类极多,覆盖了大量真实世界的边角情况。
模型在头部表现很好,在长尾上崩。所以长尾挖掘的价值不在于"多标",在于 把有限的预算从头部挪到长尾。而这件事的前提是你能看见长尾在哪里, 那张地图就是用来看见它的。
治理层改的不是"怎么标",是"标多少"。它是唯一能动数量级的一层。
它的工具是一张降维地图,用途有五个,其中数据集切分最容易被忽略也最贵。
最需要记住的是那条反直觉的:稀有和坏在图上长得一模一样, 所以地图只能给候选,判断得靠确定性指标加人眼。