【Python深度学习】图像分割经典网络:U-Net
文章目录
- U-Net简介
- U-Net的网络结构
- U-Net的特点
- 应用
- 基于pytorch的U-Net实现
- U-Net模型的实现
- 生成合成数据
- 训练过程的示意
U-Net简介
U-Net是一种深度学习网络,最初由Olaf Ronneberger等人在2015年为医学图像分割而设计。这个网络特别适用于那些需要精确分割的任务,如细胞分割、组织结构分析等。U-Net之所以受到广泛关注,主要是因为它的网络结构特别适合处理少量数据而得到高精度的分割效果。
U-Net的网络结构
U-Net的结构呈现“U”形状,主要包括一个收缩(下采样)路径和一个扩展(上采样)路径:
-
收缩路径:
- 这一部分主要是一个典型的卷积网络,包括重复使用的两个3x3卷积(未使用任何填充),每个卷积后跟一个ReLU激活函数。
- 每一次卷积后,都会进行一个2x2的最大池化操作,用于下采样。在每次下采样后,特征通道的数量加倍。
-
扩展路径:
- 扩展路径包括了上采样和与收缩路径对应层的特征图的连接(跳跃连接)。上采样后的特征图与对应的收缩路径的特征图进行拼接,而不是简单的合并。
- 这样的设计有助于网络在上采样过程中,恢复更多的位置信息。每次上采样后,特征通道的数量减半。
-
最后的映射:
- 网络的最后是一个1x1的卷积,用来将特征图映射到所需的类别数量。
U-Net的特点
- 跳跃连接