论文传送门:
U-NET是分割任务中的典型网络。
U-NET模型结构:
模型整体呈“U”形,主要分为三个部分:
①左侧contraction,提取特征,整体结构类似VGG(没有BN层);
②右侧expansion,将特征层上采样至原图片大小,最后通过1x1卷积,输出segmentation map;
③中间的copy and crop操作,多尺度特征图融合。
Overlap-tile策略:
U-NET使用Overlap-tile策略,即在图片输入模型前进行镜像padding,使得模型对于图片边缘的预测也有较高的准确率。输入图片(1x388x388)采用镜像padding后,得到input image tile(1x572x572),模型中所有的卷积操作均不进行padding处理,卷积后特征层尺寸减小,所以模型输出output segmentation map(2x388x388)与输入原图片尺寸相同,且多尺度特征融合时需要进行crop操作。
import torch
import torch.nn as nn
import torch.nn.functional as F
class UNET(