干这行快十五年了,缺陷检测这事儿,说实话,远没有那些PPT里画的那么光鲜。
你以为架个相机,跑个深度学习模型,就能把不良品挑得干干净净?天真。真正在生产线上滚过的兄弟都明白——光照稍微变一点,传送带抖一下,检测结果可能就崩了。崩到你怀疑人生。
我至今记得第一次独立负责项目,那是个手机中框的轻微划伤检测。客户说:肉眼都看不太清,机器能行吗?我当时拍胸脯保证,用的可是当时最火的CNN。结果呢?误报率飙到30%,产线差点停摆。那段时间压力大到失眠,半夜爬起来改参数是常态。

传统算法还是深度学习?别被时髦词忽悠
现在一谈缺陷检测,张口就是AI、深度学习。但我得泼盆冷水——很多场景,传统算法反而更稳。真的,我踩过的坑全是泪。
比如简单的脏污检测,用个差分法或者阈值分割,可能几十行代码就搞定。速度飞快,解释性也强。你非要上深度学习,标注几千张图,训练半天,结果光照一变还是抓瞎。何苦呢?
但也不是说深度学习没用。复杂纹理背景、低对比度、非规则缺陷……这些地方传统算法确实吃力。这时候Deep Learning的价值就出来了。重点在于场景匹配,而不是跟风。你得亲自去产线盯着,摸清来料一致性、机械振动幅度、甚至操作工的习惯。
有一次做玻璃盖板的内部气泡检测,客户非要用AI,我坚持先用背光+blob分析试试。结果检测率99.5%,误检不到1%。客户技术总监看了直点头——省下几十万预算。所以啊,方案选型别听销售吹,要信现场数据。

那些年,我踩过的坑
做缺陷检测,最怕的是“想当然”。我罗列几个血泪教训,希望能让后来者少走弯路。
1. 光源比算法重要十倍! 这是我最想呐喊的一句话。多少次,模型怎么调都效果差,换个打光角度,特征瞬间清晰。记得有个金属件上的微小凹坑,各种环形光、同轴光试遍了都不理想,最后偶然用了低角度暗场,缺陷像黑夜里的星星一样跳出来。那种惊喜!简直想抱着光源供应商亲一口。
2. 不要忽视机械结构。 相机抖动、产品定位偏差,会直接毁掉你的ROI匹配。我经历过一个项目,检测精度始终波动,查了两天发现是传动皮带老化,有细微滑移。换根皮带,指标立刻稳定。所以检测系统是“光机电算”一体的,哪一环掉链子都不行。
3. 样本!样本!样本! 重要的事说三遍。特别是深度学习的项目,初期样本往往不够,或者缺陷类型覆盖不全。上线后冒出新缺陷,模型直接瞎了。我现在都要求工厂先积累至少三个月的不良品,分类归档。这过程很烦,但值得。否则你会陷入无止境的“打地鼠”循环。
有一次,一个电容外观检测项目,产线突然出现一种极细的丝状物附着,之前从没见过。模型全部判为OK,流到了客户端。质量问题投诉,损失惨重。后来我们建立了“未知缺陷”报警机制,宁可误停线,也不敢漏。这就是用真金白银买来的教训。
QA答疑:你最关心的缺陷检测问题

问:你们做项目时,误检率和漏检率到底哪个优先控制?
答:这个问题问得太好了!每次跟客户沟通,这都是核心矛盾。原则上,安全件、功能件——比如刹车片缺陷、药品包装破损——漏检是零容忍,必须拼命压漏检,哪怕误报多些,人可以二次复判。但对于外观装饰件,过度误报会让产线没法干活,这时候就得平衡。我的经验是:先明确质量成本的量化,跟客户算笔账,再设定漏检/误检的具体KPI,不然永远扯皮。
问:小批量、多品种的产线,怎么搞缺陷检测?感觉换型太慢了。
答:哎,这种活最头疼。我们以前硬上过一套万能算法,结果四不像。后来学乖了,用模块化设计:快速换型的工装保证定位一致,算法做成配方文件,一键切换。遇到新品种,只要表面属性相似(比如都是金属车削件),传统算法调几个阈值就行。实在特殊的,再启动深度学习小样本训练,通常两三天能搞定。记住,物理上的快速换型比算法更重要,别死磕软件。
问:现在说的AI缺陷检测,真的能替代人工吗?
答:完全替代?呵呵,部分场景可以,大多数还是“机器初筛+人工复核”。人眼的适应性、对“异常”的直觉判断,机器暂时没有。尤其在缺陷定义模糊、标准主观的情况下,人依然是最后的防线。但机器可以大幅降低劳动强度,提升一致性。我们更愿意叫“辅助检测”。当然,如果缺陷模式固定、产量极大,像电子元器件的某些检测,黑灯工厂早实现了。所以别信那种“全面替代”的鬼话,务实点。
聊了这么多,其实就是一句话:缺陷检测这行,没有银弹。你得懂光,懂机械,懂算法,还得懂客户产线的真实痛点。每次接到新任务,我还是会忐忑,因为每个现场都是新战场。但解决完问题,站在长舒一口气的客户身边,那种成就感确实让人上瘾。好了,不说了,我得去调下一台设备的光源了……