用于语义分割和生物医学图像分割的 Unet 架构概述

了解有关图像分割中广泛使用的最著名的卷积神经网络架构之一的所有信息。

来源:AI夏令营

U 形架构由特定的编码器-解码器方案组成:编码器在每一层中减少空间维度并增加通道。另一方面,解码器在减少通道的同时增加空间维度。在解码器中传递的张量通常称为瓶颈。最后,恢复空间维度以对输入图像中的每个像素进行预测。这些类型的模型在实际应用中被广泛使用。

本文旨在探索经受住时间考验的 Unet 架构。

要深入了解 AI 在医学中的应用,Coursera 的这门在线课程绝对不会错:医学 AI

要深入了解 AI 在医学中的应用,Coursera 的这门在线课程绝对不会错:医学 AI

医学 AI

全卷积网络 (FCN)

全卷积网络 1 是首批没有全连接层的架构之一。除了可以进行端到端训练之外,对于单个像素预测(例如语义分割),它还可以处理任意大小的输入。它是一种通用架构,可以有效地使用转置卷积作为可训练的上采样方法。

1 处理任意大小的输入 转置卷积

完全卷积层架构。来源

完全卷积层架构。来源 来源

给定一个预训练编码器,FCN 如下所示:

import torch

import torch

import torch.nn as nn

import torch nn as nn

class FCN32s(nn.Module):

class FCN32s ( nn . 模块 ) :

def

__init__ ( self , pretrained_net , n_class ) : super().__init__()

super

( ) __init__ ( ) self.n_class = n_class

self

n_class = n_class self.pretrained_net = pretrained_net

self

pretrained_net = pretrained_net self.relu = nn.ReLU(inplace=True)

self

relu = nn ReLU ( inplace = True ) self.deconv1 = nn.ConvTranspose2d(512, 512, kernel_size=3, stride=2, padding=1, dilation=1, output_padding=1)

self

. deconv1 = nn . ConvTranspose2d ( 512 , 512 , = 3 , = 2 ,