Review: Deep learning in medical image super resolution
总述:MedISR
性能上的突破:主要有3类SR算法:
1. 即基于插值的方法(例如,最近邻插值 ,双线性插值和双三次插值)
2. 基于重建的方法(例如,频域方法和空间方法)
3. 基于学习的方法(例如,稀疏表示字典学习方法和神经网络方法)。
多年来,基于深度学习的SR模型一直在积极探索,从早期使用卷积神经网络(例如, SRCNN )的方法到使用Transformers ( e.g . , TTSR )的有前景的SR方法。这些模型通常在各种SR基准上实现性能突破。
MedSR任务: 从观测到的LR图像中恢复出对应的HR图像
生成配对LR,HR图像方法:将LR视为HR的退化,从HR中生成相应的LR图像。
Q1:退化模型
经典方法 :
模糊,降采样,噪声处理。
- (模糊:各向异性高斯核; 噪声: 高斯白噪声)
序列降质方法:
(针对VSR)利用相邻图像在时间(或空间)上的失真来帮助退化当前的HR图像。
- (每一个退化的样本是从一个序列的样本当中做一些warping operation来得到的)
频域退化方法:
在频域进行zero filling是一种相当常见的退化方法。
- (通过傅里叶变换将原始HR图像变换到频域。然后,保留中心25 %、11.1 %或6.25 %的数据点,对应降采样因子× 2、× 3或× 4。并将所有外围数据点重置为零。最后,傅里叶逆变换将校正后的数据转换回图像域,生成LR图像)通常也可以用于创建运动模糊图像。
稀疏采样方法:
- 以固定间隔对三维体图像的二维序列进行采样。
- (3D MedSR的对象通常是各向异性的三维体图像。此外通过将相邻的两张切片合并为具有平均值的一张切片也可以来模拟具有局部体积效应的LR各向异性MR图像。)
分述:从2D到4D
从参考论文 (Deep learning in medical image super resolution: a review) 大致可以得到ISR任务的常用模型:CNN(U-Net, ResNet, Reasoning-Attention), GAN , Transformer. 不过值得关注的是以上这些模型都是CV卷出来剩下的,可以尝试关注一些现在CV当中比较新的idea。
简记:截止到2024.8 目前比较前沿的结构:
GAN->Diffusion
Transformer->Mamba
U-Net->目前依然是各种变体(Attention,Dense,Residual)
2DISR
单幅图像超分辨率( Single Image Super-Resolution,SISR )和参考比较图像超分辨率(Reference-based Image Super-Resolution,RefSR )是2DISR的两个子类。
SISR仅依赖于从单幅LR图像中提取特征。作为SR的主流解决方案,SISR是其他解决方案的基石。然而,SISR重建的质量受到可用信息的限制。作为回应,RefSR为SR指明了新的方向。与SISR不同,典型的RefSR使用具有相似结构和纹理的HR图像作为目标图像来辅助恢复过程。RefSR通过将纹理恢复(或生成)问题转化为纹理搜索和迁移问题来简化SR问题
SISR
SISR模型主要包含两个部分:特征提取模块和重建模块。其中,特征提取模块是研究的重点。
根据使用的神经网络架构,现有的基于深度学习的SISR算法可以分为4类:基于通用卷积神经网络( CNN )的模型、基于生成对抗网络( GAN )的模型、基于转换器( Transformer )的模型和基于图卷积神经网络( GCN )的模型。
此外,为了提高SR图像的质量,人们提出了各种各样的网络设计策略。例如,残差学习、密集连接、渐进上采样、跳跃连接、信息蒸馏、注意力机制、对偶回归等
General CNN-based:
以下是CNN常见的网络模块示意图:
ResBlock:
基于全局残差学习的SR模型更容易学习。其原因在于避免了对整幅图像进行复杂的变换,使得大部分区域的残差接近于零。渐进子带残差学习SR网络( Progressive Subband Residual Learning SR Network,PSR-SRN )在一个子带残差学习单元中进行多级全局残差学习,以充分利用不同阶段的残差信息。
自ResNet 提出以来,局部残差学习也被引入到医疗SISR网络中。使用内部存在跳跃连接的残差块作为基本单元。该方法可以减少因神经网络深度增加而导致的梯度消失和爆炸。
实际上,现在基本上是全局和局部残差块结合的方法。
Residual Dense U-Net 使用U - Net来学习全局残差图。并且使用残差密集块进行跳跃连接,以获得更好的特征表示。此外,有文献提出,在残差块中执行多级加权跳跃连接允许充分的特征信息提取。
Information Distillation:
RIDM级联多个残差块,并将每个残差块的输出作为信息蒸馏块( IDB )的输入。
为了提高信息提取的效率,IDB使用1 × 1卷积和3 × 3卷积将输入特征分为粗细特征,而不是通道。
add: 对于信息蒸馏块DB:
从上面的图片也可以看出大致的结构:每一层输入分为两支,其中一支通过一层卷积直接连接到最终的输出层,另一支则进入下一步蒸馏提取特征。然后进行特征融合继续分为两支 作为下一次的输入。
ps: IDB主要应用于图像的特征提取。
下面给一个小Demo:
import torch
import torch.nn as nn
class InformationDistillationBlock(nn.Module):
def __init__(self, in_channels, out_channels, reduction_ratio=4):
super(InformationDistillationBlock, self).__init__()
# 通道分离
self.channel_split = in_channels // reduction_ratio
# 特征精炼层
self.refine_layer = nn.Sequential(
nn.Conv2d(self.channel_split, self.channel_split, kernel_size=3, padding=1, bias=False),
nn.BatchNorm2d(self.channel_split),
nn.ReLU(inplace=True),
nn.Conv2d(self.channel_split, self.channel_split, kernel_size=3, padding=1, bias=False),
nn.BatchNorm2d(self.channel_split),
nn.ReLU(inplace=True)
)
# 特征融合层
self.fusion_layer = nn.Sequential(
nn.Conv2d(in_channels, out_channels, kernel_size=1, bias=False),
nn.BatchNorm2d(out_channels)
)
# 残差连接
self.residual = nn.Sequential(
nn.Conv2d(in_channels, out_channels, kernel_size=1, bias=False),
nn.BatchNorm2d(out_channels)
)
def forward(self, x):
# 特征分离
x1, x2 = torch.split(x, [self.channel_split, self.channel_split * (self.reduction_ratio - 1)], dim=1)
# 特征精炼
refined_x1 = self.refine_layer(x1)
# 特征融合
out = torch.cat([refined_x1, x2], dim=1)
out = self.fusion_layer(out)
# 残差连接
res = self.residual(x)
# 输出
return nn.ReLU(inplace=True)(out + res)
# 示例
input_tensor = torch.rand(1, 64, 32, 32) # 示例输入 (batch_size, in_channels, height, width)
idb = InformationDistillationBlock(in_channels=64, out_channels=64)
output = idb(input_tensor)
print(output.shape) # 输出的形状
Autoencoder
自编码器也被应用于SISR领域。基于自编码器的卷积网络超分辨率( ACNS ) [ 19 ]是一种针对MRI图像的面内超分辨率模型。它由特征提取、多层非线性映射和重构三个步骤组成。结果表明,自编码器在处理速度上的优越性使得ACNS在MRI实时分辨率增强中具有应用价值
PS:关注Diffusion方向
GAN
相当常见的SR研究当中的网络架构。不过老师说在我们这边领域并不是很work。这边仅做简单的记录
GAN由生成器( G )和判别器( D )组成。G学习LR - HR映射并生成SR图像。D使用二进制令牌(真假)来区分真实HR图像和G生成的SR图像。GAN使用博弈论交替训练G和D。基于GAN的方法(例如, SRGAN , ESRGAN , GLEAM 等。)可以恢复更多的高频细节。
同时,GAN在处理医学图像上面临以下几个主要的问题:
- 医学图像的空间变化、相关性和统计特征比自然图像更加复杂。并且信噪比较低。
- 使用自然图像进行预训练得到的基于GAN的模型在应用于医学图像时可能会合成不真实的细节或伪影。
- GAN的训练过程不稳定,容易发生模式崩溃。
接下来是一些常用的策略:
渐进式学习:采用多阶段设计,在一个大的缩放因子任务下分解SR。在每个阶段对图像进行一次上采样,以获得更高的分辨率。它降低了学习难度,使SR图像在大缩放因子下获得更好的感知质量。
GAN循环: 对于LR图像,G和F分别学习LR - SR和SR - LR的映射关系。循环一致性损失用于保证映射关系的确定性。训练过程包括三个基本步骤。首先,将低分辨率图像转换为高分辨率图像。然后将其转换回新的LR图像。
Attention
注意力机制分类:
空间注意力模型、通道注意力模型、混合注意力模型、自注意力模型(捕获全局信息)、时间注意力模型。前四种属于软性注意,最后一种属于硬性注意。软注意力机制通过梯度下降实现,具有可区分性和连续性。在神经网络中,软注意力的权重可以通过前向和后向传播进行学习调整。硬注意力机制是不可微的,通常用强化学习来实现。
通道注意力模型、空间注意力模型、混合注意力模型这边贴一下小demo:
# Channel Attention Layer
class CALayer(nn.Module):
'''
constructed with a global average pooling layer, two convolutional layers and a sigmoid layer
'''
def __init__(self, channel, reduction=16):
super(CALayer, self).__init__()
# global average pooling: feature --> point (1x1), channel keep the same
self.avg_pool = nn.AdaptiveAvgPool2d(1)
# feature channel downscale and upscale --> channel weight
# B,C,H,W --> B,C//r,H,W --> B,C,H,W
self.conv_du = nn.Sequential(
nn.Conv2d(channel, channel // reduction, 1, padding=0, bias=True),
nn.ReLU(inplace=True),
nn.Conv2d(channel // reduction, channel, 1, padding=0, bias=True),
nn.Sigmoid()
)
def forward(self, x):
y = self.avg_pool(x)
y = self.conv_du(y)
return x * y
# Layer Attention Memory Module
class LAM_Module(nn.Module):
""" Layer attention module"""
def __init__(self, in_dim):
super(LAM_Module, self).__init__()
self.chanel_in = in_dim
self.gamma = nn.Parameter(torch.zeros(1))
self.softmax = nn.Softmax(dim=-1)
def forward(self, x):
"""
inputs :
x : input feature maps( B X N X C X H X W)
returns :
out : attention value + input feature
attention: B X N X N
"""
m_batchsize, N, C, height, width = x.size()
# B X N X C X H X W --> B X N X (C*H*W)
proj_query = x.view(m_batchsize, N, -1)
# B X N X (C*H*W) --> B X (C*H*W) X N
proj_key = x.view(m_batchsize, N, -1).permute(0, 2, 1)
# energy: B X N X N
energy = torch.bmm(proj_query, proj_key)
# get the max value along the last N dim, then got the self diff of the max energy
energy_new = torch.max(energy, -1, keepdim=True)[0].expand_as(energy) - energy
attention = self.softmax(energy_new)
proj_value = x.view(m_batchsize, N, -1)
out = torch.bmm(attention, proj_value)
out = out.view(m_batchsize, N, C, height, width)
out = self.gamma * out + x
out = out.view(m_batchsize, -1, height, width)
return out
# Channel Spatial Attention Module
class CSAM_Module(nn.Module):
""" Channel-Spatial attention module """
""" get the attention map of the spatial dimension of one channel """
def __init__(self, in_dim):
super(CSAM_Module, self).__init__()
self.chanel_in = in_dim
self.conv = nn.Conv3d(1, 1, 3, 1, 1)
self.gamma = nn.Parameter(torch.zeros(1))
# self.softmax = nn.Softmax(dim=-1)
self.sigmoid = nn.Sigmoid()
def forward(self, x):
"""
inputs :
x : input feature maps( B X N X C X H X W)
returns :
out : attention value + input feature
attention: B X N X N
"""
m_batchsize, C, height, width = x.size()
out = x.unsqueeze(1)
out = self.sigmoid(self.conv(out))
"""
proj_query = x.view(m_batchsize, N, -1)
proj_key = x.view(m_batchsize, N, -1).permute(0, 2, 1)
energy = torch.bmm(proj_query, proj_key)
energy_new = torch.max(energy, -1, keepdim=True)[0].expand_as(energy)-energy
attention = self.softmax(energy_new)
proj_value = x.view(m_batchsize, N, -1)
out = torch.bmm(attention, proj_value)
out = out.view(m_batchsize, N, C, height, width)
"""
out = self.gamma * out
out = out.view(m_batchsize, -1, height, width)
x = x * out + x
return x
Transformer
分为解码器和编码器两个主要部分。每个编码器包括位置编码、多头自注意力机制、层归一化( LN )、前馈网络( FFN )和跳跃连接。解码器与编码器完全相同,只不过在输入层增加了一个带掩码的多头注意力机制。基于CNN的模型将注意力机制作为一种技术来提高模型的性能。相反,没有任何卷积层的自注意力模块是Transformer - based模型的核心单元。
首次记录Transformer,这边贴一下讲解的博客(后续再详解一篇Transformer):
http://t.csdnimg.cn/hCD5Z
首先是自注意力机制解决可变长序列的问题。这边可以参考前置的关联总结blog。
原结构使用的是多头注意力机制(就是多个自注意力机制输出cat一起然后乘以一个最终的权重矩阵得到最终输出)。
构建长距离依赖的能力[使得transformer在SR任务中表现优异。任务转换网络( Task Transformer Network,T2Net ) 是一种结合MRI重建和SR任务的基于变压器的医疗SISR模型。首先,使用两个独立的CNN分支来提取特定任务的特征。然后,利用任务转换器模块学习两个任务之间的相关性。
综上所述,一般的基于CNN的模型在不需要太多细节的医学SR任务中占主导地位。基于GAN的模型是最受欢迎的医学SISR方法,因为它可以产生更详细的重建结果。集成学习通过引入其他类型的模型来弥补主模型的缺陷。虽然它在设置和训练上非常挑剔,但它的表现已经证明了它的价值。基于Transformer的医疗SISR模型尚处于初步研究阶段,其潜力有待进一步挖掘。
RefSR
RefSR 本意是指利用参考图像(reference image)来提高低分辨率图像的质量和细节。这种方法与传统的单图像超分辨率(SISR)不同,因为它利用了来自其他高质量图像的信息。RefSR技术的目标是生成细节更丰富、视觉效果更好的高分辨率图像(其中利用了参考图像的细节恢复和纹理迁移等等)。
通常是用于影视后期制作等等。不过鉴于研究的MRI有多种加权图像,是可以结合到RefSR里面的 。
医学图像通常是3D或4D的,其序列切片具有时间或空间相关性。此外,以MRI为例,T1、T2和PD加权图像同时生成。虽然不同类型的组织区域具有不同的对比度,但它们在很大程度上具有相似的解剖结构。
RefSR可以通过相似图像之间的信息共享在医学图像中发挥重要作用。其中,多对比度MRI的SR重建是一个研究热点。RefSR面临两个关键步骤的挑战:
( 1)有效提取参考图像和目标中的特征图像。
( 2 )将参考图像的特征转换为目标图像的特征。根据输入参考图像的分辨率,将基于深度学习的方法分为三类:HR参考图像、LR参考图像和混合方法。下图给出了一些典型的医疗RefSR网络结构图。
LR reference image
原文介绍了以高分辨率Img作为参考图像的相关设计,不过临床应用实际上受限。
在临床实践中,直接使用多个LR对比图像或相邻切片作为参考图像具有实际意义。杰奥尔杰斯库等人提出了一种基于LR多对比度图像的多磁头卷积注意力机制 ( MMHCA ) ,适用于更广泛的CT或MRI SR任务。一个分支处理一个LR图像。输出张量沿信道维度进行连接,并传递给每个多磁头注意力模块。
多磁头空间通道关注模块基于卷积和反卷积操作执行。在汇总注意力张量后,该特征通过一个sigmoid层,并与串联张量(按元素)相乘。通过这种方式,神经网络可以专注于每个输入图像中最感兴趣的区域。与仅依赖基于注意力架构的方法不同,MMHCA具有通用性和灵活性,可以嵌入到各种架构
Hybrid
随着多对比度SR方法的深入研究,多分辨率参考图像的研究也开始兴起。[ Xie Y, Xiao J, Sun M et al (2020) Feature representation matters: end to end learning for Reference-Based image super resolution. In: European Conference on Computer Vision (ECCV), pp 230–245. ]设计了一个联合训练的特征提取网络,该网络不要求目标图像和参考图像有很好的对齐或者具有相似的纹理。
受此启发,[Madhu M, Ramanarayanan S, Ram K et al (2021) Reference based Texture transfer for Single Image Super-resolution of Magnetic Resonance images. IEEE International Symposium on Biomedical Imaging (ISBI), pp 579–583]提出了一种基于非成对参考图像的多对比度纹理传输策略,以增加MRI超分辨的潜在参考。首先,通过特征变换将ILR↑和IRef↑↓进行紧密匹配,以获得参考图像块的高相关指数。然后将IRef的纹理特征块放置在合适的位置,实现纹理迁移。
综上所述,RefSR的研究目标是充分利用图像之间的相似性信息,减少差异信息的干扰。增加参考图像的数量和种类可以提供更多的参考信息,提高重建质量。现有的针对医学图像的RefSR方法大多局限于多对比度MRI。
3DISR
由于医学图像的立体性,3DISR具有重要的研究价值。直接3D卷积是解决这一问题的一种方法,它进行体素插值。另一种方法是逐片应用2DISR,即2D切片堆叠法。下图展示了一些典型的医学3DISR网络结构图。
Direct 3D convolution
3D卷积方法的SR结果往往优于2D卷积方法。但前者的计算成本远大于后者。通过增加3D CNN层数来提高重建质量是不切实际的。内存瓶颈问题一般通过基于补丁的训练来缓解,这需要在推理过程中一起补丁。
(实际上在个人运行时候也经常遇到显存不足的情况)
Slice superposition method
3DISR的一个众所周知的问题是3D医学图像通常是各向异性的。将医学3DISR问题分解为2DISR问题被广泛认为是一种很好的方法。
Multi-view self-supervised learning
[ 93 ]采用切片叠加法( BPSSM )的基本流程实现了面内SR。然而,[ 93 ]仅限于单一视图,对三维体数据的利用率较低。Peng等人[ 94 ]进一步提出了空间感知插值网络( Spatially Aware Interpolation Network,SAINT )。它充分利用了不同视角的空间信息,提高了超分辨图像的重建质量。
ps: 图中的95标注是[94]原作者的新版结构
[ 93 ]: Du J, He Z, Wang L et al (2020) Super-resolution reconstruction of single anisotropic 3D MR images using residual convolutional neural network. Neurocomputing 392:209–220.
https://doi.org/10.1016/j.neucom.2018.10.102
[ 94 ]: Peng C, Lin WA, Liao H et al (2020) SAINT: Spatially aware interpolation network for medical slice synthesis. IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pp 7750–7759.
https://doi.org/10.1109/CVPR42600.2020.00777
自监督学习( SSL )可以减少对训练样本的需求。Lu等人[ 29 ](见图)提出了两阶段自监督循环一致性网络用于MR切片插值。
在第一阶段,沿矢状和冠状方向对切片插值网络进行预训练。
第二阶段,根据三个轴向切片的循环插值的一致性,构建一致性损失函数来约束插值网络的训练过程。Zhao等人[ 96 ]针对MRI外部训练数据的不可见性问题,提出了一种基于EDSR的自监督SR算法。它直接从测试数据集中学习。 该算法使用平面内的LR - HR对来监督训练模型,然后将学习到的模型应用到穿过平面的SR中。然而,不可靠的细节或结构是不可避免的,因为面内和面外图像通常不具有相同或相似的分布。
对此,[ 95 ]将平面内和平面间的上采样看作两个任务。在切片融合后,增加额外的切片细化任务。使用的模型具有相同的特征提取骨干和任务特定的网络头。领域自适应学习可以有效解决训练样本和测试样本概率分布不一致的学习问题。在推断之前,文献[ 95 ]通过额外的面内SR任务对特征提取主干进行微调,以帮助校准测试图像上的特征。
此外就是提出的交叉蒸馏的策略。此前关于CT的一篇博客已经详细展开过相关思想和代码了。
Unsupervised slice interpolation
在典型的临床场景中,从多个视图获取各向同性的3D医学图像或HR切片是不可行的。一般而言,只能获得单一视角下的二维HR图像。
实验表明,该模型能够学习到心脏底部和顶部结构变化的显著差异。基于自动编码器的插值方法可以快速生成插值图像,但无法避免相邻切片中的交叉伪影。此外,[ 27、28 ]是基于潜在空间插值的。对图像进行降维处理后,很难恢复原始分辨率。当输入的两幅图像差异较大时,潜在空间中的流形状有更多的可能性,输出的不确定性也更大。
生理运动是3DISR应用于临床时不可忽视的问题。[ 2 ]提出了一种基于条件GAN的无监督对抗学习SR算法。通过使用光流分量生成的辅助图像来指导图像合成。
然而,基于光流的方法通常不适用于大变形。Wu等人[ 100 ]提出了一种结合分割和切片插值的多任务学习方法来获得平滑的三维各向同性心脏解剖结构。联合训练多个模型(即对象分类器、全局判别器和局部判别器),提高插值切片的真实性。特别地,引入了平滑损失函数。它评估了插值切片在平面方向上的平滑度。
[2] : Xia Y, Ravikumar N, Greenwood JP et al (2021) Super resolution of cardiac MR cine imaging using conditional GANs and unsupervised transfer learning. Med Image Anal 71:102037.
https://doi.org/10.1016/j.media.2021.102037
综上所述,直接的3D卷积SR方法通常需要大量的内存,而基于2D切片堆叠的方法可以以较少的计算量实现3DISR。循环一致性约束策略可以很好地利用相邻切片的信息进行自监督学习。因此,无监督的医学图像切片插值过程可以不受临床实践中很少见的HR基本事实的指导。然而,为了缓解病态SR问题,直接3D卷积模型更适合3DISR任务。切片叠加法得到的SR结果的不确定度还有待探究。
值得注意的是,为了保证合成切片的质量和解剖可靠性,需要对相邻切片进行预注册。此外,在生成模型之前添加额外的物理约束或形状,有助于合成更可靠和一致的图像用于分析和可视化。
VSR
动态医学影像可以帮助医生捕捉器官活动的周期性,从而显示人体的功能和力学特征。由于时间成本和存储限制,动态图像通常会降低采样频率,但这会损失宝贵的时间信息。因此,医用VSR具有重要的现实意义。
一般来说,VSR重建可以分为两类任务。其一是提高了视频(即空间VSR)的空间分辨率,可以看作是图像SR的一种扩展。另一种是提高帧率(即时间性的VSR),旨在合成原始帧之间不存在的帧。下图给出VSR的一些常见的结构:
Registration-based methods:
基于配准的VSR方法主要通过运动估计和运动补偿( MEMC )实现相邻帧与目标帧之间的配准[ 101-103 ]。首先利用运动估计提取帧间运动信息(即运动场),然后利用运动补偿对图像进行畸变处理,实现帧对齐。 医学视频帧中的边缘、纹理等高频信息是病灶位置识别和诊断的重要依据。因此,保持SR中高频信息的清晰度是实现医学VSR的关键。
然而,基于光流的方法存在一定的局限性。首先,光流合成的帧是模糊的。亚像素偏移会导致长距离帧的流估计不准确,双线性失真会与相邻像素混合。其次,在大运动模式下,由于连续切片之间的解剖结构发生了实质性的变化,光流估计可能会导致鬼影或重叠伪影。
此外的CNN方法面临着同样的问题。
上述基于2D图像的VSR方法不支持完整的3D体信息。因此,在(如心脏运动)变化较大的情况下性能较差。Guo等人[ 107 ]提出了一种用于4D动态医学图像的时空体插值网络( SVIN )。基于回归的模块模拟了心脏运动与心动周期时相之间的关系。时空运动网络使用3D CNN进行无监督的参数体配准。时空运动场由两个图像体导出,并引入自适应多尺度结构来捕捉较大的解剖运动。可以提高CT和MR图像体积的时间分辨率。
Non-registration based methods
直接提取空间或时空特征的非配准VSR也得到了初步研究。
VSRResFeatGAN [109], 3DSRNet [110], RSDN [111], DSMC [112].
采用LSTM的方法是通过记忆浅层特征来捕捉长期依赖关系具有很大的优势。
Lin等人[ 24 ]提出了一种用于心脏MRI的SR网络。它由特征提取、双向卷积长短时记忆网络、相位融合模块和上层采样器组成。双向卷积长短时记忆网络处理远距离双向时间信息。相位融合模块利用相位码学习心脏运动的周期性。辅助路径用于稳定训练过程。并利用残差学习的残差逐级细化训练,使模型以更少的模型参数产生更清晰的结果。外部评价结果表明模型具有较好的泛化性
虽然基于LSTM的方法在实验室环境下表现良好,但LSTM本身复杂的设计限制了其深度应用。并且在建模非常长期的依赖关系方面也受到限制。
更接近实际情况。此外,基于可变形卷积的MEMC方法已经在自然VSR中进行了研究,其具有出色的时空建模能力和灵活的运动感知建模能力。因此,将变量卷积引入到医用VSR中是一个很有价值的课题。
[24] : Lin JY, Chang YC, Hsu WH (2020) Efficient and phaseaware video super-resolution for Cardiac MRI. In: Medical image computing and computer-assisted intervention (MICCAI), pp 66–76.
https://doi.org/10.1007/978-3-030-59719-1_7
[109] : Lucas A, Lopez-Tapia S, Molina R et al (2019) Generative adversarial networks and perceptual losses for video super-resolution. IEEE Trans Image Process 28(7):3312–3327.
https://doi.org/10.1109/TIP.2019.2895768
[110] : Kim SY, Lim J, Na T et al (2019) Video super-resolution based on 3d-cnns with consideration of scene change. IEEE International Conference on Image Processing (ICIP), pp 2831– 2835.
https://doi.org/10.1109/ICIP.2019.8803297
[111] : Isobe T, Jia X, Gu S et al (2020) Video super-resolution with recurrent structure-detail network. European conference on computer vision (ECCV), pp 645–660.
https://doi.org/10.1007/978-3-030-58610-2_38
[112] : Liu H, Zhao P, Ruan Z et al (2021) Large motion video super-resolution with dual subnet and multi-stage communicated upsampling. In: Proceedings of the AAAI conference on artificial intelligence, vol 35, pp 2127–2135
评估
此处简记常用的ISR任务当中的评估方法:最常用——PSNR,SSIM
此处仅列出名词,具体评价体系单独开帖。
有两个标准:绝对评价和相对评价。其中,绝对评价涉及在一个周期内交替观看两组图像,并在一段时间后对其进行评分。相对评价是对同一组图像进行排序和打分。平均意见得分( MOS )测试[ 118 ]是一种常用的主观IQA方法。一般情况下,评分者会给测试图像分配一个感知质量评分( 1 ~ 5)。最后的MOS是所有分数的算术平均值。一些SR模型在常见的客观IQA测量中表现较差,但在感知质量方面远远优于其他模型。在这种情况下,MOS测试是最可靠的IQA方法[ 53、64、78、119 ]。然而,主观评价存在以下局限性:
- 1 ) MOS测试存在一些固有缺陷,如感知量表的非线性和评分标准的偏差。
- 2 )评价结果易受外部因素(比如评分员和环境)的影响。
3 )主观评价无法获得准确值,不利于计算机处理。
方向:现存问题和发展趋势
Q1: 数据集的获取,研究人员难以获得足够的LR-HR对数据集。难以全面的比较性能(难以获得公开可用的大规模医学SR数据集) A1: 常用的数据增强方法,图像退化获得LR-HR对(难以应对复杂的临床环境)。
Q2: 模型架构问题。CNN在提取局部特征方面具有优势,但在获取全局特征表示方面仍存在局限性。 A2: 采用attention,Res等进行改进,此外Transformer等长序列问题的处理网络也得到了初步研究。
Q3: 近年来,许多先验被引入到MedSR中,这有助于保证SR图像的解剖结构并减少伪影。RefSR是这一思想的典型代表。然而,由于目标图像和参考图像有其独特的信息,如何充分利用相似信息,减少不同信息的干扰值得深入研究。
Q4: 医学3DISR和VSR通常需要对图像进行预配准,操作繁琐且耗时。
Q5: 目前主要有四种上采样方法,都存在不足之处。( i )插值上采样计算量大,插值信息只与当前图像有关。( ii )反卷积会产生棋盘格伪影。( iii )亚像素层带来感受野的不均匀分布,导致块边界处产生伪影。( iv )虽然元升尺度模块可以进行任何尺度因子上采样,但是结果不稳定且效率低下
Q6:已经设计了各种网络结构来研究医疗SR。然而,基于深度学习的MedSR方法进行前向推理需要大量的计算资源/时间和大量的参数存储空间。因此,在不显著降低性能的前提下实现SR模型的轻量化设计仍然是一个重大的挑战。
Q7:现有的医学图像SR数据集数据分布差异较小。相比之下,在实际应用中,数据分布偏差较大。
A7: 通常采用领域自适应方法来提高模型的泛化能力。
Reference
Yang, H., Wang, Z., Liu, X. et al. Deep learning in medical image super resolution: a review. Appl Intell 53, 20891–20916 (2023). https://doi.org/10.1007/s10489-023-04566-9