点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
相位偏折术是一个比较冷门的方向,主要用于测量镜面物体。一直以来,干涉法都是测量镜面最佳方法,精度可以达到波长的几百分之一,但是有一些局限性:
测量自由面型的镜面物体时,干涉法所需要的光学补偿原件制作复杂且昂贵;
回程误差,干涉法很难快速标定;
测量环境苛刻,不适合干涉法测量,因为轻微抖动、温度变化,会给测量记过带来很大误差;
解决:PMD,相位偏折术,对环境不敏感,没有回程误差,因而标定相对简单,可以测量自由曲面。其实偏折术系统跟结构光系统是非常相似的,回顾下它的重建流程:
标定相机,以及屏幕、相机位置关系
使用屏幕投影条纹(结构光使用投影仪)
解码获取表面梯度(结构光直接获取高度)
梯度积分获取高度信息
额外说明的是,偏折术系统中常说的“精度”达到几纳米,不是传统意义上的“精度”,这是因为偏折术通常用来测量纯镜面反射的物体表面,比如说天文望远镜的镜面,它的模型假设中也假设参考平面跟实测待镜面在同一高度,所以精度甚至可以达到几纳米。
01 原理
单相机PMD系统如图1所示,系统由LCD显示屏、CCD相机和计算机组成:
图1 PMD系统示意图 [1]
简单原理:
显示屏显示计算机生成的结构光条纹;
相机通过待测镜面表面拍摄显示屏上条纹的镜像;
如果镜面表面不平整的话,则拍摄到的条纹会产生相应的变形;
更复杂原理,如图2所示(由于光路可逆,我们对光线反向描述):
图2 PMD系统原理图 [1]
在这个式子的推导中,有一点需要额外注意这个近似条件,实际上它是现有单相机PMD系统中误差的主要来源:
近似条件:我们认为,待测物体的高度要远小于,在点处待测镜面和参考面位置的高度点是完全一致的,忽略了这部分误差,认为相位仅仅与镜面表面梯度相关。
之后的重建步骤:
相位的获取原理跟结构光相类似
根据相位获取梯度
在获取了梯度之后,对 x,y方向分别沿路径进行积分
最终即可获取高度信息。
说明:这篇文章目的仅仅是对相位偏折术的核心原理做个概略性的介绍,完整的推导并未介绍,更多的细节请查看相关论文。
02 特性
相比较来说,PMD有以下优势:
图3 振动对梯度测量的影响 [1]
因为我们测量的是平面,即零频项信息,其是不包含梯度的,该项的变化不会引起反射光线角度的变化。
对系统随机误差不敏感,因为积分的累积效应,使得随机噪声在积分过程中被很大程度抑制。
获得更准确的曲率信息:
计算曲率是检测面形缺陷的重要手段,梯度测量法仅仅需要对获得的梯度求一阶导数就可以获得曲率;
而直接的高度测量方法则要二阶导数才能获得曲率,计算二阶导数会丢失更多的信息,计算得到的曲率较为不准确;
但相比较来说,梯度测量方法也有以下缺陷:
只能测量连续的镜平面;
积分过程引入误差;
一句话概括,PMD相比较FFP精度更高,但是测量场景受限,只能测量连续的镜平面!
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~