ResUNet(2017):U-Net 中加入残差块
导出时间:2025/11/23 20:34:05
1、摘要
航拍道路提取本质是像素级二元分类问题,可表述为:
其中输入为RGB航拍图,输出为道路/非道路的二进制掩模。该任务的挑战在于:
- 拓扑复杂性:道路呈现细长、分支、遮挡等复杂结构
- 尺度多样性:从城市主干道到乡村小路的尺度差异
- 类内差异:不同材质/光照条件下的道路表观变化
解决方案:ResUNet是什么?
- 核心思想:把两种经典技术结合起来:
- U-Net:一种像“沙漏”形状的神经网络,先压缩图像提取特征(下采样),再还原细节(上采样),中间用“跳跃连接”把浅层特征(如边缘)直接传给深层,帮助恢复细节。
- 残差学习(ResNet):在深层网络中引入“短路连接”(残差块),让模型更容易训练(避免梯度消失问题)。
- ResUNet的创新: 用残差块替换U-Net中的普通卷积层.
为什么ResUNet效果好?
- 优势1:训练更轻松 残差块允许网络跳过某些层(学习“残差”而非完整变换),即使网络很深,梯度也能有效回传,不会“学不动”。
- 优势2:信息流通更顺畅 U-Net的跳跃连接 + 残差块的短路连接 = 双重信息通道。浅层的像素级细节和深层的高级语义特征能更好地融合。
- 优势3:参数更少,性能更强 通过优化结构,用更少的参数达到更高精度(适合计算资源有限的场景,如卫星图像处理)。
2、模型结构
- 普通U-Net:先画草图(下采样),再慢慢修饰细节(上采样),但可能画到后面忘记前面的细节。
ResUNet:不仅会回头参考草图(跳跃连接),还允许你随时修正错误(残差学习),最终画得更快更准。
1. 整体结构:U-Net 的形状
- 这张图呈现出一个“U”形结构,分为两部分:编码器(左边,逐步缩小特征图) 和 解码器(右边,逐步放大特征图)。
- 编码器像一个“压缩机”,提取图像的深层特征;解码器像一个“解压机”,把这些特征还原并生成分割结果。
2. 编码器(左边):提取特征
- 从左边开始,输入图像(比如 256x256 大小)经过一系列卷积层(Conv)和激活函数(如 ReLU),特征图逐渐变小。
- 每经过几次卷积后,会有一个 最大池化层(Max Pool 2x2),把特征图大小减半(比如从 256 变成 128),但通道数(特征数量)增加(比如从 64 到 128)。
- 这个过程重复几次,特征图从 256 到 128、64、32 等变小,通道数从 64 增加到 512,提取出越来越抽象的特征。
3. 解码器(右边):恢复细节
- 解码器从最小的特征图(比如 32x32,512 通道)开始,逐步放大。
- 放大是通过 上采样(Upsampling) 或 转置卷积(Transpose Convolution) 实现的,把特征图大小翻倍(比如从 32 到 64)。
- 每次上采样后,会通过卷积层调整通道数,并与编码器对应层的结果进行 拼接(Concatenate),这个步骤保留了细节信息。
4. 残差连接(ResNet 的影响)
- 图中可以看到一些加号(+),表示残差连接。这是 ResUNet 的核心改进之一。
- 残差连接允许模型直接学习输入和输出的差异,而不是从零开始学习整个映射。这能让网络更深、更稳定,防止梯度消失问题。
5. 输出
- 最后,解码器输出一个与输入图像相同大小的特征图(比如 256x256),通常经过几次卷积和归一化(如 Batch Normalization),生成分割结果(比如每个像素属于哪一类)。