
1. 人工质检的极限为什么全检这件事必须交给AI先讲一段我亲眼见过的场景。在某汽配零部件厂的注塑车间外观质检工位排了四条线每条线两个人十二小时两班倒手里拿着检验作业指导书对着光源一颗一颗看产品上的划痕、缺料、毛边。旺季的时候节拍压到每件产品只有不到十秒的观察时间。工人跟我说看到下班时眼睛发花最怕的就是漏掉那种很细的浅划痕——在某个角度下死活看不见换个角度又清清楚楚。等到客户端反馈投诉调出这批产品的记录才发现当班记录上写的是全检合格。这不是个别厂的问题。外观全检听起来是最笨最基础的质量动作实际上却是制造业里最难稳定执行的一环。人眼在连续高强度重复劳动下注意力衰减是生理规律不是靠责任心能完全压住的。有研究给过一组数据人工目检对低对比度缺陷的漏检率在疲劳后可以达到20%以上而工厂的考核指标通常要求出货不良率控制在几百甚至几千PPM以内这两者之间存在天然矛盾。更麻烦的是缺陷定义做不到百分之百统一。质检员A觉得这条浅划痕超出限度质检员B觉得还能放行第二天质检员C换了光源角度又得出第三个结论。品检主管每天处理最多的不是产品本身的问题而是标准打架的问题。等到客户投诉或者退货逆向追溯时才发现问题不光是漏检是整个检验过程本身就不具备一致性和可追溯性。我接触过不少工厂的同行大家讨论AI缺陷检测时第一反应往往是准确率能到多少但真正把系统用起来之后才明白准确率只是入场券。AI外观全检系统最核心的价值是把原来靠人、靠经验、靠状态执行的质检动作变成一套稳定、可量化、可追溯的自动化流程。只要模型和数据没问题同样的产品过机一千次标准就是一千次一致的。这一点是任何人工方案都做不到的。所以这篇想分享的不是说某个模型有多强、某项指标刷到多少分而是把AI缺陷检测从实验室搬上制造业流水线、实现产品外观全检覆盖的那条完整路径光学成像怎么搭、数据怎么备、模型怎么选、产线怎么接、推行怎么走。这些环节缺一个项目就很容易停在Demo阶段。2. 缺陷检测的眼睛从哪来成像方案与常见瑕疵的匹配很多团队做AI检测项目上来就习惯先讨论用什么框架、什么网络结构这是最大的顺序错误。在工业现场算法吃的是图图的质量决定算法能看见什么。光学方案没定好后面模型再优秀也是在残缺信息上做判断。我一直跟团队说缺陷检测项目里硬件成像占七成算法只占三成。2.1 一套打光方案先于算法一套工业外观检测成像方案通常由相机、镜头、光源和触发机构组成。相机这边面阵相机是主流选择分辨率根据视野和最小缺陷尺寸推算。有一条经验公式单个像素对应的物理尺寸至少要比最小目标缺陷小一倍到三倍。比如要求检测0.1mm宽的划痕视野范围是50mm乘50mm那相机的分辨率至少得在2500乘2500像素以上实际我们往往会留更大余量往上翻一到两个规格。光源选型才是门手艺。我整理过一条参考基线直接决定后面算法复杂程度缺陷类型推荐光源成像特点注意事项表面浅划痕、细裂纹低角度环形光/条光缺陷产生明显散射背景较暗角度越低对表面起伏越敏感凹陷、压伤、凸点多角度穹顶光/圆顶光缺陷呈现明暗渐变需要保证光强均匀金属反光表面的脏污同轴光消除反光干扰凸显脏污对光源洁净度要求高轮廓、缺料、毛边背光形成清晰高对比度轮廓只能看形状看不出表面纹理字符漏印、位置偏移高角度环形光印刷区域与底材对比明显注意光泽度差异干扰同轴光这个方案要特别说一句它让光线垂直打到产品表面镜面反射的光线原路返回进入相机形成均匀亮场如果表面有吸收光的脏污或者漫反射的划痕就会变成暗点。原理不复杂但实际调光时经常发现光源表面落了一粒灰在图像上就像产品缺陷误检率一下子飙上去。低角度光更有意思。光源以很小角度擦过产品表面在有划痕的地方光线被划痕边缘散射相机抓到的是亮线而不是暗线。这种方案对浅划痕的检出率远高于普通高角度光很多工厂一开始用高角度光怎么都拍不出划痕换了低角度立竿见影。2.2 从浅划痕到内腔异物不同缺陷要有不同看法实际产线上的产品缺陷远不止平整表面上的划痕。我给某连接器外壳厂做检测方案时产品是个小方壳需要检查的外观面有三个顶面、两个侧面但内腔还有一个端子安装位毛刺和异物藏得很深。刚开始用一台相机正面俯拍侧面的缺陷因为透视关系完全看不清楚内腔更是只能拍到一部分。后来改成三相机方案顶面一台两个侧面各斜置一台内腔单独加了一台带延长光路的小镜头配合背光从底部打这样每个面的缺陷都有了干净视角。方案一改模型还没重新训单靠成像改善肉眼都能看出来的缺陷检出率就升了一大截。这件事给我的教训很直接不要在成像方案上省工位一个相机想覆盖多个视角最后往往什么都覆盖不好。还有一类隐形坑是高光产品的反光。抛光金属件、镀铬件、透明件表面会像镜子一样把环境光、光源本身、甚至相机机身的影子拍进去。透明件尤其麻烦透明材料在特定光照下会产生牛顿环和干涉条纹这些干扰在图像里看起来和缺陷一模一样。处理这种产品可以考虑偏振光方案在光源和镜头前加偏振片方向互相垂直把镜面反射滤掉只保留漫反射信息。2.3 光学方案的验证动作每套光学方案搭完不要急着标数据和训模型先做一个简单的可识别性测试把二十个已知缺陷样品和二十个良品放到成像设备下过一遍把图像导出来用肉眼在屏幕上判断缺陷是否可见、可区分。如果这一步就有几个缺陷样品连人都看不出来说明成像不对需要回到光源和角度调。这个验证动作成本最低但能挡掉后面大部分无用功。这里我有一个习惯把所有验证图像做一份编号存档样品编号、缺陷类型、工艺批次、成像参数全部记录。这些图像在后面对模型做可解释性分析、客户端溯源时都是第一手证据价值很高。3. 模型不是万能盒子训练数据与算法选型如何决定全检上限成像问题解决了才轮到算法。AI外观缺陷检测的算法路线主流就三种图像分类、目标检测、像素分割。三者的差别用一句话概括分类告诉你这个产品有没有问题检测告诉你问题在哪个位置分割告诉你问题区域的像素轮廓长什么样。全检场景里用得最多的是目标检测和分割因为只给一个NG结果产线没法定位缺陷复检和修模都会很痛苦。3.1 分类、检测还是分割先看你的落地场景如果产品小、缺陷类型单一、只需要判断OK和NG分类模型最快标注成本也最低。但实际工厂的缺陷往往是复合的一个产品上可能同时有划痕和多点脏污分类模型只能告诉你结果定位信息缺失后续想要统计哪类缺陷占主流、指导工艺改善就无从下手。目标检测模型是性价比最高的方案。它输出缺陷类型和位置框标注方式简单几万张图就能训练出可用的模型。前提是缺陷形态相对紧凑比如凹坑、脏污、崩边。但有一类缺陷检测模型处理不好细长划痕。一条划痕可能横跨大半个产品检测框很难紧贴合要么框得太大包含大量背景要么断成好几段后处理逻辑会变得很纠结。遇到细长缺陷或者缺陷边界模糊的场景像素分割模型是正解。它把每个像素分类为正常或缺陷输出精确的缺陷轮廓无论缺陷多细长都能完整勾出来。代价是标注量成倍增长标注一条不规则划痕可能要几分钟数据准备周期明显拉长。我通常会建议团队做一个保守的路线先用目标检测搭起第一版系统跑通产线同时在后台收集难例等数据积累到一定量再评估要不要升级到分割模型。全检系统上线最怕的就是大工程久拖不决第一版简单可靠反而能最快拿到现场反馈。3.2 数据采集的三大原则覆盖、均衡、可追溯模型上限由数据决定这句话在AI缺陷检测领域是铁律。我给一个新项目备数据时遵循三条原则。第一是覆盖。缺陷种类要覆盖产线可能出现的一切形态。有的缺陷在生产初期极少出现比如模具磨损后期才会产生的拉花等到批量流出才去补代码损失已经造成。所以数据采集阶段尽量多跑几个生产批次最好跨模具、跨机台、跨班次采样让同一类缺陷有不同形态的差异。第二是均衡。良品和缺陷品的比例不能差距过大。在一个缺陷率只有千分之一的产线上随便采样得到的自然工程分布会严重偏斜模型很容易学成全都判断为OK准确率还能高达99.9%实际上毫无使用价值。我们对缺陷样本会做针对性扩充通过合成、平移、旋转、亮度变换等方式把少数类样本量补上来。第三是可追溯。每张训练图像必须关联产品批次、工艺参数、缺陷测量值。这不仅仅是为了训练时调参方便更重要的隐患在模型上线后如果模型在某批产品上连续误判你得能回到数据层面找到原因否则整个模型就是个黑盒子工程师不敢动它产线也不敢信任它。标注环节还有个专业细节——标注一致性。一个团队几个人同时标注对同一张图的同一个划痕A标成划伤B标成擦伤模型学到的边界就是模糊的。做法是提前做一份标注规范手册配上典型图和边界案例先让几个人标注同一批图计算一致性指标不一致的地方集中讨论修正多次迭代后再放量标注。这块功夫花得很值。3.3 模型迭代与过拟合的坑训练阶段最常见的坑是过拟合。产线上备的数据虽然几百上千张但采样自同一批工艺产品外观纹理高度相似模型很容易记住这批次特有的光影特征换个批次或者调色后误检率直线上升。我的处理方式是训练时把数据分成训练集、验证集、测试集之外还要求必须留出一组陌生批次数据也就是训练过程中完全不碰的另一生产批次的图像等模型训完再用这组数据做最终评估。如果在这组数据上性能明显下降说明过拟合了需要回到数据多样性上去解决而不是盲目增加训练轮数。模型上线后不是一成不变的。产线工艺调整、模具翻新、原材料批次切换都会让图像分布漂移。比较稳妥的做法是每周抽一批新的过机图像做模型性能监控看误检率的趋势变化。出现漂移时用新数据增量训练模型重新验证后发布新版本。整个过程要配上版本管理哪个版本在哪个时间段运行、当时的效果如何都要有记录可查。这个机制维护起来工作量不小但没有它全检系统的长期可信度就立不住。4. 从实验室到产线部署全检系统的完整链路设备在实验室里跑通了模型精度也看着不错接下来最硬核的部分才刚开始把它装到流水线上让它跟着产线节拍跑起来。这一步暴露的问题往往比算法本身多得多。4.1 硬件选型与工控机性能边界工业现场用的相机、光源、镜头原则上要选工业级产品防护等级、抗震性、耐温性、连接可靠性都跟实验室设备不在一个量级。光学零部件安装完毕后要加保护罩光源和镜头要防尘防油雾不然产线跑一个月镜头上蒙一层油图像直接糊掉。工控机是算力核心。缺陷检测模型以目标检测为主时一张1080P图像的单次推理时间要求控制在100毫秒内才能跟上中低速产线的节拍。我常用的配置是带独立显卡的工业工控机具体看模型规格轻量级模型用中端显卡就够了但要跑分割模型或者大输入分辨率显存和算力都要往上提。选型时还有一个容易被忽略的指标是最大功耗和散热产线电柜里空间逼仄散热跟不上会导致降频推理速度肉眼可见地变慢。相机和工控机之间的数据传输也是大头。高分辨率相机在连续采集模式下会产生巨大数据流传统接口可能成为瓶颈。工业场景现在主流用高速接口配套的采集卡和线缆质量直接决定系统稳定性。我碰到过一个项目图像时而清晰时而花屏查到最后是最便宜的线缆受电柜干扰换掉之后问题消失。连接件省出来的几百块后面花了一周时间才找回来。4.2 触发逻辑、通信协议与产线节拍外观检测设备不是独立运行的它必须和产线上的其他设备协同。产品到达检测工位时光电传感器发出触发信号相机拍照工控机推理然后把OK/NG结果发给下位机或者PLCNG产品被剔除机构推走这一整套逻辑要做到和产线节拍完全同步。触发信号这里有个看似不起眼却很关键的参数触发延时和曝光时序。产线速度变化时产品到达相机正下方的时间窗口会变如果相机触发时机偏晚图像里产品位置偏移后面算法再强也没用。解决方案是让触发模块读取产线编码器的速度信号动态补偿触发时刻或者设置多次触发取帧模式保证抓到的是产品居中且清晰的图像。结果通信协议取决于现场设备。老产线普遍用PLC走工业协议或者简单IO信号一个NG信号给到PLCPLC驱动气缸剔除新一点的生产线管理软件会要求检测结果以结构化数据上报和MES/追溯系统对接。不管哪种方式都要设计一个卡料保护机制如果检测系统异常未给出结果产线应该自动停机或者声光报警而不是放行这是全检系统绝对不能妥协的一条底线。4.3 漏检、误检与复检策略的权衡全检系统上线后最灵敏的衡量指标有四个漏检率、误检率过杀率、直通率和节拍达成率。漏检率是指有缺陷产品被判为OK的比例这个必须压到极低误检率相反是良品被判为NG的比例太高会增加复检工作量和成本。这两个指标天然此消彼长工厂经常在中间纠结。把判定阈值调严漏检率下降但良品被大量错杀调松误检率下来缺陷又会漏出去。我的经验是不追求某一项指标的极端值而是设计一个合理的复检闭环。具体做法是系统判定NG的产品进入复检区由人工做最终确认系统判定OK的产品直接放行。这样漏检率由模型保证误检成本由复检工位消化实际推行阻力最小。复检环节有个细节值得展开。复检员看到AI判NG的产品时如果经常发现AI在误判会对系统失去信任随手放行甚至关掉提醒全检就形同虚设。所以复检结果要回流复检员每个班次确认了多少个NG、其中多少个确实是缺陷、多少个是误判这些标签会自动进入训练集变成下一轮模型优化的养料。模型越用越准复检工作量越来越小整个系统才进入正循环。5. 全检上线的组织账投入产出与推行路径技术链路捋顺之后真正的考验在组织层面。AI缺陷检测系统不是买一台设备装上就能见效它改变的是质检工位的工作方式、质量部门的管理逻辑、甚至生产车间的考核方式。这部分没人跟你讲但项目成败往往就押在这里。5.1 算一笔全检的账工厂上任何设备都要算投入产出AI检测设备也不例外。投入端相对好估成像硬件、工控机、算法授权或自研人力、部署调试费用。产出端要算细账不能只看省了几个质检员。我算过一条典型产线三条两班倒的外观检验线每班两名质检员加上倒班机动人员共六个人人均年成本约八万一年的人力成本约四十八万。AI检测系统一次性投入约三十到五十万之后每年有维护和模型迭代成本。单看第一年账面上并不便宜但全检系统还有三笔隐性收益其一检出率稳定带来的客诉减少和索赔损失下降这笔钱往往比省下的人力多得多其二检测数据实时反馈给工艺端模具维修和参数调整的响应速度大幅提升其三CTQ岗位不再依赖有限的人力资源池扩产时不必再招聘和培训大量质检员。还有一笔反向账全检系统的误检率每高一个百分点复检工位每天就要多翻几千件产品。如果误检集中在某个形态的良品上那复检员工会一边翻一边在心里骂系统。所以上线初期的目标不是零漏检而是把误检率控到一个复检团队能轻松接住的水平再逐步收紧。5.2 从试点到覆盖三条推进路线项目推行路径上我见过三种路线各有适用条件。第一种是单点突破。挑一个产量最大、缺陷样本最丰富、工艺最稳定的产品先上线跑通后再横向复制。这种路线风险小团队能在一个产品上把成像、算法、部署、数据回流整个链路彻底磨熟但进度慢老板容易失去耐心。第二种是平台化铺开。建一套通用检测平台同时接几条产线多个产品每个产品只做参数化配置。这种路线效率高但对平台架构能力和团队人员要求很高第一版就要做得好否则全线一起出问题现场会很难收拾。第三种是工艺导向推进。先挑缺陷最严重、客诉最集中的工位上线用短期效益赢得支持然后逐步扩大到其他工位。这种路线收益见效最快但覆盖顺序完全由问题驱动系统架构上可能留下补丁摞补丁的隐患。我比较推荐的是第一种和第三种的结合选两到三个有代表性的工位作为种子工位一边跑通链路、积累数据和信心一边把平台化能力建设起来等种子工位稳定运行一个季度再把模式固化下来快速复制。全检覆盖不是一次上线的动作而是一个逐步扩展的过程。5.3 质检员角色的转变与交接最后聊一个容易被忽略但非常关键的话题质检员怎么办。我一向反对AI上线质检员下岗这种简单粗暴的叙事。全检系统上线后最优秀的那批质检员恰恰是系统迭代最重要的合作伙伴。他们的经验是数据标注规范的重要来源。哪些缺陷是客户真正在意的哪些可以放宽什么情况下会出现容易混淆的相似纹理这些知识都在质检员脑子里。让质检员参与标注规范制定和复检判定既提高训练数据质量也让团队保留对系统的信任感和参与感。系统上线初期的过渡方案也值得设计好。建议设置一个月的并行运行期人工照常检验系统同步检测每天对比两者的判定结果。并行期发现的差异点逐条分析该调整算法的调算法该明确标准的明标准。并行期结束后质检员的角色逐步从全检执行者转为复检确认者和数据审核员工作强度下降但判断职责和技能含金量反而提升。我做过的项目里质检员最抵触的往往不是AI本身而是系统上线、流程突变、没人来解释的失控感。把这个交接过程做好项目就已经成功了一半。回到标题这句话——席卷制造业流水线揪出瑕疵。从我这几年的实操经验看AI缺陷检测实现产品外观全检覆盖技术门槛并没有想象中那么高真正把很多项目拖垮的是对现场物理条件的轻视和对数据闭环的疏忽。光学成像、算法模型、产线部署、组织推进四件事环环相扣少做一件都走不到全检覆盖那个终点。如果你正准备在自己产线上推进类似项目我的建议很简单从最小的试点开始先把一条线跑稳让数据流动起来全检这件事慢就是快。