
仿真数据资产上手:一周跑通合成数据增广
被朋友安利了仿真数据资产,试试看到底好不好用。我手上有个检测模型,长尾场景一直补不齐,真实采集一轮按周算,正好拿它试。
先说它是什么。仿真数据资产就是用物理引擎和渲染管线算出来的数据,图像、标注、深度图这些,不是相机拍的。核心用途是数据增广:你手里只有少量真实样本,让平台照着生成一大批,把稀少场景补齐。标注就是告诉模型图上哪个位置是什么东西的框。
下面按我实际走的三段时间线记。
第一天,把种子数据喂进去。注册后进控制台,左侧点 新建项目,填项目名,选任务类型,检测任务就选目标检测,选错了后面标注格式不认。进项目找 数据集,上传种子数据,也就是你手里那点真实样本,图像和标注文件一起传,我传的是 COCO 格式的 json。传到一半提示类目未映射,这是第一个坑。平台的类别体系和你标注里的类名是两套东西,不映射,生成出来的框全是空的。在 类别映射 里把类名一个个对上,嫌麻烦就先只留一个类跑通。然后建生成任务,天气、光照、遮挡强度都是参数化的,可以只改一个变量,数量和分辨率按需填,我第一轮设得很小。提交后是排队,不是立刻出,我这边等了大概一个多小时看到第一批。
第三天,质检,别急着全收。预览界面能直接翻,看三件事:框贴不贴合、光照有没有跳变、有没有物理上不合理的,比如物体穿模。我这一批有一小部分框偏得明显,回头查是种子图里有几张标注本身就糊。回种子集把脏样本剔掉重跑,比在结果里一个个修快,质检页能批量筛选,按分数排,低的先看。参数放得越开,多样性越好,不合理的样本也越多,返工跟着涨,第一轮别贪。
一周后,把过检的合成数据按小比例混进原训练集跑一轮。我这边测下来长尾类别的召回有改善,但合成比例一高,真机表现反而掉,这就是 sim-to-real gap,仿真里好看,现实里不认。
| 维度 | 真实采集 | 仿真增广 |
| 采集周期 | 按周算 | 按小时算 |
| 长尾覆盖 | 靠碰 | 可指定参数 |
| 标注成本 | 高 | 随生成量摊薄 |
| 分布贴合度 | 天然一致 | 要调参收敛 |
我的做法是每轮加一点,盯住真实测试集,掉了就退回去。
自变量发 X2Real 时提过一个判断:真机评测成本高、周期长,撑不住高频次测试。这点我认同。
之前我觉得合成数据是权宜之计,现在看更像把训练和评测拉进同一个可复现环境的手段。
物界前沿