最小范数法

news2024/9/23 23:32:10

最小范数法是一种全局算法,其主要思想是寻求接近于真实相位分布的解包裹相位,使解包裹相位的局部微分尽可能与测量相位微分相一致。这个过程在数学上等价于下列 P 阶方程组

到目前为止,最小范数法中应用最多,最成功的主要是最小二乘算法(P=2)。Ghiglia和Romero[4]提出了二维相位解包裹的最小二乘算法。最小二乘解包裹算法是一种广泛使用的优化方法。这类算法基于包裹相位的离散偏微分与解包裹相位的离散偏微分之差最小的准则。基于最小二乘算法的二维相位解包裹分为加权和无加权两种形式。理论证明,无论是加权还是无加权的最小二乘相位解包裹都可以转化为一个求解离散泊松方程的过程

1、无加权的最小二乘相位解包裹算法 对于无加权最小二乘法所得到的泊松方程,任何可以有效地求解泊松方程的算法都可以用作相位解包裹,在无加权的情况下,基于快速傅立叶变换(FFT)[5]和离散余弦变换(DCT)[6]的方法得到广泛的应用。这两种方法通过计算离散域的变换可以快速得到所求的解,对一般表面的处理均可得到较好的结果,是较为实用的算法。

其中的一种经典算法是Gauss-Seidel松弛迭代法[7],该算法首先将解空间初始化为0,然后通过迭代的形式进行计算,直到收敛为止。Gauss-Seidel迭代算法是一种典型的局域平滑算子,它可以迅速地去除信号中的高频成分,但对低频成分的滤除速度却非常慢,因此导致它很难收敛。为了提高运算效率,可采用多重网格技术[8]。多重网格方法的核心思想就是将低频成分转化为高频成分,加速Gauss-Seidel迭代算法的处理速度。这种由低频到高频的转换是通过网格重采样实现的。多重网格算法是一种经典的在较大网格上解决偏微分方程的快速算法, 在更粗、更小的网格上进行Gauss-Seidel迭代计算。一般地,对解决N×N网格上离散偏微分方程问题,多重网格算法与基于FFT的算法速度一样快。多重网格法可以解决更多的问题,包括非线性偏微分方程问题,并且多重网格算法对网格大小没有限制。

无权重的最小二乘算法具有算法简单、稳健的优点,尽管算法运算速度快,对内存要求小,但原始相位图中的坏数据或不一致区域会使最后的解包裹结果存

在误差,尤其是会对邻近区域的有效数据产生较大影响,产生与真实相位值偏差较大的解包裹相位,这可以通过引入相位数据的权重得以克服。 2、加权最小二乘去包裹算法 在无加权的最小二乘去包裹中,会在干涉图中的零幅值点、噪声点、低调制度点处及其周围点引起较大误差。为了消除或减少这些误差,可以采用加权最小二乘法。加权是最小二乘方法消除坡度低估效应、提高精度的必需选择。 加权最小二乘算法[6]是以非加权最小二乘法作为基础,其数学模型是较为复杂的泊松方程,只能通过采用迭代的方法无限逼近真解。求解加权最小二乘解的Picard迭代法[6]和共轭梯度法[9]通过加权矩阵可以实现对无效数据区域或不一致区域的屏蔽,消除坏数据对邻近区域数据的影响,算法的最大特点是稳健性好。Picard算法虽然收敛速度较慢,但其收敛准确度较高,实际中应用较多的是共轭梯度算法。 共轭梯度算法通过权系数的引进克服了无加权的最小二乘法的局限性,权系数使用经过二值化的质量图,它们的目的是对干涉相位图中由于残余点的存在而破坏的区域赋予零权,阻止它们对相位展开的破坏,共轭梯度算法首先使用无加权的最小二乘法作为预处理来加速收敛,之后采用共轭梯度算法迭代获得相位展开的结果。而预条件共轭梯度法[6]巧妙地将离散余弦变换和求解大型稀疏线性方程组的方法结合起来,可以实现有保证的、超线性的迭代收敛,因而收敛速度快。加权多重网格算法同样也是一种加权最小二乘去包裹算法,它引入多层次网格技术加快Gauss-Seidel迭代算法的执行速度,但与无加权算法有所不同。较预条件共轭梯度算法有更快的收敛速度,加权多网格算法在实际应用中的一个优点是运算速度快,算法较健壮,也是非常实用的算法。加权多重网格算法和共轭梯度方法在质量图较好的情况下能够得到较好的解[7]。 一般来说,如果权重引入适当,加权最小二乘法会对相位展开结果有所改善。但到目前为止,如何生成更适合相位解包裹的相位质量图仍没得到有效的解决,加权最小二乘法对解包裹相位质量的改善是有限的。而且加权最小二乘法不容易使用快速计算方法,计算速度慢,

最小二乘法是最小范数法中的一种,总体来说最小范数法解包裹的过程是一个曲面拟合的过程,选取不同的范数就确定了在保证解包裹相位梯度与包裹相位梯度之差最小的条件下,这种相位梯度之差的空间分布情况。当P≥2时,实际上人为的将相位曲面光滑化,必然造成解包裹相位误差,范数P越大则这种解包裹误差也越大。特别的,当P=0时,为最小0L范数法,这时解包裹相位梯度将与包裹相位梯度精确地保持一致,意味着寻求的是解包裹相位差与包裹相位差不相符的点数最少,这实际上与着眼于局部的路径跟踪算法的思想是一致的,算法的实质是对相位梯度进行拟合的过程。由于最小0L范数不会引入曲面拟合误差,因此在保持解包裹相位精确性方面是最优的,但是实现起来比较复杂,费时太多,对于一些特殊的干涉图可以作为一种选择。寻求全局最优的最小0L范数相位解包裹算法一直是该领域研究的方向之一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1311142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

渗透测试框架——Cobalt Strike

渗透测试框架——Cobalt Strike Cobalt Strike是一款非常成熟的渗透测试框架。Cobalt Strike在3.0版本之前是基于Metasploit框架工作的,可以使用Metasploit的漏洞库。从3.0版本开始,Cobalt Strike不再使用Metasploit的漏洞库,成为一个独立的…

Gin之GORM 查询语句

前期工作可以看之前的(连接数据库;以及确定要操作的库) Gin之GORM 操作数据库(MySQL)-CSDN博客https://blog.csdn.net/m0_72264240/article/details/134948202?spm1001.2014.3001.5502这次我们操作gin库下的另外一个…

使用shell脚本给日志文件瘦身

一、前言 后台系统运行久了,日志文件的体积日渐增多,除了使用常用的日志框架如logback对日志进行按天打印、按大小分割等方式外,还可以使用shell命令来对大日志进行瘦身。 本篇使用sed指令来对文件进行操作,具体操作如下&#xf…

MySQL下载、安装、配置详细教程

目录 1 下载 2 安装 2.1执行安装命令: 2.2 编写配置文件 2.3查看默认mysql的密码: 2.4启动mysql服务 2.5 登录mysql,修改密码 3 系统环境变量配置 3.1 配置 3.2 测试 1 下载 官方网址: https://www.mysql.com/跳转到如…

Axure的动态面板

目录 动态面板 什么是Auxre动态模板 动态模板的步骤 应用场景 实战案例 轮播图 多功能登录界面 主界面左侧菜单栏 动态面板 什么是Auxre动态模板 动态面板是Axure中的一个重要功能,它允许用户创建可交互的页面,并模拟用户与页面的交互。通过添加元素…

如何学习Kubernetes,学习K8S入门教程

学习 Kubernetes(K8s)确实不容易 你的硬件资源有限时,不过别担心,我帮你理清思路,让你在学习 K8s 的路上更加从容。 1、资源限制下的学习方法 当硬件资源有限时,一个好的选择是使用云服务提供的免费层或者…

(反序列化)[HZNUCTF 2023 preliminary]ppppop

打开是空页面 抓包发现cookies有东西 O:4:"User":1:{s:7:"isAdmin";b:0;} 将零改为1&#xff0c;放包得到题目页面 <?php error_reporting(0); include(utils.php);class A {public $className;public $funcName;public $args;public function __dest…

小红书民宿文案怎么写?建议收藏

随着民宿市场的日益火爆&#xff0c;如何在众多民宿中脱颖而出&#xff0c;吸引更多租客入住&#xff0c;成为摆在每一位民宿业主面前的难题。一篇优质的小红书民宿文案&#xff0c;不仅能吸引潜在租客的关注&#xff0c;还能提高民宿的知名度。本文伯乐网络传媒将从八个方面教…

MATLAB 最小二乘空间直线拟合 (37)

MATLAB 最小二乘空间直线拟合 (37) 一、算法介绍二、算法实现1.代码一、算法介绍 对于空间中的这样一组点:大致呈直线分布,散乱分布在直线左右, 我们可采用最小二乘方法拟合直线,使用下面的代码可以得到图中的结果。(其中图片中的点解释和具体的实现代码如下所示) C++…

Python:pipdeptree 语法介绍

相信大家在按照一些包的时候经常会碰到版本不兼容&#xff0c;但是又不知道版本之间的依赖关系&#xff0c;今天给大家介绍一个工具&#xff1a;pipdeptree pipdeptree 是一个 Python 包&#xff0c;用于查看已安装的 pip 包及其依赖关系。它以树形结构展示包之间的依赖关系&am…

模型评估:压力测试 模拟对手 对齐 智能对抗 CAPTCHA(全自动区分计算机和人类的公共图灵测试)

对齐&#xff0c;智能对抗&#xff1a;魔高一尺&#xff0c;道高一丈。用更高的智能去对抗恶意使用。openAI一半的内容都在讲这个&#xff0c;但没有讲具体的方法。 如果认为对方是一个人就通过了图灵测试&#xff0c;真正的实现了智能。 如果智能达到了这种程度&#xff0c;智…

CDN中的OCSP Stapling是什么?有必要开启吗?

我们在使用CDN时&#xff0c;CDN后台都有一个OCSP Staplin的选项&#xff0c;一般在设置HTTPS里面&#xff0c;如下图位子&#xff1a; 那么这个OCSP Stapling是什么了&#xff0c;我们看看介绍。 OCSP Stapling简介 OCSP&#xff08;Online Certificate Status Protocol&…

DS冲刺整理做题定理(三)图论合集

第三期&#xff0c;总结性地来说一下图论&#xff0c;也是数据结构中最核心最难的一章~ 目录 一.图的基本概念 二.图的存储及其基本操作 三.图的遍历 四.图的应用 在数学中&#xff0c;图是描述于一组对象的结构&#xff0c;其中某些对象对在某种意义上是“相关的”。这些对…

基于ssm网络安全宣传网站设计论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本网络安全宣传网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

【Pytorch】学习记录分享3——PyTorch 自动微分与线性回归

【【Pytorch】学习记录分享3——PyTorch 自动微分与线性回归 1. autograd 包&#xff0c;自动微分2. 线性模型回归演示3. GPU进行模型训练 小结&#xff1a;只需要将前向传播设置好&#xff0c;调用反向传播接口&#xff0c;即可实现反向传播的链式求导 1. autograd 包&#x…

c语言快速排序(霍尔法、挖坑法、双指针法)图文详解

快速排序介绍&#xff1a; 快速排序是一种非常常用的排序方法&#xff0c;它在1962由C. A. R. Hoare&#xff08;霍尔&#xff09;提的一种二叉树结构的交换排序方法&#xff0c;故因此它又被称为霍尔划分&#xff0c;它基于分治的思想&#xff0c;所以整体思路是递归进行的。 …

vscode 同步插件

vscode 扩展商店链接 https://marketplace.visualstudio.com/vscode settings sync 插件

DHCP—动态主机配置协议

动态主机配置协议DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;是RFC 1541&#xff08;已被RFC 2131取代&#xff09;定义的标准协议&#xff0c;该协议允许服务器向客户端动态分配IP地址和配置信息。 DHCP协议支持C/S&#x…

如何在Ubuntu的Linux系统上搭建nacos集群

官方给出的集群部署架构图 集群部署说明 (nacos.io)3个或3个以上nacos节点才能构成集群当前示例中包含3个nacos节点&#xff0c;同时一个负载均衡器代理3个nacos&#xff0c;本示例中负载均衡器可使用的是nginx 准备并安装好正常运行的nginx&#xff0c;本示例略准备并安装好正…

自己动手写数据库: select 查询语句对应查询树的构造和执行

首先我们需要给原来代码打个补丁&#xff0c;在SelectScan 结构体初始化时需要传入 UpdateScan 接口对象&#xff0c;但很多时候我们需要传入的是 Scan 对象&#xff0c;因此我们需要做一个转换&#xff0c;也就是当初始化 SelectScan 时&#xff0c;如果传入的是 Scan 对象&am…