做视觉这几年,被问到最多的问题不是算法怎么调,而是“这个件到底该用什么样的光”。在工业视觉圈里,打光选型始终是个容易被低估的环节——很多人觉得随便拿个环光怼上去就能看图,实际上十个现场难项目里,至少一半的问题出在成像,而不是算法。这篇文章我打算把工业视觉里的打光选型从头捋一遍,包括光源类型、颜色波长、照明方式、不同材质怎么搭方案,以及我踩过的一些坑。适合刚入行的视觉工程师、做非标设备的机械电气同事,还有那些被现场图像质量折磨到怀疑人生的朋友。
1. 先想清楚打光到底在解决什么问题
1.1 成像质量直接决定算法上限
很多项目的技术方案写得天花乱坠,深度学习、亚像素定位、高精度测量样样都有,结果到了现场一看图像,OCR字符边缘发虚、缺陷区域被反光盖住、透明物体拍出来一片惨白,算法再牛也回天乏术。
工业视觉系统本质上是一条完整链路:光源照射物体,光线经过反射或透射进入镜头,传感器把光信号转成灰度值,最后算法从灰度图像里提取信息。注意,后面所有的算法、模型、逻辑,处理的都是“前端已经拍好的那一张图”。图像里丢掉的细节,后面再怎么强化也补不回来。
这就好比拍照片,人像、风景、微距要用完全不同的布光策略。工业检测也一样,金属反光件、透明瓶、黑色塑料、PCB板,它们的表面特性和检测目标完全两回事,一套光打天下是不可能的。打光选型,本质上是在回答一个问题:我想要的那部分信息,和不需要的那部分信息,怎么在灰度上拉开差距。
1.2 打光方案要盯住的四个指标
同样一个零件,用不同光源拍出来效果天差地别。评判一个打光方案好不好,我一般看四个维度:
- 对比度:目标特征和背景之间的灰度差,这是最核心的指标。对比度不够,阈值随便一设就飘,算法再复杂也白搭。
- 均匀性:整个视野范围内亮度是否一致。视野边缘暗、中心亮,后面做全局阈值处理时很容易把边缘的浅特征漏掉。
- 一致性:同一颗料、同一个工位,不同时间拍出来的图像是否稳定。换了批次、换了操作员、光源衰减了,图像能不能扛住。
- 亮度:整体光强是否足够。亮度不够就得开大增益,噪声跟着一起放大,图像越来越脏。
这四个指标里,对比度优先级永远最高。亮度不够可以加曝光、开光圈,均匀性不够还能靠算法补偿,但对比度不够往往就要推翻光源方案重来做。
2. 光源类型怎么选:从环形光到穹顶光
2.1 常见光源结构盘点
光源选型这事,归根结底是选“光的空间分布”。LED灯珠怎么排、光从哪个方向打、能不能做成漫射,决定了现场图像的底子。目前工业上常用的光源类型就那么几种,各有各的脾气。
| 光源类型 | 照明特点 | 典型应用场景 | 选型注意事项 |
|---|---|---|---|
| 环形光源 | 从斜上方环绕照射,中心区域光路上容易形成暗区 | 字符识别、定位、划伤检测 | 安装高度影响打光角度,中心反光问题要留意 |
| 条形光源 | 长条状直射,角度可调,可拼装组合 | 大面积平面照明、金属表面、PCB板 | 多根光源组合时,尽量保持角度一致 |
| 同轴光源 | 通过半透半反镜片让光沿镜头光轴垂直射出 | 高反光平面、晶圆、焊点、玻璃表面 | 镜面反射容易直接进入镜头,需要控制亮度或加偏振 |
| 穹顶光源 | 半球形内壁漫反射,出光均匀柔和 | 曲面、弧形、高反光异形件 | 亮度偏低,大视野下需要更大尺寸 |
| 背光源 | 光从被测物背后穿过,形成剪影 | 轮廓测量、尺寸检测、透明体异物 | 只能提供轮廓信息,表面细节看不到 |
| 线性光源 | 长条形聚光输出,配合线阵相机使用 | 卷材、薄膜、印刷品连续检测 | 光斑宽度要和线阵相机的扫描线匹配 |
| 点光源 | 单点输出的小型光源 | 小视场检测、配合光纤使用 | 照明面积有限,适合小视野配套远心镜头 |
2.2 环形光源与条形光源的适用边界
环形光源是出镜率最高的选手,原因就一个字:省事。安装时往镜头上一套,随便给个法兰就能固定,调试起来也不用考虑什么角度。但用的人多不代表用得对,环形光源有一个隐蔽的坑:它会从四周斜上方往中心汇聚,如果安装高度不合适,在中心区域反而会形成一个明显的暗斑——尤其是检测高反光平面时,经常会看到图像中间有一圈诡异的阴影,怎么调曝光都消不掉。
条形光源更适合大面积平面照明。它最大的优势是角度可调,打光时可以把光源压得非常低,形成掠射效果,专门用来把凹凸起伏的缺陷“照出影子来”。我做过一个金属面板划伤检测的项目,划痕深度只有几微米,肉眼都要凑近了才看得清。用环形光高角度打,图像上完全看不出来;换成两根条形光左右低角度对射,划痕就像悬崖一样在灰度图上炸了出来。这就是角度带来的差异,不是亮度能弥补的。
2.3 同轴光源和穹顶光源的定位
同轴光源的设计比较特别,光路经过半透半反镜片转弯后,沿镜头光轴垂直照射到物体表面,然后垂直反射回来进镜头。这意味着它能“熨平”物体表面的高度差干扰,用来拍摄平整的高反光表面非常合适。比如晶圆表面的线路、PCB板上的焊盘、玻璃表面的镀膜缺陷,这类场景用同轴光能拍出非常干净的效果。
但同轴光也有个天然问题:物体表面一旦有镜面反射,反射光会原路返回直接进镜头,画面直接就过曝了。所以用同轴光时一定要控制光源亮度,或者搭配偏振模组使用,把镜面反射滤掉一部分。
穹顶光源的思路则是“不直接照,先漫射一遍”。它内部是一个半球形空间,LED发出的光打到内壁漫反射层后,再从四面八方均匀地洒向物体表面。这种光的最大优点是均匀,且能大幅弱化物体表面的方向性反光。处理曲面的金属外壳、圆柱形电池、弧形注塑件时,穹顶光几乎是见效最快的方案。缺点也很现实:个儿大、亮度低、价格相对高,安装空间不够的项目只能放弃。
3. 光源颜色与波长:同色变亮,异色变暗
3.1 波长选择的基本原则
黑白相机是工业现场的绝对主力,它拍到的不是“颜色”,而是物体表面对不同波长的反射率映射成灰度。这给打光选型留下了巨大的操作空间:用不同颜色的光去照射彩色物体,能在灰度图像里人为地控制目标特征和背景的亮度关系。
经验法则很简单:光源颜色和被测特征颜色越接近,特征在图像里就越亮;光源颜色和特征颜色如果成互补关系,特征就会暗下去。举个例子,红色PCB板上有白色丝印,用红色光打,红色板子反射红光的能量很强,整体很亮,而白色丝印对红光的反射相对弱,灰度就相对低,对比度一下就出来了。如果换用白色光,板子和丝印都亮,后面做字符识别会很痛苦。
同理,蓝色背景上的黑色字符,用蓝色光打,背景亮、黑字暗,效果也不错。核心逻辑就一句话:让想看的特征亮起来,或者让讨厌的背景暗下去,选一个方向把灰度拉开。
3.2 实际项目里的红蓝绿光选择
红色光在工业视觉里普及率最高,因为红光LED光效高、价格便宜,而且它照在银色、灰色、黑色这类低反射表面上时,整体反射率会比蓝光绿光稍微高一些。所以很多通用场景,我习惯先拿红色光试一圈。
蓝光和绿光的长处在于波长短,对细微划痕、边缘轮廓的散射更敏感。测玻璃表面的浅划痕、金属表面的极细纹理时,蓝光往往比红光更容易让缺陷在图像里“显形”。绿光的优势则是接近人眼敏感波段,做颜色识别的项目时,配合彩色相机使用,颜色还原度会更好。
还有一个经常被忽略的是红外光。红外波长较长,对表面细小的刮痕不太敏感,能“忽略”掉一部分表面瑕疵干扰。比如检测透明薄膜里的杂质时,用红外背光能滤掉薄膜本身的表面划伤,只留下真正要看的内部异物。配合带通滤光片使用,现场环境光的影响也能压得很低。
3.3 滤光片是配套武器
选了单色光之后,最好在镜头前加一块对应波段的带通滤光片。这步很多人会偷懒不做,但现场环境光一强就傻眼了:白光干扰把单色光那点对比度优势直接抹平。加了对应波段的窄带滤光片,环境光里的其他波长被大部分挡在镜头外,图像干净程度完全两回事。
4. 照明方式:明场、暗场与偏振
4.1 明场打光和暗场打光怎么选
选完光源类型和颜色,还要决定“光以什么角度打在物体上”。角度决定了反射光能不能进镜头,也决定缺陷在图像里是亮的还是暗的。
明场照明是最常规的思路:光源高角度照射,物体表面大部分光线直接反射进入镜头,背景是亮的,缺陷或吸收光线的特征在图像里表现为暗色。这种方案适合找“暗的特征”——比如黑色瑕疵、孔洞、颜色差异。
暗场照明正好反过来:光源以很低的角度掠过物体表面,大部分光线反射不到镜头里,背景是黑的。只有当光遇到表面凸起、凹陷、划痕边缘这些“不规矩”的地方时,才会散射进镜头,把缺陷照成亮点。这种方案对浅划伤、微小凹凸、有无边缘的检测非常有效。
我之前做过一次金属表面的打字码检测,字符是激光打出来的,深度很浅,用明场光看几乎和背景融为一体。改成低角度条形光暗场照明后,字符边缘被“镶”上了一道亮边,对比度极高。这个案例我一直记着,因为从那以后,遇到任何“手动反光分辨不清”的特征,我都会条件反射地先试暗场。
4.2 偏振光的用法和方向
偏振技术是打光选型里的一把隐藏武器。原理不复杂:自然光经过偏振片后变成单一方向的偏振光,照射到物体表面时,镜面反射光会保持偏振方向,而漫反射光会打散偏振方向。如果在镜头前再放一块偏振方向垂直的检偏片,原本的镜面反射光就会被挡住,只有漫反射光能通过。
这意味着什么?玻璃表面的脏污、塑料件表面的反光干扰、薄膜包装上的炫光,都能用偏振手段压掉。比如检测手机玻璃盖板的表面异物,直接用同轴光照明会看到大片镜面反光,异物反而被淹没;加上偏振模组之后,玻璃背景变暗,异物颗粒因为漫反射而变成亮斑,对比度直接反向拉满。
这地方有个特别容易出错的点:起偏器和检偏器的方向一定要互相垂直,偏振才能滤除镜面反射。很多人装偏振片时没注意角度,摆成了平行方向,结果镜面反射完全没有被抑制,画面反而更乱。调试时需要边旋转检偏片边看图像,找到反光被压到最弱的位置。
5. 常见材质的具体打光方案
5.1 金属高反光表面
金属表面是工业视觉里最难处理的材质之一。它的镜面反射率非常高,光源稍一不正,就在图像里留下一片亮斑,下面清晰的纹路、焊点、脏污全被盖住。
处理高反光金属件,优先考虑穹顶光或者加漫射板的条形光,把直射光变成多个方向的漫射光,削弱镜面反射的方向性。检测不锈钢表面的焊道缺陷时,光的方向很关键——焊道本身有高度起伏,用低角度的条形光暗场照明,可以让焊道轮廓产生明显的亮暗分界,缺陷位置出现异常的暗点或亮点。
如果是金属表面的压印字符,比如发动机缸体上的铸造字码,建议用低角度环形光加暗场。字符凹陷边缘会形成高光轮廓,背景是暗的,整体图像层次感非常强。这一招在汽配行业里非常常用。
5.2 透明体与半透明体
透明材料的问题恰好相反:光太容易穿透了,目标特征和背景之间的边界很难建立。检测玻璃瓶内部液位、药瓶里的胶塞、透明薄膜上的异物时,首先要分清你到底要看“轮廓”还是“内部”。
测量透明件的外形尺寸,直接用背光源。光从背面穿透,透明部分亮,边缘呈一条清晰的黑色轮廓,做亚像素边缘检测非常顺手。再看透明体内的杂质,背光往往不行——杂质和透明体同方向受光,灰度差异很小。这时候要改用前向散射或者低角度环形光,让杂质颗粒产生散射,在相对暗的背景上形成亮点。
透明薄膜上的浅划痕,又是另一套思路。膜表面平整,划痕很浅,要用条形光低角度掠射,让划痕边缘产生轻微的散射亮线。角度压得越低,效果越明显,但也要注意不要把膜面的其他纹理一起照出来,反而干扰判断。
5.3 印刷字符与标签
印刷字符识别,比如药品包装盒上的三期、饮料瓶盖上的喷码、PCB板上的丝印,打光选型的核心是“颜色互补”加“适当角度”。
彩色纸盒上的白色或黑色喷码,优先尝试与背景颜色匹配的单色光。比如红色背景配蓝字,用红光打,背景变亮,蓝字因为吸收红光而变暗,对比度非常舒服。如果背景本身非常花哨,花纹复杂,可以考虑用红外光配合红外滤光片,很多油墨对红外光有特殊的反射特性,能起到“隐掉背景”的效果。
金属材质标签上压印的凸字,就要用到低角度暗场照明,让凸起边缘产生亮线。这类标签往往还带一层覆膜,覆膜的反光会干扰成像,此时在光源和镜头前加偏振模组,可以把膜面的反光压掉,只保留压印字符的轮廓。
5.4 光伏与电池行业的典型场景
光伏行业里硅片的外观检测,对光源要求极高。硅片表面本身带有一定的颜色和纹理,检测崩边、隐裂、脏污时,一般会组合使用多角度的条形光和穹顶光。裂纹在硅片表面呈线状反射异常,用低角度条形光暗场能最大程度增大裂纹与背景的灰度差。
锂电池表面的绝缘膜包裹检测,重点看的不是膜本身,而是膜边缘是否对齐、是否破损。这类场景用高角度环形光加偏正光,膜平面的反光和底面金属层的反光会被区分开,缺陷位置会出现明显的灰度异常。
6. 一套可复用的打光选型流程
6.1 上手前的需求梳理
打光选型不是拿着光源乱照,而是按流程推。接到一个项目,我第一件事是把“看图需求”写成可量化的单词:
- 要检测什么:缺陷、字符、尺寸、位置。
- 缺陷是什么类型:颜色差异、凹凸、划痕、异物、有无。
- 目标特征大小:决定相机分辨率和镜头倍率,也影响光源的照明面积。
- 材质表面状态:镜面、漫反射、透明、半透明、纹理复杂程度。
- 产线节拍:决定用全局快门相机加频闪,还是连续光加卷帘快门。
这些信息齐了,才算有资格开始选光源。空手试光源,试一百种也试不出结果。
6.2 实验阶段的动手步骤
在实验室里验证打光方案,我习惯按这套流程走:
- 用白色常规灯光先从肉眼上观察样品表面,确认缺陷和特征的直观状态。
- 根据材质表面状态判断光源大类:反光强不强,是否透明,是否需要漫射。
- 先试常规角度:光源安装在相机正下方附近,记录图像。
- 再试低角度掠射和暗场,看看缺陷会不会变得更“立体”。
- 换单色光或偏振组合,评估颜色选择对对比度的影响。
- 用灰度直方图和ROI区域的灰度均值、标准差来评估,不要用眼睛靠感觉判断。
- 调整相机曝光和光源亮度,优先动曝光和光圈,增益留在最后。
- 固定方案后,多放几个样品、多摆几个位置验证稳定性。
其中灰度直方图是最客观的验收工具。方案好不好,不用争,把目标区域和背景区域的灰度分布拉出来看,两个波峰之间的距离越大,重叠越少,方案就越稳。
6.3 现场落地的注意事项
实验室方案再完美,落地现场时也经常要再调一轮。原因主要有三个。
- 环境光变化:车间的自然光、日光灯、其他设备的光,会把实验室里精心调好的对比度瞬间淹没。对策是加遮光罩、用带通滤光片,以及改用频闪照明加短曝光同步。
- 装配误差:光源支架、相机安装的微小角度偏差,会让图像边缘出现局部暗区。做结构设计时,光源的高度和角度最好做成可微调的,能省去现场大量返工时间。
- 批次差异:同一型号的零件,不同批次表面状态可能完全不同。做样品验证时,尽量多收集几个批次的材料,避免在一颗料上把参数调到最优,换一颗料就崩掉。
提示:样机阶段一定用常亮模式调试,把所有光源参数和相机参数调到稳定状态后,再切频闪模式联机。对着黑屏调频闪参数,十个里有九个会把曝光参数调到乱七八糟。
7. 现场打光常见问题速查
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| 图像大面积过曝,细节丢失 | 光源亮度过高、光圈太大、曝光过长 | 降低光源亮度,缩小光圈,缩短曝光,慎用增益 |
| 图像中间有暗斑或亮斑 | 环形光源高度不对,或高反光表面的镜面反射 | 调整光源高度,换漫射方式,加偏振 |
| 视野边缘明显变暗 | 光源尺寸太小,均匀性不足 | 换更大的光源,加漫射板,或用穹顶光 |
| 同一零件放上去灰度不稳定 | 光源固定松动、装配公差、外部光干扰 | 固定光源,检查结构,加装遮光 |
| 人眼能看到缺陷但图像上不明显 | 照明角度不对或波长不对 | 先试低角度暗场,再试单色光和偏振 |
| 环境光对图像影响严重 | 未遮光、滤光片缺失 | 加遮光罩,按光源波长配窄带滤光片,使用频闪 |
还有一个常被忽略的问题:光源发热。很多项目用常亮大功率光源长时间运行,光源温度升高后,亮度会衰减,色温也可能漂移,图像会慢慢变化。选光源时要关注控制器的驱动方式,尽量用PWM恒流驱动,并让光源在降功率状态下运行。高功率频闪模式虽然亮度高,但连续长期运行的稳定性一定要做老化验证。
做打光选型这行久了,我越来越觉得它是一门需要按流程走的工程课。不要指望一次打光能解决所有问题,拿到样品先做加法,把可能的光源类型、颜色、角度都试一遍,再逐步收敛到最稳的方案。每次做完选型,把光源型号、安装高度、角度、亮度、相机参数、测试样品照片都记录下来,做成一份归档文档。三个月后你维护现场时,会特别感谢当初那个留下完整记录的自己。少信一些玄学方案,多观察自己样品表面和光的相互作用,多数现场问题其实在前期都能省掉。