2. 工业视觉数据采集方案
数据采集是工业视觉模型开发的第一道物理关口。模型再强,也无法从一张过曝、失焦或错位的图像中恢复出缺陷信息。本节围绕相机、光源、镜头、触发同步、材质成像策略与元数据管理六个环节,说明如何把"拍得到"变成"拍得稳、拍得可追溯"。
一、相机选型:先算分辨率,再定接口与快门
选型的第一步不是看品牌,而是算清空间分辨率需求。以检测 0.1 mm 的划痕为例,按"缺陷至少占 3 个像素"的经验准则,单像素对应实际尺寸应不大于 0.033 mm。若视野(FOV)为 100 mm × 80 mm,则横向像素数至少为 100 / 0.033 ≈ 3030,纵向约 2424,因此 500 万像素(2448×2048)不够,应选 800 万~1200 万像素面阵相机。
分辨率确定后,再匹配接口与帧率。产线节拍 60 件/分钟、每件拍 4 个面,则需 4 帧/秒以上;若用卷帘快门拍摄运动中的工件,会产生果冻效应,应改用全局快门。接口方面,GigE 适合长距离布线(≤100 m),USB3.0 适合短距离高带宽,Camera Link 适合高速多相机同步。示例参数:1200 万像素、全局快门 CMOS、GigE Vision、帧率 9 fps,可满足上述节拍并留有余量。
二、光源与镜头:把缺陷"照出来"
光源的核心作用是制造对比度,而非单纯照亮。常见方案包括:环形光用于一般表面均匀照明;条形光用于边缘和划痕的定向增强;同轴光用于高反光金属表面的镜面缺陷;背光用于轮廓和尺寸测量;穹顶光用于曲面反光件的均匀漫射。
镜头需与相机靶面和视野匹配。放大倍率 β = 传感器尺寸 / FOV。以 2/3 英寸传感器(8.8 mm × 6.6 mm)、FOV 100 mm 为例,β ≈ 0.088。工作距离 WD 与焦距 f 的关系近似为 f ≈ WD × β / (1 + β)。若 WD 设为 300 mm,则 f ≈ 300 × 0.088 / 1.088 ≈ 24 mm,可选 25 mm 定焦镜头。同时需关注景深:光圈越小景深越大,但进光量下降,需与曝光时间权衡。
三、触发与同步:让每一帧都落在正确位置
连续采集会产生大量冗余帧,且难以与工件一一对应。工业现场通常采用硬触发:编码器随传送带转动输出脉冲,经触发控制器分频后驱动相机曝光。例如编码器 2000 ppr、传送带每转移动 200 mm,则每脉冲对应 0.1 mm;若要求每 5 mm 拍一张,分频系数为 50。
多相机场景下,所有相机必须共用同一触发源,否则各视角图像在时间上错位,后续拼接或融合会失败。若相机安装位置不同,还需设置延时补偿:延时 = 相机间距 / 传送带速度。例如间距 300 mm、速度 500 mm/s,则延时 600 μs。触发抖动应控制在 10 μs 以内,否则运动模糊会随速度放大。
四、不同材质与缺陷的成像策略
金属拉丝表面:采用低角度条形光,使划痕产生明暗对比,避免同轴光导致整面均匀反光。透明薄膜:采用背光加偏振片,抑制表面反射,突出内部杂质。黑色橡胶:提高增益并延长曝光,但需注意噪声,可配合红外光源增强吸收差异。PCB 焊点:采用多角度彩色光,利用不同颜色在不同高度焊点上的反射差异判断虚焊。
缺陷类型也决定策略:划痕适合定向暗场;凹坑适合同轴光或低角度光;脏污适合均匀漫射光;尺寸测量适合背光轮廓。实际调试时,固定相机与镜头,逐一更换光源角度和亮度,观察缺陷对比度变化,选择信噪比最高的组合。
五、采集脚本与元数据管理
采集脚本应完成四件事:监听触发信号、抓取图像、绑定元数据、写入缓存并上传。以下为伪代码示例:
on_trigger(trigger_id):
img = camera.grab(timeout=100ms)
meta = {
"image_id": uuid(),
"timestamp": now_iso(),
"station_id": STATION,
"batch_no": current_batch,
"exposure_us": camera.exposure,
"gain_db": camera.gain,
"trigger_id": trigger_id,
"light_mode": LIGHT_MODE,
"camera_sn": camera.serial
}
save_local(img, meta) # SSD 环形队列
upload_async(img, meta) # 对象存储 + 索引
if queue_full():
drop_oldest() # 防止磁盘写满
元数据必须与图像同生命周期存储。缺少曝光、增益、光源模式等字段,后续复现或排查成像异常将无从下手。建议每条记录包含:图像 ID、时间戳、工位、批次、曝光、增益、触发号、光源模式、镜头编号、相机序列号、标签、缺陷类型、复核状态。数据集版本应与采集批次绑定,确保训练集可追溯。
采集方案的本质,是在分辨率、节拍、对比度和可追溯性之间找到平衡点。相机决定上限,光源决定下限,触发决定稳定性,元数据决定可复现性。四者缺一,数据闭环就无法真正闭合。