1. 相位偏折成像到底解决什么问题做工业视觉检测的朋友应该都有同感2D相机拍镜面、高光、类镜面表面时怎么布光都不对劲。反光处一片惨白划痕若隐若现轻微压伤更是完全看不出来。某次我们接了一个手机玻璃后盖的检测项目客户要求检出0.1mm宽、0.02mm深的微划痕用常规面阵相机加同轴光试了很久效果始终不理想。后来换了相位偏折成像方案问题才真正解决。相位偏折成像Phase Deflectometry本质上是一种基于结构光反射的斜率测量技术。它不直接测高度而是通过屏幕显示正弦条纹经被测表面反射后被相机捕获再根据条纹的相位变形反推表面每一点的法线方向也就是局部斜率。有了斜率数据就能还原出表面的微观起伏形态这就是所谓2.5D检测的含义——在2D图像坐标基础上增加了深度或斜率维度的信息但又不是完整的三维点云重建。这项技术最适合的对象是镜面、半镜面、高光金属、玻璃、抛光陶瓷这类表面。传统2D视觉在这些表面上一是反光饱和二是灰度对比度极低——镜面上的细微划痕宽度可能只有头发丝的三分之一深度更是亚微米级别灰度差异可能只有几个像素值常规算法根本分不出来。而相位偏折对表面斜率变化极其敏感因为条纹相位对法线方向的变化呈现出近似线性的响应表面哪怕只有千分之几弧度的倾斜变化在相位图上也会产生肉眼可见的变形。从落地角度看这套方案尤其适合手机玻璃面板、车载显示屏盖板、汽车漆面、金属外壳、光伏玻璃、精密机械抛光件这几个领域的产线抽检和全检。凡是表面能反射出屏幕条纹的工件都有机会用上这套技术。适合的读者包括视觉工程师、设备集成商、质检方案开发者以及正在为镜面类缺陷检测发愁的非视觉专业背景设备工程师。需要说明的是相位偏折成像并非万能药。对于完全漫反射的粗糙表面比如铸件、喷砂面这套方案没有用武之地因为表面无法形成镜像反射条纹根本映射不上去。这也是选型时首先要判断的问题。2. 系统搭建与核心参数解析2.1 核心组件及其作用逻辑一套典型的相位偏折检测系统由四部分组成LCD屏幕、工业相机、计算机及光源控制器和标定工具。每个部分都承担着明确且不可替代的角色。LCD屏幕是产生条纹图案的核心器件它的角色类似一个大型“光线发生器”。屏幕输出正弦条纹光场光线照射到被测物体表面后发生反射反射光携带表面信息进入相机。在选型时屏幕的尺寸、亮度均匀性、色阶深度和刷新率都直接影响检测精度。屏幕尺寸必须覆盖被测工件的最大投影范围否则边缘区域因照明不足会产生虚假缺陷色阶深度建议12bit以上因为8bit屏幕只有256级灰度正弦条纹量化台阶明显相位解算时会产生周期性纹波噪声这在斜率图上表现为规则的细密条纹非常影响缺陷判读。工业相机作为接收端负责捕获反射后的变形条纹。相机分辨率决定了检测的横向分辨率一般建议不低于500万像素。更关键的是相机需要具备足够的动态范围和低噪声特性因为镜面反射的亮度动态范围极大高光区可能接近饱和弱反射区可能很暗动态范围不足的相机很容易在明暗交界处产生伪影被误判为划痕或崩边。计算机运行算法软件完成相位提取、相位解包裹、斜率计算、缺陷分割和分类。对算力的要求取决于工件尺寸和节拍。大尺寸屏幕玻璃的检测动辄几千万像素数据单帧处理时间成为产线节拍的瓶颈这时候就需要GPU加速。我们在实际项目中遇到过CPU纯跑算法单张耗时4秒的案例换成GPU推理后压缩到0.8秒才勉强跟上产线节拍。标定工具用于建立屏幕像元与相机像素之间的几何映射关系。常用的标定方法是利用平面镜或标准球面镜建立参考面通过一系列已知角度的反射图案计算系统参数。标定质量直接决定了测量结果的绝对精度如果标定误差在0.1°以上那么原本0.02mm深度的缺陷特征很可能被系统误差淹没。2.2 条纹参数怎么选才合理条纹参数是整个系统里最需要花心思调的部分。首先是条纹频率的选择。简单说条纹越密对斜率变化的敏感度越高但动态范围越小解包裹难度越大条纹越疏动态范围越大但对微小缺陷的响应变弱。这里的“动态范围”指的是系统能测量的最大斜率变化量。密集条纹情况下一个轻微的局部起伏就会产生超过2π的相位跳变也就是超过一个完整条纹周期的变形这时候解包裹算法容易出错产生相位歧义。稀疏条纹则相反可以容纳较大的表面斜率变化比如检测曲面玻璃或弧度较大的工件就必须用低频条纹。实际应用中我们会根据待测表面特征选择不同频率组合。如果工件表面本身是平面的只是需要检测局部微缺陷可以用较高频率的条纹比如屏幕显示周期在16到32像素之间的正弦条纹如果工件带有弧度或曲面需要同时检测宏观形貌和微观缺陷那就得用多频外差法分别投射四五种不同周期的条纹组合用低频条纹解算大尺度斜率用高频条纹提取细节信息。条纹方向同样需要仔细考虑。单方向条纹只能敏感地检测垂直于条纹方向的斜率梯度变化。实际检测中我们至少要投射两个正交方向的条纹通常是水平方向和垂直方向这样合成后才能得到完整的局部表面梯度场也就是水平和垂直两个方向的斜率分量。只投一个方向的条纹就好比只用一个角度打光照明总会漏掉那些朝向恰好与条纹方向平行的细微划痕。2.3 标定操作中的注意事项标定是相位偏折系统里最容易出错也最影响结果的环节。这里要说明一个基本概念相位偏折测的是斜率而斜率是通过屏幕像元位置与相机像元位置的几何对应关系计算出来的。如果几何关系不准算出来的斜率就跟实际表面形态对不上号缺陷的尺寸和深度数据自然也不可信。我们常用的标定方法是基于平面镜的绝对相位标定。具体做法是把一面高精度平面镜放在被测工件位置拍摄屏幕条纹并解算相位分布。因为平面镜的法线方向处处一致所以拍到的条纹应该是标准的、无畸变的相位场而实际系统因为离轴角、镜头畸变、屏幕平面度误差等因素相位场会出现变形这个变形量就是系统的固有误差场或基准场。存储这个基准场检测工件时将其扣除就能消除系统固有误差。标定中要注意三个问题。第一平面镜本身的平面度必须足够高至少是工件精度需求的五到十倍。如果平面镜本身就有面形误差这些误差会直接混入基准场导致所有检测结果都带着同一个系统误差这在后续扣除时反而会引入虚假缺陷。第二标定过程中屏幕和相机的相对位置绝对不能变动哪怕移动了1mm标定结果就作废了必须重标所以在设计设备结构时屏幕和相机的固定支架必须刚性足够强避免温度变化或振动引起位移。第三标定时的环境光条件要与检测时保持一致因为屏幕的亮度输出和相机的曝光响应受环境光影响较大不一致会导致基准场与检测条件不匹配。我们在实际项目中第一次搭建样机就踩过标定位置漂移的坑。当时用的相机支架是普通铝型材拼装结构设备运行一段时间后由于电机振动和热膨胀相机位置发生了零点几毫米的偏移。日常检测看起来幅度不大但扣除基准场后全画面出现了明显的倾斜条纹残差所有检测结果都不可信。后来换了整体大理石底座加刚性锁紧结构才彻底解决。3. 检测流程逐步拆解3.1 图像采集策略与曝光控制采集阶段的目标是获得高质量的变形条纹图质量要求概括起来就是三个字不饱和、不失真、可重复。围绕这三个要求曝光控制是首要环节。镜面反射的亮度非常高尤其当屏幕亮度调得比较高且工件表面法线恰好指向相机时反射光强度可能超过相机满阱电荷容量产生高光饱和。饱和区域内的条纹信息完全丢失相位数据就是空洞这些空洞在斜率图上呈现出白色或黑色的斑块极易被误判为缺陷。解决办法是动态调节屏幕亮度和相机曝光时间确保画面最亮处不超过灰度饱和值的90%最暗处不低于饱和值的10%。针对不同反射率的表面采集参数需要分别优化。高反射率镜面如抛光金属、镜面玻璃屏幕亮度可以设置在中等水平曝光时间短一些防止过曝低反射率表面如磨砂金属、半透明塑料则需要提高屏幕亮度和曝光时间保证条纹对比度足够高。这里存在一个权衡曝光时间过长会引入运动模糊如果工件在检测过程中有轻微移动相位解算会出现沿移动方向的重影伪影曝光时间过短则条纹信噪比不足相位噪声偏大。一般建议在保证不饱和的前提下曝光时间尽量短同时配合高亮度屏幕来弥补照度不足。采图数量上每个方向的条纹通常需要至少三幅相移图因为三步相移法是最少需要三幅图才能解出相位的方法。实际使用中为了保证相位解算精度和抗噪声能力我们常用四步或六步相移也就是每个方向采集四或六幅等间距相移的条纹图。再加上两个方向和多频组合一组检测可能采集20到40幅图像。这么多图像对采集速度和数据带宽提出了要求相机必须支持触发同步和高速连续采集否则单工件检测时间会拖到几秒甚至十几秒产线节拍难以接受。3.2 相位解算与斜率恢复采集完成后算法层面的第一步是相位解算。以标准的四步相移为例四幅图的光强表达式分别为I1 A B·cos(φ) I2 A B·cos(φ π/2) I3 A B·cos(φ π) I4 A B·cos(φ 3π/2)其中A是背景光强B是调制强度φ就是待求的相位。通过公式 φ arctan((I4 - I2) / (I1 - I3)) 就能逐像素求出包裹相位。这个相位的范围被限制在[-π, π]之间因为反正切函数的值域就是这么大相当于把连续的相位信息压缩到了一个周期内。这里的“包裹相位”就好比你在测一个连续转动的轮子位置角度传感器每次返回的值总是被限制在0到360度之间至于轮子已经转了几圈传感器并不知道。实际表面形貌的斜率变化可能远超一个周期所以需要相位解包裹也叫相位展开来恢复真实的连续相位分布。相位解包裹是算法处理中最容易出问题的地方。传统的时间相位解包裹方法是投射低频到高频的多组条纹用低频条纹确定高频条纹的整数周期数。灰度级法、多频外差法和最佳条纹选择法是几种主流方案。其中多频外差法可靠性最高但对屏幕的相位精度要求也最高。在实际项目中我们优先推荐五步相移加外差法的组合因为五步相移对相位误差的敏感性比四步低在噪声较大的场景下表现更稳定。相位解包裹得到连续的相位分布后再结合标定好的几何映射关系就能计算出每个像素点对应的表面法线方向也就是斜率的两个分量。斜率的物理含义是表面在该点的倾斜角正切值单位通常用毫弧度mrad表示。一个深度只有0.02mm的微划痕引起的局部斜率变化可能达到几十毫弧度这与表面的宏观倾斜背景形成了鲜明对比。这一特点正是相位偏折检测灵敏度的物理基础。3.3 缺陷特征提取与2.5D判据设计有了完整的斜率场数据缺陷检测就变成了对斜率场的分析。这一步不再只是找灰度差异而是找几何特征异常。常见的处理流程是先对斜率场做背景拟合与差分。因为工件本身可能有宏观面形比如轻微的翘曲、弧度、装配应力导致的形变这些属于正常特征需要用低阶多项式或样条函数拟合出来作为背景然后从原始斜率场中扣除。剩下的残差就是局部异常包括缺陷和其他噪声。残差斜率场的缺陷分割可以用阈值法、形态学运算和连通域分析。阈值的选择不能只看斜率绝对大小因为不同材质的反射率和表面粗糙度不同斜率噪声水平也不同。更稳健的做法是用自适应阈值以每个像素邻域的统计特性动态确定分割阈值。分割出候选缺陷区域后需要提取特征来区分真正的缺陷和伪缺陷。关键特征包括最大斜率变化量、斜率梯度的方向一致性、区域面积、形状因子、与周围噪声的对比度。举例来说真实划痕通常呈现细长形状斜率分布沿划痕方向连续变化且在垂直于划痕方向产生明显的梯度突变。而灰尘或脏污伪缺陷往往呈现圆形或不规则形状斜率变化方向随机。利用这些差异可以构造一个简单的2.5D缺陷分类决策树先判断区域面积是否超过最小可检尺寸再判断形状是否满足细长特征最后验证斜率变化是否在设定范围内三层过滤下来就能去除大部分伪缺陷。在实际项目中我们设计了一套基于斜率能量图的误判抑制方法。所谓斜率能量图就是对每个像素计算两个方向斜率分量的平方和相当于局部倾斜强度的幅值。真实缺陷的斜率能量在空间上呈现连续性较强的带状或块状分布而噪声能量则表现为随机散点。先用中值滤波抑制随机噪声再用宽度有限的高通滤波突出细小缺陷最后通过连通域筛选这套流程在玻璃盖板和金属外壳的检测里都取得了不错的平衡。4. 实操中常见的坑与排查实录4.1 环境光与杂散反光的干扰相位偏折系统对环境光非常敏感这一点新接触的人很难意识到。屏幕发出的条纹光是信号但环境里的日光灯、顶灯、操作人员穿的白大褂反射都可能成为干扰源。这些非信号光混入相机画面后等效于在条纹图上叠加了一个不均匀的背景光场不仅降低了条纹对比度还会在相位解算时引入系统性的相位偏置导致全画面出现缓慢变化的假斜率。解决方案从硬件和软件两个层面入手。硬件上检测工位必须用遮光罩把屏幕、相机和工件围起来形成半封闭暗室环境。遮光罩内壁用哑光黑材料处理防止内壁反光。软件上通过相移法本身的特性来抑制背景光。因为相移法通过多幅图像做差分运算固定背景分量理论上可以被完全消除但前提是背景光在采集这几幅图的几毫秒内保持恒定。如果光源存在频闪比如工频交流荧光灯100Hz的闪烁就可能与相移图采集时序发生拍频产生固定频率的条纹伪影。排查这类问题的方法很简单采集一组相同条件下的条纹图解算相位后看残差均匀性如果有规律性条纹通常就是环境光频闪导致的。我们有过一次令人印象深刻的调试经历某设备在白天检测正常到了晚上同一批工件误检率突然飙升。排查了一整天最后发现是车间路灯的电子镇流器产生了高频干扰与相机曝光频率形成差拍在相位图上叠加了一层低频波纹。后来把检测工位的照明全部改成直流驱动的LED灯并把遮光罩彻底闭合问题才消失。这个案例让我意识到相位偏折设备对环境光的管理应该像对待测量精度一样严格。4.2 相位解包裹跳变与消跳变策略相位解包裹跳变是高频出现的顽疾。当被测表面局部斜率过大导致相位变化率接近空间采样频率的极限时相邻像素之间的相位差可能超过π解包裹算法会误判周期数产生一条相位跳变线。跳变线在斜率图上呈现为极为突出的脊线这类伪缺陷被算法判定为划痕或崩边的概率非常高。消跳变的关键不是事后修补而是事前控制条纹频率。原则是让最大相位变化率不超过每个像素π/4的范围内。如果不知道工件的最大斜率可以通过投射一组超低频条纹快速估算全局相位梯度范围再据此选择合适的条纹频率。这是我们项目中的一个实用技巧。另一种消跳变手段是采用质量图引导的空间相位解包裹算法。这类算法先计算每个像素的相位质量指标比如相位梯度一致性或调制强度然后从高质量区域开始向低质量区域生长蔓延低质量区域的跳变错误就不会扩散到全局。我们常用的是基于调制强度的质量图因为镜面反射区域调制度高、可靠性强而边缘阴影区域调制度低本就是最容易出错的地方绕过它们就不会污染全局。如果工件表面存在深槽或者强反射率突变比如玻璃盖板的边缘倒角区域相位数据在突变处断裂质量图再可靠也可能解不开。这时候要在检测区域上做掩膜直接排除那些本身就不可测的区域用相邻区域的合格判定规则来处理边缘区域而不是强行解算导致跳变污染大面积有效区域。为客户设计检测标准时我们一般会先统计产线上的边缘区域检测置信度合理划定检测区域范围把边缘几毫米的不可靠区域排除在自动判定之外。4.3 高动态范围表面的多姿态补拍金属外壳的弧度边缘、玻璃盖板的曲面区域这些位置由于表面法线方向变化大单一屏幕位置下很多区域的反射光根本无法进入相机条纹信息缺失这些区域在斜率图上表现为大面积黑洞。黑洞区域既无法检测缺陷又影响整体相位连续性。这是相位偏折固有的视线约束问题。屏幕能够覆盖的反射角范围是有限的超出这个范围就相当于光线被“反弹到别处去了”。解决思路是引入多姿态测量通过机械结构让工件相对于屏幕产生多个倾斜角度每个姿态拍摄一组条纹图然后将多组数据融合拼接到统一的坐标系统中。多姿态融合的实操复杂度比单姿态高很多。首先机械轴的精度必须足够高否则不同姿态的数据在融合区域会产生错位。我们采用的方案是加入光学对准基准在工件边缘粘贴高精度靶标点通过靶标点坐标将不同姿态的测量结果精确对齐。其次不同姿态下同一物理区域的测量精度并不相同因为每个姿态对该区域的斜率敏感方向不一样融合时需要根据每个姿态的置信度进行加权平均而不是简单叠加。置信度通常与条纹调制强度正相关调制强的姿态权重高。对于绝大多数2.5D缺陷检测需求多姿态并不需要太复杂。两个姿态通常就能覆盖大部分边缘区域三到四个姿态基本能覆盖所有可反射区域。如果工件形状极复杂比如深弯手机玻璃则可能需要六轴机械臂平台配合主动视觉伺服这已经属于复杂形的范畴成本和节拍都必须仔细评估。4.4 表面脏污、灰尘与真实缺陷如何区分镜面表面的灰尘和脏污是所有缺陷检测项目都会遇到又必须解决的问题。灰尘在相位偏折系统中表现为高调制区域的孤立斑块因为灰尘颗粒在表面形成的微小漫反射破坏了局部镜面反射解算出的斜率方向杂乱无章。但在很多情况下灰尘恰好落在真实划痕上或者沿着划痕排列与缺陷信号混叠在一起。从算法上我们要找到脏污与缺陷的判别特征。真实缺陷尤其是划痕、压痕在斜率场中表现出明确的方向性和连续性。划痕的斜率梯度在主方向上是规则的线性变化压痕则是中心对称的凹陷梯度模式。灰尘的斜率模式是随机的、无方向性的高频噪声。利用这个差异可以设计一个基于梯度方向直方图的判别器统计候选区域中梯度方向的一致性指标一致性高的判为缺陷一致性低的判为脏污。当然算法层面的区分毕竟有限。对于必须精确判定为缺陷的检测场景业界常见的做法是增加一道离线复检工序自动检测出可疑区域后生成坐标清单由人工在显微镜下逐一确认。我们的项目里通常设计两级检测架构相位偏折系统负责高速初检并标记可疑区域人工复检台负责确认。这套流程兼顾了效率和准确率也大幅减少了因为脏污引起的误判投诉。5. 应用案例与选型参考5.1 三个具有代表性的落地场景第一个场景是手机玻璃盖板检测。这类工件的共同特点是表面高光亮洁微小划痕在生产过程中几乎不可避免。采用相位偏折系统后检测能力覆盖从0.02mm深度微划痕到0.1mm宽度的表面麻点同时能检出肉眼几乎不可见的边缘微崩和小凹坑。设备节拍可以达到单件3秒以内配合上下料机械手可以实现产线在线全检。第二个场景是汽车漆面检测。汽车漆面的光泽度高但表面往往带有橘皮纹、色差、清漆层厚度不均等宏观特征需要在检测缺陷的同时可靠区分这些正常特征。相位偏折的优势在这里体现得很充分因为橘皮纹形成的斜率变化与深度划痕斜率变化在频率特征上有明显的统计差异通过频域滤波很容易分离。我们在实际项目中对汽车门板漆面的划痕检出率达到了95%以上而误检率控制在3%以内这在传统2D视觉方案下几乎不可能实现。第三个场景是光伏玻璃检测。光伏玻璃表面有时带有微细的辊印、波纹和颗粒缺陷这些缺陷在普通的明场或暗场照明下灰度对比度很低。相位偏折将表面形貌信息转化为相位信息把低频的宏观波纹和高频的微观缺陷都完整呈现出来。尤其对于透明材料相位偏折还能收集后表面反射与透射信息实现对双面缺陷的综合判别。我们曾在一个光伏玻璃项目中通过调整屏幕亮度到较高档位并使用较长的曝光时间成功检出了透光率仅差0.3%的区域性缺陷这个案例让我对相位偏折的动态灵敏度有了深刻体会。5.2 系统选型决策中的几个关键判断面对一个新项目判断是否适合采用相位偏折技术可以从三个维度快速评估。第一问表面是否能形成镜面反射这是硬门槛。简单测试方法是用手机闪光灯照射表面如果能看到明显的灯珠反射光斑且光斑轮廓清晰就说明存在镜面反射分量具备应用相位偏折的条件。如果反射光斑模糊弥散说明表面以漫反射为主应该考虑其他检测方案。第二问缺陷特征是否以形貌为主相位偏折擅长的是测形貌缺陷——凹凸、划痕、压伤、崩边、波纹。如果缺陷是颜色差异、镀膜缺陷这类表面材料性质问题相位偏折并不适合应该选择色选相机或多光谱方案。很多项目实际上既存在形貌缺陷也存在色差缺陷这种情况建议采用相位偏折加传统2D相机复合架构一机两用。第三问节拍和成本是否匹配一个完整的相位偏折工位包括屏幕、工业相机、遮光罩、工装、标定工具和软件授权成本通常在十几万到几十万量级相比简单2D视觉方案贵得多。但相比价格动辄上百万的White Light Interferometry或共聚焦三维测量设备相位偏折在高速在线检测和覆盖面积上的性价比又优势明显。核心逻辑是要求面型绝对精度达纳米级选干涉仪要求在产线上高速识别形态缺陷选相位偏折。材料对系统的挑战也需要评估。高反射率镜面容易过曝需要更好的动态范围控制低反射率半镜面需要更高的屏幕亮度和信噪比弯曲表面需要多姿态补偿。在系统方案评审阶段就做好这些评估能避免项目进展到调试阶段才发现技术路线走不通。6. 项目落地中的经验体会在这个技术的实际落地过程中我最大的感触是相位偏折检测并非“装上就能用”的仪器型设备而是一套需要精细标定、持续调优的系统型方案。屏幕老化引起的亮度衰减、机械结构微变形引起的几何漂移、环境光亮度的季节性变化都会悄悄影响检测阈值。建议设备上线后每两周做一次基准场复核每季度做一次全面标定每次更换屏幕或拆装相机后必须重新标定。另一个有价值的经验是将多个频道的检测结果交叉融合来降低误判。单一频率条纹对特定尺寸的缺陷敏感但对其他尺寸的缺陷可能响应不足。我们在一套系统里同时投射高频和低频两组条纹高频负责微细缺陷检测低频负责宏观形变检测。两组数据独立解算并分别给出缺陷标记只有两组结果都标记的位置才判定为高置信度缺陷单组标记的则进入复检队列。这种方式显著减轻了人工复检的负担也让自动判定的可信度提高了一个台阶。最后分享一个关于2.5D概念的小心得。很多人以为2.5D就是加了一个高度数值的2D检测但在相位偏折体系里真正获得的原始物理量是斜率而非高度高度只是斜率积分后的衍生量。直接用斜率数据进行检测有两个好处一是避免积分过程对噪声的放大效应二是在空间频率域保持原始细节。我们在前端检测算法中始终使用的是斜率域特征只有需要显示3D形貌或者与设计模型对比时才执行斜率积分得到高度图。这个技术路线的选择让系统在检测灵敏度和处理速度之间取得了理想的平衡点。