光测力学-栅线投影/面结构光技术

2021/09/14 10:05
阅读数 371

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者:琉璃犀
https://zhuanlan.zhihu.com/p/146841284
本文仅做学术分享,如有侵权,请联系删除。
本文主要介绍了栅线投影方法的基本原理-三角测量与线性对应关系,以及栅线投影系统标定的细节。下一篇文章我们将介绍傅里叶与相移两种相位求解方法。
栅线投影可能在其他领域更多的被成为面结构光,其和DIC或者线结构光技术相比,有着一些优点:测量数据点多,由于栅线投影技术是逐像素点进行独立求解的(相移方法),所以其可以获得大量的独立点云数据,以2048*2448的相机为例,其可以获得500万级别的数据量,但是对于线结构光,一般只能获得2048或2448的有限倍的数据量。
但是,从另一方面而言,固体力学中主要利用lagrange描述方法的理论,而并不是这种Euler描述,虽然二者之间有着转换理论,但是有着一定的不直观性。而且当位移是发生在面内而不是离面时,栅线投影的测量不敏感(所以DIC和栅线投影的结合也是一个发展趋势)。
下面就讲一下栅线投影的相关理论。
基本原理
栅线投影法实质也是一种三角测量方式,通过投影仪和相机光轴呈一定角度来构建搭建三角关系。其反映在具体图像中,可以认为原本均匀分布的栅线,因为三角关系的存在,被物体表面的高度信息调制为特殊的栅线模式(发生了一定的弯曲变形),如图所示。示意图中被测物体选择了二元高斯密度函数。
三角关系示意图
相位高度关系
栅线投影法的测量系统一般由投影仪和相机两个部件组成。其中投影仪负责向被测量物体表面投射特定模式的栅线图案,相机负责采集被投射物体表面的图像。部分情形下还会在被测量物体后引入一个平面作为载波平面,但是即使不引入,在求解时也可以假设一个虚平面,不影响系统的测量。
系统的光路图如下图所示(一般来说相机光轴和投影仪光轴不可能共面,当不共面同样可以推导,这里为了展示线性关系所以建立了比较简单的模型)。其中P为投影仪光心,C为相机光心。O为相机光轴和投影仪光轴的交点。设通过O点的水平平面为计算中基准X轴。L1和L2分别为相机光心和投影仪光心到X轴的距离。d为相机光心到投影仪光心沿X轴方向的距离。A-B-0平面为假设的虚平面,所假设的虚平面平行于投影仪光心和相机光心的连接线PC。
基本光路图
首先由平行相似关系可得虚平面到PC的距离为下:
其中 点至 的距离,在后文中,形如 的表达式均代表距离。考虑物体上的任意一点 ,其中点 与点 分别为相机和投影仪通过点 在虚平面上的投影。由于 相似于 ,故有以下比例关系:
故我们可以从方程中解出高度 的表达式,如下:
由于在实际测量中, 远小于 ,故可以忽略其在分母中的存在,将上述公式简化如下:
若投影仪投射出的光栅图案具有固定的周期,由于平面(理想的DLP微镜阵列)至平面的投影为线性映射,故图案映射在虚平面上也具有固定的周期。在投影的图案中引入线性的相位                     信息,综上所述 也呈线性关系,即:
其中 为B点与A点之间的相位差距, 为Q点与A点之间的相位差距。注意到此理想情况下,以虚平面为基准面,当 时, ,故其为常数项为0的线性关系。而在具体实验系统标定时,所设置的标定零平面与虚平面往往不重合,其表达式之间存有一个线性转化关系,故实际的 的线性关系常数项不为0,即可进一步表达为:
其中 为标定零平面上对应点的参考相位,k与b为系统的测量标定系数。上式表明,对于物体表面任意一点的高度 ,与相机采集到的投影图案所对应的相位值是呈近似线性关系的。故在测量中首先对测量系统的k与b进行标定,进而只需要求解出物体表面每一点的相位值即可解出物体表面的三维形貌。
较为特殊的,在力学领域往往更关心物体的变形信息而不是形貌,在此情况下有:
故若只关心位移,仅需要对测量系统中的k参数进行标定即可。
栅线投影系统的平面标定


当前对于测量系统标定的方法主要有两类。第一类是将相机、投影仪的内参与外参全都标定出来,即分别明确投影仪和相机在空间内的3个空间坐标,3个光轴方向坐标和一个传感器角度坐标,通过标定出这些参数,则能够直接将栅线相位和高度之间的关系计算出来。第二类是平面标定,即通过一个平面标定板,对空间不同位置进行多次标定,从而建立相位差值和高度之间的关系。两种方法相比,虽然平面标定需要一个高精度的平移台做硬件支撑,但其操作简单,计算精度高,是比较常用的一种方法。投影仪相机联合标定将在以后的文章中叙述。


同坐标相位标定方法


同坐标相位标定算法是一种基于相机同一个像素点的标定方法。这种方法采用一个标准平面与一个平移台。其中平移台的精度越高越好,因为系统的测量精度取决于平移台的位移精度。其原理图如下所示。

同坐标相位标定方法示意图
对于相机的某一个像素而言,当标定板位于 位置时采集的相位为 。注意这里的相位是投影仪的总相位,即通过投影仪投射一根标准亮条纹确定真实相位所在的周期,再以该周期为起始区域向四周解包裹得到所用的相位。对于被测量实际物体上的一点,由于相似关系有:
故对于该点处实测到的相位 ,可求算处其相对于标定零位面的高度为:
可以看出,二者之间呈一定线性关系。一般来说,由于可能存在环境振动和电子元器件噪音,用两个标定面所得到的标定结果不一定精确。故可以增加多个标定平面,利用最小二乘技术直接去将二者线性关系的参数拟合出来即可。
等相位坐标标定方法
等相位坐标标定算法是一种基于相机不同像素点寻找等相位距离的标定方法。其所需要的实验硬件与上一方法一致。其原理如下所示。
等相位坐标标定方法示意图
与前文方法所不同的是,先前为固定对相机的每个像素进行进行标定,本方法的实质为固定对投影仪的每个像素进行标定。由于每个像素所对应的相位值是一定的,故将其称为等相位坐标标定。对于某一相位值 而言,其对应在两个标定平面上的位置分别为 。同样利用相似性比例关系有:
故对于该点处实测到的相位 ,记录其像素位置,再根据标定找出相同相位对应的位置 ,即可求算处其相对于标定零位面的高度为:
本标定方法的相位值,与前文方法相同,同样通过投影仪投射一根标准亮条纹确定真实相位所在的周期,再以该周期为起始区域向四周解包裹得到所用的相位。相位 与其所在的位置 呈一定线性关系。为了提高标定精度,一般同样增加多个标定平面,利用最小二乘技术直接去将线性参数进行拟合。
等相位坐标标定算法与同坐标相位标定算法相比,可有效消除由于高阶谐波不当引起的误差(高阶谐波对于测量的影响会在今后的文章中介绍)。这是因为等相位坐标标定算法在标定中将这一误差也耦合在里标定关系中,这是同坐标相位标定算法所不能实现的。但是由于等相位坐标标定算法需要亚像素定位,其定位由于只能通过插值来实现,故定位精度较差会对实际测量精度产生负面影响

好消息,小白学视觉团队的知识星球开通啦,为了感谢大家的支持与厚爱,团队决定将价值149元的知识星球现时免费加入。各位小伙伴们要抓住机会哦!


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复: 扩展模块中文教程 即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~



本文分享自微信公众号 - 小白学视觉(NoobCV)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部