先把结论说清楚:三维重建或具身数据采集,成果上限往往在采集侧就定了。3D重建之前,数据采集要过四道关——多相机是否同一时刻、标定能否复现、曝光能否覆盖最亮与最暗、数据能否原样落盘。这四关没过,算法再强也只能在残缺的数据上打转。本文按工程链路拆开讲,不针对具体型号,也不引用未经实测的数值。

一、采集准备为什么决定上限

三维重建是指从多视角图像或点云还原物体与场景的几何。它吃的是数据质量,而采集准备决定了数据的下限。

同一个算法,在演示数据上表现很好,换到批量采集的数据就出问题。原因往往不是算法退化,而是采集条件变了:同步差一点、标定漂一点、曝光跳一点。这些偏差会进入重建,放大成错位、空洞和噪点。

对训练数据来说,采集缺陷还会变成标签噪声。模型学到的是采集系统的毛病,而不是物体本身的规律。所以采集侧的问题,最后常以“算法不行”的形式出现。

二、同步:同一时刻与可追溯时间戳

多相机如果没有共同时钟,运动物体在各视角的位置就对不上。各视角看到的是不同瞬间,三角交会自然错位。

同步有两种常见做法。软触发由主机依次发指令,实现简单,但指令排队和操作系统调度会带来抖动。硬触发让所有相机接收同一个电脉冲,抖动取决于信号链本身,通常更稳定。

光有硬触发还不够,还要有统一时间基准和可追溯的时间戳。否则事后无法判断某一帧属于哪个时刻,多传感器融合也无从对齐。

触发信号本身也要走线。线越长、转接越多,边沿越容易变缓;不同相机对同一个边沿的响应也可能不同。工程上要保证触发线等长、屏蔽良好,并把触发到曝光的延迟纳入验收。

判断同步是否合格,可以拍同一个运动目标,检查各视角的边缘是否落在同一条线上。对不齐,先查同步,不要急着调算法。

三、标定:可复现性从哪里来

标定是给相机确定内参和外参,本质是把像素坐标和空间坐标对应起来。

一次标得准不算本事,每次都能标出同一套结果才算。标定板的姿态要覆盖实际工作空间,不能只在一个正对位置标;流程要固定,包括标定板类型、拍摄数量、求解方法和验收阈值;温度变化要有补偿策略,标定版本要能追溯。

标定板的尺寸要和视场匹配。板太小,占不满画面,角点提取的稳定性差;板太大,边缘容易出画。标定时还要让标定板覆盖工作距离的两端,而不是只在一个距离上标。

标定结果还要写进设备并能读回校验。只留在工控机上,换主机、返修、重装系统就得重标,这是采集流程里最常见的断点。

换镜头、动结构、改工装,都要重新标定并更新版本号,不能沿用旧参数。标定不是一次性动作,而是一套要写进流程的动作。

插图:多相机同步与标定前的采集准备

四、曝光:固定,并覆盖最亮与最暗

自动曝光在明暗跨度大的场景里会来回“呼吸”。同一物体在不同帧里亮度不一致,特征匹配就跟着抖,重建结果也会出现明暗条纹。

采集时要把曝光固定住,并且分别验证最亮和最暗的两端。只测中间调,等于把最容易出问题的区域跳过了。

如果现场明暗差太大,可以用分组曝光把两端都覆盖住,再在后期按组处理。关键是不让相机在采集过程中自行改变参数,否则同一批数据的可比性就没了。

五、覆盖与路径:空洞在采集时就已注定

视角覆盖不足,重建里就会出现空洞。拍摄前要先想清楚:物体哪些面必须采到,相机架在哪些位置,路径怎么走,密度够不够。

这些问题在采集现场解决,比在重建软件里补要便宜得多。路径设计不只是“多拍几张”,而是让每个关键面都有足够的角度和重叠。

俯仰角、环绕角和拍摄距离都会影响可见面。对深腔、凹槽和薄壁件,往往需要专门的补拍角度,而不是靠后期修补。

六、存储带宽:按峰值而不是平均值

多路高分辨率图像同时写入,峰值带宽远高于平均值。按平均设计,平时看不出问题,一到峰值就丢帧。

丢帧在数据里是隐形的。采集时画面正常,事后才发现少了几帧,而缺失的帧可能正好是关键角度。存储要按峰值留余量,写入链路要能验证,最好在采集端就把丢帧计数记下来。

另一个选择是压缩。无损压缩能省带宽,但有编码延迟;有损压缩省得更多,却可能影响精度。用不用压缩、用哪一种,要按重建精度要求决定,不能默认打开。

七、供电与散热:连续采集的隐性门槛

短时采集,设备温度还没上来,性能看起来是满的。连续采集跑久了,计算单元、光源和相机持续发热,温度到一定程度就会降频。

降频不一定报错,它只是让帧率低一点、处理延迟高一点。表现到数据上,就是时间间隔不均匀,同步和时序分析都会受影响。

供电也是同理。多路设备同时上电,浪涌电流会把母线电压拉低;供电不稳会带来坏帧、丢包甚至重启。采集方案要按峰值功耗留余量,并记录电压和温度,出了问题才能定位。

八、数据完整性:元数据与坏帧标记

采集端的职责不只是把数据写下来,还要让数据可追溯。至少应记录设备序列号、标定版本、采集时间、场景编号,以及坏帧标记。

坏帧要标出来,不要静默丢掉。静默丢弃会让数据看起来完整,实际却缺了关键片段;标记出来,后期才有选择权。

记录还要统一时间基准。不同模块各自打时间戳,事后对不上,就分不清是同步先出问题,还是曝光先出问题。

落盘之后要有校验。写入完成不等于数据正确,校验和、文件大小、帧数对账都能提前暴露问题。重要批次还应保留一份可追溯的备份,避免单盘故障把整批数据带走。

九、随手采集与工程级采集的差别

维度随手采集工程级采集
同步软触发、无统一时钟硬触发 + 统一时间基准
标定标一次就完流程化、可复现、可追溯
曝光自动固定、覆盖最亮与最暗
覆盖现场临时找角度预先设计视角与路径
存储按平均带宽估算按峰值 + 冗余 + 丢帧计数
完整性事后才发现采集端记录与标记

十、一套可执行的验证流程

正式采集前,建议按下面几步做一次小批量试采:

  1. 用真实工件、真实光照和真实节拍跑一遍;
  2. 检查同一时刻各视角的边缘是否对齐;
  3. 复核标定版本、标定板姿态和温度条件;
  4. 分别用最亮与最暗的场景验证曝光;
  5. 记录峰值写入带宽、丢帧计数、电压与温度;
  6. 当场回放并做一次小规模重建。

试采的数据要当场看,而不是等全部采完再看。问题发现得越早,返工成本越低。

十一、三个常见误区

第一个误区是“拍清楚就行”。多数重建失败源于同步和标定,不是清晰度。第二个误区是“自动曝光省事”。自动曝光会让帧间亮度不一致,特征匹配跟着抖。第三个误区是“数据多采点总没错”。无效数据会拉高处理和标注成本,还可能把采集缺陷带进训练集。

这三个误区的共同点,是把系统问题当成单点问题。单点参数再漂亮,也替代不了采集流程的完整性。

十二、采集前的硬件与现场检查

流程之外,硬件的物理状态同样决定数据质量。正式采集前,建议逐项检查:

  • 相机与支架是否刚性固定,振动下有没有微小位移;
  • 触发线与数据线是否分开走,接头有没有应力释放;
  • 光源是否与曝光同步,频闪会不会和相机节拍打架;
  • 存储剩余空间是否按峰值估算留足;
  • 设备连续运行后的温升是否在允许范围内;
  • 供电在峰值负载下是否仍然稳定。

这些检查看起来琐碎,却决定了采集能不能稳定重复。很多“偶发”问题,根因就在某一条没固定的线或某一个没留余量的接口上。

十三、结论与适用边界

四句话自检:多相机是否同一时刻、标定能否复现、曝光是否覆盖两端、数据能否原样落盘。四句话都答得清楚,采集准备才算过关。

适用于需要批量采集、多视角重建的产线与实验室场景;只采集少量演示数据时,可以适当放宽。具体参数取决于物体尺寸、运动速度、精度要求和现场环境,需要按各自系统实测确定。一句话总结:重建之前,先把数据采集的准备做扎实,比事后调算法划算得多。

【备选标题】

  1. 模型要交卷,数据得先能被检验
  2. 采集没准备好,重建再强也白搭
  3. 记住:重建之前,先过四道采集关
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐