基于张量变换域低秩正则化的图像恢复方法

news2024/9/24 23:26:21

         高光谱图像、磁共振图像、RGB图像等都可以表示成三维数组的形式,在数学上将这种多维数组称为高阶张量,同样,上述三种图像都可以表示成三阶张量\chi\in \mathbb{R}^{n_{1}\times n_{2}\times n_{3}}。在空间上,图像本身就具有结构相似性,在高光谱图像的第三个模态上,又具有波段上的相关性(MRI、RGB图像都具有相似的性质)。这就使得图像的三阶张量表现出一定的低秩性,因而低秩约束被广泛应用于图像恢复。根据张量的低秩性约束与不同张量秩的定义,又有许多低秩张量补全算法用于图像恢复,比如基于Tucker秩的HaLRTC,基于管秩的TNN,基于TT秩的TMac-TT等。本文将介绍两种TRPCA(Tensor Robust Principal Component Analysis)相关的改进算法,旨在诱导出更低的张量秩。

1. 自适应变换域张量方法(n-TTSVD)

        变换域张量的概念最初出现在张量的t-SVD分解中。具体做法如下:

        首先,对于张量\chi\in \mathbb{R}^{n_{1}\times n_{2}\times n_{3}},沿着第3模态方向进行矩阵化操作,得到矩阵X_{(3)}。然后对矩阵X_{(3)}的每一列进行傅里叶变换,并进行张量化操作重新构建一个张量\widehat{\chi }。最后,对新张量\widehat{\chi }的每一个前部切片进行SVD分解,得到3个因子矩阵,\widehat{U}^{(i)},\widehat{S}^{(i)},\widehat{V}^{(i)},i=1,\cdots ,n_{3}, 再分别又由这3个因子矩阵进行逆傅里叶变换并重新构成3个张量,从而得到了张量的t-SVD分解:,其中,S是f-对角张量。

        在张量的t-SVD分解下,定义了张量的核范数,其值为新张量\widehat{\chi }的各个前切片的核范数之和:

        张量的t-SVD分解中的傅里叶变换是一种正交变换,将此变换推广到更一般的正交变换,由此定义了更一般的变换域张量,并得到了自适应的变换域张量奇异值分解(transformed tensor singular value decomposition, TT-SVD),其过程如下图所示,不同于t-SVD,TT-SVD中的变换不再是傅里叶变换,而是自适应的正交变换T。

         首先,对张量的3模展开矩阵做奇异值分解,即:

其中U是X_{(3)}的左奇异矩阵,是正交矩阵。

        则正交变换由3模展开矩阵的左奇异矩阵的转置构成,即T=U^{T}

        在TT-SVD分解下,提出了自适应变换张量核范数[1]:

其中\widehat{X}^{(i)}是张量\widehat{\chi }的第i个前部切片矩阵,张量\widehat{\chi }是张量\chi沿着第3个模态做正交变换T得到的变换域张量:表示对矩阵\widehat{X}^{(i)}求核范数。

        根据矩阵核范数定义,变换域张量核范数又可以写成:

 其中\sigma _{l}(X)表示矩阵X的第l个奇异值,r为矩阵\widehat{X}^{(i)}的秩。

        上述是张量核范数以及变换域张量核范数的定义,仅对张量的第3个模态做了正交变换T,考虑到张量\chi有多个模态,徐斌斌等[2]提出了n模自适应变换域张量奇异值分解(n-mode transformed tensor singular value decomposition, n-TTSVD),  将第三模态的自适应变换矩阵推广到三阶张量的所有模态,其基本流程如下图所示: 

         首先,对张量的第n个模态展开矩阵进行SVD分解,得到对应的奇异值和左右奇异矩阵:

 进而,定义n模自适应的正交变换矩阵为。记\widehat{\chi}_{n}为对张量\chi第n个模态经过正交变换T_{n}得到:。下面给出n-TTSVD的算法描述。

       上述方法虽然提出了一种依赖于原始张量并且自适应的变换矩阵的方式,并且将其拓展到三阶张量的所有模态。但是也存在一些缺点:(1)由自适应变换矩阵诱导得到的张量存在能量衰减,但是上面的方法并未给出合理的解决方案,这就导致变换域张量与原张量有较大失真,图像恢复效果也会变差。(2)未提出一个统一的优化框架。由相应的模态展开矩阵的得到变换矩阵,再对其秩进行优化,提高了算法的复杂度。

        下面介绍另一种变换域张量低秩正则化的方法——SALTS[3],该方法将变换矩阵的求解与低秩正则化统一在ADMM框架下求解,并且考虑到了变换后张量的能量损失,并用F范数对其进行约束。

 2. 自适应可学习变换域张量方法(SALTS)

         与文献2的思路类似,SALTS是SALT算法从第3模态拓展到所有模态得到的,因此,先对SALT方法进行介绍。下面对诱导张量秩进行定义:

 L是可逆线性变换,是变换域张量第i个前部切片。SALT的目标函数是:

 𝒟观测张量,𝒴恢复张量,L是变换矩阵。接下来将变换矩阵引入约束,并且考虑到对变换后张量的能量衰减和信息损失,用F范数对其约束:

 最后,由于秩函数的非凸性,SALT方法用Schatten-p 范数替代RANK():

SALTS算法将SALT推广到其他两个模态,并且将三个模态上的优化结果耦合到张量Z:

𝒵:恢复的张量;𝒴𝑖第i个模态被恢复的张量;𝐿𝑖i个模态上的变换矩阵。目标函数的第1项是约束恢复的张量𝒵𝒴𝑖相等,将三个模态的优化结果耦合到一起;第2项:用Schatten-p范数保证变换域张量的低秩性。第1个约束是为了防止变换后张量可能会有能量衰减和信息损失;第2个约束是变换矩阵的需要满足的性质,变换矩阵应该是正交的;最后一个约束是保证张量补全后,已知数据条目的不变。SALTS是利用ADMM框架求解的,下面给出算法的伪代码描述(相关公式参考文献3的proposed methods):

         SALTS算法较基于固定变换矩阵的TNN方法有明显优势,文献[3]给出了变换域张量的奇异值分布对比图:

        对比图最左边,首先要对原始的光谱图像进行采样,得到观测张量,然后观测张量分别与两种变换矩阵:一个是固定的离散傅里叶变换,另一个是与数据相关的可变变换,进行模态积得到了变换域张量。最后对变换域张量的奇异值进行统计,得到右边的曲线图。曲线图中:张量奇异值是变换域张量前部切片的奇异值,并把这些奇异值按降序排列,横轴是奇异值的索引,纵轴是相对应的奇异值大小。通过对比可以发现:无论在哪个模态,经过SALT处理的张量具有更少的奇异值,并且相应的奇异值也更小。由此,也可以得到SALT算法的一个优势:SALT对方向不敏感,在所有模态下都适用。

[1]Song, Guang-Jing et al. “Robust tensor completion using transformed tensor singular value decomposition.” Numerical Linear Algebra with Applications 27 (2020): n. pag.

[2]徐斌斌. 基于张量变换域低秩正则的高光谱图像去噪研究[D].南京理工大学,2021.DOI:10.27241/d.cnki.gnjgu.2021.000694.

[3]T. Wu, B. Gao, J. Fan, J. Xue and W. L. Woo, "Low-Rank Tensor Completion Based on Self-Adaptive Learnable Transforms," in IEEE Transactions on Neural Networks and Learning Systems, 2022, doi: 10.1109/TNNLS.2022.3215974.

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

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

相关文章

日志分析工具

iis、windows日志做日志分析比较麻烦,这里找到了一款好用的免费的日志分析工具 Log Parser Lizard,下载这个工具之前建议先安装LogParser虽然他会自动弹窗提示。 1. 安装软件 安装没什么好说的一直下一步下一步就行 启动之后点击OK 弹出激活页面让激活…

mod函数怎么取模

mod 是 MySQL 中的数值函数,写法为:mod(x,y),意思是返回x/y的取模的值。 什么是取模?取模就是取余数。 ① 如果第一个值比第二个值大,我整理出来的取模公式就是:第一个值-第一个值里面包含了几个第二个值相…

MATLAB-多边形填充图绘制

fill函数用于绘制并填充二维多边图形。将数据点视为多边形顶点,并将此多边形涂上颜色,便于用户理解图形中的数据代表的含义。具体调用方法如下:fill(X, Y,C):用X和Y中的数据生成多边形,用C指定颜色填充。其中C为色图向量或矩阵。若C是行向量&…

商标注册流程有什么步骤

​一、商标注册流程有什么步骤? 商标注册流程: 1、需要企业提供营业执照副本复印件和商标样稿及主要商品或服务,递交商标局; ​ 2、商标局形式审查(7-15个工作日)接到《商标注册申请受理通知书》; 3、商标局实质审查(5-8个月左右); 4、商标公告(3…

【Linux多线程编程】3. 多线程共享资源

回顾 上篇文章【Linux多线程编程】2.线程创建与回收 简单介绍了如何创建一个线程并且回收它,末尾给出了如下这段代码,本文将从这段代码入手介绍线程资源、线程共享资源、线程独占资源,并在最后引出多线程安全访问资源的方法。 /** test_pth…

新华三(H3C)的沉浮往事

根据2023年1月3日紫光股份发布的最新公告,Hewlett Packard Enterprise Company全资子公司H3C Holdings Limited(“HPE 开曼”)和Izar Holding Co,将向紫光股份全资子公司紫光国际信息技术有限公司出售其持有的新华三集团有限公司合…

【Linux】伪目标 PHONY | 探讨项目构建问题 | Makefile | 依赖关系与依赖方法

🤣 爆笑教程 👉 《看表情包学Linux》👈 猛戳订阅 🔥 💭 写在前面:本章我们要学习的是 makefile。会不会写 makefile,从一个侧面说明一个人是否具备完成大型工程的能力。一个工程中的源文件不计…

Vector - VT System - 板卡_VT1004

今天我们来聊一下导入和测量模块VT1004版本,我们从它的技术参数、通道介绍、功能介绍几个方面来全面的介绍这块板卡,废话不多说,我们直接来看这2块板卡吧。 测量模块 - VT1004 通道功能介绍: >通过继电器切换到原始负载和母线…

Qt扫盲-QSet理论总结

QSet理论总结一、概述二、使用1. 声明2. 插入元素3. 遍历元素4. 删除元素5. 集合的运算6. 其他一、概述 QSet是Qt的通用容器类之一。俗称一个集合。QSet会按未指定的顺序存储值,也就是随机存值的方式,并提供非常快速的值查找。在内部,QSet实…

python学习|第二天

文章目录1.函数函数调用函数返回值函数参数2.bug常见类型粗心类型知识点不扎实思路不清被动掉坑常见异常类型3.文件的读写打开模式文件对象常用方法with方法4.os模块操作目录相关函数5.打包成可执行文件1.函数 函数调用 p89,笔记待补 函数返回值 1)如…

微信小程序开发过程整理

目录1微信开发相关介绍1.1微信公众平台1.2微信开放平台1.3注意事项2微信小程序开发整体介绍2.1微信小程序简介2.2小程序接入流程3框架简介3.1uni-app简介3.2学习使用uni-app3.3学习微信小程序开发4开发规范5开发示例5.1开发工具5.2开发调试5.2.1导入代码5.2.2项目运行5.2.3在微…

java常见题3

11.二分查找的次数 奇数取 中间那一个作为中值 偶数个取 中间靠左 然后不断模拟这个算法 查找的最多次数:n个元素里最多查找log二N 个元素Log2 128 7 12.equals和hashCode java.lang.Object类中有两个非常重要的方法: public boolean equals(Obje…

YOLOV5模型训练

之前在博文中讲到了YOLOV5的运行,以及转tensorrt. 但是, 一个模型通常需要结合数据训练,才能得到更好的结果. 因此,我们有必要熟悉yolov5的训练过程. 执行训练的过程 Yolov5的github提供了官方的训练脚本. 第一次运行,会自动下载数据集,然后会检测到你的gpu配置,如果不对,…

【数据结构】树

树(Tree) 知识框架 树的定义 树和图一样都是非线性结构,树是n个结点的有限集合,当n0时,称这棵树为空树。 非空树有以下特征: 有且仅有一个称为根的结点。如果n>1, 除根结点以外其它结点可以分为m(m>0)个不相交的集合T1,T…

E4445A频谱分析仪

18320918653 E4445A 名称:E4445A 频谱分析仪, 3 Hz - 13.2 GHz 详细:主要技术指标 性能 /-0.24 dB幅度精度 -155 dBm/Hz显示的平均噪声电平(DNAL) 10 kHz偏置时的相噪:-118 dBc/Hz 81 dB W-CDMA AC…

春节倒计时,让我来秀一手:用Python制作一个对联生成器

前言 跨年跨完了,马上就要迎来春节了,这不得秀一手? 那就直接开始春节的表演呗 勉勉强强来用python制作对联生成器吧 效果展示 这里的话,你自己想要啥春联主题是可以搜索滴,有些地方也是可以看着改的,…

FPGA知识汇集-FPGA的低功耗设计方法总结

精确的热分析在很多电子产品设计中都有着举足轻重的作用,在高端的PCB设计中尤为突出。热分析的结果常常会影响PCB的机械层设计和产品的外壳设计:是否需要安装散热片、散热风扇等。如果安装散热风扇,往往需要降低其噪音,这将使得机械层设计变得…

【OpenAI】What Is ChatGPT

文章目录介绍注册介绍 OpenAI发布了一个全新的聊天机器人模型—— ChatGPT,同时这也是继GPT-3.5 系列的主力模型之一 ChatGPT 测试地址: https://chat.openai.com/auth/login https://gpt.chatapi.art/ ChatGPT官方说明: Optimizing Langua…

【自学Java】Java语言数组遍历

Java语言数组遍历 Java语言数组遍历教程 Java 语言 中如果我们定义好了数组,并且给数组设置了值,那么怎么样访问数组呢?怎么样获取数组里面的数据值呢?我们可以使用 for 来遍历数组,获取每个位置上的值。 Java语言数…

谷粒学院——第十四章、微信扫码登录

准备工作 注册开发者资质 官网:https://open.weixin.qq.com/ 尚硅谷分享 wx:open:# 微信开放平台 appidappid: wxed9954c01bb89b47# 微信开放平台 appsecretappsecret: a7482517235173ddb4083788de60b90e# 微信开放平台 重定向url(guli.shop需要在微…