首页 > 其他分享 >ArSSR笔记

ArSSR笔记

时间:2023-11-06 20:58:26浏览次数:39  
标签:mathbf HR 笔记 times hr LR ArSSR 图像

20231105
文章连接:https://arxiv.org/abs/2110.14476

1.提出背景

首先是MRI成像上,会因为多种情况导致最后的成像效果不好,想要质量高的图像多徐时间又很长,现在采用超分的图像后处理方法来对图像进行处理以实现短时间获得高质量图像的效果。但是现在的图像超分方法中的SISR方法实现的是给定图像尺度的超分。于是作者提出一种适用于医学图像的用于恢复三维MR图像的任意尺度超分方法。

2.解决方案和优点

作者提出ArSSR模型,模型中LR图像和HR图像以具有不同采样率的相同的隐式神经体素函数表示。由于学到的隐式函数是连续的,所以可以实现任意尺度的超分。超分任务也因此从使用深度学习训练LR图片到HR图片的转变,变为对隐式函数的接近拟合。
image

3.模型概览

image

模型是由一个编码器和一个解码器组成,训练集为\(\textbf{I}=\{I_{\mathrm{lr}}^{i}\in\mathbb{R}^{h\times w\times d},I_{\mathrm{hr}}^{i}\in\mathbb{R}^{k_{i}\cdot(h\times w\times d)}\}_{i=1}^{M}\)
其中,\(M\)为训练数据数量,\(k_{i}\)是第\(i\)对用来训练的LR-HR图像的上采样尺度,\(I\)是医学图像体素。
模型首先使用一个卷积编码网络将第\(i\)个LR图片\(I_{{lr}}^{i}\)转变为一个特征图\(V_{\mathbf{lr}}^i\in\mathbb{R}^{h\times w\times d\times128}\),特征图中的每一个元素是一个特征向量\(v_{\mathbf{x}}^i\in\mathbb{R}^{128}\),其对应于LR图像\(I_{{lr}}^{i}\)坐标\(X\)处的体素。
然后,对于HR图像\(I_{{hr}}^{i}\)中的每个体素坐标\(X=(x,y,z)\)的查询,我们对LR图像\(I_{{lr}}^{i}\)使用三线性插值生成其对应特征图\(V_{\mathbf{hr}}^{i}\in\mathbb{R}^{k_{i}\cdot(h\times w\times d)\times128}\)。
最后,解码器网络将查询的坐标\(X\)和特征图\(V_{\mathbf{hr}}^{i}\in\mathbb{R}^{k_{i}\cdot(h\times w\times d)\times128}\)中对应特征向量\(v_{\mathbf{x}}^i\)作为输入,输出空间坐标\(X\)处的体素强度\(\hat{I}_{\mathbf{hr}}^{i}(\mathbf{x})\),通过反向传播算法最小化预测的体素强度\(\hat{I}_{\mathbf{hr}}^{i}(\mathbf{x})\)和真实体素强度\({I}_{\mathbf{hr}}^{i}(\mathbf{x})\)之间的\(L_1\)损失函数\(\mathcal L\)。
通过上诉操作,\(L_1\)的损失函数\(\mathcal L\)表达为:

\[\mathcal{L}=\frac{1}{N*\mathcal{K}}\sum_{i=1}^{N}\sum_{j=1}^{\mathcal{K}}\mid I_{\mathrm{hr}}^{i}(\mathbf{x}_{j})-\hat{I}_{\mathrm{hr}}^{i}(\mathbf{x}_{j}) \]

其中\(N\)是训练数据中的HR-LR图片对数量,\(\mathcal{K}\)表示每次训练迭代时从每个HR图像\(I_{{hr}}^{i}\)中采样的坐标个数。
在这个模型中,编码器网络作为特征提取器,解码器网络作为隐式体素函数的逼近器。

4.数据处理

从3中图片可以看出模型训练时使用一对LR-HR图片,实验中HCP数据集的LR图像是通过对相应的HR图像进行下采样生成的。实验对原始HCP图像进行了裁剪和填充,将图像尺寸从\(320*320*256\)修改为\(264*264*264\),以便于定量评价。
对于测试集,实验对原始MR图像的强度进行数据归一化,构建ground truth(GT)HR图像,然后对GT图像依据特定的下采样尺度\(k={\{2,2.5,3,3.5,4\}}\)进行三次插值下采样,生成LR图像。
训练和验证集:(1)将图像数据归一化为\(264^3\)大小。(2)随机裁剪提取6个\(40^3\)维度大小的图像补丁。(3)进行中心裁剪,生成\((10*k)^3\)维度大小的HR补丁。(4)最后,我们通过三次线性插值对HR补丁进行下采样,模拟维度大小为\(10^3\)的LR补丁。
对于ArSSR模型,尺度\(k\)是从均匀分布\(\mathcal{U}(2,4)\)随机抽取的。

标签:mathbf,HR,笔记,times,hr,LR,ArSSR,图像
From: https://www.cnblogs.com/TTS-TTS/p/17813676.html

相关文章

  • 算法--笔记--单调栈
    单调栈是为了解决两层foru循环O(n^2)变为O(n)的问题思路是:维持一个单调栈.依次进入单调栈,并淘汰对后续没有帮助的对象当一个对象从栈里弹出的时候,结算当前对象参与的答案。如何判断单调栈是大压小还是小压大呢?左侧的要小的,就是大压小左侧的要大的,就是小压大......
  • openGauss学习笔记-116 openGauss 数据库管理-设置数据库审计-审计概述
    openGauss学习笔记-116openGauss数据库管理-设置数据库审计-审计概述116.1背景信息数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内......
  • 代码整洁之道笔记1
    一.整洁代码整洁代码的一些特征代码逻辑应该直接了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来;整洁的代码只做好一件事;有单元测试和验收测试;有意义的命名;尽量“少”;两条重要原......
  • 笔记本共享WIFI到本地网口,网口供 linux 机器提供网络
    1.WLAN属性,设置为共享 2.查询Windows笔记本IP地址 3.  ......
  • JUC并发编程学习笔记(十四)异步回调
    异步回调Future设计的初衷:对将来的某个事件的结果进行建模在Future类的子类中可以找到CompletableFuture,在介绍中可以看到这是为非异步的请求使用一些异步的方法来处理点进具体实现类中,查看方法,可以看到CompletableFuture中的异步内部类,里面是实现的异步方法以及一些异步......
  • [机器学习复习笔记] Linear Regression 线性回归(最小二乘法求解析解)
    LinearRegression1.一元线性回归定义一个一次函数如下:\[y=\theta_0+\theta_1x\]其中\(\theta\)被称为函数的参数。显然在坐标图上,这个函数的图像是一条直线,这也是线性回归中的线性含义所在。只有一个\(x\)来预测\(y\),就是用一条直线来拟合数据,即一元线......
  • 读书笔记——《软件需求模式》其一
    《软件需求模式》是StephenWithall撰写的一本重要著作,旨在探讨和提供关于软件需求工程的模式和技术。本书深入剖析了软件需求工程的各个方面,并通过引入一系列软件需求模式,为软件开发人员提供了解决常见问题和挑战的实用解决方案。作者首先强调了需求工程的重要性,指出清晰、准确......
  • 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
    《python基础教程(第二版)》学习笔记文件和素材(第11章)打开文件:open(filename[,mode[,buffering]])mode是读写文件的模式f=open(r'c:\somefile.txt')#默认是读模式+表示是可以读写;r读模式;w写模式;a追加模式;b二进制模式;换行符在Windows为\r\n,在Unix中为\n,Python会自动转......
  • 《python基础教程(第二版)》学习笔记 函数(第6章)
    《python基础教程(第二版)》学习笔记函数(第6章)创建函数:deffunction_name(params):blockreturnvalues记录函数:deffunction_name(params):'NOTE'#注释blockreturnvaluesfunction_name.__doc__help(function_name)return#没有返回值位置参数和关键字参数:关......
  • 《python基础教程(第二版)》学习笔记 类和对象(第7章)
    《python基础教程(第二版)》学习笔记类和对象(第7章)定义类classPerson:defsetName(self,name):self.name=namedefgetName(self):returnself.namefoo=Person()foo.setName('AAA')foo.getName()foo.namefoo.name='BBB'私有属性,名字前面加上......