工业机器视觉科普系列 · 第 5 期
从零开始,把工业机器视觉讲明白
工业机器视觉是近年来得以广泛应用的一门技术,也是人工智能核心技术之一。但因为它的理论性和抽象性都很强,很多人始终学不明白。接下来我想用几期公众号文章,把这件看似很难的事情讲明白、讲透彻,让每一位读完的读者都有所收获。
写在前面(小序)
上一期我们认识了工业相机:五个部分、三把分类尺子、七个关键参数。但认识不等于会选——真到采购的时候,手册翻烂了也未必敢拍板。
这一期我们就来解决选型的核心问题:分辨率到底要多大。先说结论:分辨率不是"挑"出来的,是"算"出来的。项目需求摆在那里,拿公式一推,像素数自己就出来了。
上期结尾埋的那道题——一个 40mm 的工件、0.2mm 的划痕,为什么至少要 2400×2400 的相机——这期就手把手算给你看。
还是那句老话:你不需要任何基础,带一双眼睛来就够了。
一、提出问题 分辨率为什么不能"拍脑袋"?
新手选相机最常见的两种姿势:一是照抄同行——"隔壁产线用的 500 万,我也上 500 万";二是往高了买——"像素越多越清楚,预算够就上最高的"。
两种都有坑。照抄同行,人家的视场和精度要求跟你未必一样:他看 0.5mm 的缺口够用,你要看 0.2mm 的划痕,同款相机直接瞎。往高了买更亏——上期说过,分辨率推高成本、拉低帧率,多出来的像素全是在花冤枉钱。
正确的思路是反过来的:先想清楚要"看多大"和"看多细",像素数是算出来的结果。这就需要一套核算方法。
要把它讲明白,得回答三个问题:怎么算?最小细节要几个像素还原?算完之后怎么落到型号上?下面一个一个来。
二、分析问题 三步核算 + 一道例题
(一)怎么算:三步走
图 1 分辨率核算的三步(对应教材式 2-2、2-3)
第 1 步:定视场。视场就是相机"看得见的最大区域"。它不能刚好等于工件大小——工件要定位、机构会移动、装夹有误差,所以教材的经验值是至少取待测对象尺寸的 120%,留出余量。
第 2 步:定视觉精度。视觉精度说的是一个像素代表视场里多大一块尺寸。教材举了个直观的例子:视场水平方向 32mm,相机水平分辨率 1600 像素,那么精度就是 32 ÷ 1600 = 0.02mm/像素——图上每个像素对应实际 0.02mm。注意精度数值越小代表看得越细,但精度越高,图像存储空间也跟着涨。
第 3 步:算分辨率。视场除以精度,就是单方向需要的像素数:相机分辨率 = 视场 ÷ 视觉精度。三步其实是一句话:"看多大"除以"看多细",等于"要多少像素"。
(二)"看多细"怎么定:三类任务,三档要求
三步里最难定的是第 2 步——最小细节要用几个像素来还原?这取决于你的检测任务属于哪一类(见表 1)。
表 1 满足最小细节精度所需的像素数量(教材表 2-3)
图 2 同一个细节,检测任务越难,需要的像素越多(对应教材表 2-3)
规律很好记:任务越"挑刺",细节要摊开的像素越多。判断"这个东西在不在"——不到一个像素都够;要量尺寸——一两个像素;要看清划痕长什么样——得四到十个像素。同一条划痕,用形状匹配的精度去拍,它就是一个模糊的灰点;用缺陷检测的精度去拍,才能看出它的走向和宽窄。
(三)一道例题:40mm 工件上的 0.2mm 划痕
把三步和像素表串起来,算一遍上期留下的那道题。待测对象是一个 40mm×40mm 的工件,黑色轮廓上有划痕和缺损,最细的划痕宽 0.2mm,检测任务是缺陷检测。
图 3 从"40mm 工件"到"2400×2400"的完整推算(对应教材图 2-16~2-18)
① 定视场:40mm × 120% = 48mm,视场取 48mm × 48mm。
② 定精度:任务属于缺陷检测,查表需要 4~10 像素还原最小细节;划痕又细又浅,取上限 10 像素。视觉精度 = 0.2 ÷ 10 = 0.02mm/像素。
③ 算分辨率:48 ÷ 0.02 = 2400,水平竖直都要 2400 像素,即至少 2400 × 2400 ≈ 576 万像素。你看,型号不是挑出来的——需求摆在那儿,算式一列,答案自己就站出来了。
(四)算完之后:六步落到型号
分辨率只是选型的核心项,不是全部。教材给的完整流程是六步(见图 4)。
图 4 工业相机选型六步流程(对应教材 2.1.6)
最后一步的"选型清单"是把前面所有决定汇总成交接依据。教材表 2-4 给的模板很全,新手照着列就不会漏项(见表 2,节选)。
表 2 工业相机选型清单(节选自教材表 2-4)
| |
|---|
| |
| |
| |
| |
| |
| USB / GigE / Camera Link 等;C 口、F 口或接圈 |
| |
传感器类型那一步再强调一次上期的结论:满足性能要求的前提下优先 CMOS——这几年 CMOS 性能已逐渐逼近 CCD,性价比更高;只有精度要求确实很高时,才考虑 CCD。
三、解决问题 拿到需求,按这套顺序走
下次拿到一个视觉需求,把这张清单按顺序过一遍:
① 问清需求——测什么(尺寸/缺陷/引导)、物体动多快、装在哪。
② 定视场——待测尺寸 × 120%。
③ 定精度——查表 1 定最小细节需要的像素数,精度 = 最小细节 ÷ 像素数。
④ 算分辨率——视场 ÷ 精度,两个方向各算一遍。
⑤ 补齐其余参数——色彩、快门、帧率、接口、传感器类型,最后填清单定型号。
再提醒三个新手常踩的坑:一是视场不留余量——按工件原尺寸 100% 定视场,定位一偏工件就跑出画面;二是精度直接取最小细节——0.2mm 的划痕按 0.2mm/像素去算,拍出来就是一个像素的点,什么形状都看不出来;三是缺陷检测按 1 像素估算——分辨率"够看"不等于"够判",缺陷检测要按 4~10 像素来。
四、本期小结
还是三句话收尾:
① 分辨率是算出来的:视场(尺寸×120%)÷ 视觉精度 = 单方向像素数,"看多大"除以"看多细"。
② 最小细节要几个像素,由任务定:形状匹配 1/10~1/4、边缘检测 1/4~2、缺陷检测 4~10——任务越挑刺,像素越多。
③ 选型六步走:需求 → 色彩 → 精度 → 硬件参数 → 传感器类型(优先 CMOS)→ 填清单定型号。
到这里,工业相机的"认识 + 选型"就全部讲完了。但相机只是"底片",前面还得有块玻璃把光聚进来——下一期我们讲它的搭档:工业镜头。焦距、光圈、景深、畸变,为什么镜头选不对,再好的相机也白搭?
下期预告|《工业机器视觉硬件③》:认识工业镜头——光圈调的是进光量,那景深受谁控制?