首页 > 其他分享 >2024/6/23 本周总结

2024/6/23 本周总结

时间:2024-06-23 11:53:23浏览次数:3  
标签:总结 mathbb mathbf 23 伪影 times 2024 图像 扩散

DemoFusion: Democratising High-Resolution Image Generation With No $$$

2024/5/11

任意尺度超分

生成一个\(K\)倍大小的图像,需要边长扩大为\(\sqrt{K}\),就是从潜在空间(latent sapce)\(\mathbb{R}^{c\times h\times w}\)到目标空间\(\mathbb{R}^{c\times{H}\times W}\),其中\(H=Sh\),\(W=Sw.\)

整个流程是进行\(S\)次“上采样-扩散-去噪”的过程,第一次开始流程的时候是进行“初始化-去噪”过程(Q:这里初始化是在干嘛?去噪的模型用的什么?)。

“上采样-扩散-去噪”过程,可以看为:

\[p_\theta(\mathbf{z}_0^S|\mathbf{z}_T^1)=p_\theta(\mathbf{z}_0^1|\mathbf{z}_T^1)\prod_{s=2}^S(q(\mathbf{z}_T^{\prime s}|\mathbf{z}_0^{\prime s})p_\theta(\mathbf{z}_0^s|\mathbf{z}_T^{\prime s})),\\\text{(3)} \]

其中$$\mathbf{z}_{0}^{\prime s}$$是通过上采样得到\(\mathbf{z^{\prime}}_0^s=inter(\mathbf{z}_0^{s-1})\),\(inter(\cdot)\)是任意一种插值算法(例如,双三次插值)。本质上是首先运行一个常规的潜在扩散模型,作为\(p_\theta(\mathbf{z}_0^1|\mathbf{z}_T^1)\),然后对每个尺度进行:

(i) 低分辨率\(\mathbf{z}_0^{s-1}\)上采样到\(\mathbf{z}'_0\)

(ii) 通过扩散过程重新引入噪声以获得\(\mathbf{z}_{T}^{\prime s}\)

(iii) 去噪以获得\(\mathbf{z}_0^s\)

这篇论文中的扩散卷积核部分的使用没看懂用在哪里,感觉这篇是在现有的一些应用模型Md上进行一些操作进行的,可以下下来看下效果好不好。

CycleINR: Cycle Implicit Neural Representation for Arbitrary-Scale Volumetric Super-Resolution of Medical Data

2024/5/22

任意尺度MRI超分

使用到的东西:1.隐式神经表示(任意上采样) 2.局部注意力机制(增强网格采样) 3.循环一致性损失(减轻过度平滑)

自创:1.层面间噪声水平不一致性SNLI(定量评估层面间噪声水平的不一致性)

比对着图判断实验流程:

首先是基础的LR三维图片通过LAM-enhanced INR Model生成HR图片,

LAM-enhanced INR Model中基础LR图片通过一个残差网络Encoder[11]提取语义特征,编码器的输入是\(I_{\mathrm{lr}}\in\mathbb{R}^{h\times w\times d}\),产生一个特征图\(Z_\text{lr}\in\mathbb{R}^{h\times w\times d\times|z|}\)称为潜在编码。其中\(|z|\)表示LR的每个体素都被转换为长度\(|z|\)的潜在编码(这里文中说是为了促进解码网络无缝整合局部图像强度信息)。得到潜在编码后,将潜在编码输入ALCGS模块,编码后获得的潜在代码对应于低分辨率体积中的体素。要获得高分辨率体积中\(x\)处体素潜在代码\(Z^{hr}\)需要进行网格采样的操作。之前工作采用三线性插值单元解码[5, 48]技术进行网格采样得到\(\hat{Z}_{\mathrm{hr}}^x\)(文中使用的是三线性插值)。后面选择\(N\)个围绕\(\hat{Z}_{\mathrm{hr}}^x\)最近的邻近潜在代码\(Z_{\mathrm{lr}}^i\)进行聚合。将\(\hat{Z}_{\mathrm{hr}}^x\)通过线性层\(W_{V}\)映射到查询空间,\(N\)个附近的潜在代码\(Z_{\mathrm{lr}}^i\)通过\(W_{Q}\)和\(W_{K}\)映射到空间,接着计算查询向量与每个键向量之间的相似度(我看图和公式中的样子是K和Q直接相乘)然后输入到softmax中转换为权重系数。最后通过加权求和得到改进的潜在代码\(\tilde{Z}_{\mathrm{hr}}\)(我看图中的操作是用softmax得到的权重系数与V相乘,最后将这N个计算得到的数据加起来)这个模块是为了简历像素之间的关系,类似于双边滤波的功能。然后得到的\(\tilde{Z}_{\mathrm{hr}}^{x}\)和体素坐标\(x\)作为输入输入进解码器网络中,解码器是使用的[48]中的网络,得到最终的HR图像。

通过LAM-enhanced INR Model生成HR图片后,计算生成的高清图和GT之间的损失,公式为:

\[\mathcal{L}_{INR}=||\mathbf{\hat{I}}_j^{hr}-\mathbf{I}_j^{hr}||_1. \]

后面将新生成的图像\(\hat{I}_{\mathrm{hr}}^{j}\)联合原始低分辨率图像的坐标\(C_{\mathrm{lr}}^j\)再次输入到INR模型中,生成对低分辨率的图像的估计。然后使用\(L_1\)损失将估计的低分辨率推昂与原始低分辨率图像\(I_{\mathrm{lr}}^j\)进行相似性比较,构成循环一致性损失。

训练总损失如下:

\(L_{\mathrm{CycleINR}}=L_{\mathrm{INR}}+\lambda\cdot L_{\mathrm{Cycle}}\)

感觉这一片最主要还是使用了INR然后结合了CycleGAN的东西,加入了一些能增强模型效果的组件进来做的。
需要思考为什么使用同一个模型Cycle,原始的Cycle GAN是用了两个模型进行的。

Rethinking Diffusion Model for Multi-Contrast MRI Super-Resolution

2024/5/23

MRI超分

使用的东西:1.diffusion model 2.transformer

模型整体的训练分为两个阶段,第一阶段的目的是联合训练先导提取(PE)PLWformer以获得更可靠的先验知识\(Z\)。

训练的第一阶段使用了PEPLWformer模块,将高分辨率图片\(I_{HR}\)执行PixelUnshuffle操作,然后将高分辨率对应的低分辨率图\(I_{LR}\)沿通道维度连接起来,输入到PE中生成先验知识\(Z\):

\[Z=PE(Concat(PixelUnshuffle(I_{HR}),I_{LR})) \]

文中说,这样处理后的数据\(Z\)是高度紧凑,这会有效减少后续DM计算。这里PixelUnshuffle只需要调用torch的包就能实现,是PixelShuffle的逆操作,PixelShuffle是将形状为\((∗, C\times r^2, H, W)\)的张量重新排列转换为形状为\((∗, C, H\times r, W\times r)\)的张量。

使用像素嵌入和交叉注意力变换器层(CATL)[18,23]来融合目标低分辨率图像\(I_{LR}\in\mathbb{R}^{H\times W\times2}\)和参考高分辨率图像\(I_{Ref}\in\mathbb{R}^{Hs\times{W}s\times2}\)获得\(\mathcal{F}_{f}\)输入PLWformer

PLWformer由两个组件组成,先导引导大窗口多头自注意力(PL-MSA)和先导引导前馈网络(PG-FFN)。通过PE获得先验知识\(Z\)后,将其输入PL-MSAPG-FFN作为动态调制参数以指导重建:

image-20240527172700696

公式形式为:

\[\mathcal{F}_{f}^{\prime}=\mathbb{L}(Z)\odot\mathbb{N}(\mathcal{F}_f)+\mathbb{L}(Z),\\\mathcal{F}_{p}^{\prime}=\mathbb{L}(Z)\odot\mathbb{N}(\mathcal{F}_p)+\mathbb{L}(Z), \]

其中\(F_{f}^{\prime}\in\mathbb{R}^{H\times W\times C}\), \(F_{p}^{\prime}\in\mathbb{R}^{H\times W\times C}\), \(C\)表示特征图的通道维度,\(⊙\)表示逐元素乘法,\(\mathbb{N}\)表示层归一化,\(\mathbb{L}\)表示线性层。

SinSR: Diffusion-Based Image Super-Resolution in a Single Step

2024/6/15

2024 CVPR

1.想要解决什么问题?

扩散模型的计算效率问题,现在需要大量的推理步骤才能达到令人满意的性能。

现在的有些方法需要明确的图像退化过程公式。如果减少推理步骤,则会出现明显的伪影和性能下降。

2.现有方法的瓶颈,为什么令人不满意?

现有的方法面临计算效率问题,这些扩散模型的初始状态是纯高斯噪声,没有利LR图像的先验知识。创新的技术开始在图像恢复任务中重新定义扩散过程,但是仍存在局限性,[46]论文中的方法仍需要15次推理步骤,并且如果减少推理步骤数,则会出现明显的伪影和性能下降。

3.我们针对这个难点提出的解决方案是啥?这个方案为啥可以解决

论文中直接从教师扩散模型中学习输入随机噪声与生成的HR图像之间的双向确定性映射。为了加速生成匹配良好的训练数据,论文从[46]论文中推导出确定性采样策略,这种策略旨在加速基于扩散的SR,并从其原始随机公式中进行调整。

文中还提出了一种新颖的一致性保持损失,以利用真实图像,通过最小化GT图像与预测初始化状态生成的图像之间的误差,进一步提升生成HR图像的感知质量。

image-20240616210226592

4.这个解决方案的创新

首次将基于扩散的超分模型加速到单次推理步骤,同时保持甚至超越现有方法的性能。提出了一种简单但有效的方法,直接将确定性生成函数提炼到学生网络中。

从最新的[46]中推导出一个确定性采样策略,用于加速SR任务,从而高效生成匹配良好的训练对。

提出了一种新颖的一致性保持损失,在训练时利用真实图像,防止学生模型仅关注拟合教室扩散模型的确定性映射,从而提升整体性能。

感觉这个方法是使用教师督导模型对diffusion model进行了蒸馏来减少模型的推理步骤。

Self-Adaptive Reality-Guided Diffusion for Artifact-Free Super-Resolution

2024/6/15

CVPR 2024

  • 补充阅读:去噪分数匹配[31],[36]的一个调查结果

1.想要解决什么问题?

传统的基于扩散的SR技术在增强图像细节方面表现出色,但在迭代过程中容易引入伪影。

2.现有方法的瓶颈,为什么令人不满意?

传统的深度学习SR方法利用了如挤压层【49】、转置卷积【38】和子像素卷积【29】等技术,但这些方法受限于固定的上采样尺度,限制了输出分辨率的调整,除非进行架构上的变更。这在现实应用中导致了不灵活性。

为了解决SR中固有的一对多逆问题,将解空间设想为一个分布是直观的。然而,这一视角常常促使生成模型引入偏离原始低分辨率图像真实内容的细节。

当代基于扩散的StableSR模型不可避免地会在图像的特定区域生成不可信内容,常常导致感知伪影。这些伪影通常源于现代扩散模型中基本使用的去噪扩散概率模型(DDPMs)。

它们可以通过整合非线性项来增强边缘和纹理特征的保留,从而改进图像细节。然而,尽管有这些进展,引入的非线性有时会在具有复杂纹理或噪声模式的区域产生意外结果。这种意外后果可能导致细节的丢失和基本图像元素如边缘和纹理的退化,特别是当扩散过程过于激进或约束不足时。此外,模型架构或参数设置中的任何不足都可能在扩散过程中被放大,加剧伪影问题,产生偏离期望逼真质量的结果【36】。

3.我们针对这个难点提出的解决方案是啥?这个方案为啥可以解决

论文提出了一种创新的无训练方法,自适应显示引导扩散(SARGD)。该扩散分为两个阶段运行:

    1. 实现引导细化(RGR)以减少伪影,使用伪影检测器在每个推理步骤中识别潜在空间中的不真实像素,生成二值伪影掩码。该掩码与从放大后的LR图像中提取的真实潜在引导相结合,以细化伪影并增强内在细节。然而,依赖放大后的LR输入进行引导可能导致图像过度平滑,因为它可能忽略了对于SR至关重要的高频细节。
    2. 自适应引导(SAG)提升保真度。SAG阶段引入了一个“现实得分”来自我调整潜在引导的真实性,显著提升细节和纹理表示的准确性。

    两个阶段交替进行,逐步实现高保真度的超分辨率,有效消除扩散过程中的伪影。

    image-20240616210254729

4.这个解决方案的创新

引入现实引导细化(RGR)策略:该策略旨在借助现实引导机制识别并纠正扩散过程中的伪影,有效消除这些伪影。

提出自适应引导(SAG)机制:该机制迭代地增强真实潜在引导,解决过度平滑问题,提升参考潜在引导的保真度和真实性。

首次开发自适应现实引导扩散(SARGD):这是一种无训练的方法,通过有效处理伪影和过度平滑问题设立了新的基准。此外,它在图像质量上优于StableSR,同时将超分辨率任务的推理时间减少了2倍。

标签:总结,mathbb,mathbf,23,伪影,times,2024,图像,扩散
From: https://www.cnblogs.com/TTS-TTS/p/18263215

相关文章

  • 【2024全国赛前多校联考1】逆序对
    题意:给定\(n,K\)。对于\(i=1,2,3,\cdots,n\),你需要求出在所有逆序对数为\(k\)个的排列中\(i\)位置在小根笛卡尔树上的深度之和。数据范围:\(n\le300,K\le\dfrac{n(n-1)}{2}\)。思路:我们要求的是:\[\sum_{inv(p)=K}dep(i)\]这个\(dep(i)\)即\(i\)的祖先个数,考......
  • UNIQUE VISION Programming Contest 2024 Summer (AtCoder Beginner Contest 359)
    A-CountTakahashi(abc359A)解题思路遍历判断即可神奇的代码#include<iostream>#include<algorithm>#include<vector>#include<queue>#include<map>#include<set>#include<cstring>usingnamespacestd;#defineendl'\n......
  • python测试工程师 之 python基础大全【13万字总结】
    python基础大全【13万字】Day011、Python概述2、Python解释器和pycharmIDE工具3、Python中的注释4、变量5、标识符的命名规范★6、变量的使用7、Python中的数据类型★8、Python中的bug和调试9、字符串的格式化及输出★10、转译字符day021、转译字符2、f-string★3、......
  • 2024年6月计算机视觉论文推荐:扩散模型、视觉语言模型、视频生成等
    6月还有一周就要结束了,我们今天来总结2024年6月上半月发表的最重要的论文,重点介绍了计算机视觉领域的最新研究和进展。DiffusionModels1、AutoregressiveModelBeatsDiffusion:LlamaforScalableImageGenerationLlamaGen,是一个新的图像生成模型,它将原始的大型语言模型......
  • 十大java应用服务器(web server)总结
    java应用服务器(webserver),是指运行java程序的web应用服务器软件,不包括nginx、Apache等通用web服务器软件。一、TomcatTomcat是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。随着SpringBoot把tomcat作为默认的内嵌web服......
  • Java 学习知识点汇集(2024.6)
    VSCode,run程序时,提示,错误:找不到或无法加载主类Exam_32猜测原因,目录中有中文字符?解决办法:**在Java中,final类不能作为父类被继承**。讯飞星火:在Java的LSP(LiskovSubstitutionPrinciple,里氏替换原则)中,如果一个类被设计为不可变的(immutable)或者已经完成的(complete),它应该......
  • Lightroom Classic 2023 for Mac(摄影后期图像编辑工具) v12.4版
    lightingClassic是Adobe公司推出的一款图像处理软件,是数字摄影后期制作的重要工具之一。与其他图像处理软件相比,LightroomClassic具有以下特点:LightroomClassic2023forMac(摄影后期图像编辑工具)软件地址高效的图像管理:LightroomClassic提供了强大的图像管理功能,可以......
  • 【HDC 2024】华为云开发者联盟驱动应用创新,赋能开发者成长
    本文分享自华为云社区《【HDC2025】华为云开发者联盟驱动应用创新,赋能开发者成长》,作者:华为云社区精选。6月21日到23日,华为开发者大会(HDC2024)于东莞松山湖举行,这里有丰富多样的主题演讲、峰会、专题论坛和互动体验,数百场面向开发者的特色活动,汇聚璀璨星光、激发创新灵感……6......
  • Leetcode 力扣 125. 验证回文串 (抖音号:708231408)
    如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。示例1:输入:s="Aman,aplan,......
  • Leetcode 力扣 128. 最长连续序列 (抖音号:708231408)
    给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入:nums=......