目前相位求解方法主要有傅里叶方法和相移方法两种,主要有以下区别:

  1. 傅里叶方法仅需要一张栅线图像相移则需要至少三张(两步相移法是一种特殊情况,其相位求解方式严格来说并不是用的相移算法,这个在今后的文章会单独写)
  2. 相移法的精度远高于傅里叶方法(这个很好理解,毕竟相移用的信息多)

下面对两种方法进行介绍:

傅里叶方法

傅里叶变换轮廓术是基于离散傅里叶变化的一种相位测量方法,其主要算法流程如图所示。

傅里叶变换轮廓测量方法流程示意图

下面对其理论进行具体介绍。对于被测量物体表面的任意一点处,假设其灰度分布关系有:

其中

为背景灰度,由物体表面的折射率所决定;
为光强差,由投影仪栅线的亮度差所决定;
为投影栅线的频率。

对于参考平面上的任意一点处,其灰度关系有:

对于测量物体和参考平面的灰度分布函数,其傅里叶展开式如下所示:

若采用理想的正弦式栅线,其高阶成分主要由物体表面的调制产生,故对于测量来说主要关心其一阶成分。此时可以选取一个窗口(一般为2-D窗口),对其栅线相位变化的方向进行离散傅里叶变化,从而得到其频谱。由于频谱是对称的,故对其去一般分析即可。通过对频谱进行操作提取处其基频分量,如下所示:

对参考平面的基频分量取其共轭,并将其与被测物体的基频分量相乘有:

对其取对数即可得到其相位差距

对于真实的测量过程中,多数情况下并不会人为引入真实的参考平面,故直接通过被测物体的基频分量,直接提取出相位信息,再通过假设的参考平面,也可得到物体表面的相位变化信息。

傅里叶轮廓相移术的测量精度较低,但是仅仅利用一张图像即可恢复出物体表面的三维形貌。

相移方法

重写物体表面的灰度关系,如下:

其中

为投影相位。对于N步相移方法来说,每一步相移与上一步相移的投影相位相差
的相位,即以下方程组:

其中

。方程组共有N个方程,三个未知量,原理上当
时即可求解。在实际操作中,为了保证求解的精度,一般取
使得求解体系变为超定方程求解。以六步相移法为例,采集的图像如下图所示。
六步相移图像(仔细看这几个栅线是有区别的!)

当前方程组为非线性方程,看似无法用直接方法求解。但是注意到方程可以转化为以下形式:

其中

。通过简单的三角函数展开,将待求量为
的非线性方程组,转化为关于待求量
的线性方程组。其中
。即待求方程组可化为以下矩阵模式:

可以简写为:

由最小二乘法求解超定方程的理论,方程的最优解为:

由于根据对

的构造可知:

结合超定方程的最小二乘解法,求得

的最优解为:

由上图所示的六步相移图像,其所对应的相位图像(已去除背景噪点)如下图所示:

包裹相位

由于投影仪的栅线图案为周期性图像,故相位图中的相位值也具有一定的周期范围

。为了获取真实的形貌,我们要将离散的周期性相位图转化为连续相位图,这一步一般被称为解包裹。通过每当遇到一个新的周期,对下一个周期补偿若干个
周期相位,使得两个周期从相位跳跃转化为连续。即如下公式所示:

目前准确度较高的解包裹方式为基于质量的解包裹(以后也将介绍各种解包裹算法),其通过选取图像梯度中较好的相位点向四周进行解包裹,有效的避免了按行解包裹和按列解包裹中的整体相位错位。解包裹的效果如下图所示。

解包裹相位

注意到我们在人脸模型后架设了一块标准平面,已它作为参考平面,利用原始相位减去参考平面相位,即可得到具有人脸的相位高度模型,如下图所示。

相位高度分布

进一步,对系统的各参数进行标定,即可得到人脸模型的真实尺度。

相移轮廓测量技术相对于傅里叶轮廓测量技术,测量精度较高,但是至少需要三张图像才能够恢复出物体表面的三维形貌。属于典型的牺牲测量时间来换取精度的操作。

matlab 解相位_光测力学栅线投影技术-相位求解方法相关推荐

  1. 点在平面上的投影坐标例题_光测力学-栅线投影(面结构光)技术

    本文主要介绍了栅线投影方法的基本原理-三角测量与线性对应关系,以及栅线投影系统标定的细节.下一篇文章我们将介绍傅里叶与相移两种相位求解方法. 栅线投影可能在其他领域更多的被成为面结构光,其和DIC或者 ...

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

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:琉璃犀 https://zhuanlan.zhihu.com ...

  3. matlab 解方程组_一文读懂MATLAB微分方程

    此教程说明如何使用 MATLAB 构造几种不同类型的微分方程并求解.MATLAB 提供了多种数值算法来求解各种微分方程: 初始值问题 边界值问题 时滞微分方程 偏微分方程 初始值问题 vanderpo ...

  4. 曝光机与曝光能量_亚微米i线投影曝光机曝光能量积分和快门控制系统

    亚微米i线投影曝光机曝光能量积分和快门控制系统 主要介绍了亚微米i线投影曝光机上使用的曝光能量积分快门控制系统.论述了新 (本文共5页) 阅读全文>> 进入"微时代"后 ...

  5. lisp 河道水面线计算_天然河道水面线计算的几种方法解剖.pdf

    天然河道水面线计算的几种方法探讨 赵文丽 710003 710003 陕西天元水利电力勘察设计有限公司 陕西 西安 771100000033 摘要:介绍了明渠恒定均匀流法.天然河道水面线系统. HEC ...

  6. matlab 解方程组_如何用编程方法求方程组

    一.方程组 f (x)含三角函数.指数函数.或其他超越函数时,就是超越方程. 二.点迭代的步骤与问题 可以通过函数图像来确定函数实根的个数. 迭代步骤: 方 程 : f (x) = 0 构造迭代函数: ...

  7. matlab最优控制实验报告_第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt...

    第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt 综上所述可得结论:Q=diag(1,0,0),R=2时,系统各方面响应较好. 矩阵Q变大时,反馈矩阵变大: 当Q的对角线上第 ...

  8. matlab用lism求零输入响应,信号与系统matlab课后作业_北京交通大学讲解.docx

    信号与系统matlab课后作业_北京交通大学讲解.docx 信号与系统MATLAB平时作业 学院 电子信息工程学院 班级 姓名 学号 教师 钱满义 MATLAB习题 M3-1 一个连续时间LTI系统满 ...

  9. matlab解不定,matlab解不定方程

    matlab 常用解方程及方程组函数 1.roots 求解多项式的根 r=roo... Matlab 求解线性方程组.非线性方程组姓名:罗宝晶 学号:1012208015 专业:材料学院高分子系第一部 ...

最新文章

  1. [PKUSC2018]真实排名——线段树+组合数
  2. 新技术驱动新商业,网易创新企业大会亮点抢先看!
  3. 好分数阅卷3.0_自考通过率低?一位资深阅卷老师的自述
  4. Oracle 分页语句解释,oracle 分页语句
  5. 模糊逻辑系统_在模糊逻辑系统中工作 人工智能
  6. 阿姆斯特朗数_阿姆斯特朗的功能依赖公理 数据库管理系统
  7. 用Visual Studio 2008编写Win32汇编程序
  8. linux ip地址本地缓存,ip-address – 如何解析组织的IP地址(使用缓存)
  9. samba 安装配置部署和优化
  10. dwz 之 IE下 页面加载完了却一直提示数据加载中,请稍等...
  11. QCC512x QCC302x PIO 按键
  12. 【无人机】【2008.09】用于小型无人机目标定位的轨迹优化
  13. bat的errorlevel || bat判断语句是否执行成功
  14. U-Net模型搭建python实现
  15. 坐火车硬座20小时是怎样的体验?
  16. Class ‘xxx‘ is public, should be declared in a file named ‘xxx.java‘
  17. opencv学习系列:实例练习(含多个实例)
  18. Qt qml 下使QtCharts
  19. 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算
  20. Chromium的GPU进程启动过程分析

热门文章

  1. session理论分析
  2. ISNULL与CASE函数
  3. 十种常见排序算法欢聚一堂
  4. DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth
  5. 编写绘图代码的技巧(二)
  6. redis cluster 集群拓展
  7. Linux下C语言进程通讯编程
  8. java中的集合和数组
  9. [つづく]MySTL
  10. HTML入门学习 -- HTML5 视频与音频