ARTICLE DETAIL

资讯详情

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

机器视觉选型:像素精度、工业相机与打光实战

机器视觉选型:像素精度、工业相机与打光实战 机器视觉这行当里待久了你会发现一个特别有意思的现象同样一套硬件换个工程师来调出来的检测结果可能天差地别。前阵子帮一家做连接器外观检测的厂子看线他们的工程师跟我抱怨说相机买的是海康的镜头换过三支打光也加了两组结果边缘毛刺的漏检率还是压不下去。我让他把视场和分辨率重新报一遍一算单像素代表0.06毫米而他们要检测的毛刺宽度只有0.03毫米——这已经不是调参的问题了是物理上就看不见。这件事特别典型机器视觉里百分之七八十的扯皮归根到底都是选型阶段没算清楚账工业相机不是买来插上就能干活的。这篇东西我打算按我自己踩坑和带人踩坑的顺序整理一遍从像素精度怎么被动的、相机怎么选、光怎么打、触发和丢帧怎么查一直到3D入门和学习路线。适合刚入行想找系统认知的新人也适合干了几年但一直靠经验瞎猜的老人。我只说现场真能用的东西教科书上的理想公式我会补一句“实际要打折”因为打折的部分才是你真正会遇到的。1. 机器视觉与工业相机先搞清楚这对组合在产线上到底扮演什么角色1.1 从人工目检到相机的迁移卡点从来不是换个人工厂里上机器视觉最常见的动机是人工目检不稳定。人眼连续看两小时注意力断崖式下滑同一批货上午判合格下午判不合格客户投诉之后老板一咬牙就上设备。但很多人以为机器视觉就是把人眼换成相机逻辑上等价实际上差得远。人眼有极强的自适应能力光线弱一点、角度歪一点大脑会自动补偿相机不会它忠实地把光信号转成数字光线差一点灰度值就跟着变算法阈值就飘。所以机器视觉的本质不是复制人眼而是把人眼模糊容错的判断翻译成可量化、可重复的物理量和算法规则。这个翻译过程决定了整套系统的重心。人眼检测靠的是经验机器检测靠的是对比度。物体上要检测的特征必须在图像里形成足够的灰度差或者颜色差否则再牛的算法也是在噪声里找信号。我见过太多项目算法工程师被拉来调了两个月最后发现根子是打光方案不行特征在图像里压根就没出来。这也是为什么行业里有句老话好的打光能救活一半的视觉项目。相机和算法决定上限光决定下限。从迁移的角度看一个视觉项目真正的工作量分布大概是这样的需求定义和选型占三成打光调试占三成算法和软件占两成现场集成和稳定性验证占两成。新手往往把九成精力砸在算法上结果上线后天天被现场问题追着跑。如果你正准备入这行我建议先建立光—机—电—算全链路的意识别一上来就死磕深度学习那样很容易卡在错误的地方。1.2 工业相机和消费级相机的分水岭到底在哪有人问几千块的微单能不能拿来干检测。短期验证概念可以上产线基本不行。分水岭主要在几个地方。第一是快门类型消费相机多为卷帘快门逐行曝光物体一动就产生果冻效应和形变工业场景里动态拍摄必须用全局快门整幅同时曝光。第二是接口和协议工业相机走GigE Vision、USB3 Vision、GenICam这些标准能编程控制曝光、增益、触发能和PLC、运动控制卡联动消费相机的控制接口是给人手点的不是给程序调的。第三是一致性和寿命工业相机要保证同一型号批次间成像一致能7×24小时跑几年消费相机不背这个指标。还有一个容易被忽略的点是触发同步。产线上相机不能自由跑必须等工件到位、等编码器给出位置脉冲再曝光。这套硬触发链路是工业相机的核心能力。海康工业相机报未收到触发信号这种问题根源往往就在这里——触发源没给信号、电平不匹配、或者软件里触发模式没切对。消费相机根本没有这种工业级的同步机制。所以选型的第一课不是看像素是看这台相机能不能被你的系统指挥。能被指挥、能被同步、能在恶劣环境下稳定输出这才叫工业相机。至于品牌是海康、大华还是Basler那是下一步的事前提是它得先满足工业属性和接口标准。2. 像素精度到底被什么动了把看得见变成一道可以算的数学题2.1 像素精度的核心公式和三个能动变量标题里那个机器视觉动了什么会导致像素精度变化这问题问到了根子上。像素精度说白了就是图像里一个像素对应现实中多长的距离。公式很朴素单像素精度 视场宽度FOV / 相机单方向像素数举个具体的例子。你要检测的区域宽100毫米选了一台500万像素相机2448×2048横向2448个像素那么单像素精度 100 / 2448 ≈ 0.0408毫米也就是约41微米。这是理论值实际能不能检出0.04毫米的缺陷还取决于亚像素算法、镜头畸变、安装误差和对比度。一般工程上会留安全余量要求待检特征至少占3到5个像素所以能稳定检出的最小缺陷大概是0.12到0.2毫米。动这个公式里任何一个变量精度都会变。动了工作距离视场跟着变——相机拉远视场变大同一台相机的单像素精度就变差了。换了镜头焦距视场跟着变焦距越短视场越大精度越差焦距越长视场越小精度越好。换了相机分辨率像素数变精度变。所以动了什么会导致精度变化的答案不是单一的是这三个变量联动的结果。现场最常见的事故是工程师为了看到更大范围把相机往后挪精度悄悄变差缺陷开始漏检而软件参数一个都没动。2.2 视场、工作距离、焦距三者的换算关系这三个量是绑死的记住一个近似公式就能现场心算视场FOV 靶面尺寸 × 工作距离WD / 镜头焦距f反过来推焦距焦距 f 靶面尺寸 × 工作距离 / 视场靶面尺寸看相机传感器规格1/1.8大约是7.2×5.4毫米2/3大约是8.8×6.6毫米1大约是12.8×9.6毫米。注意靶面是矩形的横纵方向要分开算取长边对应你要的宽视场。我来算一个完整的例子。靶面2/3宽度8.8毫米工作距离300毫米想要100毫米宽的视场那么焦距 f 8.8 × 300 / 100 26.4毫米。市面上有25毫米的定焦镜头装上去视场会略大于100毫米精度略差一点点。想再精确一点就用可调焦的工业镜头微调。参数变动对精度的影响现场典型误操作工作距离变大视场变大精度变差为看全景把相机后移焦距变短视场变大精度变差换成广角镜头看大件分辨率变低像素数变少精度变差为省成本降像素靶面变大同焦距下视场变大换大靶面没重算焦距提示选型阶段一定先把要检测的最小特征尺寸写死在需求文档里再反推相机和镜头不要先定相机再想能检什么。顺序反了后期返工成本极高。2.3 让精度悄悄变差的隐形杀手清单除了上面三个显性变量还有一堆隐形因素会让精度在实际运行中漂移。第一是镜头畸变尤其是短焦镜头边缘的桶形畸变中心精度和边缘精度差很多做高精度测量必须标定畸变并校正。第二是安装角度相机光轴没垂直被测面会产生透视畸变标定时如果没纳入测量值系统性偏大。第三是温度漂移光学件和机械件热胀冷缩长时间运行后精度会缓慢变化高精度场景要做温度补偿或者定期重新标定。第四是亚像素算法本身。理论单像素精度是41微米但亚像素算法能把边缘定位到1/4甚至1/10像素理论上能到4到10微米。但亚像素精度依赖稳定的边缘对比度和低噪声如果打光不稳定、图像有噪点亚像素反而会引入抖动。我实测过同样的相机镜头打光稳的时候重复精度能到5微米打光一飘重复精度直接掉到30微米。所以别迷信亚像素它是一把需要好图像喂养的刀。把这些因素列全你就明白为什么什么都没动精度却变了这种事会发生了。真正常用的做法是关键尺寸场景绝不贴着理论精度设计至少留2到3倍余量并且建立定期标定机制用标准件回检。3. 相机选型实战海康、大华、Basler到底怎么挑3.1 先定接口再定品牌顺序别倒选型的第一步永远是接口因为接口决定了你的带宽、线缆、采集卡和整套软件架构。目前主流是三类。GigE Vision走千兆网口线缆便宜、可拉100米、支持PoE供电多相机组网方便是产线上最常见的选择缺点是带宽相对有限千兆网理论速率约120MB/s实际跑满大概100MB/s出头高分辨率高帧率会吃紧。USB3 Vision带宽高、延迟低、即插即用适合单机位或笔记本电脑调试缺点是线缆长度一般不超过5米长距离要加延长器且对供电和EMI比较敏感。Camera Link是传统的高带宽方案配采集卡稳定但系统复杂、成本高现在多被万兆网和CoaXPress替代。我个人的经验是单相机、中低分辨率、追求性价比和布线方便优先GigE高帧率高分辨率、单机位调试USB3超高速多相机同步直接上万兆网或CoaXPress。别在接口上省接口选错了后面全是补丁。选完接口才轮到品牌。海康和大华在国产里占有率高生态成熟配套软件MVS和工业相机SDK文档齐全价格友好中低端产线用得多社区里能搜到的问题也多遇到坑基本有人踩过。Basler是德系老牌成像质量、色彩还原、一致性做得好pylon软件和SDK成熟高端检测线和出口项目里常见价格也高一截。选哪个不是崇洋还是支持国产的问题是看你的精度要求、预算和售后响应。维度海康大华Basler生态与文档完善中文资料多较完善完善英文为主价格区间中低中低中高成像一致性良好良好优秀社区问题量多易搜到答案较多相对少但质量高适合场景常规检测、成本敏感常规检测、安防延伸高精度、出口线3.2 适合飞拍的工业相机该看哪些参数飞拍就是物体不停、在运动过程中完成拍摄。这对相机提了三个硬指标。第一是全局快门卷帘快门拍运动物体会形变飞拍必须全局。第二是帧率和曝光时间物体运动快曝光时间要短到不产生运动模糊。这里有个计算假设物体运动速度v允许的运动模糊为d那么曝光时间 t ≤ d / v。比如物体每秒走500毫米允许模糊0.05毫米曝光时间就要小于0.0001秒也就是100微秒。这么短的曝光必须配强光普通常亮光源根本喂不饱得用频闪光源或者高亮LED。第三是带宽和传输飞拍往往配合高帧率数据量大千兆网可能扛不住需要评估用万兆网或者降低ROI。另外飞拍常和编码器或光电触发联动相机要支持低延迟硬触发。这几点合在一起就是飞拍选型的检查清单。注意频闪光源和相机曝光必须严格同步否则会出现拍到了光没亮或者光亮了没拍到的错拍。同步靠触发信号统一时基别指望软件层对齐。3.3 一个具体的选型推演假设一个场景检测运动中的瓶盖印刷速度每秒400毫米要看清0.1毫米的印刷缺陷检测幅面宽80毫米。先算曝光时间允许模糊取0.03毫米t ≤ 0.03 / 400 75微秒需要频闪光源。再算精度幅面80毫米要检0.1毫米特征至少3像素则单像素要小于0.033毫米横向像素数至少 80 / 0.033 ≈ 2424选500万像素2448×2048刚好够留点余量可以上600万。帧率方面按产线节拍反推比如每分钟检1200个就是每秒20个相机帧率30fps以上即可。接口上2448×2048×30fps大约150MB/s千兆网吃紧要么用万兆网要么降低帧率配合触发按需采集。这一套推下来选型报告就出来了比拍脑袋靠谱得多。4. 打光方案机器视觉里最像手艺活的部分4.1 常见光源类型和它们的适用边界打光是机器视觉里最依赖经验、最难标准化的环节。主流光源就那几种但每种都有脾气。环形光是最通用的从四周均匀打适合平面字符和一般外观检测缺点是反光件容易出亮斑。条形光灵活可以组合成各种角度做侧向照明突出表面纹理和划痕。背光从被测物背面打把物体变成黑剪影适合尺寸测量和轮廓提取精度能做得很高但只适用于透光或轮廓检测。同轴光通过半反镜把光垂直打到被测面专门对付高反光金属表面的字符和标记比如芯片表面刻字。**穹顶光圆顶光**从半球内壁均匀漫射专治球面、弧面、高反光件的均匀照明。光源类型典型用途不适合的场景环形光字符、一般外观强反光平面条形光侧面纹理、划痕需要均匀面照的场合背光尺寸、轮廓表面缺陷检测同轴光高反光金属字符大尺寸平面穹顶光弧面、球面反光件需要方向性的纹理检测选光源的核心不是记住这张表而是理解你要的特征靠什么成像。缺陷检测本质是找异常异常要么改变反射率暗斑、亮斑要么改变几何凹凸、断裂。你要设计一种照明让正常区域呈现均匀背景异常区域因为反射特性不同而凸显出来。这个思路一变打光就从试试看变成有方向地试。4.2 打光角度、距离、颜色的实战调节角度是打光的灵魂。低角度侧光接近掠射能突出表面微小起伏和划痕因为凹凸面产生了明暗对比高角度或同轴光能把表面照匀弱化纹理突出颜色或反射率差异。调角度时我的土办法是先把相机固定拿一个手电或可调光的小光源绕着被测物缓
返回列表