
做机器视觉项目最容易背锅的两个环节一个是光一个是机械。相机和算法都能换、能调、能重写唯独光一旦定死后面所有的努力都在给光学擦屁股。我见过太多团队把预算的八成砸在相机和算力上剩下的两成随便配个镜头和环形灯然后抱怨这个缺陷算法识别不出来。实际上机器视觉里光学光源加镜头决定了图像信息的上限算法只是把已经存在于图像里的信息提取出来。图像里没有的东西算法再强也变不出来。这篇是基础光学系列的第一篇我想把光学在机器视觉里扮演的角色讲清楚它管什么、核心参数怎么影响像素精度、打光方案的选型逻辑、2D到3D的光学差异、光学设计入门大概长什么样以及一条能真正落地的学习路线。不管你是刚入行做视觉的工程师、正在准备机器视觉面试的应届生还是干机械或算法想补光学短板的同行这篇都能当个起点来用。1. 光学在机器视觉里到底管什么1.1 一条完整成像链路拆开看任何一套机器视觉系统拆到最底层就是一条成像链路光源发出光子打到被测物表面表面把光按自己的几何形状和材质特性反射或散射出去其中一部分进入镜头镜头把物方空间的光场重新分布到像面落在相机的传感器像素阵列上传感器把光子转成电子再转成数字灰度值最后采集卡或接口把数据送到算法端。这条链路里光源和镜头合起来就是我们说的光学系统。关键在于光学系统是这个链路的物理入口。它决定了三件事一是信号强度也就是传感器能不能接收到足够的能量直接关系到曝光时间和信噪比二是信号选择性也就是哪些信息被保留、哪些被压制比如用不同波长的光、不同角度的入射能让你想看的特征凸显、不想看的背景消失三是空间信息保真度也就是物体的几何形状被转移到像面时失真了多少这直接决定测量类应用的精度天花板。算法工程师拿到手的是一张已经成像完成的图他能做的只是在这张图上做数学运算。如果边缘在光学阶段已经糊了如果对比度在光学阶段已经掉了如果畸变在光学阶段已经引入了不可逆的非线性那后面花的功夫都是补偿不是解决。所以我常跟新人说先把成像链路的每一环画出来标清楚哪一环是光学负责的你才知道问题该找谁。1.2 为什么光学最容易被低估低估光学的原因很现实相机有明确的参数表分辨率、帧率、靶面、接口选起来像点菜镜头和光源的参数表看起来没那么硬很多人就凭经验拍脑袋选。于是常见的一幕是项目初期为了省事随便配了个镜头中期发现边缘亮度不够、畸变大、景深太浅后期只能靠算法硬扛最后项目延期锅甩给算法不行。我做过一个复盘统计在我经手的项目里真正卡住的难点里超过一半能在光学阶段找到根因。有的是镜头分辨率不够配了个两千万像素的相机却用了个只能喂饱五百万像素的老镜头有的是打光角度不对金属表面的镜面反射直接打到镜头里形成过曝光斑有的是景深没算被测物上下有高度差一半清楚一半虚。这些问题在光学阶段花半天就能规避拖到算法阶段可能花两周。光学还有个特点是不可逆性。软件可以迭代参数可以调但物理光路一旦定下来尤其是镜头选型、相机靶面利用、工作距离限定了以后能调整的自由度非常小。这也是为什么我把光学放在整套视觉系统设计的最前面来考虑。1.3 光学、算法、机械的责任边界做项目最怕责任边界模糊出了问题互相推。我习惯在项目启动时就把边界画清楚下面这张表是我常用的一个参考环节主要负责内容出问题时的典型表现光学光源镜头成像质量、对比度、分辨率上限、畸变、照度均匀性边缘发暗、边缘模糊、过曝、对比度不足、测量值系统性偏差机械结构运动定位精度、重复定位、振动、工作距离稳定性图像位置漂移、运动模糊、同一位置重复成像不一致算法含采集特征提取、亚像素定位、标定补偿、判定逻辑阈值附近抖动、误判、漏检、测量重复性差相机与采集采样密度、噪声、动态范围、传输带宽噪点、量化误差、丢帧、曝光不稳这张表的价值不在于分得多细而在于当问题出现时你能快速定位到最可能的那一环。比如测量值有系统性偏差八成是标定或畸变边缘发暗八成是镜头相对照度或光源均匀性重复性差八成是机械或光源稳定性。养成这个思维习惯排查效率会高很多。提示项目启动阶段就明确光学方案谁定、谁验收比后期扯皮划算得多。光学方案的验收标准最好落在图像质量指标上而不是看起来还行。2. 核心光学参数与像素精度的关系2.1 像素精度到底怎么算像素精度是机器视觉里最常被问到的一个数它的物理含义是图像上单个像素对应被测物上的实际尺寸。最基础的计算式是单像素精度 (mm/pixel) 视场宽度 FOV (mm) / 相机水平分辨率 (pixel)举个例子你要检测一个 100 mm 宽的区域选了台水平 5000 像素的相机那么单像素精度就是 100 / 5000 0.02 mm/pixel。注意这只是几何精度也就是每个像素代表多大不代表你能分辨出这么小的东西。真正决定能不能看清的是可分辨的最小特征尺寸。按采样定理理想情况下要稳定分辨一个特征至少需要 2 到 3 个像素去描述它工程上保守一点常用 3 到 5 个像素。也就是说0.02 mm/pixel 的系统可靠检测的最小缺陷大概在 0.04 到 0.1 mm 之间而不是 0.02 mm。如果你用亚像素算法比如边缘的灰度重心法、拟合抛物面找极值定位精度能做到 1/4 甚至 1/10 像素但这是定位精度针对的是边缘位置这类规则特征不适用于能不能看到的问题。很多新人把这两个概念搞混面试时特别容易被追问。那么回到热搜里那个问题机器视觉动了什么会导致像素精度变化。答案是视场和分辨率这两个量本身变化或者它们的等效变化换镜头改变放大倍率视场变了单像素精度就变了换相机改变像素数量或靶面尺寸分辨率变了单像素精度变了改工作距离放大倍率变了视场随之变化用加装接圈、增倍镜这类附件等效焦距或倍率变了也会影响。而景深、光圈、打光这些参数不会直接改变单像素精度它们影响的是图像清不清楚、对比度够不够从而间接影响你能不能用这个精度。这个区分一定要拎得清不然讨论像素精度时容易跑偏。2.2 分辨率、MTF 与对比度传递镜头的分辨率和相机的分辨率不是一回事。相机的分辨率是像素数量是个采样密度问题镜头的分辨率是它能把多细的条纹还保留多少对比度是个传递能力问题。描述这个能力最标准的工具是MTFModulation Transfer Function调制传递函数。它描述的是当物方有不同空间频率的黑白条纹单位是 lp/mm线对每毫米时镜头成像后对比度还剩多少。理想镜头的 MTF 在所有频率上都等于 1实际镜头随频率升高MTF 单调下降降到某个程度就分辨不出了。为什么这个跟你选型直接相关因为相机存在一个奈奎斯特频率也就是它能正确采样的最高空间频率奈奎斯特频率 (lp/mm) 1 / (2 × 像素尺寸 mm)举个例子像素尺寸 3.45 μm 的相机奈奎斯特频率 1 / (2 × 0.00345) ≈ 145 lp/mm。这意味着为了让相机不至于喂不饱或者过采样白费镜头的 MTF 在这个频率附近最好还能保持一个可用的对比度工程上常看 MTF30 或 MTF50也就是对比度降到 30% 或 50% 对应的频率。还有两个概念容易混**分辨率Resolution**通常指镜头能分辨的最小线对是 MTF 降到某个判据时的频率**锐度Sharpness**是主观视觉感受跟 MTF 曲线形状有关。选镜头时别只看多少万像素镜头这种营销话术有条件就让供应商给出中心到边缘的 MTF 曲线看边缘在奈奎斯特频率处还剩多少这比支持 2000 万像素靠谱得多。注意镜头标称的支持 XX 万像素往往是在特定靶面、特定光圈下的乐观值。实际用的时候边缘画质、光圈开大开小、工作距离远近都会让实际表现打折。宁可选高一档的镜头不要卡着像素数选。2.3 景深、工作距离与视场的三角约束光学选型里有个绕不开的不可能三角视场、工作距离、景深三者互相牵制。想要大视场、又想要长工作距离、还想要大景深这三者同时满足几乎是不可能的只能取舍。景深的近似公式有限物距下常用形式是这样的DOF ≈ 2 × N × c × (m 1) / m²其中 N 是光圈 F 数c 是允许弥散圆直径常取 1 到 2 个像素尺寸m 是放大倍率。从这个式子能读出几个直觉光圈越小N 越大景深越大但进光量减少衍射极限也会限制分辨率放大倍率越大越接近显微级别景深急剧变小这就是为什么高倍测量镜头景深动不动只有零点几毫米工作距离越远为了保持同样的视场放大倍率就得越小景深反而可能变大但分辨率会下降。我在实际项目里的处理顺序通常是先定被测物尺寸和需要分辨的最小特征算出需要的放大倍率和视场再看结构空间允许的工作距离最后根据被测物高度差去卡景深如果景深不够就优先考虑改打光比如用平行光或远心照明减小高度差带来的影响、或者改结构让被测面尽量在同一平面。2.4 相对照度为什么会拖后腿相对照度Relative IlluminationRI是评价镜头成像面从中心到边缘亮度衰减程度的指标理想值是 1中心和边缘一样亮实际镜头边缘总是比中心暗。它的物理根源之一是余弦四次方定律斜射光线到达像面的路径更长、有效孔径更小边缘照度大致按 cos⁴θ 衰减θ 是像方半视场角。测试相对照度的原理其实不复杂但很容易测错。常见做法有两种一是均匀面光源法用一个亮度均匀的积分球或均匀背光板充满整个视场拍一张图然后统计从中心到边缘的灰度分布归一化后就是相对照度曲线。这里的关键是光源本身要足够均匀否则你测的是光源不均匀性不是镜头 RI。二是白板法在均匀照明的白板上拍摄同样做灰度归一化。这个方法对环境光、白板平整度和照明均匀性都很敏感。测 RI 的坑在于很多参数会污染结果。比如暗角、传感器本身的响应不均、镜头的渐晕、甚至镜头和传感器的 CRA主光线角匹配不好。工程上我一般会把相机自身的平场校正拿出来单独标定一次再测镜头避免把传感器的锅算到镜头头上。为什么 RI 重要因为在测量和检测类应用里边缘视场的亮度低会直接导致边缘的对比度下降、信噪比变差、阈值分割时边缘和中心要用不同参数、灰度类测量出现系统偏差。如果你的应用对全视场一致性要求高比如大靶面测量、拼图检测就要么选 RI 好的镜头要么做平场校正要么干脆通过照明补偿。2.5 畸变与远心度测量类应用的生命线畸变是镜头成像时几何形状的失真分桶形畸变和枕形畸变两种。它不改变图像的清晰度但改变位置关系所以对定位和测量是致命的对有无判断类的检测影响相对小。处理畸变的常规路径是先标定后补偿用棋盘格或圆点靶标标定出畸变模型再把图像做展平。如果对精度要求特别高或者被测物有高度变化普通镜头的放大倍率会随物距变化俗称透视误差就要上远心镜头。远心镜头分三类物方远心光阑在像方焦平面物方主光线平行于光轴物距变化时放大倍率基本不变消除透视误差像方远心光阑在物方焦平面像方主光线平行保证像面照度均匀性好双远心两边都远心性能最好价格也最高。选远心镜头的典型场景测量有高度的物体、需要高精度尺寸测量、被测物位置会前后波动。代价是视场通常比较小、工作距离固定、成本高且体积大。我一般把远心镜头当作测量精度要求高且普通镜头补偿不过来时的方案而不是默认选项。参数谁在影响对成像的影响常用应对单像素精度视场、分辨率决定几何测量尺度调整镜头倍率或相机像素数MTF镜头光学质量决定边缘清晰度和可分辨频率选 MTF 与相机奈奎斯特频率匹配的镜头景深光圈、倍率、工作距离决定高度方向容差缩光圈、降倍率、改打光或结构相对照度镜头光学设计、视场角决定边缘亮度一致性平场校正、照明补偿、换镜头畸变镜头设计决定几何位置准确度标定补偿或改用远心镜头3. 光源与打光方案光学的一半在光里3.1 常见打光方式与适用场景打光方案在机器视觉里的地位被严重低估。镜头决定能不能拍清楚光源决定能不能把特征拍出来。同一颗缺陷换一种打光可能从完全看不见变成清晰锐利。常见的打光方式有这么几类环形光光源围绕镜头一圈。通用性最强适合漫反射表面的一般照明缺点是金属、玻璃这类高反表面容易产生环形亮斑。条形光几个方向独立调节角度适合大面积或需要方向性照明的场景比如布匹、板材、线扫。背光光源在被测物背后形成剪影。适合尺寸测量、轮廓检测、有无判断边缘对比度极高。同轴光光沿光轴方向经过半透半反镜打到被测物适合镜面、金属、玻璃这类高反表面能照出表面平整度、刻痕。圆顶光穹顶光半球内壁漫反射形成非常均匀的漫射照明适合高反、曲面、复杂形状。点光源 / 聚光局部高亮适合小范围特征增强比如细小孔洞、凸点。线扫光源配合线阵相机用于连续运动物体的均匀照明。3.2 明场、暗场、背光、同轴、偏振的区别从光怎么被接收的角度分可以把打光归成几种基本模式明场Bright Field直射光或镜面反射光进入镜头背景亮缺陷表现为暗。适合检测吸收光的特征、印刷字符、表面污点。暗场Dark Field主要接收散射光背景暗缺陷或边缘表现为亮。适合检测划痕、毛刺、凹凸、杂质因为光滑表面不散射光缺陷处才散射。背光Back Light只看轮廓背景亮、物体黑。适合尺寸、轮廓、缺料。同轴Coaxial利用镜面反射只有与光轴垂直的平面才亮倾斜或起伏的地方变暗。适合高反表面上的刻字、刻痕、平面度。偏振Polarized在光源和镜头前加偏振片。利用镜面反射保留偏振、漫反射退偏的特性可以压掉反光、凸显材质差异适合检测塑料应力、玻璃表面、金属反光抑制。3.3 打光方案怎么一步步选出来我自己的选型流程大概是这五步第一步明确要检测的特征和它的光学特性。是形状、颜色、反光、透过率还是三维起伏划痕是散射型的字符是吸光型的孔洞是透光型的不同特征对应不同模式。第二步判断表面是漫反射还是镜面反射。混凝土、陶瓷类是漫反射金属、玻璃、抛光件是镜面反射。镜面反射一律优先考虑同轴、圆顶或暗场别用环形光硬刚。第三步确定是否需要轮廓或尺寸测量。要测尺寸背光或远心加背光是最直接的方案。第四步考虑运动和节拍。连续运动建议线扫配线扫光源或用频闪静态工位可以用普通面光。频闪和多路独立控制还能提高寿命、降低发热。第五步现场实拍验证用多组打光对比选图像对比度和稳定性最好的那组。这一步千万别省图纸上想得再美实物上打光效果都可能翻车。提示打光的核心目标是拉开特征和背景的对比度不是把东西照得亮。很多新手一味加亮结果过曝反而把细节淹了。对比度才是第一指标。3.4 一个金属件划痕检测的打光实战我拿一个真实场景说一下。被测物是金属手机中框需要在抛光面上检测细划痕。这种表面镜面反射很强用环形光拍出来是一整片过曝划痕完全淹没在高光里。当时的处理思路是用暗场低角度条形光光以很低的掠射角打到表面。光滑抛光面几乎不散射背景保持暗划痕处因为有微观凹凸会产生散射划痕处亮起来对比度一下就出来了。光源波长起了作用。金属在蓝光下的散射对比度比白光好最后选了大功率蓝光条光。配合镜头的偏振片把残留的镜面反射进一步压掉。相机端用较小的光圈提升景深保证整个中框都在清晰范围内。最后拿到的图像里划痕是暗背景上的亮线直方图双峰分离明显阈值分割非常稳算法工作量大大减少。这个例子的核心经验就是镜面表面别用明场硬打暗场掠射往往才是答案。当然划痕的方向性也有讲究如果是单向划痕光源的方位角要和划痕方向垂直才能获得最强散射。4. 从 2D 到 3D机器视觉 3D 入门的光学基础4.1 3D 视觉的几条主流路线2D 视觉拿到的是灰度图像丢失了深度信息。3D 视觉要补上这一维主流方法有这几条激光三角测量线激光轮廓激光线投射到物体上相机从另一个角度拍这条线物体的高度变化会让线在图像里位移通过标定解算高度。这是工业上最成熟的 3D 方案适合轮廓、台阶、焊接等。结构光条纹投影投影仪投出编码条纹图案相机拍摄变形后的条纹靠相位解算重建三维点云。精度高、点云密适合复杂曲面、装配检测。双目立体视觉两个相机从不同位置拍同一场景靠视差求深度。成本低但精度受基线限制适合大范围、精度要求不高的场景。飞行时间ToF直接测光往返时间。速度快、适合中远距离精度相对低。光度立体Photometric Stereo用多个方向的光源拍多张图从明暗变化反推表面法向。适合表面瑕疵和纹理不是全场景深度。4.2 结构光与三角测量的核心原理线激光三角测量是理解 3D 视觉最好的入口。它的几何关系很干净激光器、相机、被测点构成一个三角形基线激光器和相机的间距已知、相机内参标定好只要在图像里找到激光线的位置就能根据三角关系算出该点到基线的距离。Z (b × f) / d其中 b 是基线长度f 是相机焦距d 是激光线在图像上与参考位置的偏移量近似视差。从这个式子能看出基线越长、焦距越长同样偏移量下测量的深度分辨率越高但基线太长会造成遮挡和阴影实际要平衡。结构光本质上也是三角测量只不过它投的不是一条线而是一整套编码图案可以在一次拍摄里重建整个面的深度效率高得多。常见的编码方式有格雷码加相移、多频外差等核心都是解决相位模糊问题——条纹是周期性的怎么知道当前这个条纹属于哪个周期。标定是 3D 里最花功夫的一环。线激光要标定光平面结构光要标定投影仪和相机的相对位姿双目要标定双相机外参。标定质量直接决定精度标定板、标定流程、标定场地都要认真对待。4.3 3D 方案选型对照方案精度速度成本典型场景主要坑线激光轮廓高中需相对运动中轮廓、台阶、焊缝遮挡阴影、运动同步、反光表面结构光高中中高曲面、装配、全盘点云标定复杂、对环境光敏感、高反表面双目立体中快低物流、大范围测距弱纹理失效、精度受基线限制ToF低很快中避障、体积测量分辨率低、多径干扰光度立体表面级中低表面瑕疵、纹理只测表面法向、不测绝对深度选 3D 方案我一般先问三件事精度要多少、被测物表面是什么材质、节拍要求多快。高反金属对结构光和线激光都是挑战往往需要喷涂哑光剂或改用其他方式弱纹理物体对双目不友好。搞清楚这些再选能少走很多弯路。5. 光学设计入门从 Zemax 案例说起5.1 光学设计的基本流程做机器视觉的人大多数不需要自己设计镜头但懂一点光学设计流程对选型和沟通极有帮助。一个镜头的设计大体分这几步先根据应用定指标焦距、视场、F 数、工作波段、畸变要求、MTF 要求、相对照度要求再选初始结构可以从专利库、经典镜头库里找接近的构型做起点然后做优化用评价函数把各像差往目标拉最后做公差分析看加工和装配误差对性能的影响确定可制造性。像差是设计的核心话题。球差、彗差、像散、场曲、畸变、色差每一种都是光线偏离理想成像的表现。设计的工作本质上就是在有限的镜片数和成本下把这些像差平衡到一个可接受的水平。镜片数越多、用非球面或特殊材料性能可以更好但成本和重量也上去。5.2 一个简单的成像镜头设计思路假设要设计一个用于视觉检测的定焦镜头指标是焦距 25 mm像面覆盖 2/3 英寸靶面F 数 2.0工作波段可见光畸变小于 1%中心到边缘 MTF 在 100 lp/mm 处不低于 30%。思路大概是这样走先把视场和焦距对上。2/3 英寸靶面对角线约 11 mm半对角 5.5 mm焦距 25 mm 对应半视场角约 12.4 度属于中等视场结构不用太复杂。用 Zemax 建一个初始结构一般从双高斯或类似构型起步因为它在中等视场、中等光圈下平衡得比较好。设评价函数把焦距、后焦距、畸变、MTF 都作为操作数加进去。优化不是一次到位要分阶段先消大像差再修 MTF。用半视场和边缘视场做 MTF 扫描看中心到边缘的下降。如果边缘掉太多可能要加镜片、调整光阑位置或引入非球面。做公差分析。给每个面的曲率半径、厚度、偏心、倾斜分配合理公差跑蒙特卡洛看良率。这里经常发现性能在理论上很好但按常规公差一装配就崩了需要反过来放松对性能的要求或改设计。这个过程中Zemax 里的评价函数编辑器、MTF 曲线、点列图、场曲畸变图是每天都要看的东西。新手最容易犯的错是优化目标设太狠把所有参数都放开自由优化结果镜片形状变得极其古怪无法加工。实际设计里一定要加制造约束边优化边看可加工性。5.3 光学设计常用工具对比工具特点适合谁Zemax OpticStudio工业标准界面成熟公差和优化能力强专业光学设计、镜头厂Code V优化算法强大系统设计见长资深设计、复杂系统LightTools / TracePro侧重照明和非成像光学光源设计、照明仿真FRED杂散光和非序列分析强杂散光分析免费或开源工具学习成本低功能有限入门学习如果你只是做视觉应用不必精通 Zemax但至少要能看懂 MTF 曲线、畸变图、点列图能判断一个镜头规格表背后的真实性能。这个能力在跟镜头供应商谈技术指标时特别值钱。6. 机器视觉学习路线从光学基础到算法落地6.1 学习路线的三个阶段我把机器视觉的学习分成三个阶段每个阶段的重点完全不同。第一阶段成像与光学基础1 到 3 个月。目标是能独立完成一套简单视觉系统的成像方案设计和搭建。要学的内容包括几何光学基础成像公式、放大倍率、景深、镜头参数解读焦距、视场、F 数、靶面、接口、MTF、打光方法与光源选型、相机基础传感器类型、靶面、接口、曝光和增益。这一阶段动手最重要拿一套便宜的镜头加相机自己换镜头、改工作距离、换打光观察图像怎么变比看书有效十倍。第二阶段图像处理与算法基础3 到 6 个月。目标是能实现常见的检测、定位、测量、识别任务。要学图像滤波、边缘检测、形态学、阈值分割、连通域分析、模板匹配、亚像素定位、标定与畸变校正、相机模型。工具上 Python 加 OpenCV 是标配动手把每个算子跑一遍理解参数怎么影响结果。第三阶段系统集成与项目能力持续。目标是能扛起一个完整项目需求分析、方案设计、选型、搭建、调试、验收、量产维护。这一阶段考验的是综合能力和经验包括光源和镜头的权衡、机械配合、通信与产线集成、稳定性设计、异常处理。这个阶段很难靠自学速成需要真实项目来喂。6.2 书单与资源书和资源不用贪多选对的深入看就行。经典的材料包括《机器视觉算法与应用》偏算法与工业应用适合打算法基础光学类教材里的几何光学部分能补上成像公式和像差的底子相机和镜头的厂商技术手册往往比教材更贴近实战里面关于 MTF、相对照度、选型计算的部分非常实用光源厂商的应用案例集是打光方案最直接的学习素材。这里要提醒一点别一上来就啃大部头。我见过太多人买了几本厚书翻了两章就放弃。更好的方式是项目驱动给自己定一个小目标比如检测硬币的直径和缺陷然后缺什么补什么遇到景深问题就查景深遇到边缘不清晰就查 MTF学得又快又扎实。6.3 光学综合实验把课本知识变成手上能力如果你是在校学生或者想系统补光学基础光学综合实验是个很好的抓手。经典的实验项目比如用光具座测透镜焦距、验证成像公式、观察球差和色差、测量镜头的畸变和相对照度。这些实验看着简单但能让你对放大倍率视场像差照度这些概念形成肌肉记忆。我的建议是做实验的时候别只照着实验报告抄数据多问几个为什么为什么这个位置像最清晰为什么移开光阑后边缘变暗为什么换用滤光片后像差变了这些问题的答案就是你以后调试视觉系统时的直觉来源。有条件的话把这些实验和实际的视觉系统对照起来做比如用实验里的透镜搭一个简易成像系统去拍实际的被测物感受会比课本强很多。7. 面试与实战中的光学问题7.1 面试高频问题拆解机器视觉岗位面试里光学相关的题出现频率很高常见的有这几类给你一个需求你怎么选相机和镜头这题考的是完整思路。正确的回答顺序是先算视场和分辨率得出需要的像素数再定镜头焦距和放大倍率再看工作距离和景深最后考虑接口和光谱匹配。千万别一上来就报型号。远心镜头和普通镜头有什么区别什么时候用关键点是放大倍率稳定性、透视误差、测量精度以及成本体积的代价。怎么评估一个镜头的成像质量要能提到 MTF、畸变、相对照度、点列图、分辨率而不是只说看得清。打光方案怎么设计考的是对明场暗场、镜面漫反射、特征光学特性的理解能结合具体材质举例最好。像素精度和定位精度的区别一个是几何尺度一个是算法能达到的定位能力能说清楚亚像素的概念是加分项。我发现面试官特别在意你有没有从需求出发的推理链条而不是背参数。回答时把推理过程讲出来哪怕数字算得不准也比直接报型号强。7.2 一个解决方案实例从需求到交付说一下我做过的轴承滚子表面缺陷检测项目完整走一遍流程你能看到光学在其中的分量。需求检测滚子圆柱面的凹坑、划痕、锈斑最小缺陷 0.1 mm节拍每个 0.5 秒圆柱面直径 10 mm长度 20 mm。第一步算光学需求。最小缺陷 0.1 mm按 3 到 5 像素描述需要达到 0.02 到 0.033 mm/pixel 的单像素精度。圆柱面展开宽度约 31.4 mmπ×10需要水平像素数至少 31.4 / 0.033 ≈ 950考虑余量和旋转展开选 2000 像素级别的线阵相机比较稳妥。第二步选成像方式。圆柱面用线扫配合旋转是最稳的线阵相机加线扫光源让滚子匀速旋转把圆柱面展开成一张平面图。第三步打光设计。滚子是金属镜面反射强。凹坑和划痕是散射特征锈斑是吸光特征。用低角度条形光做暗场能凸显凹坑和划痕再加一路漫射光补充整体照明让锈斑也能显现。两路光分别控制图像上做融合或分别处理。第四步镜头选型。线扫常用物方远心镜头保证放大倍率稳定避免滚子有跳动时测量失真。视场覆盖 30 mm 左右按相机像元尺寸反推放大倍率。第五步调试和验收。现场搭台架反复调光源角度、亮度、相机曝光和行频把缺陷对比度和重复性调到最优然后跑批量验收。整个项目里光学方案的调试占了一半以上的时间但正是这部分决定了项目能不能过。7.3 光学问题速查表现象可能原因排查方向图像边缘发暗相对照度低、光源不均、渐晕测 RI、做平场校正、优化光源中心清楚边缘模糊场曲、边缘 MTF 低看场曲图、缩小光圈、换镜头局部过曝镜面反射直入镜头改暗场、同轴、加偏振测量值随高度变化透视误差、放大倍率不稳定改用远心镜头、固定物距高度方向一半虚景深不足缩光圈、降倍率、改打光或结构图像有偏色镜头和光源光谱不匹配换光源波长、加滤光片重复性差光源波动、机械振动稳流电源、加固结构、频闪缺陷忽隐忽现打光角度或对比度临界调整打光角度、增强对比度8. 实操心得与踩坑记录8.1 几个我踩过的坑第一个坑是盲目追求高像素相机。年轻时觉得像素越高越好买了个高分辨率相机结果配了个普通镜头边缘画质根本喂不饱高像素带来的细节全浪费了反而因为像元小、进光少噪声更大。后来才明白相机和镜头的分辨率要匹配镜头 MTF 撑不起相机奈奎斯特频率时加像素是浪费。第二个坑是打光方案不现场验证。有次凭经验选了个环形光图纸上看着没问题实物一装金属表面全是环形亮斑。后来定了条规矩打光方案必须现场实拍对比至少准备三套方案选最好的那套。第三个坑是忽略光源稳定性。有批项目调试时好好的量产时开始出现偶发误判查了很久才发现是车间电压波动导致光源亮度漂移灰度阈值跟着漂。后来改用恒流驱动加定期自校准问题才解决。光源的稳定性对阈值类算法是命门。第四个坑是景深没算够。被测物有高度起伏按中心算景深够结果边缘的高度差超出景深边缘虚了。教训是景深要按被测面的最大高度差来算留足余量。8.2 几个不太常规但好用的技巧一是用单色光提升对比度。很多特征在特定波长下对比度会显著提升比如金属在蓝光下、红色标记在红光下。别只用白光多试几种波长。二是用偏振片压反光。镜面反射和漫反射对偏振的处理不同用好偏振片能省掉很多打光的麻烦。三是用频闪延长光源寿命。连续点亮的光源发热大、寿命短频闪配合相机曝光能大幅延长寿命还能提高瞬时亮度。四是标定要定期做。系统用久了镜头、相机、机械都会有轻微变化定期标定能保证精度不漂。8.3 给新人的三句话光学是整个视觉系统的地基地基建歪了上面盖什么都歪。选型和打光阶段多花的时间会在调试和量产阶段成倍省回来。别怕在现场泡着图的每一处异常都值得追问为什么问着问着你就成了那个能一眼看出问题在哪一层的人。我在实际项目中越来越确信真正拉开工程师差距的不是算法背得多熟而是对成像本质的理解有多深而这份理解恰恰是从一手的光学经验里长出来的。