透明与高反光工件检测:偏振成像与相位偏折术(PMD)
一、引言:当"看得见"变成奢望
手机玻璃盖板、光学镜片、液晶面板、注塑透明外壳、抛光金属件、镀铬装饰条、晶圆表面——这类工件的共同点是几乎不"漫反射":要么让光穿过去,要么像镜子一样把光弹回来。而常规视觉系统建立在"物体表面把光均匀散射到各个方向"这一假设之上。
假设崩塌的后果非常具体。以一个玻璃盖板划痕工位为例:上方条形光源、相机垂直向下。玻璃是镜面,光源的像被完整反射进镜头,画面里那条扭曲亮带其实是灯管本身,不是缺陷。而一条深几十纳米的划痕,散射光强度可能只有背景反射的千分之几——信噪比低到一定程度后,任何算法都无能为力,因为信号压根没被采到。
现场常见的应对是"堆硬件":换更贵的光源、加更多角度工位、上更高位深相机、把工件转到刁钻角度。这确实有效,但每增加一种缺陷类型就要多一个工位,设备成本与节拍时间一起失控。更麻烦的是换产品线、换玻璃供应商后,原角度参数全部作废,要重新调机。
本文讲另一条路:不与反射光"硬碰硬",而是利用反射光自身携带、肉眼看不见的物理信息——偏振态与波前斜率。前者对应偏振成像(Polarization Imaging),后者对应相位偏折术(Phase Measuring Deflectometry, PMD,即条纹反射法)。两种方法在学术上已成熟,国内显示面板与手机玻璃行业也已量产使用,但中文工程实践资料不多。这里整理我近几年的踩坑记录,希望能给被透明件、镜面件折磨的同行省点时间。
二、核心原理
2.1 偏振的数学描述:斯托克斯矢量与穆勒矩阵
我们先建立语言。完全偏振光可以用琼斯矢量描述,但对工业现场来说更实用的是斯托克斯矢量(Stokes vector):
S=[IQUV]=[IIx−IyI45−I135IR−IL] \mathbf{S} = \begin{bmatrix} I \\ Q \\ U \\ V \end{bmatrix} = \begin{bmatrix} I \\ I_x - I_y \\ I_{45} - I_{135} \\ I_R - I_L \end{bmatrix}S=IQUV=IIx−IyI45−I135IR−IL
其中III是总光强,QQQ、UUU分别描述水平/垂直与 ±45° 方向的线偏振差异,VVV描述圆偏振(工业检测几乎用不到,多数相机也测不准,实际系统通常只解前三个分量)。
由 Stokes 矢量可以导出两个工程上最常用的量:线偏振度(Degree of Linear Polarization)与偏振角(Angle of Linear Polarization):
DoLP=Q2+U2I,AoLP=12arctan (UQ) \text{DoLP} = \frac{\sqrt{Q^2 + U^2}}{I}, \qquad \text{AoLP} = \frac{1}{2}\arctan\!\left(\frac{U}{Q}\right)DoLP=IQ2+U2,AoLP=