
简介机器视觉工业缺陷检测的那些事是一份面向工业视觉检测工程师及学习者的知识梳理PDF文档聚焦工件尺寸测量、表面缺陷检测与Logo标识识别等典型场景。内容系统覆盖视觉系统硬件选型包括LED、萤光灯、卤素灯等光源特性与背向、前向、同轴、低角度等照明方式的选择要点也讲解了相机、镜头、图像采集卡的关键参数与匹配思路图像处理部分则涉及去噪、增强、边缘检测、模板匹配等常用算法及主流算法库有助于读者建立从硬件搭建到算法落地的完整认知。压缩包内共1个PDF文件大小1.26MB便于离线阅读。目前已有1188人学习适合刚入门机器视觉或需系统性梳理缺陷检测知识的从业人员参考能帮助缩短设备选型与图像调试的摸索过程。1. 机器视觉工业缺陷检测一条划痕怎么从看不见变成看得清工业缺陷检测的现场常常是这样同样一条0.2mm宽的金属划痕在环形光下清晰得刺眼换到同轴光下就消失不见。这不是算法能力的问题而是光源、相机、镜头三个硬件环节在成像阶段就已经决定了结果。机器视觉的完整链路——光源、相机、镜头、图像采集卡、图像处理算法、缺陷识别——每一步都在压缩不确定性选型错误往往无法用后期算法补救。这份梳理正好覆盖了这条链路硬件怎么选、参数怎么算、图像处理在什么场景下用哪一类算法、Halcon和OpenCV各自的边界在哪。刚接手视觉项目、需要在一周内给出硬件选型方案的工程师或者想系统补一遍传感器、镜头参数和算法选型逻辑的从业者都能直接照着用。2. 光源选型先定照明方式再挑灯型、颜色与波长光源是视觉系统里最便宜、却最容易被低估的硬件。两千块的灯能解决的问题最后可能要花两万块在相机和算法上补。选型顺序我习惯固定成三步先定照明方式再定灯型最后考虑光源颜色、波长和表面反光处理。反过来做基本都会翻车。打光这活儿圈里常说是玄学其实背后就是这几种光路逻辑把逻辑理清了剩下的是测试。2.1 背向、前向、结构与频闪四种照明方式的选择逻辑照明方式决定图像的基本面貌。背向照明把被测物放在光源和相机之间光线绕物体边缘进入镜头图像呈现为黑白分明的轮廓对比度非常高但表面细节几乎全部丢失。这种方式的典型用途是尺寸测量比如检测工件的长宽高、外轮廓、通孔位置因为轮廓边缘清晰测量特征提取最稳定。我一般会提醒项目成员背光图能测尺寸但别指望同一张图既测轮廓又看划痕那是两套照明方案。前向照明是光源和相机位于被测物同一侧安装最方便也是缺陷检测的主力。它照射的是物体表面光线经表面反射进入镜头划痕、斑点、孔洞、焊点这类表面特征会被亮度差异显现出来。前向照明的难点在于反光控制表面越光滑镜面反射越强越容易局部过曝。结构光照明是把光栅或线光源投射到被测物上利用光栅畸变解调出物体三维信息适合做平整度检测、凹凸测量这类需要高度信息的场景。频闪光照明则用高频率光脉冲照射物体相机与光源同步采集常用于高速运动物体的抓拍避免运动模糊。四种方式的分工很清晰测尺寸找背光看表面缺陷找前向量化凹凸找结构光高速抓拍找频闪。提示选择照明方式时先回答两个问题——你要检测的是轮廓还是表面要检测的物体是静止还是运动的答案直接决定背光还是前向。2.2 穹形、环形、条形、同轴光四种灯型的应用场景照明方式定了之后再选灯型。穹形光源是半球形漫射结构光线从各个角度均匀打在物体表面专门对付球型或曲面物体、金属镜面这些容易产生定向反光的表面。玻璃瓶、滚珠、小工件表面、塑料或铝制容器上的缺陷检测用穹形光效果最稳因为漫射把镜面反光打散表面亮度均匀缺陷反而更突出。环形光源是通用性最强的首选多用于集成电路料带与管脚字符检测、金属工件刻印字符、光滑表面划痕、瓶口尺寸或裂痕检测。环光安装简单、价格亲民但要注意它对倾斜表面会产生亮度不均遇到曲面工件需要换穹形。条形光源是从侧面打光的照明方式常用角度是45度侧光能避开正面照射的强烈反光同时对边缘部分实现高亮照明。LCD缺陷检测、包装文字检测、包装膜破损检测、纸张质量检测、常规印刷质量检测、制造物裂纹检测、电子部件形状识别和大小测量、各种线阵检测都是条形光的典型战场。同轴光的原理是光路与镜头同轴光线垂直照射后再垂直反射进入镜头图像效果为明亮背景上的黑色特征。它特别适合反光厉害的平面物体能加强有角度差异的表面特征比如划痕、凹陷、压印同时减少阴影。金属、玻璃等光洁表面的划痕和瑕疵检测芯片和硅片的破损检测金属件上的冲压字符检测线路板焊点与符号检测集成电路管脚字符检测都用同轴光。另外还有入射角度不同带来的效果差异高角度照射图像整体较亮适合表面不反光的物体低角度照射背景黑、特征白能突出轮廓和表面凹凸变化多角度照射图像柔和适合曲面。下表是常用灯型的速查对照。灯型成像特点典型场景穹形光源漫射均匀消除定向反光球面/曲面缺陷、金属镜面、玻璃瓶、滚珠环形光源环状照明通用性强管脚字符、金属刻印、光滑划痕、瓶口检测条形光源45度侧光边缘高亮LCD缺陷、纸张检测、裂纹、线阵方案同轴光亮背景黑特征减少阴影金属玻璃划痕、芯片破损、焊点字符2.3 光源颜色、波长与漫射三个容易忽略的细节灯型选完之后还有三个细节直接影响成像对比度。第一是光源颜色与背景颜色的关系。使用与被测物同色系的光会使图像变亮比如红光照射红色物体物体更亮使用与被测物相反色系的光会使图像变暗比如红光照射蓝色物体物体变暗蓝光照射黄色物体呈现黑色。这个规律在做彩色物体缺陷检测时非常实用——想突出某个颜色特征就选同色系光想把背景压暗就用反色系光。第二是波长选择。波长越长穿透能力越强波长越短扩散能力越强。红外穿透力强适合检测透光性差的物体比如棕色口服液里面的杂质检测紫外对表面细微特征敏感适合检测对比不够明显的地方比如食用油瓶上的文字检测。如果工件表面反光严重则优先选漫射光源多角度漫射照明能让表面整体亮度均匀图像背景柔和检测特征不受背景干扰。注意光源颜色不能靠肉眼判断最终效果必须以相机采集后的灰度直方图为准。现场经常出现肉眼看得很清楚、相机一拍对比度极低的情况这会直接影响后续阈值分割的稳定性。3. 相机与镜头分辨率、帧率、接口的选型计算相机和镜头决定了图像的空间分辨率和清晰度是整个视觉系统里参数计算最密集的部分。相机的任务是把光信号变成数字图像镜头负责把视野映射到芯片靶面上。选型时要看的参数很多但真正决定方案是否成立的只有几个分辨率算够不够、帧率跟不跟得上产线节拍、接口和镜头匹不匹配。图像采集卡在这个环节的作用也要先搞清楚——它承担A/D转换、图像传输、采集控制部分卡还带FPGA或DSP做图像处理。现在千兆网口和USB3.0相机已经把采集功能做进相机本体独立采集卡只在模拟相机、Camera Link或需要多相机并行触发的场合才是必要的。3.1 面阵与线阵、CCD与CMOS按检测任务选相机形态面阵相机一次采集一整幅二维图像适合静态或低速场景视场有限尺寸测量和一般缺陷检测用面阵最方便。线阵相机则是一行一行地扫描用行频表示速度单位为KHz比如12KHz表示相机1秒钟最多采集12000行图像数据。线阵方案适合大幅面连续运动的物体比如纸张、薄膜、金属板材的表面检测——产品是长条形且连续运动的线阵相机加编码器是最常见的做法。芯片类型的选择相对明确。CCD传感器图像质量高、灵敏度高、对比度高但存在Blooming现象、不能直接访问每个像素、没有片上处理功能适合高速动态测量。CMOS传感器把光敏元件、放大器、A/D转换器、存储器、数字信号处理器和计算机接口控制电路集成在一块硅片上体积小、结构简单、片上处理功能多、低功耗、没有Blooming现象、能直接访问单个像素、动态范围可达120dB、帧率可以更高缺点是一致性差、光灵敏度差、噪声大。CMOS的随机读取特性还支持矩形感兴趣区域AOI读出针对较小AOI时可以获得更高帧率。现实中CCD用于动态测量CMOS用于低速或静态测量但全局曝光CMOS现在已经能胜任动态测量而且CMOS是趋势。对比项CCDCMOS成像质量高一般价格较贵便宜功耗较高低动态测量适合低速/静态适合全局曝光亦可趋势当前主流正在赶上未来方向3.2 相机参数逐个理清分辨率、像元深度、信噪比与动态范围分辨率是相机最基本的参数由芯片靶面排列的像元数量决定。面阵相机用水平×垂直两个数字表示比如1920(H)×1080(V)前面是每行的像元数量后面是像元行数。行业里常用多少K来表示分辨率1K即10242K即2048。帧频和行频对应采集速度面阵相机用fps表示每秒最多采集多少帧线阵相机用KHz表示每秒采集多少行。实际应用中相机速度需要满足运动物体的成像要求而帧率首先受芯片设计最高时钟限制。像元深度定义灰度由暗到亮的灰阶数。8bit相机0代表全暗、255代表全亮10bit有1024个灰阶12bit有4096个灰阶。从8bit升到10bit或12bit确实能增强测量精度但代价是系统速度下降、集成难度提高线缆增加、尺寸变大所以要慎重。噪方面散粒噪声由有效信号带来、符合泊松分布不可避免噪声平方等于信号均值相机固有噪声来自读出电路和信号处理放大电路每台相机不一样数字相机A/D转换时还会产生量化噪声量化位数越高噪声越低。信噪比是有效信号平均灰度值与噪声均方根的比值代表图像质量。动态范围表明相机探测光信号的范围可用倍数、dB或Bit表示动态范围越大对光照强度的适应能力越强。3.3 分辨率怎么算从视野和检测精度反推最低像素分辨率选型是一个纯计算过程。核心公式是相机像素精度单方向视野范围大小/相机单方向分辨率反过来就是相机单方向分辨率单方向视野范围大小/理论精度。举个例子检测物体表面划痕物体大小为10×8mm要求检测精度0.01mm假设拍摄视野范围12×10mm那么相机最低分辨率应该是(12/0.01)×(10/0.01)1200×1000约120万像素。这里有一个关键的稳定性原则如果一个像素对应一个缺陷系统一定极不稳定因为随便一个干扰像素点都可能被误认为缺陷。为了提高系统的精准度和稳定性最好让缺陷面积覆盖3到4个像素以上。按这个标准上面的例子要选130万像素乘以3以上即最低不能少于300万像素通常采用300万像素的相机为最佳。我也见过有人抱着亚像素不放说要做到零点几的亚像素精度但真有那个需求靠的是算法和光学放大而不是盲目降分辨率。实际选型时还要加上光照不稳定余量和温度漂移余量我一般会在理论值基础上再乘2到3倍。3.4 镜头选型视场、焦距、景深与光学接口镜头选型要同时盯住五个参数视场、工作距离、景深、焦距、接口。视场是充满相机采集芯片的物体部分选型时视野要略大于被测物体给运动控制留余量。工作距离是从镜头前部到受检验物体的距离要确认现场是否有安装空间、距离是否可调。焦距的计算公式是f工作距离/视野范围长边×CCD长边焦距大小直接影响成像效果——焦距越小景深越大但畸变越大渐晕现象越严重会使像差边缘照度降低。景深和焦距、光圈、物距三者相关光圈越小景深越大拍摄距离越大景深越大焦距越短景深越大。对景深有要求的项目尽可能使用小光圈在选择放大倍率的镜头时项目许可下尽量选低倍率镜头。光圈用F值表示如f1.4、f2、f2.8光圈越大图像亮度越高、景深越小、分辨率越高。光学放大倍率用PMAGCCD Size/FOV计算。另外几个规律值得记住同档次的固定焦距镜头比变焦镜头分辨率高短焦镜头边缘分辨率一般低于中心长焦镜头中心比边缘分辨率低光波波长越短得到的图像分辨率越高所以精密尺寸及位置测量系统尽量采用短波长的单色光照明。镜头接口是现场最容易踩坑的地方。常用接口有C口、CS口、F口C型接口后截距17.526mmCS型接口后截距12.5mmF型接口46.5mm。C型镜头与C型摄像机、CS型镜头与CS型摄像机可以配合使用C型镜头与CS型摄像机之间增加一个5mm的C/CS转接环可以配合使用CS型镜头与C型摄像机无法配合使用。M42镜头适配器源于高端摄像标准相机的Z轴均依据适配器优化过一般情况下不要轻易拆卸镜头适配器。接口类型后截距接口形式C口17.526mm螺口CS口12.5mm螺口F口46.5mm卡口4. 图像处理算法与算法库预处理、分割与缺陷识别的选型逻辑硬件成像之后进入软件环节。图像处理的完整流程分三步预处理让缺陷特征更明显分割把缺陷从背景里分离出来特征提取加分类器判断是哪种缺陷。很多项目把精力全放在最后一步的分类器上实际上前面两步没做扎实后面再好的算法也白搭。预处理对图像数据进行加工使我们需要的特征更加明显检测处理根据图像特征对损伤、尺寸进行检测——这是整个软件链路的基本分工。4.1 预处理灰度变换、直方图均衡化与滤波的取舍预处理的目标是突出目标特征、抑制无关信息。灰度变换包括线性灰度变换、分段线性灰度变换和非线性灰度变换核心逻辑是把感兴趣的灰度区间拉伸增大缺陷与背景的对比度。直方图增强包括直方图统计和直方图均衡化均衡化把灰度分布拉开适合整体偏暗或偏亮的图像。但要注意光照不均的现场使用直方图均衡化容易放大背景噪声这是常见的误用场景。降噪滤波是预处理里最需要分寸感的部分。邻域平均法和加权平均法简单但会模糊边缘中值滤波对椒盐噪声效果好且能较好保留边缘均值滤波和高斯滤波适合平滑高斯噪声但会模糊细节双边滤波在去噪的同时保留边缘是表面缺陷检测里比较稳妥的选择。边缘锐化常用梯度锐化、Roberts算子、Laplace算子、Sobel算子。实际项目中划痕检测最常见的是Sobel或Canny找边缘配合中值滤波去噪。我一般会提醒缺陷检测里不要过度降噪中值滤波加轻高斯足够了过度平滑会把细小划痕也抹掉。4.2 分割与特征阈值、边缘、Blob与LBP分割是把缺陷从背景中分离出来的关键步骤。阈值分割分三种固定阈值分割适合背景和缺陷灰度分离明显的情况OTSU最优阈值分割能自动计算阈值是最常用的起点自适应阈值分割适合光照不均、背景灰度渐变的场景比如纸张、薄膜表面。基于边界的分割用Canny边缘检测、轮廓提取和边界跟踪适合划痕、裂纹、毛刺这类线状缺陷。Hough变换直线和圆检测多用于定位和几何尺寸测量。区域生长、区域归并与分裂、聚类分割属于区域分割方法分水岭分割常用于粘连目标的分离。特征提取决定缺陷怎么描述。几何特征包括位置与方向、周长、面积、长轴与短轴、距离形状特征用Blob分析计算矩形度、圆形度、不变矩、偏心率、多边形描述、曲线描述直方图特征包括均值、方差、能量、熵计算简单具有平移和旋转不变性对颜色像素的精确空间分布不敏感在表面检测、缺陷识别中应用广泛。LBP局部二值模式对光照变化造成的灰度变化有较强鲁棒性在表面缺陷检测、指纹识别、光学字符识别、人脸识别及车牌识别领域都有应用而且计算简单可用于实时检测。选特征的原则是能用一个特征分清的不要用两个Blob分析先做再看缺陷的灰度属性最后才考虑纹理特征。4.3 缺陷分类与算法库Halcon、OpenCV的现实对比缺陷目标识别算法方面传统方法包括贝叶斯分类、K最近邻KNN、人工神经网络ANN、支持向量机SVM、K-means等。样本量不大时SVM在缺陷分类任务上表现稳定K-means适合无监督聚类打标先聚类再人工标注是快速建立缺陷样本集的有效技巧。深度学习方案现在是热门方向但传统方法在缺陷样本有限、要求可解释性的场景下仍然有不可替代的地位。算法库选型是项目落地时最现实的问题。Halcon底层功能算法多、运算性能快、功能齐全、容易上手、开发项目周期短但它是非开源商业软件价格大概10K到15K一个加密狗。OpenCV功能算法相对少一些但开源、可用于商用开发周期较长有些算法要自己写。我的经验是项目周期短、预算允许、算法复用场景多的直接选Halcon做研究、做原型、想控制授权成本的走OpenCV路线但要做好自己写算法的心理准备。行业里做视觉集成的公司比如大恒图像、凌云光、大族激光、康耐视、基恩士各家的方案也都是在这类库基础上做的二次开发。对比项HalconOpenCV开源情况非开源商用收费开源可商用功能算法多且底层相对较少开发周期短易上手较长部分算法需自写适用对象商用项目研究、原型、低成本方案5. 避坑记录打光、选型和现场调试的五次翻车这一章是梳理资料时对照现场经历整理出来的踩坑记录。每一条都有人付过学费现象、原因、解决思路写清楚能帮你在方案阶段就绕开。5.1 同轴光下金属划痕时有时无现象同轴光下检测同一块铝板划痕亮度不稳定有时候清晰可见有时候几乎消失导致漏检率波动。原因同轴光对表面角度差异敏感划痕方向、深度和角度的变化会改变反射光路。划痕方向与光路平行时反射光无法进入镜头对比度骤降。解决改用低角度条形光并做旋转角度测试或者用同轴光加一组侧光辅助形成多角度照明组合。打光方案必须在样品上实测确认不能只看厂商给的效果图。5.2 高分辨率相机一上产线帧率就掉现象标称500万像素30fps的相机实际采集只有十几帧产线上产品连续通过时频繁漏检。原因分辨率与帧率此消彼长500万像素全幅读出的时间远高于小分辨率相机带宽不足也会限制传输GigE相机接到百兆网卡或USB3.0相机经过Hub帧率都会掉。解决按产线节拍反推最低帧率再选相机。不需要全幅输出时用CMOS的AOI感兴趣区域读出帧率能明显提升。同时检查接口带宽GigE接千兆网卡USB3.0直连主板不经过Hub。5.3 C接口镜头装不上CS接口相机现象镜头拧上去之后成像模糊或者根本拧不到底现场误以为镜头坏了。原因C接口后截距是17.526mmCS接口是12.5mm两者相差5mm。C型镜头装在CS型摄像机上镜片到芯片的距离不对无法合焦。解决C型镜头配CS型摄像机时加一个5mm的C/CS转接环即可CS型镜头配C型摄像机则无法配合。采购时把镜头接口和后截距写清楚别只看都是螺口。5.4 彩色相机做灰度缺陷检测误检率偏高现象检测白色塑料表面的黑色脏污用彩色相机转灰度后误检率比预期高缺陷边界模糊。原因彩色相机使用Bayer插值将颜色信息转为灰度时会引入伪彩色和马赛克噪声缺陷边界被插值算法模糊彩色成像为还原颜色本身就需要牺牲一定的空间分辨率。解决不涉及颜色判断的缺陷检测直接用黑白相机加对应波长的单色光比彩色相机转灰度更稳定。只有需要区分颜色缺陷时比如Logo印刷色彩错误才用彩色相机。5.5 视野边缘发暗导致漏检现象画面中心缺陷清晰靠近视野边缘的缺陷对比度明显下降边缘区域出现漏检。原因光源尺寸小于视野范围光线在边缘衰减镜头自身的渐晕和像差进一步加重了边缘亮度不均。解决光源尺寸选择要求略大于视野保障整个视野内光线均匀镜头靶面尺寸不能小于相机芯片尺寸2/3英寸镜头无法支撑1英寸以上靶面必要时做平场校正或多点光源补偿。6. 选型实战从需求表到参数表的完整推导用一个具体场景把前面的选型逻辑串起来。假设要检测手机中框铝合金表面的划痕工件尺寸约120mm×60mm要求检出0.05mm以上的划痕生产节拍2秒一件工作距离固定200mm中框表面高反光。第一步算视野。工件120×60mm四周留10mm余量视野定为140×80mm。第二步算分辨率。单方向分辨率等于视野除以理论精度140/0.05280080/0.051600相乘约450万像素。按缺陷覆盖3到4个像素的稳定性原则理论值要再乘3倍所以实际选型不低于1200万像素。如果成本受限退一步的方案是500万像素配合更高倍率镜头缩小视野但检测稳定性要重新验证。第三步选相机形态。工件是取放位静态拍照节拍2秒选面阵CMOS全局曝光为佳黑白相机——金属划痕检测不涉及颜色判断黑白加单色光更稳。第四步算镜头焦距。假设选1/1.8英寸黑白CMOS靶面约7.2mm×5.4mm焦距f工作距离/视野长边×CCD长边200/140×7.2≈10.3mm取12mm定焦。第五步算曝光时间。像素当量视野长边/水平像素数500万相机水平方向约2448像素当量约0.057mm/pixel。如果抓拍瞬间有0.5m/s的运动速度不出现拖影的条件是t≤像素当量×1.5/运动速度即t≤0.057×1.5/500≈0.000171秒约1/5800秒。这意味着光源亮度必须足够高才能在这个快门速度下保证图像正常曝光。第六步定光源方案。铝合金高反光表面主光源用同轴光增强划痕凹陷特征再配一组低角度条形光突出轮廓双光源组合。装夹前用真实样品试拍看灰度直方图确认缺陷与背景灰度差是否大于30个灰度级、有无过曝区域、边缘有无暗角。这套流程走下来选型表就齐了1200万像素黑白CMOS面阵相机、12mm定焦镜头、同轴光加低角度条形光、快门不低于1/5800秒。从那以后我每次做视觉选型都强制先走一遍这条推导链——视野、分辨率、帧率、焦距、曝光时间、光源所有参数写进表里再下单硬件到货第一件事也是按这个表逐项验证。这套流程能帮你在方案阶段就消灭掉一大半的现场问题。希望帮到你。本文还有配套的精品资源点击获取