首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从图像到缺陷判定:发动机总装线 AI 视觉检测系统的技术实现

从图像到缺陷判定:发动机总装线 AI 视觉检测系统的技术实现

作者头像
河北鹰眼智能科技集团有限公司
修改2026-09-15 16:02:08
修改2026-09-15 16:02:08
940
举报
概述
发动机总装是整条产线里工序最密集、装配关系最复杂的环节之一。缸体、缸盖、油路、管路、传感器、螺栓……成百上千个零件在有限空间内完成装配,任何一处漏装、错装、反向或表面缺陷,往往要等到台架试验或整车装配阶段才暴露,返工与追溯成本远高于在工位上当场拦截。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 二、系统分层与数据流
  • 我们把系统拆成五层,层间只通过明确定义的接口通信:一次检测的完整链路是:PLC 发工位到位信号 → 采集层按机型模板驱动相机与光源 → 推理层各相机并行推理 → 应用层汇总判定并回写 PLC → 结果与图像异步落库。这里有个容易被忽略的设计点:判定回写走同步,数据落库走异步。如果把落库放进判定链路,数据库一旦抖动就会直接传导成产线停线——这是我们在一个项目里用停线换来的教训。
  • 三、标定:手眼标定与像素-物理换算
  • 机器人带着相机跑,必须先建立像素坐标到物理坐标的映射,否则"检测到了"也说不清在哪个位置。地轨加机器人属于 eye-in-hand 构型,走经典的手眼标定 AX = XB:标定不是一劳永逸。相机、镜头、机器人关节的温漂会让映射缓慢漂移,我们的做法是每周用标定板复检一次,映射误差超过阈值就重标,并把标定结果一并纳入版本管理——换镜头、换工装后不重标就上线,是后面一切判定偏差的源头。
  • 四、成像设计:光学与光源的量化选型
    • 4.1 光学参数
  • 分辨率由最小缺陷反推:单像素物理尺寸 ≤ 最小缺陷 / 4。以 0.5mm 缺陷、四像素覆盖计,单像素需 ≤ 0.125mm,再结合 FOV 和传感器像素数反算镜头焦距与工作距离。别为了"拍得大"把工作距离压太短,机器人和工装会打架。
    • 4.2 光源
  • 发动机的铸铝、钢制件反光是主要矛盾,这一环要靠光源而不是靠算法去压:平面高反光件:同轴光,配偏振片抑制镜面反射;复杂曲面、铸铝件:穹顶光做均匀漫射;边缘、轮廓类检测:背光取剪影;局部特征:条形光分区打光。我们用分区可控光源,按模板点亮不同分区,让同一套硬件适配不同检测项,而不是给每个检测项配一套死光源。
    • 4.3 多视角
  • 单相机固定视角必然有盲区。我们用一条地轨带多台机器人组成协同工位,六面视角覆盖主要外露装配面。机器人重复定位精度直接决定图像位姿一致性;位姿不稳,后面算法再强也没有可信的比对基准。
  • 五、算法:身份、定位、检测三段式
    • 5.1 身份绑定
  • 先读码,再检测。固定式读码器在正常工位自动解码发动机编号,手持无线扫码器做补扫;解码失败、条码污损或位置异常的工况走补扫通道,身份确认后按机型 ID 加载对应模板。补扫通道别省。有个项目为了省成本砍掉手持补扫,结果条码沾油就读不出,整线降速等人工——这条通道看着冗余,实际是产线可用性的兜底。
    • 5.2 定位与 ROI
  • 先在整幅图里定位,再在 ROI 内精检。粗定位用归一化互相关(NCC)模板匹配,或 ORB / AKAZE 特征点匹配:定位不稳会让后续所有检测项整体偏移,所以建议把定位当成一个独立的、可单独验证的模块,而不是塞进检测逻辑里。
    • 5.3 缺陷检测:分两类走不同路径
  • 规则可判类(螺钉有无、安装方向、装配到位):用几何 / 轮廓 / blob 分析,稳定、可解释,不用上模型;表面缺陷类(划痕、油污、气孔):缺陷样本稀少,硬训一个分割网络容易过拟合。我们主要走异常检测(PatchCore / PaDiM 一类),用正常样本构建特征记忆库,推理时比对异常分数。模型统一导出 ONNX,边缘端用 ONNX Runtime 或 TensorRT 推理:
  • 六、节拍与推理延迟预算
  • 节拍是硬约束。假设检测窗口 15s、4 台相机、单帧推理 300ms,串行合计 1.2s,余量充足;但一旦换成高分辨率分割模型,单帧可能涨到秒级,就必须做多流并行 + FP16 量化,甚至把相机分到不同 GPU 流上。延迟预算要在选型阶段就算清楚,别等上线才发现超节拍。
  • 七、模板配置化与版本管理
  • 模板一多最容易乱。我们把模板定义成 JSON,纳入配置管理,换型只改数据、不改代码:每次变更留痕(谁、何时、改了什么)。否则半年后没人说得清,线上跑的到底是哪一版模板。
  • 八、数据链路与缺陷归因
  • 检测结果按发动机编号归档,形成单台质量档案。核心表结构大致如下:归因分析本质上就是按维度聚合。比如定位"某螺栓漏拧集中在哪个工位":如果出现明显聚集,大概率是该工位的节拍或工装问题,质量工程师拿着这张表就能去查,不用翻录像。这张表也是把"事后拦截"推向"事前预防"的入口。
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档