ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

工业视觉检测实战指南:原理、场景与避坑经验

工业视觉检测实战指南:原理、场景与避坑经验 在消费电子代工厂待过的人大概都见过这样的场景质检车间里摆着十几张台桌每张桌子坐一位拿放大镜或小卡尺的检查员面前是流水线不停送过来的零件一天要看几千个。一个螺丝孔锁付不到位没看出来、一道细微划伤漏过去轻则返工重则整批退货。我前几年帮客户做产线自动化改造时老板上来就问了一句很实在的话工业视觉检测这东西到底能替人工做多少事能不能把我这些质检员慢慢减下来这句话背后的需求几乎是所有制造企业现在都在琢磨的事。招人难、用人贵、盯不住是普遍痛点。工业视觉检测说白了就是给机器装上“眼睛”和“大脑”让它在生产线上代替人去看、去量、去判断。它确实能替代其中相当一部分工作但能替代到几成、替代到什么程度很大程度上取决于你对它的理解以及对产线实际情况的把握。这几年我在这块趟了不少水踩过一些坑也总结了一些能直接用的经验这篇就当是给同样在调研这个方向的朋友做个参考。1. 先用大白话拆解它到底是怎么“替人干活”的很多人第一次接触工业视觉检测容易被一堆名词绕晕工业相机、CCD、CMOS、深度学习、语义分割、Blob分析……其实往透了说它干的事情和人质检员干的事情非常像区别只在于用镜头代替眼睛用算法代替大脑。1.1 一套视觉系统本质上就是“眼睛”加“大脑”先拆硬件部分。最核心的部件是工业相机它负责拍照。但工业场景用的相机和手机摄像头差别很大手机相机追求的是拍得好看、颜色鲜艳工业相机追求的是拍得准、拍得快、不拖影。比如检测一颗直径只有两毫米的微小电子元件你需要的是一台高分辨率全局快门相机配合一颗合适倍率的工业镜头再加上一套专门为检测目标设计的光源。光源在整个系统里的地位经常被外行低估但它往往决定了一个项目成不成。光源的作用不是把画面照亮那么简单它是为了把你要检测的特征和背景的对比度拉到最大。比如要检测金属表面的划痕直射光一打上去全是反光什么都看不出来换成低角度环形光或者同轴光划痕一下就显出来了。这就跟人用验钞灯照钞票一个道理选对了“灯”信息才浮现得出来。然后是“大脑”部分。传统视觉算法负责测量、定位、计数这类有明确几何逻辑的任务比如一个零件的尺寸是否在公差范围内、一个电池极片有没有对齐。而深度学习算法更适合外观缺陷判断比如划伤、压伤、脏污、缺料这类缺陷没有固定的几何模式更像人“看一眼觉得不顺畅”的感觉。简单概括传统算法是精确的尺子深度学习是聪明的眼睛。1.2 制造业为什么急着把目光投向这里不是制造业急着是它被反向推着走。新一代的年轻人越来越不愿意进工厂坐三个月流水线去翻看一个零件招一个愿意长期做质检的人越来越难。即便招来了人眼本身也有物理极限一个人连续工作几小时后注意力会断崖式下跌。我见过真实的漏检案例一个检查员一天看七千多个产品后半夜困得不行一箱有问题的货就这么流到客户端被索赔了几十万。人的另一个问题是“标准不稳定”。同一个缺陷白班的张师傅说该判NG夜班的李师傅看了一眼说没啥问题两个人都没错但标准不统一就是错。机器不一样今天判断为不合格的标准明天、后天、大后天依然一模一样不会受心情和体力影响。此外视觉系统每一条检测结果都能留档形成数据报表哪个批次、哪台机、哪个时段不良率高一查就知道这种数据资产也是人工质检完全给不了的。2. 哪些活它能真替哪些能干到八九分核心场景全拆解从实际应用来看工业视觉检测能替的活已经覆盖了很多行业。下面按场景拆开说每个场景我都会讲清楚原先是人怎么干的、机器怎么干、能替代到什么程度有哪些坑。2.1 外观缺陷检测最考验算法的战场外观检测是视觉检测里需求最多、难度也最大的方向覆盖3C电子、锂电池、家电、汽车零部件等几乎所有的制造行业。产品表面的划伤、脏污、缺料、毛刺、气泡、压伤、色差以前全凭肉眼一个个看。但人眼的极限摆在那儿一个五毫米见方的芯片引脚划痕正常人肉眼根本很难稳定发现。这活用人来干一个月下来眼睛都练成“火眼金睛”了但漏检率依然很难压下来。机器做这件事逻辑上分两步。第一步是成像用合适的光源把缺陷“照亮”第二步是识别用算法把缺陷从背景中分离出来。识别这一块深度学习的成熟让检测能力往前跨了一大步。以前用传统图像处理只能靠灰阶阈值找明显黑点、白点遇到模棱两可的情况很容易误判。现在用卷积神经网络做缺陷分类和分割把几百张标注好的缺陷图丢进去训练一轮模型就能学会区分哪些痕迹是缺陷、哪些是纹理。不过外观缺陷检测是“替代”最多的但也是最容易翻车的。比如有些产品本身有自然纹理就像天然大理石纹理和划伤在图像上长得差不多机器很容易把纹理当缺陷杀导致过杀率居高不下。实际落地时这类项目往往需要大量的样本和反复调优完全不是买个相机跑个模型就能交差的。2.2 高精度尺寸测量人工卡尺的终结者尺寸测量是所有视觉检测场景里最“稳”的一类。以前工厂是靠什么量尺寸卡尺、千分尺、塞规效率低不说量一个孔位还要手工记录数据测完还得誊写到Excel里。偶尔换个新人来量手劲不一样测量结果都有偏差。机器视觉做尺寸测量的原理简单讲就是把被测物体拍照通过标定把像素距离换算成实际物理距离然后测量边缘之间的距离。目前商用的视觉测量系统配合远心镜头在几毫米到几十毫米的视野范围内重复测量精度能做到正负微米级。这个水平已经远超人手的稳定性。举个例子一个汽车连接器端子的关键PIN针间距公差要求是正负0.03毫米。人工用投影仪或二次元测量仪抽检一个件要好几秒而且只能抽检。视觉系统装在产线上零件流过来自动拍一张几十毫秒算完全检每一个件的数据都被记录下来。公差外直接报警还能自动生成SPC过程能力分析报告。这就是替人工替得最彻底的一类因为它本身就是规则明确、可量化、重复性极高的工作。这里要补一句所谓视觉测量精度不是只看相机分辨率还受镜头畸变、光源稳定性、安装振动、标定精度共同影响。实际项目里标定板用的材质、贴在什么位置、环境温度变化都会对最终重复精度产生肉眼可见的影响。这块后面实操部分我再细说。2.3 装配定位与引导让机器人和机械臂长眼睛第三种常见场景是视觉定位引导本质上解决的是“机器不知道东西在哪”的问题。以前产线上机械臂做抓取、装配靠的是治具把零件卡在一个固定位置。但很多来料本身摆放就有偏差或者来料在传送带上位置随机这时候机械臂没有视觉就只能瞎抓。人工在旁边做的话其实就是用眼睛看然后手动摆正位置再做装配。视觉引导做的事情就是把这双眼睛给到机械臂。相机拍下零件当前的位置计算它和标准位置的坐标偏差然后把偏移量发给机器人控制器引导机器人调整姿态去抓取或装配。最常见的应用包括流水线上的无序抓取、PCB板对位贴合、屏幕组装间隙检测等。这类应用里最关键的工程环节是“手眼标定”就是建立相机坐标和机器人坐标之间的换算关系。标定做得好不好直接决定了引导精度。很多项目在实验室跑得挺好一上产线精度就飘十有八九是标定时没考虑到产线的振动和机器人自身绝对定位误差。实话实说视觉引导替代的不仅是人工的“看”还替代了人工“调整姿态”的动作所以它带来的工位减员效果往往更明显一台带视觉引导的六轴机器人可以连续工作两个班次不需要休息不需要“换人顶一下”。2.4 字符识别和一二维码追溯给每个产品发“身份证”最后聊一个很多人觉得不起眼、但实际需求特别强的场景字符识别和读码。产品上印的生产日期、批次号、序列号零配件上的DPM码直接零件标识码以前靠人拿扫描枪一个个扫。但扫枪扫不上、字符印刷模糊、位置偏移这些情况靠人处理会拖慢节拍而且信息一旦录错就影响整个批次追溯。视觉读码和OCR光学字符识别系统可以做到产线高速运行状态下实时识别几千个字符哪怕字符被轻微脏污覆盖、光照不均、底色复杂算法也能靠增强和识别模型把它读出来。配合数据库系统每一件产品的生产时间、原料批次、工序参数全部汇总到一个唯一编码下一旦终端反馈质量问题可以几分钟内追溯到具体机台和原料批次。这套追溯能力人眼扫描是给不了的。我接触过一家做医疗器械的客户法规要求每件产品必须有UDI码并且可追溯纯靠人工扫码录入不仅效率低错录率还一直降不下来。后来上了在线读码系统读码率从人工的不到95%提升到99.9%以上错录问题基本归零。这就是典型的“不是机器替代人眼而是机器做到了人做不到的事”。3. 真刀真枪的上线流程一个视觉项目到底怎么落地很多人以为视觉检测落地就是买一套现成的“智能相机”接到产线上就能跑。实际远没有那么简单。一个靠谱的视觉项目从评估到正式量产走的是一套完整的工程流程每一步都有明显的坑。3.1 先算账再做实验关键选型参数应该怎么定第一步是先判断项目可行性把需求变成参数。核心问题是三个检测什么、检测精度要求多少、产线节拍是多少。这三个问题决定了你选什么相机、什么镜头、什么光源。我举个例子。假设要检测一个宽度10毫米的零件最小缺陷要求是0.05毫米那么视野按15毫米留出余量算像素精度至少要做到0.05毫米以下也就是视野方向至少需要15/0.05300像素。但实际选型至少要留3到5倍余量因为还要考虑镜头畸变、安装振动、算法亚像素误差等因素所以最少要选1200像素宽以上的相机也就是200万像素级别。如果实际产线节拍很快比如每分钟检测300个产品每秒就是5个那还要考虑相机的帧率和曝光时间相机每秒至少要能连续拍5张通常还会选更高帧率的相机留余量同时曝光时间要短到能在产品移动时拍出清晰不拖影的图像一般控制在几百微秒到1毫秒以内。镜头和目标距离也有关。焦距决定工作距离远距离装相机就用长焦空间受限就用短焦。如果对畸变特别敏感尺寸测量类项目建议用远心镜头它的成像原理保证了边缘轮廓不随物体高度变化而放大缩小几乎无透视误差。不要省这个钱普通镜头做测量畸变校正是非常痛苦的一件事。光源选型同样很重要不同材质、不同颜色、不同缺陷类型对应的打光方案差异非常大实际项目里投入在打光调试上的时间往往比算法还多。常见经验是检测高反光金属表面选低角度光或同轴光透明玻璃内部缺陷用背光源打透射彩色对象想增强对比度尽量用和对象本身颜色互补的光源比如绿色PCB板用红色光对比度会一下拉高。选型的核心原则就是参数要留余量不能按理论最低值选。一套视觉系统的精度是在源头“设计”出来的不是上线后靠算法“修”出来的。3.2 打光调光这个环节决定了项目的生死打光是视觉项目里最被低估、实际影响最大的一环可以说项目的成败一半在打光。很多人上来就急着跑算法结果图片拍得一塌糊涂后面所有工作都是无用功。打光调光的核心目的就一句话把待测特征和背景拉开得足够大。比如塑料件上的黑色脏污如果用普通白光从上方直射脏污和塑料本身的暗色差异很小算法很难分。但把光源角度压得很低让光线从侧面斜射有凹凸的脏污会因为阴影变得非常明显。再比如锂电池表面的极细微划痕必须用带特定角度的环形光利用金属表面对光线的反射特性才能让它“显形”。这就像晚上开车远光灯直射会刺眼看不清路面但侧面的路灯反而能把坑洼照得很清楚。实践经验是打光调光阶段至少预留项目周期的两到三成时间。多试几种光源角度、高度、颜色记录下每种组合的成像效果再做判断。很多时候问题解决不了不是算法不行而是你根本没给算法一张“能看出问题”的图。另外光源的稳定性也很重要大功率光源用久了会衰减亮度变了识别效果就会飘。有条件就选恒流驱动的光源控制器并定期校准亮度否则上线三个月后精度悄悄下降排查够你喝一壶。3.3 从“看得见”到“认得准”数据、标注与模型迭代打光解决了“看得见”下一步是“认得准”。如果是纯传统算法项目这一步主要是调参数如果用了深度学习这一步的核心就变成了数据和标注。很多团队对深度学习有个误解觉得丢给算法几百张图就能解决一切。实际一个外观检测项目稳定的模型往往需要几千张甚至上万张样张而且要做到正负样本都覆盖充分。负样本里不只是缺陷类型要多还要覆盖同一种缺陷在不同位置、不同角度、不同光照下的形态不然模型只会记住你给它的那几张图换个位置就认不出来了。标注同样不能马虎。缺陷检测的标注有几种方式整图分类、目标框、像素级分割。整图分类最省事但信息量也最少适合只需要判断“有/没有”的简单场景。目标框是画个矩形把缺陷框出来适合需要定位的场合。像素级分割是拿“画笔”把缺陷区域一点一点涂出来最精确也最费人力。我做过一个极片表面缺陷的项目光是像素级标注就花了一个人两星期。如果预算允许建议优先选有标注工具和人员管理功能的软件平台否则光管理几千张标注图就能让你崩溃。模型训练完成后评估是又一个关键环节。别只看准确率要看漏检率和过杀率。漏检率是缺陷产品被误判为良品的比例过杀率是良品被误判为缺陷品的比例。这两个指标存在互斥关系你压漏检率过杀率往往会抬头实际项目中需要在客户能接受的范围内找平衡点通常建议先保漏检率再优化过杀率因为漏检出去的问题会流到客户端后果更严重而过杀顶多是厂内返工。3.4 打通产线最后一公里通信、节拍与自动化联动视觉系统识别出结果不等于任务完成。你得把结果用起来否则机器看了也是白看。这就需要和产线的自动化控制系统打通手段包括IO信号、TCP/IP协议、串口通信等。最常见的流程是传感器触发相机拍照相机拍完后把图片传给工控机算法处理完把结果通过IO信号发给PLC或剔除机构同步通过网口把图片和数据存到数据库。任何一个环节断掉整个系统就卡住。触发方式里面有个容易忽略的细节。产线上的传感器信号触发相机拍照触发信号如果存在抖动或延迟拍出来的图片位置就会偏差导致检测区域对不齐。稳妥的做法是加一个PLC或者直接用带锁存功能的触发控制器同时标定时固定好触发时机保证每次拍照时产品都停在视野里的同一位置。很多项目刚开始误检率高后来发现不是算法的问题是每次拍到的图位置都不一样。节拍也是硬约束。有一次我遇到一个现场客户要求单个产品检测时间不能超过1.2秒但当时的方案光算法就要跑1.5秒还不用说通讯的时间。最后只能把算法拆开先用一个快速算法筛掉90%的明显良品再对剩余10%的疑似缺陷跑更精细的模型才把节拍压下来。这类“二级检测”策略在实际部署中很常用核心思想就是不要所有产品都用最重的算法要分级处理给大多数产品一条快速通道。4. 替人工到底值不值投资回报比怎么算技术上是另一回事“值不值”最终还得落到账本上。很多老板对视觉系统的成本认知还停留在“买台相机几千块”的阶段真到了报价环节发现一套系统从几万到几十万都有第一反应往往是“这么贵”。但算清楚经济账之后答案会清晰很多。4.1 算一笔账一条产线替代人工的经济模型我们拿一个具体的场景来算。假设一条中型装配线上有5个外观质检工位每人月薪6000元含社保、福利等企业支出通常还要乘以1.3到1.5的系数单人工位年综合成本大约10万左右5个工位就是50万。如果引入一套视觉检测系统初期硬件、软件、集成、调试费用按30万来算日常维护和算法优化按每年5万来计算硬件设备按5年折旧分摊一年成本差不多是30/5511万。这样算下来一年节省的人工成本约39万不到一年就收回投资。如果产线需求更复杂、设备更贵回本周期也就一年多两年相比大多数设备类投资这个账已经很好看了。但要注意账不能只算替代下来的工资。还有一项隐性收益是效率提升。视觉系统可以做全检人工质检一般只能抽检很多缺陷是抽检永远抓不到的。客户因为漏检被索赔一次的金额可能就顶设备好几年的运维费用。另外机器可以三班倒连续运行不需要加班费不需要休假这部分产能提升同样要算进回报里。4.2 别被“99%准确率”忽悠三个关键指标要看懂聊视觉检测的人特别是一些设备厂商喜欢宣传“准确率99%”。这个数字其实很容易误导人。真正要问清楚的是三个指标漏检率、过杀率和直通率。漏检率就是有缺陷但被判成良品的比例这是制造业最关心的指标因为漏检意味着不良品流到客户端。过杀率是良品被判成不良品的比例过杀太多会导致产线频繁停机排查生产效率急剧下降。直通率则是指一次性通过检测的比例它反映的是整个系统加产线工艺的稳定性。举个例子一台设备的算法准确率99.5%听起来很高但如果产线上的良品率本身是98%过杀率哪怕只有2%完好的产品因为误杀被淘汰的比例也不小。你得问清楚这99.5%是在什么样本集上算的是整个生产周期还是单次测试我在客户现场最常做的一件事就是把设备的检测报表和历史不良记录拉出来对比看漏检率和过杀率的真实数字。只宣传准确率、不给详细分类统计的供应商项目上线后大概率会出问题。采购方在和设备商对接时建议把漏检率、过杀率、UPH作为验收条款写进合同里明确算法评估用的样本集构成省得后期扯皮。4.3 哪些事情现阶段机器还替不了聊“替多少”也得说清楚“替不了”的部分。有些工作不是视觉检测目前能妥善解决的硬上项目反而会得不偿失。一类是需要触觉和多模态感知的检测。例如判断一个密封圈的弹性是否合格或者检查一个卡扣装配是否卡到位这需要施加压力、感知反馈单靠视觉看外观很难判断。二类是检测标准高度主观的场景比如某些消费品的“外观美观度”设计师觉得好看的客户觉得好看但让机器量化“好看”就非常困难即使勉强建模标准也经常变来变去。三类是极端复杂背景下的缺陷判断比如高反光曲面、表面纹理极其复杂的对象视觉系统要么好不容易拍清楚、要么算法过杀严重落地难度很大。给我的感觉是视觉检测更像一个“能处理大量重复性工作的优秀员工”而不是全能的超人。它适合规则的、重复的、有明确量化标准的检测场景不适合处理含糊的、主观的、需要综合判断的任务。所以实际工厂场景里最后往往是人机配合的质检体系机器做全检、做硬性标准的判断人做复判、处理疑难杂症。短期内完全替代人工是不现实的但可以做到让同样数量的人产出两三倍的质检效率。5. 落地避坑实录这些年踩过的典型问题前面讲的偏方法论这里分享一些具体的现场问题和解决思路都是实际项目中反复踩过的坑提前知道能帮你省下大量时间和预算。5.1 反光件、透明件、深色件打光怎么应对反光件比如镜面金属、电镀件用普通光源拍照会形成大面积过曝缺陷全被亮光淹没。我的处理方案一般是改用低角度光或同轴光同时加偏振片滤掉镜面反射只保留漫反射信息。透明件比如玻璃瓶、塑料托盘直接打光容易产生重影和反光更适合用背光源形成黑白分明的轮廓剪影检测内部异物或气泡时再加一束侧光补细节。深色件比如黑色的橡胶圈、碳纤维板吸收光线严重需要亮度更高的光源并且考虑通过颜色对比提升细节例如深色塑料上用蓝色光因为蓝色波长较短在深色材料上的散射更强容易把微小纹理呈现出来。5.2 样本不均衡与长尾缺陷模型崩溃的元凶AI外观检测项目里最头疼的问题是样品分布不均衡。产线上常见缺陷就那么四五种但偶尔会冒出一个“从来没见过的怪缺陷”这种长尾缺陷恰恰是客户最在意的因为它在现场出现得少一旦出现往往意味着工艺出了问题。如果训练样本里只见过五种常见缺陷模型遇到第六种异常时就很可能把它判为正常造成漏检。应对方法有三条一是在打样阶段尽量收集足够多的缺陷样本哪怕有些缺陷出现频率很低也要想尽办法找回来。二是模型训练时对常见缺陷做过采样对长尾缺陷做数据增强比如旋转、缩放、亮度变化人为扩充样本量。三是保留一个人的复判环节让系统把置信度不高的“疑似缺陷”图片输出到复核工位由人快速确认如果发现出现了新类型缺陷就把这个新样本加进训练集里通过定期增量学习保持模型的识别能力。5.3 上线前好好的量产后精度越来越差这是最让工程师头疼的问题之一。实验室里测试了几千张样张识别准确率都很稳定结果设备到了现场跑了两个月漏检率突然往上走。排查之后发现原因往往不在算法而在环境变化。光源衰减是最常见的元凶大功率LED使用两三个月后亮度会明显下降原本对比度足够的图像变得灰度变低导致算法失效。产线上新增的其他设备带来的环境光也是一大变量尤其是自然光或旁边新增的照明灯会直接改变相机接收到的亮度。产品来料批次变化同样会造成影响工艺稍微一波动产品颜色或材质有一点点差异原本调好的阈值就全部失效。应对策略是在设计阶段就把稳定性考虑进去光源选恒流驱动并定期校准相机设置自动曝光和自动增益但限制范围算法里做图像亮度的归一化预处理尽量让模型只关注对比特征而不是绝对亮度值。同时建立定期的设备点检制度用标准样件每天跑一遍发现精度偏移就及时调整。5.4 常见问题速查表为了让读者朋友方便查阅我把高频率的问题整理成一个表格可以直接收藏备用。问题现象可能原因解决方向一直报错/过杀严重打光对比度不足算法阈值不当重新调光检查图像对比度与阈值设定是否符合现场一致有不良品漏检缺陷类型未覆盖、样本太少补充样本重新做数据增强引入复判机制积累新样本相机拍照位置偏触发信号抖动、产品定位不稳检查传感器与PLC触发时序加装导向治具检测结果时好时坏环境光变化、光源衰减恒流光源控制器定期点检图像亮度归一化节拍不够快算法推理时间过长二级检测策略先快筛后细判升级工控机算力手眼标定精度差标定板不平整、机器人姿态不当换陶瓷表面平整度更高标定板重新规划标定位姿新产线复制效果不一致现场安装不一致相机角度差异制定标准化安装规范用同一参配文件和标定流程每个项目情况不同表格只是帮你定位排查方向真到现场还是得从最基础的成像质量查起。个人体会最后说一点我的真实感受。做工业视觉检测这几年我的体会是它本质上不是纯技术活而是“一半算法、一半工程、一半沟通”的综合项目。所谓替代人工核心不是把视觉系统说得神乎其神而是要把它当作产线上一个可靠的、可复制的、成本可控的搭档。每一次成功落地的项目背后几乎都离不开对现场工艺的深入理解、对产线节拍和环境变化的敬畏以及对数据和样本的持续打磨。如果你正在评估自己的产线要不要上视觉检测我的建议是别急着买设备先从最容易量化、最重复枯燥、标准最清晰的那个工位入手做试点。把样板打光了、把数据跑通了、把经济账算明白了再往更大的范围推广。这一行没有太多捷径但每走过一遍后面再遇到类似场景就能少踩很多坑。希望这篇文章能帮在路上的朋友省下几张“学费”。
返回列表