化纤产品质量智能检测:计算机视觉实战指南 做化纤产品质检这行如果你还停留在靠老师在车间里手摸眼看、拿着放大镜抽查丝饼的阶段那确实该把“人眼”换成“机器眼”了。基于计算机视觉的化纤产品质量智能检测系统就是一套用来替代人工目检、在生产线上实时完成缺陷识别的软硬件一体化方案。它能检测的内容包括丝束表面的毛丝、粗节、细节、油污、黄斑、并丝等常见瑕疵也能对纱线粗细均匀度、丝饼的卷绕成型质量做量化评估甚至可以把每锭产品的检测记录存成数据给后续质量追溯留底。这篇文章适合三类人看一是化纤厂里的工艺和设备工程师想评估上视觉检测的可行性二是做工业视觉项目开发的朋友想参考一套完整的系统设计思路三是刚接触视觉检测、想找落地方案切入的入门者。下面我会把从方案选型、光学设计、算法训练到现场部署踩坑的整个过程按实际做项目的顺序完整过一遍。1. 项目概述与整体设计思路1.1 化纤质检的痛点到底在哪化纤产品尤其是聚酯、锦纶这类长丝产品生产速度极高细旦丝一根只有十几微米到几十微米粗细一个纺位同时出几十根单丝组成一股丝束。这种产量和尺寸下人工质检的局限性是天然存在的老师傅盯久了眼压升高、注意力下降微小的毛丝很容易漏掉不同班次、不同人员判定标准很难统一这个班判合格的丝饼下个班可能判成降等品更要命的是人工抽检只能覆盖一小部分产品大量缺陷在实际使用环节才暴露出来客户投诉、索赔、信誉受损都在后面等着。我接触的这个项目客户是做聚酯长丝的生产线上最头疼的就是毛丝和并丝。毛丝是单丝断裂后断头翻卷在丝束表面不光影响后道织造时的断头率毛丝多了还会在高速织机上缠辊直接造成停机并丝则是相邻单丝粘在一起织出的布面会有明显暗痕属于A级品直接变B级的典型缺陷。客户以前靠在线仪器测张力、靠人工定时巡查从来没有真正“看见”过缺陷长什么样出了问题只能整批降等损失很大。把这些问题翻译成视觉系统的需求清单其实就是三条第一要能在高速运行状态下清晰成像把微米级的毛丝和毫米级的粗节都拍出来第二要能实时识别并分类缺陷还要和丝锭的锭位、时间戳对应上第三要稳定7天24小时在车间里跑不能三天两头误报漏报把现场工程师逼疯。这三点恰恰是计算机视觉系统设计时的三条主线。1.2 为什么选择计算机视觉这条技术路线立项初期我们也对比过其他方案不是一上来就认定视觉。当时摆在台面上的有激光测径仪、光电式毛丝探测器、传统人工质检加上视觉检测一共四类方案各有各的逻辑。激光测径仪优点是精度高能实时测出丝束直径的微米级波动对粗节、细节这类直径突变非常敏感。但它有个致命弱点只能测直径看不出毛丝、油污、颜色异常这些没有尺寸变化但有外观特征的缺陷而且它测的是某一截面的平均直径丝束在运行中抖动一下测出来的数值就全乱了。光电式毛丝探测器也就是那种利用丝束遮挡光路感应断头的装置对整股丝断掉这种大事故有用但对单丝断裂、毛丝翻卷这种小异常基本无能为力灵敏度上不去容易误报。人工质检就不展开说了前面已经讲过它的不稳定性。真正让我们决定押注视觉方案的关键是视觉检测的信息密度和扩展空间。图像里既有直径信息、长度信息也有灰度、纹理、颜色信息一个系统能把直径均匀度、表面缺陷、颜色异常、异形杂质全部包进来算法模型还具备学习能力现场跑一段时间积累数据后还可以继续迭代提升识别率。一套视觉系统等于同时干了测径仪、毛丝探测器、颜色检查仪三个仪器的活而且输出的是可视化图片客户那边的工艺工程师和管理层看得到“证据”品质追溯也好做。当然视觉方案也不是万能它天生对光学环境敏感花在打光和防尘上的功夫比算法本身还多。这个后面我会单独讲。1.3 系统总体架构设计整个系统从物理形态上分成了两大检测工位。第一工位装在纺丝机到卷绕头之间的丝路通道上主要负责检测运行中的丝束用线阵相机拍摄丝束经过检测区的连续图像实时分析直径波动和表面缺陷第二工位装在卷绕成型之后的丝饼检查区用面阵相机对丝饼表面做多角度拍摄检查端面毛丝、卷绕纹理异常、表面油污和磕碰伤。两个工位的数据汇总到一台工业服务器上统一做识别、统计、展示和与产线MES系统的对接。从软件逻辑上看系统的分层很清楚最底下是图像采集层负责相机触发、曝光控制、图像传输中间是算法处理层做预处理、缺陷检测、分类、直径计算上层是业务应用层做检测结果展示、报警推送、报表统计、质量追溯旁边还有一个设备交互层通过PLC和工业网络把报警信号、剔除信号下发给产线设备。这个架构的好处是分层清晰图像采集、算法、业务展示可以独立开发、独立升级现场调试的时候不用一改全改。我特别想强调一点视觉检测系统不能只当成一个“高级相机”来设计。它从诞生第一天就必须是产线的一部分要和前后道设备做信号联动否则就是一套摆设。所以我们从架构上就预留了和卷绕头、自动落筒小车、分级系统对接的接口。这是整个项目的成败关键之一很多同行走着走着做成了“实验室demo”就是因为忽略了这一步。2. 图像采集与光学系统搭建2.1 相机和镜头怎么选第一工位我们最终选了线阵相机。为什么不用面阵相机因为丝束的运行速度太快了面阵相机在高速运动下会出现严重的运动模糊除非你把曝光时间压到极限再打极亮的光否则根本拍不清晰。而且丝束是无限长的连续被测物面阵相机视野有限要么分多台拼接要么只能拍一段。线阵相机天生适合这种连续运动的卷材类被测物一次只采集一行像素靠编码器触发连续采集再把一行一行拼成一幅完整的长条形图像分辨率远远高于面阵相机在同等视野下的水平这是卷材类检测的标准解法。具体参数上线阵相机的分辨率选的是8K像素配合高分辨率镜头在150毫米视野下能覆盖到大约18微米的空间分辨率足以看清单丝断裂后翻卷的小毛丝。相机行频定在5kHz到8kHz之间这台相机理论行频更高但我们为了减小运动模糊有意把行频压低、配合较短曝光时间。扫描宽度原理上要和产线走丝速度、行频匹配计算公式是物方视野宽度除以像素数得到每像素代表的实际尺寸再乘上行频再除以产线速度得到每个像素对应的纵向尺寸。我们调试的时候反复标定这个值确保横纵分辨率接近一致否则图像会变形识别模型就歪了。第二工位的丝饼检查用的就是普通的工业面阵相机500万像素配合环形光源多角度拍照。丝饼是旋转体表面有规律性的卷绕纹路所以拍照时还要控制丝饼的旋转位置保证每次拍到的是比较固定相位的位置不然同一个丝饼不同角度拍出来差异太大模型没法判断。镜头的选择有个容易被新手忽略的点工业现场温度波动大镜头必须选低畸变、焦距固定的定焦工业镜头不要用那种可调焦的监控镜头锁不紧、受振动后会跑焦跑一次焦标定全乱。光圈方面工作时光圈不要开到最大收两档左右能让景深和像质均衡丝束抖动也不至于马上脱焦。2.2 打光方式正面光还是背光打光是这套系统里我花时间最多的部分也是决定成败的高地。化纤丝束透明、半透明、细、有光泽本身是非常难成像的对象。我们针对不同缺陷设计了两种主照明配合使用。第一工位的直径检测用背光也就是光源放在丝束的背面相机拍丝束的剪影像。背光的原理很简单丝束挡住光线形成暗影暗影的宽度就是丝束的直径。背光成像对比度高边缘清晰测量直径最准。这里要用平行度好的面光源或线光源LED板加一层匀光板让背景亮度均匀否则丝束在视野不同位置时因为背景亮度不一致阈值分割出来的边缘就会偏移直径测量就带系统误差。毛丝、油污、并丝这类表面缺陷背光就不行了得改成正面光或暗场照明。正面光用于看清丝束表面的颜色和纹理比如油污、黄斑、上油不匀这类灰度差异明显的缺陷暗场照明则是让低角度的光掠过丝束表面一旦有毛丝或杂质产生了散射光相机就会看到一个亮点背景则是黑的这种照明方式对毛丝极其灵敏。我们实际用了正面光和暗场光的组合分路同时照让算法可以同时提取两类特征大大提升了毛丝检出的召回率。打光这块的教训太多了。第一光源一定要加匀光罩不然LED灯珠的颗粒感会直接做成背景噪声第二光源的色温和显色指数要尽量稳定色温漂移会导致图像灰度漂移影响所有基于灰度的算法第三光源要选工业级能连续工作几万小时的我在项目里吃过廉价光源的亏用了一个月就开始光衰灰度标定全变只能重新校准。现场预算是省不得的。2.3 同步触发与现场安装细节高速运动的丝束相机曝光必须和丝束位置严格同步否则图像纵向尺寸就不稳定。我们用编码器安装在导丝辊的转轴上丝束每走固定距离发出一个脉冲触发相机采一行走多少距离触发一行由编码器脉冲数和丝束在导丝辊上的接触弧长计算。这样丝束时快时慢图像纵向比例始终不变缺陷的纵向长度测量和模型识别都不受影响。现场安装的一个大坑是振动。车间里的卷绕机和风机都在震如果相机、光源和丝束不在同一个刚性基础上相互之间相对抖一下图像里的丝束就会“漂移”边缘定位就出问题。我们的解决办法是做一个独立的龙门支架把所有光学件固定在一个整体框架上再用减振垫和地面隔开。丝束本身也要用导丝瓷件或导丝钩把它限制在固定的检测窗口里减小横向摆动。这个细节如果不做好后续算法做的再漂亮也白搭。还有防尘防护。化纤车间里面有飞絮、有油雾相机透镜上落一层灰或者油膜图像就发灰发花。我们的方案是给相机和光源单独做密封防尘罩窗口用光学玻璃玻璃前方加一路压缩空气形成气幕持续吹扫防止飞絮附着。这个气幕的处理要小心气流不能直吹丝束否则会把丝束吹偏、增加断头风险要加导向片让气流贴着玻璃表面走。3. 检测算法设计与模型训练3.1 缺陷分类体系与识别难点算法设计的第一步不是写代码而是建立缺陷分类体系。这个体系直接决定了数据标注的标准、模型输出的含义以及后续对现场工程师的业务价值。我们的分类表最初只有四大类毛丝、粗节、细节、油污后来现场跑出更多样本逐步扩展成七大类下面把每一类的成因、表现形式和检测难度做个对照。缺陷类型典型成因图像表现形式检测难度毛丝单丝断裂、摩擦损伤丝束边缘毛刺状突起或飘丝中粗节纺速波动、计量泵供量不稳丝束局部直径明显变粗低细节拉伸时局部过速丝束局部直径变细低油污丝设备漏油、操作污染灰度异常暗斑或亮斑中黄斑热降解、停留时间过长局部黄褐色灰度异常中并丝丝束粘连、上油不良多条单丝黏合成片高飞花杂质车间飞絮、原料杂质随机形态异物高识别难度的差异其实很大。粗节、细节本质是直径突变边缘测量就能抓到传统算法就够了。毛丝和并丝麻烦是因为它们形态多样毛丝有单根翘起、多根缠绕、长飘丝等多种形态并丝有时候只是两根丝黏了一小段在图像上就是一条极细的暗缝不用高倍图像很难看出来。飞花杂质更是随机大小、颜色、透明度都没有规律只能靠深度学习分类器从大量样本里学。另一个难点是细旦丝的低对比度问题。比如几十旦的细丝直径细、透明度高在背光下剪影很淡边缘模糊而在正面光下透明丝对光的散射很复杂同一个缺陷在不同角度下成像差异很大。所以我们索性不追求一种照明看清所有缺陷而是用多路照明采集多组信号让不同的算法各取所需。3.2 传统图像处理与深度学习怎么配合很多人做视觉检测一上来就堆神经网络其实是不划算的。管用的系统都是把传统图像处理和深度学习按各自擅长的领域分工这套系统里我做了明确的划分。直径测量、粗节细节定位、边缘上的毛丝检测这类几何尺寸型判别全部用传统算法。具体流程是先用中值滤波去噪平场校正消除背景不均然后做差分提取丝束区域再用亚像素边缘定位求出丝束上下边缘的距离得到逐帧直径对直径序列做平滑后和基准值比较超过阈值就标记为粗节或细节。这些算法计算量小、可解释性强、参数直观现场工程师能理解出了问题也好调。而油污、黄斑、并丝、飞花杂质这类外观纹理型缺陷传统算法就力不从心了交给深度学习分类网络做。我们的做法是传统算法先把整幅长条图像切分成固定大小的patch快速筛掉绝大多数正常patch只有被标记为“疑似”的patch才送进深度模型做精细分类。这个“传统初筛加深度学习精判”的两级架构把海量图像中真正需要深度学习处理的量压到极小GPU负载轻推理延迟也能控得住整体算力需求下降了不止一个数量级。这里有一个很重要的认知深度学习不是万能它最怕的就是样本稀疏、场景多变。传统算法负责稳定地干粗活深度学习负责聪明地干细活两者强强配合远比单用一种方案靠谱。3.3 数据集采集、标注与增强数据集是整个项目最容易拖后腿的环节必须花大力气。化纤丝束的缺陷是长尾分布毛丝、粗节常见黄斑、并丝本来就少要想让模型把所有类别都学会就得想尽办法收集样本。我们下载了客户过去一年质检记录里被判降等的丝饼照片又专门把产线上检出可疑缺陷的丝段手工裁下来做离线显微拍照足足攒了几个月才凑出可用的初始数据集。为了提升覆盖度我们还做过“缺陷复现”实验在纺丝箱体温度异常时连续采集得到一批黄斑样本在卷绕张力异常时采集并丝样本。这个过程要和生产部门协调好不能影响正常生产我们都是挑检修、调试的时间段做。标注工作用的是开源标注工具画框、标类别三个人标了几周才完成第一版。标注规范必须写的特别细毛丝的框要包含根部和翘起部分不能只框一个毛尖并丝的框要覆盖粘连段整体对面积小于某个阈值的疑似缺陷不标避免噪声。标注规范不一致后面模型训练出来一定乱。样本增强是解决样本少的关键手段。除了常规的随机翻转、旋转、裁剪、加噪声我们还用了亮度随机扰动、背景纹理替换、模糊模拟甚至用“贴图合成”的方式把缺陷小图随机贴到正常丝束图像上生成大量标注样本。贴图时要加上相应的光照渐变和轻微形变否则模型会学到“贴上去的边缘”这种假特征现场检测就露馅了。3.4 模型选型、训练与调参深度学习模型的选择我走了一圈下来核心结论是在工业检测场景精度不是唯一指标推理速度、部署成本、可维护性同样重要。第一版我们用了两阶段检测网络精度确实高但推理速度压不下来现场一条线四五个相机GPU还被拖得发热后来换成一阶段检测网络速度和精度达到了平衡点。再后来又发现实际缺陷在patch里多半是“一个patch一种缺陷”比如油污、黄斑本质更像图像分类问题于是我们给部分缺陷单独训练了轻量分类网络速度更快、召回率也不差。训练过程中最棘手的不是模型结构而是类别不平衡。毛丝和粗节的样本几百上千张黄斑只有四十几张模型学出来对黄斑就是“欠采样”状态。解决办法是综合运用三重手段对少数类别加大采样权重、让每个batch里强制包含少数类样本、损失函数里对少数类加大惩罚系数。同时在线增强专门针对少数类别加码补丁式增加它们的变形样本。调参方面有两条实测经验。第一学习率的策略很关键我们用了余弦退火比固定学习率收敛稳最终精度高了几个百分点第二推理时候的置信度阈值不是拍脑袋定的要根据现场客户能接受的误报率和漏报率来拉ROC曲线选点这个阈值每个缺陷类别可以不同毛丝要求召回高置信度阈值就调低油污要求误报少阈值就调高。这个差异化阈值策略是我们和客户反复打磨后确定下来的也是系统能真正被产线接受的关键因素。4. 软件系统实现与线上部署4.1 软件架构与模块划分软件系统如果只做成“调库跑图”的demo根本撑不住7乘24小时的工业运行。我们的软件按三层模块拆开采集模块、算法模块、业务模块彼此通过标准接口通信互不干扰。采集模块跑在工控机上负责相机驱动、编码器触发、图像传输把线阵相机采到的原始图像流按帧缓存在内存环形队列里。算法模块从队列里取帧一组CPU线程做传统算法初筛一组GPU进程做深度模型推理。业务模块跑在服务器上负责和数据库、MES系统对接把检测结果按锭位、时间、缺陷类型写入数据库生成报表并通过界面实时展示报警。这里特别想提醒一点内存队列和消息队列的设计要提前想清楚。图像数据量极大一条8K线阵相机一小时能产生几十GB数据绝不能全部落盘再处理必须采用流水线式的流式处理。我们开始时忽略了这点直接把原图存盘再做离线分析结果磁盘两小时就写满了产线不得不停。后来改成只在内存中保留待处理的短队列缺陷证据图才落盘问题彻底解决。上线后团队内部复盘都觉得这个教训买得太值。4.2 检测流程与数据流设计一条图像数据从相机到最终判定结果完整经过的路径是这样相机被编码器触发采到一行行像素拼成一帧长条形图像采集模块把图像送入环形队列传统算法线程从队列取图先做ROI裁剪再做平场校正、中值滤波去噪然后做差分分割和亚像素边缘检测得到直径序列并同时标出疑似缺陷patch的坐标疑似patch打包后送进GPU推理进程用深度学习模型分类输出缺陷类别和置信度业务模块把结果组装成带时间戳、锭位号、缺陷框的记录写入数据库并实时刷新界面。关键的设计决策是“证据留痕”。每次检测到缺陷系统不仅记录文字结果还要把缺陷patch的原图裁剪、模型输出的置信度、参数阈值都存下来。这样现场工程师抽查的时候可以点开历史记录直接看到当时抓到了什么是误报还是真缺陷一目了然。数据留痕的价值在初期调优阶段比任何报表都管用因为我们能从大量误报样本里反推出阈值该怎么调整。伪代码式的预处理管线大概是这样的def process_frame(img, flat_field, roi): # 1. 裁剪出丝束经过的ROI区域 img img[roi[0]:roi[1], :] # 2. 平场校正消除光源不均造成的背景灰度漂移 img (img.astype(np.float32) * flat_field) # 3. 中值滤波去噪去掉传感器噪声和微小飞絮 img cv2.medianBlur(img, 3) # 4. 与背景模型差分提取丝束区域 diff cv2.absdiff(img, background_model) # 5. 自适应阈值分割得到丝束二值掩膜 mask cv2.adaptiveThreshold(diff, 255, ...) # 6. 边缘定位、直径计算、候选patch提取 return diameter_seq, candidate_patches这里有一个实际现场养成的习惯任何对图像质量的改动比如调了光源亮度、换了滤光片都要同步更新平场校正的基准数据否则灰度漂移会传导到所有下游算法出现系统性的误报。我们在软件里专门做了一个“灰度标定”功能现场工程师换完光源点一下系统自动采集基准并更新参数避免人为失误。4.3 推理性能与实时性优化化纤产线速度很快对实时性要求很高。我们的第一工位每分钟要处理几万行的线扫图像换算成patch数量相当于每秒要处理几十上百个检测patch。如果不做性能优化深度学习推理根本来不及处理速度跟不上产线速度就会出现漏检那就比不装系统还严重。性能优化的思路是双管齐下。算法层面“传统初筛大幅降量”。大部分patch是正常的传统算法判定置信度极高的话直接放行只有疑似patch才送深度学习这一下把深度学习推理量砍掉了八成以上。工程层面把推理任务做了多进程并发输入批量化batch把多个patch拼成一个批次送GPU。GPU的吞吐量在实际部署中比单张推理提高了数倍而延时的增加微乎其微完全满足现场节拍。我们还对模型做了定点化推理把网络从浮点精度压到半精度显存占用和推理时间同时下降效果非常明显。另外界面和算法的解耦也很重要。检测算法绝不能因为界面刷新、报表生成而卡顿UI线程和算法线程彻底分离算法线程永远优先占用CPU和GPU资源界面只是被动接收结果。4.4 产线联动、报警与数据追溯系统不是检测完就完事还要“管得住”。我们给每个锭位配置了独立的报警逻辑当毛丝缺陷密度超过阈值系统向PLC发出该锭位的报警信号提示挡车工去处理当连续多个报警出现说明比较严重PLC自动把该卷绕头切停或降速所有报警记录同步推送给车间管理看板班组长手机上也能收到消息。产线联动这块现场调试时最费劲的是通信协议对接。PLC厂家常用的协议有好几种不同设备可能还不一样我们花了不少时间做协议解析和地址映射表把视觉系统的报警信号映射到PLC寄存器。这个映射表写得很细锭位号、缺陷类型、缺陷数、报警等级、时间戳一一对应避免联调时搞错位。值得庆幸的是大概一个多月后整个联动链路稳定下来误触发也降下去了。数据追溯部分的实现反而简单些数据库里按班次、锭位、品种汇总缺陷统计生成质量报表供工艺人员和品质部门做趋势分析。5. 常见问题与排查实录5.1 误检和漏检怎么平衡误检和漏检在视觉检测系统里是一对天然矛盾阈值调严了漏检少了误报就多阈值调松误报少了漏检又上来了。现场最不能接受的事情是系统频繁报警但挡车工过去一看啥也没有两三次下来现场就没人信系统了报警形同虚设。我们的解法是把报警分成多个等级。轻微预警级别的比如少量毛丝或可疑阴影只记录不报警后台积累数据中等级别的比如毛丝数量超标才推送到挡车工终端严重级别的比如连续粗节、大面积并丝才切停设备。这样系统不会因为鸡毛蒜皮的小事打扰现场而真正的大事一个也跑不掉。另一个关键技巧是结合上下文做判断。单个patch里的可疑点可能是噪声但连续多帧在同一锭位、同一横向位置反复出现同样的可疑点那就大概率是真缺陷。我们用帧间一致性判定把这个逻辑写了进去误报率瞬间降下来一大截。这一招在很多文献里不会写但实际效果极好。5.2 图像质量不稳定怎么办图像质量是视觉系统的命根子现场跑一段时间后图像变差是最常见的故障类别。我们遇到过的典型问题包括光源光衰导致整体变暗、镜头表面蒙上油膜导致图像发灰、丝束抖动导致边缘模糊、滤光片松动导致颜色偏移。这些问题不解决再好的算法都会出幺蛾子。最早踩的坑是光源光衰。便宜的LED光源宣称几万小时寿命实际用了一个多月亮度掉了一大截系统开始大面积误报。排查半天才发现不是算法问题是光源不行。后来全部换成工业级光源情况立刻好转。这件事带给我的启示是在工业环境里耗材类的选型性价比一定要为稳定性让路。镜头和玻璃窗口的清洁也是大问题。我们规定每周清洗一次窗口玻璃每天记录图像的灰度均值和标准差一旦发现均值和标差偏离基准范围超过一定比例系统自动在界面提示“成像异常请检查镜头”。这就是把“图像质量巡检”从人工经验变成了系统自检省了很多事。5.3 长时间运行掉链子的问题系统连续跑了几周后出现了一些只有长时间运行才会暴露的问题。一是内存泄漏一开始系统连续运行三四天后内存占用从2GB慢慢涨到8GB再往上涨就会崩。排查发现是采集模块的环形队列在极端情况下没有及时释放消费完毕的帧。解决的思路就是给队列加了一个水位监控超过高水位强制丢弃最旧的帧再把被丢弃的帧数记录进日志方便回溯。二是显卡温度过高导致推理速度下降。车间环境温度高GPU在封闭工控机里跑满载温度冲到九十度后性能大幅下降检测节拍就绷不住了。后来给工控机加了加强风道和空调风口温度压到七十度左右推理速度稳定下来。工业现场的散热问题如果不在部署阶段就规划好后面一定返工。三是零点漂移。电子器件长时间工作后相机曝光响应会发生缓慢漂移导致灰度整体偏移。我们靠之前说的灰度自检功能和定期平场校正来兜底。现在已经养成了一个习惯每次停车检修顺手做一遍灰度基准标定五分钟的事情能避免后面一整周的误报困扰。5.4 现场最容易忽视的细节清单讲几个容易被忽视、但影响极大的现场细节相机、光源、丝束三者的相对位置一定要用机械定位销固定不能靠调来调去否则换一次维护后位置就变了。线缆走线要远离变频器和电机电缆电磁干扰会导致图像上出现横条纹这条我们花了很久才排查出来最后是把信号线全部换成屏蔽线才解决。车间里温湿度变化大镜头和玻璃窗口会起雾光学罩内要加湿度吸收措施必要时加一个小的加热片。备用相机和光源一定要有库存视觉系统是单点设备坏一个部件整条检测就停摆现场必须备件齐全。现场部署的坑很多时候不是技术难度高而是“不显眼”。每一件小事都像木桶的一块短板漏出去的水常常是从最短的那块走的。6. 项目复盘与个人体会这个项目从立项到稳定运行前后花了近一年。我复盘下来最深的体会是视觉检测系统的复杂度七分在线下三分在算法。光学设计、机械安装、产线联动、现场调试这些看起来不那么“高级”的部分恰恰决定了系统能不能活下来。算法模型的提升是锦上添花但光学和部署的底子做不好再漂亮的模型也是空中楼阁。还有一点是关于团队协作的。做这个系统光靠算法工程师不行必须有熟悉工艺的人、熟悉设备的人、能跟客户车间师傅打成一片的人一起干。我们很多关键的缺陷样本都是车间师傅提醒我们“哪台机这几天不对劲你去守着”才收集到的。跟现场的人把关系处好比什么都管用。如果回头再做一遍我会在项目一开始就花更大精力把数据采集的自动化做起来让系统在运行过程中自动留存“难例样本”定期回流到训练集里做增量训练。这个闭环如果跑通系统会越用越准这才是我认为的工业视觉真正的未来形态。这次的系统已经留了这扇门希望后续能把它彻底打通。