1. 先搞清楚一件事:机器视觉项目为什么栽在“光”上
先说个我经常在行业交流里遇到的尴尬场面:客户拿着一个检测需求找过来,软件工程师看完说“算法不难”,电气工程师说“PLC程序简单”,结果项目一启动,所有人围着打光方案吵了一下午。最后项目延期了,大家回头一复盘,发现90%的精力都耗在光学成像环节。
这不是段子,是行业常态。
我把这套“十讲”系列的第一讲放在系统架构上,第二讲直接切入工业光学系统设计,就是因为它太容易被低估了。很多刚入行的朋友以为机器视觉的核心是算法、是深度学习、是软件框架,真正上手做项目才发现,图像采集环节才是整个系统的“物理地基”。地基没打好,算法再牛也救不回来。
打个比方,你让一个顶级厨师用发霉的食材做菜,他再怎么发挥也做不出米其林水准。工业相机采集到的图像就是“食材”,光源系统就是“后厨灯光”——不是说灯越亮越好,而是要让食材该亮的亮、该暗的暗,纹理清晰、层次分明。这个环节没做好,后面所有环节都是沙上建塔。
为什么偏偏“光”会成为重灾区?我总结下来有三层原因:
第一,光学设计涉及物理规律、材料特性、机械结构、电子控制等多学科交叉,跨领域门槛高。做软件的人不懂物理光学,做机械的人不懂相机参数,做电气的人不懂反射率,各管一段,最后接口处全是坑。
第二,打光的技术方案没有绝对标准,高度依赖经验。同一种光源,换个角度、换个距离、换种表面材质,出来的图像可能天差地别——这个“玄学”让很多团队没耐心做系统性的光学验证。
第三,项目前期没有给光学方案留足验证时间。很多项目从需求评审到交付周期排得极满,打光测试被压缩到一两天,现场一看图像不行就慌了,然后开始“调参救火模式”,越调越乱。
我在这个行业干了这么多年,操盘过大大小小几十个视觉项目,有个结论一直没变:机器视觉方案不是“写”出来的,是“照”出来的。后面的章节,我就把自己这些年在工业光学系统设计上踩过的坑、验证过的方法、总结出的套路,一条条掰开说清楚。
2. 工业光学系统设计的第一性原则:先理解“成像的本质是光的交互”
2.1 光的反射模型是打光方案的底层逻辑
搞工业光学设计,首先得建立一个物理直觉:相机看到的不是物体本身,而是物体表面对光源的反射结果。
这句话太重要了,值得反复咀嚼。
初中物理学过,光照射到物体表面会发生反射。但工业检测中的物体表面远没有课本上那么理想,同一种材质在不同加工状态下,反射特性千差万别。举个最典型的例子,拉丝不锈钢和镜面不锈钢,前者表面有细微的纹路,光线会被漫反射出去,你用环形光低角度一打,纹理立刻清晰;后者是一个镜面,你用同样的光打上去,光源直接反射进镜头,整张图像白花花一片,什么特征都看不到。
这种差异背后其实是反射模型在起作用。工业光学设计里,我们把反射模型分成三类:
镜面反射:入射角等于反射角,像镜子一样。抛光的金属、玻璃、镀铬件都属于典型镜面反射。这类表面最难打光,因为光源形态会直接“印”在图像背景里,容易造成局部过曝或光源倒影。
漫反射:入射光被表面均匀散射到所有方向,像白纸、陶瓷、亚光塑料。这类表面最容易打光,只要光照均匀,图像就稳定。
混合反射:大多数工业零件处于两者之间,既有一部分镜面反射分量,也有一部分漫反射分量。比如经过喷砂处理的铝件、机加工的金属表面、覆膜纸板等。这类表面的打光方案需要针对性调整光源角度和结构。
所以在设计打光方案前,第一个动作不是翻光源样本册,而是先弄明白:我的目标表面是哪种反射类型?缺陷特征是使光变亮还是变暗?背景表面是反光还是吸光?这三个问题回答清楚了,打光方案的方向就定了。
2.2 图像质量的度量:对比度、均匀性和信噪比
有了物理直觉以后,还需要一套可量化的评估标准。经常有新手问我:“这个打光效果算好吗?”我会反问:你看过图像的直方图吗?我们知道直方图反映的是图像灰度分布,理想打光方案的直方图应该是“双峰”结构——目标和背景分属两个明显的灰度峰值,中间有清晰的谷底。
这里引出工业光学设计中最核心的一个指标:对比度。专业一点的定义是目标亮度和背景亮度之差与两者之和的比值,更直白的说法就是把目标特征从背景中“揪”出来的能力。
打个比方,如果你想检测一个黑色橡胶圈上的白色瑕疵,那么黑背景和瑕疵之间天生就有高对比度,随便打打光都能看清。但如果你想检测镜面不锈钢上的浅划痕,划痕和背景之间本来就是细微的反射率差异,打光稍有偏差,划痕就淹没在反光里了。
除了对比度,还有两个指标必须关注:
均匀性。同一光源照射下,视野中心亮、边缘暗是常见问题。如果目标刚好跑到视野边缘,灰度变化导致的误判会让你怀疑算法是不是写错了。用面光源配合漫射板,是改善均匀性的常用手段。对于大面积视野,还要考虑多个光源的照度叠加是否均匀——这一点在桥式、龙门式检测工位里尤其重要,光源装高了照度不够,装低了视野中间有阴影,全靠实测调校。
信噪比。工业现场往往有环境光干扰(车间顶灯、窗户漏光、邻近设备的指示灯),这些杂散光进入相机就是噪声。消除噪声的手段有遮光罩、偏振片、窄带滤光片等,后面我会详细展开。
说到底,机器视觉算法能够承受的图像质量波动是有限的。一个对比度只有0.1的图像,加多少层滤波、跑多少遍增强算法,效果都不如把光源往下调5度、让对比度变成0.6来得实在。我见过太多团队在软件层面死磕,结果发现把光路调整一下,阈值分割一下就稳了——这类事情在整个行业里每天都在发生。
2.3 从成像链路反推光学需求:相机、镜头、光源的耦合关系
工业光学系统设计经常犯的一个错误是把相机、镜头、光源当成三个独立的硬件选型步骤,顺序排列、各管各的。实际上这三者是一个耦合系统,打光方案必须结合镜头景深、相机靶面、工作距离、节拍时间一起来定。
举个例子,你用一个2000万像素的工业相机,配一个8mm的广角镜头,从50cm远的地方打一个大视野。这时你想用低角度环形光突出某个表面缺陷,结果发现工作距离太远,低角度光根本照不到目标区域的有效角度——这就是方案层面的“打架”。
真正的设计流程应该从成像链路整体考虑:
- 先定义检测目标:最小缺陷尺寸、所需视野范围、工作距离约束
- 再反推相机分辨率、镜头焦距、靶面大小
- 接着根据目标表面的反射特性、环境干扰强度、节拍时间,确定光源类型、打光方式、光源结构尺寸和控制器策略
- 最后做光学仿真或实物打光验证,确认整条链路的图像质量满足要求
这个顺序不能乱,否则你会陷入“换了光源发现镜头焦距不够”、“调了工作距离发现景深不够”的连环做饭现场。
3. 打光方案的核心技法拆解:从光源选型到打光方式的实战逻辑
3.1 光源类型与适用场景速查
工业光源发展到现在,形态已经很成熟了。按外形分主要有这么几种:环形光、条形光、面光源/背光源、圆顶光(穹顶光)、同轴光、线扫光源。每种光源对应不同的光学原理和适用场景。
我用一个表格先做个总览,后面再逐个讲透:
| 光源类型 | 光学原理 | 典型适用场景 | 常见坑点 |
|---|---|---|---|
| 环形光(低角度) | 低角度掠射,微小的表面起伏被放大成明暗差异 | 金属表面划痕、刻字、螺纹、冲压边缘 | 容易被金属反光打爆,需要配合漫射罩 |
| 环形光(高角度) | 接近垂直照射,整体照明均匀 | OCR识别、定位、标签检测 | 面对镜面表面会整体反光进镜头 |
| 条形光 | 方向性可控,可做多角度组合 | 大面积平面检查、织物表面、面板外观 | 方向性单一时容易产生条状残影 |
| 面光源/背光源 | 从目标后方透射照明,轮廓边缘清晰 | 尺寸测量、外形轮廓、毛刺检测、透明体异物 | 高透目标装了背光可能无图像,变成全白 |
| 圆顶光(穹顶光) | 半球形漫反射结构,光线从多个角度入射 | 曲面、球面、不平整表面的整体均匀照明 | 对细小划痕、凹坑类缺陷不太敏感 |
| 同轴光 | 光线经半透半反镜垂直向下照射,反射光沿原路返回 | 镜面表面的平整度、反光字符读取 | 对灰尘非常敏感,光源面稍有脏污就出现在图像里 |
| 线扫光源 | 配合线扫相机,窄带状高亮照明 | 连续材料、卷材表面、大幅面PCB、锂电池膜 | 频率和相机行频必须严格同步 |
单看这个表可能还没感觉,下面展开讲讲几个关键技法的取舍逻辑。
3.2 低角度暗场打光:把“看不见”的缺陷变成“看得到”的信号
所谓低角度打光,就是光源以一个较小角度(通常从目标平面法线方向算,约10°到30°)投射到表面。这个方案的物理原理是:平面区域的光经反射后不会进入相机镜头(像光线打在镜面上反射走了),而表面有凹凸、划痕、凹陷的位置,局部入射角发生变化,部分反射光恰好进入镜头形成亮区——举个例子,划痕本身是凹槽,凹槽侧壁的坡度让反射光改变了方向,于是划痕看起来比周围的平面更亮。
反过来,如果检测目标是表面上的凸点、异物、粉尘颗粒,低角度光会让凸点形成暗区,因为凸起部分的反射方向又偏离了镜头。这时候你的图像上缺陷反而是暗的,背景是亮的——理解这点非常重要,它决定了你在做阈值分割时的极性选择。
低角度环形光在工程上的优势是,它把微小的表面起伏转化为强烈的明暗对比,不需要很高的分辨率就能辨别缺陷。我做螺纹检测时,经常用低角度光把牙尖和牙底变成黑白相间的条纹,烂牙、缺牙这种缺陷因为破坏了条纹的规则性,肉眼一眼就能在图像上看出来。
低角度光的调整需要注意三点:
- 角度越低,对表面起伏的敏感度越高,但同时照亮的面积越小、亮度越不均衡。角度要在“灵敏度”和“均匀性”之间取平衡。
- 金属表面容易产生热点(局部过曝),可以在光源前方加一层漫射罩降低镜面反射强度。
- 低角度光对安装精度要求高,光源平面和目标平面必须足够平行,否则视野内亮暗跨度巨大。
3.3 高角度明场打光:让背景亮起来,让缺陷暗下去
高角度打光(光源入射角接近垂直,通常从60°到80°)走的是另一个思路:让光线大面积垂直照亮目标,反射光大面积进入镜头。这时正常表面是亮的,任何吸收光线的缺陷(比如黑色斑点、划痕内部的污染、透明件上的气泡)就会显示为暗区。
这种方案比较适合表面状态“干净、平整、均匀”的场景,比如PCB板上的字符识别、包装上的标签检测、陶器表面的色斑检测等。它的优点是照明均匀性好,图像整体灰度稳定,不容易出现局部过曝,后续做灰度测量、定位匹配都很好用。
缺点是:面对镜面反射表面,高角度光的效果会大打折扣,甚至出现“光源影像直接倒映在零件上”的问题。如果必须用高角度光检测镜面件,建议搭配偏振片组合使用。
3.4 同轴光:专治镜面反射的“硬手段”
同轴光的结构设计很有意思:光线从侧面射入一组半透半反镜,再垂直向下照射目标,从目标反射回来的光线穿过同一组半透半反镜进入镜头。因为入射光和反射光走的几乎同一条光路,所以称“同轴”。
它的最大价值在于,对于镜面表面的垂直区域,反射光能够原路返回进入镜头,图像是亮的;而任何倾斜于垂直方向的区域(哪怕是极小的倾斜),反射光就会偏离光路,图像变暗。这在检测平整度、划伤、凹坑、镜面表面上的微小异物时非常有效。
我做晶圆表面检测和镜面金属面板的外观检查时,同轴光是首选方案。它能把表面微小的起伏变化直接映射成灰度差,灵敏度很高。
同轴光有个必须注意的坑:光源本身的灰尘、指纹、微小颗粒都会在半透半反镜上成像,直接出现在最终图像里。所以同轴光头的清洁保养必须纳入点检项目,不然检测着检测着图像上突然多了一团雾状阴影,你可能排查半天宕机原因,最后发现是镜片脏了。
3.5 背光:如果你的测量目标是“轮廓”,别犹豫,上背光
前面讲的都是前光照明,利用反射光成像。背光则完全反过来,光源放在目标正后方,相机从前方拍摄,看到的是目标在明亮背景中的剪影轮廓。背光成像的对比度极高,背景全白、目标全黑,边缘轮廓非常清晰。
这个方案特别适合:
- 尺寸测量:比如齿轮外径、螺丝长度、垫片内径、瓶口外径,轮廓边缘锐利,测量精度高
- 外形检测:缺角、毛刺、边缘破损,这些缺陷直接体现在轮廓形状上
- 透明物体检测:透明玻璃瓶的异物、液位,用背光可以形成清晰轮廓
背光的坑主要在“透明件”。我碰到过用背光检测透明薄膜上的缺陷,结果薄膜本身太透明,背光直接穿透,图像变成白花花一片,什么也看不到。这时候必须换思路,用前光做散射照明配合暗背景,或者用特殊的掩膜背光来制造对比。
3.6 频闪与常亮:节拍、发热与光源寿命的三角博弈
工业现场除了有静态检测工位,还有大量高速运动中的检测场景。相机曝光瞬间如果光源亮度不够,图像就会欠曝。常见的做法是加大光源功率,但一直常亮会带来两个问题:一是发热严重,导致光源寿命缩短、色温漂移;二是功耗浪费。
所以工业光源控制器普遍支持频闪模式:在相机曝光的那一刻,控制器瞬间给光源施加数倍于常亮模式的电流,把亮度拉起来,相机曝光结束后再迅速降回待机电流。这样既保证曝光瞬间有足够的光强,又把总体发热控制在可接受范围。
频闪模式有一个关键细节必须注意:光源控制器的触发信号必须和相机的曝光信号严格同步。老手都懂“先触发光源、再触发相机”的铁律,如果两者相位没对齐,图像会出现整幅偏暗或亮度不均匀的问题。我见过一个团队调试高速瓶盖检测时,图像时亮时暗,排查了两天,最后发现是光源控制器连了内部触发而相机设了外触发,两条信号线根本没有同步——这种低级错误在行业里真的不少见。
选择频闪时还要检查光源规格书的最大峰值电流。普通光源的峰值电流可能是常亮电流的2到3倍,但每个型号的极限值不同,超了就直接烧灯珠。控制器上拨码设置错挡位把光源烧了,这钱是白花花的教训。
4. 实操案例全解析:五金件螺纹缺陷检测的光学系统设计全过程
前面讲了原理和技法,很多朋友可能还是觉得“道理懂了,上手还是不会”。这一章我拿一个我做过的真实项目来完整拆解,从需求分析到参数计算再到现场调试,把所有决策过程摊开讲。
4.1 需求描述与初始参数设定
项目背景:某汽车零部件厂需要检测金属螺栓的螺纹缺陷,主要是烂牙(牙型破损)和缺牙(缺一段牙纹),同时还要求测量螺纹的有效长度。产线节拍是每分钟60个零件,也就是一个零件的检测时间不超过1秒,包括传送定位、图像采集、算法判定、结果输出。
目标表面材质是不锈钢,表面没有抛光但有轻度油污,加工状态属于车削表面,反射特性介于漫反射和镜面反射之间——这是最麻烦的混合反射类型。
检测精度要求:最小缺陷尺寸0.02mm(20微米)。这决定了相机的分辨率下限。
视野范围(FOV)设定:螺纹部分长度约12mm,加上余量,视野定在15mm×12mm。
4.2 相机和镜头参数反推:从精度和视野计算分辨率
最小缺陷0.02mm,按照机器视觉的工程惯例,为了稳定识别,缺陷在图像上至少占2到3个像素。我们就按3个像素来算,需要保证每个像素对应的物理尺寸不超过0.02mm/3≈0.0067mm。
视野宽度15mm除以0.0067mm/像素,需要约2239像素宽度。为了保险起见,选一台分辨率为2400×1600(约400万像素)的黑白工业相机,像元尺寸约3.45μm。
镜头的焦距计算用简单成像公式:焦距f = 工作距离WD × 相机靶面宽度 / 视野宽度。这里工作距离受限于机械安装空间,设定为80mm。相机靶面宽度按1/1.8英寸规格约7.2mm计算,f = 80 × 7.2 / 15 ≈ 38.4mm,取标准焦距35mm或40mm镜头。我选了35mm低畸变工业镜头,实际安装后工作距离做微调,用对焦环锁紧。
这里有个参数值得多说一句:畸变。普通CCTV镜头畸变率动辄1%到2%,在15mm的视野范围里就是0.15到0.3mm的形变,对尺寸测量来说完全不可接受。所以做精密检测必须用工业低畸变镜头,畸变率控制在0.1%以内,有条件的话推荐远心镜头,它能从根本上消除透视误差。
4.3 打光方案选定:低角度环形光加漫射罩,一个“照妖镜”式的组合
确定了相机和镜头后,进入最核心的光源方案设计。这个零件是金属车削表面,有油污,缺陷形态是牙纹不连续。我做了一个简单的光学实验对比:
方案A:高角度环形光。打出来整个表面均匀偏亮,螺纹的牙尖牙底有明暗层次,但油污区域出现了一些不规则反光亮点,误判风险偏高。缺陷牙纹不够明显,对比度只有0.2左右。
方案B:低角度环形光(约20°)。这时候戏剧性的事情发生了——正常螺纹的牙纹形成了规则的明暗交替条纹(牙尖亮、牙底暗),看起来像一幅指纹图;烂牙、缺牙的地方条纹连续性被打破,哪怕只有0.02mm的破损,也会在条纹规律中留下一个肉眼可辨的“断裂”。对比度提升到了0.5以上。油污区域的杂散反光在低角度下反而弱化了。
方案C:同轴光。油污反光完全显现,图像糟糕。
最终选了方案B,但在低角度环形光源前方加了一层漫射罩。这一步我当时也是抱着试试的心态加上的,结果效果出奇地好——漫射罩把光变成接近面光源的均匀柔光,削弱了油污的镜面反射干扰,同时保留了低角度入射带来的表面起伏敏感度。
这个组合方案给同行们一个参考:低角度光加上漫射罩,是处理金属件表面油污和微小纹理并存场景的一个高性价比组合。你不需要买贵价的定制光源,一个标准低角度环形光配一片合适的漫射罩就能出效果。
4.4 频闪、曝光和图像稳定性:让相机和光源“合拍”
项目节拍是1秒一个零件,零件在到达检测位时是短暂的停顿状态,所以这个场景不需要把曝光时间压到极短。我把曝光时间设为500μs,保证在零件微动时不会有明显的运动模糊。
光源控制器选了带频闪功能的数字控制器,频闪电流设定为光源额定电流的2倍。这里有一个三年的经验:频闪模式下光源实际亮度不仅取决于峰值电流,还取决于占空比,占空比过高会让光源长期处于高负荷,寿命衰减极快。我习惯把占空比控制在10%到20%之间,既能保证亮度又不会让光源太烫。
调试过程中我还注意了一个细节:现场车间顶部的荧光灯有工频闪烁(50Hz,频闪周期10ms),而我的曝光时间只要500μs,理论上不受影响。但零件传送过程中经过的某个位置会被顶部灯直接照射,形成一条亮带,造成图像底部突然变亮。这个问题的解决方法是给检测工位加了一套遮光罩,把环境光完全隔离掉。
4.5 直方图验证和成像质量确认
所有硬件装好后,有一个每个项目都必须做的动作:看直方图和线剖面图。
我拍了一张标准件的图像,打开图像直方图,确认了两个明显的灰度峰——背景暗区峰值约30灰度,牙纹亮区峰值约200灰度,对比度(Gmax-Gmin)/(Gmax+Gmin)约为(200-30)/(200+30)=0.74,远超0.5的工程合格线。
再沿着螺纹方向的某一行画一条灰度剖面线,观察牙纹的周期性脉冲信号,每个脉冲对应一个牙尖。烂牙的螺纹在脉冲序列里会出现断缺——这段图像数据后来灌进算法模型做训练,经过几百张样本验证,漏判率为0,误判率控制在0.3%以内,完全满足现场要求。
这个结果其实早在意料之中——当光学方案把缺陷特征放大到“肉眼可见”的程度时,算法逻辑就变得简单可靠,这也是我一直强调“项目死在光上”的根本原因:很多视觉项目不是算法不行,而是图像压根没有给算法提供可用的特征。
5. 工业现场光学系统设计的避坑指南与排查思路
5.1 常见问题速查表:先定位再动手,别乱调
做视觉项目,最忌讳的就是一出问题就六神无主,把光源角度、光圈、曝光、增益全部乱拧一通。我整理了以下几个高频问题及排查路径:
| 现象 | 可能原因 | 排查思路 |
|---|---|---|
| 图像过曝、白成一片 | 光源太强、光圈太大、曝光过长 | 先看直方图,压曝光或收缩光圈,逐项试 |
| 图像欠曝、黑成一片 | 光源功率不足、频闪未触发、工作距离过远 | 检查频闪信号是否同步,再看光源安装高度 |
| 图像明暗不均 | 环境光干扰、光源角度偏斜、遮光罩位置不当 | 加遮光罩后逐层排除环境光,再看光源机械角度 |
| 同一种材料忽亮忽暗 | 零件表面反光特性有批次差异、油污状态不稳定 | 改用漫射罩或增加漫射板,降低镜面反射分量 |
| 图像上出现光斑或光晕 | 镜面反射直接入镜头、光源影像倒映 | 加偏振片或调整光源结构位置 |
| 图像有暗条纹或闪烁 | 光源控制器与相机触发信号不同步 | 重新确认触发线连接,检查控制器外触发极性 |
5.2 偏振片、遮光罩和滤光片:三个便宜但常被忽略的神器
偏振片在工业视觉里的应用,很多人知道,但没有形成使用习惯。偏振的原理很简单:光在镜面反射时会产生偏振特性,漫反射光则基本不改变偏振特性。如果在光源前面加一个偏振片(起偏器),在镜头前面加一个方向与起偏器垂直的偏振片(检偏器),镜面反射光被滤除,而漫反射光得以通过。
这个组合在做玻璃表面划痕检测、镀膜件外观检测、以及像我前面说的油污金属表面检测时,非常有效。整套成本不过几百元,却经常能救活一个看似“没救了”的光学方案。
遮光罩和滤光片也值得一提。遮光罩的作用是隔离环境光,尤其是车间顶灯、日光透过窗户等大范围干扰光源。滤光片则是从光谱角度做区分:用单色光照射配合同波长的窄带滤光片,能有效消除环境光中其他波长的干扰。比如用红光照明配波长为650nm的窄带滤光片,车间荧光灯的影响几乎可以忽略。
5.3 一套从零到一的光学调试动作清单
最后送上一份我觉得每个项目都可以直接用的调试路径,让光学调试这件事从一个“玄学”变成一套可重复的操作流程:
- 隔离环境光:先把现场遮光做好,确保进入相机的光只有你控制的光源。这一步最基础,也最容易被大家忽略。
- 单光源点亮:每次只开一路光源,观察图像变化,分清一路光源贡献了什么、掩盖了什么。
- 渐进添加:多路光源的项目,从主光源开始,逐路添加,观察新增光源对图像灰度均匀性的影响。
- 看直方图调曝光:把相机曝光调到直方图不溢出、不贴地,然后在软件里观察目标特征的对比度。
- 机械微调角度和距离:在曝光稳定后,微调光源角度和安装距离,每调一次拍一张图存下来,找出对比度最高的位置。
- 增加样本验证:用5-10个不同状态的零件(包括良品和带有典型缺陷的样品)确认图像稳定,缺陷特征在每种样本上都能稳定呈现。
这套动作看起来简单,但真正执行下来,能解决至少80%的打光问题。剩下的20%,往往就是上面提到的偏振、遮光、频闪同步这些细节。
我在实际项目里反复验证过一件事:很多看似无解的光学难题,回头翻记录,都是因为在调试早期没有做“隔离环境光”和“单光源点亮”这两步,导致变量太多,根本判断不了问题出在哪盏灯、哪个角度、哪层反光上。
6. 写在最后:光决定了机器视觉的上限
做了这么多年视觉项目,我越来越觉得,这个行业里真正拉开差距的,不在算法模型有多深,而在光学方案有多稳。一个能稳定出图的打光系统,比一百个花哨的算法模块更能决定项目成败。
我见过太多团队氛围是“算法优先”,一遇到图像问题就想着训练模型、调参、换网络结构。但实际上遇到图像质量的问题根源,往往是光源角度偏了两三度、漫射罩放没放、偏振片扭没扭对。把光搞对了,那些看起来高深的算法,完全可以用一个阈值分割加形态学处理跑得又快又稳。
如果你正在做一个机器视觉项目,我的建议是:
- 预算再紧,也要留出打光实验的时间和打样验证的费用
- 光源方案在项目立项阶段就参与,不要等拿到相机路都走了一半才开始想
- 建立自己的打光案例库,不同材质、不同缺陷类型的光学组合都记录下来,下一次可以直接翻案例
- 多用偏振、遮光、频闪同步这类“小技巧”,成本低、见效快
这套“十讲”系列,第二讲停在光这里,其实正合适——因为后面不管讲算法、讲标定、讲深度学习,根基都在图像上,而图像靠的,就是那一束照在正确方向上的光。