unet 是15年提出的用于解决医学图像分割问题。unet有两部分组成。左边部分可以看出是特征提取网络,用于提取图像的抽象特征。右边可以看作是特征融合操作。与传统的FCN相比,unet使用是使用特征拼接实现特征的融合。unet 通过特征融合操作,实现了浅层的低分辨率(越底层的信息含有越多的细节信息)和深层的高分辨率信息(深层信息含有更多的抽象特征)的融合,充分了利用了图像的上下文信息,使用对称的U型结构使得特征融合的更加彻底。
上图是unet 的网络结构图。其中蓝色方框代表的是特征图。可以看到,左边部分首先进行两层卷积然后进行下采样来提取特征。右边,通过上采样操作后与相应的左边的特征图进行拼接操作。
from torch import nn
import torch
from torch.nn import functional as F
class Conv_Block(nn.Module): # 卷积
def __init__(self, in_channel, out_channel):
super(Conv_Block, self).__init__()
self.layer = nn.Sequential(
####填充的方式,填充的大小,padding_mode 设置填充的方式 ###这里卷积图片的大小没有发生改变
nn.Conv2d(in_channel, out_channel, 3, 1, 1, padding_mode='reflect',
版权声明:本文为qq_40107571原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。