DC-UNet:重新思考UNet架构和双通道高效CNN医学图像_unet改进

方法

MultiResUNet

在医学图像中,感兴趣的目标对象常常有所不同,因此为了更好的分割结果,网络需要具备在不同的尺度上分析不同目标的能力。基于这一思想,Szegedy[27]引入了一种革命性的架构——Inception Block。该初始块利用不同内核大小的卷积层并行从图像中提取不同尺度的特征。初始块如图2所示。在最初的版本中,初始块简单地将1 × 1,3 × 3,5 × 5卷积层和3 × 3最大池化层并行组合。然后,将不同尺度的特征进行拼接,发送到下一层。然而,这个版本的一个大问题是维数会导致计算爆炸

如图2中(b)的降维版本解决了这一问题,在计算3x3和5x5的卷积之前,使用1x1的卷积层来降维。

虽然可以使用1x1的卷积层来降低维度,但是使用更大的卷积核来进行卷积也是相当耗时的,因此Inception模块可以进一步简化为下图所示的结构使用两个3x3的卷积来代替一个5x5的卷积。

另外还使用了多个3x3的卷积来代替7x7的卷积,如下图所示:

整个MulitResUnet的网络结构如下图所示:

DC-UNet

动机:MultiResUNet可以提供比U-Net更好的输出,因为它可以提供不同尺度的特征。然而,对于一些极具挑战性的医学图像情况,MultiResUNet表现不佳,例如物体模糊,背景(部分医疗设备)的干扰。MultiRes块的目标是提供不同尺度的特征来帮助将物体从整个图像中分离出来。因此,我们修改了MultiRes块以提供更有效的功能。

改进:之前使用的MultiResUnet缺乏清晰的分割边界,本文通过设计一个更有效的CNN架构来提取更多的空间特征来解决这个问题。发现不同尺度的特征对分割有很大的帮助。因此,我们假设,如果我们能够提供更多不同规模(更有效)的特性,那么那些最具挑战性的任务将得到解决。

基于这个假设,我们注意到在MultiRes块中有一个简单的剩余连接。正如作者所提到的,这里的剩余连接只提供了一些额外的空间特征,这可能不足以完成一些最具挑战性的任务。不同尺度特征在医学图像分割中已经显示出巨大的潜力。因此,为了克服空间特征不足的问题,我们用3个3 × 3卷积层序列来代替MultiRes块中的残差连接。我们称之为DualChannel块。其结构如下图所示:

在编码器和解码器之间应用了相同的连接(Res-Path)。然后利用了Res-Path和Dual-Channel块构建了一个新的UNet架构DC-UNet,其结构如下图所示

结论

本文设计了双通道CNN块,以更少的参数提供更有效的特征,以克服这些限制。为了将这种双通道CNN架构与Res-Path结合起来,我们开发了一种新颖的类u - net架构——DC-UNet。这个网络结构具有更强的捕捉细节的能力

### 最新版 UNET 架构及其应用 #### UNet++ UNet++ 是对原始 UNet改进版本,在整体网络结构中加入了更多特征融合机制,使得模型能够更好地利用不同层次的特征信息。通过引入类似于 DenseNet 思想中的密集连接模式,UNet++ 实现了更为丰富的特征拼接操作,从而提高了分割效果[^1]。 #### Swin-Unet Swin-Unet 结合了 Transformer CNN 的优势,采用纯 Transformer 架构来处理医学图像分割任务。该架构由编码器、瓶颈层、解码器以及跳跃连接构成,其中基本单元为 Swin Transformer 块。这种设计不仅保留了传统卷积神经网络的空间局部性特点,同时也具备自注意力机制带来的全局感受野特性[^2]。 #### DC-UNet DC-UNet 提出了双通道 CNN 块的概念,旨在以较少参数量实现高效特征提取,并将其与 Residual Path (Res-Path) 相结合形成新的类 Unet 架构。此方法增强了对于复杂场景下细微结构的学习能力,适用于需要高精度边缘检测的应用场合[^3]。 #### UNet 3+ UNet 3+ 则进一步扩展了经典的 UNet 设计理念,提出了全尺度连接的思想。这一创新允许低分辨率特征图直接参与到最终预测过程中,有效解决了跨尺度信息传递不畅的问题。此外,Deep Supervision 技术也被应用于训练过程之中,有助于提升模型收敛速度并改善泛化性能[^4]。 ```python import torch.nn as nn class UNetPlusPlus(nn.Module): def __init__(self, in_channels=3, out_channels=1): super(UNetPlusPlus, self).__init__() # Define layers here based on the architecture described above def forward(self, x): pass # Note: The actual implementation would require defining all necessary components such as encoder/decoder blocks etc. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值