空洞卷积(Atrous Convolution)通过在卷积核采样点间插入间隔扩大感受野,参数量不变。
基本原理
空洞卷积(又称扩张卷积)通过**空洞率(dilation rate, $r$)**控制采样点间隔。
公式:
$$y[i] = \sum_k x[i + r \cdot k] \cdot w[k]$$
$r=1$ 时退化为标准卷积。
直观理解
以 $3\times3$ 卷积核为例:
| 空洞率 | 感受野 |
|---|---|
| $r=1$ | $3\times3$(标准卷积) |
| $r=2$ | $5\times5$ |
| $r=3$ | $7\times7$ |
参数量和计算量保持不变。
优点
| 优点 | 说明 |
|---|---|
| 扩大感受野 | 无需堆叠层 |
| 参数不变 | 只改变采样间隔 |
| 多尺度特征 | 不同空洞率提取不同尺度 |
| 保持分辨率 | 避免下采样丢失空间信息 |
限制
| 问题 | 解决方案 |
|---|---|
| 网格效应 | 结合多种空洞率(ASPP) |
| 小目标不敏感 | 与标准卷积搭配使用 |
应用场景
语义分割
DeepLab 系列使用 ASPP(Atrous Spatial Pyramid Pooling):
- 并行使用空洞率 $1, 6, 12, 18$ 的卷积
- 捕捉多尺度上下文特征
自然语言处理
扩大上下文窗口,捕捉长距离依赖。
目标检测
增强小目标检测性能。
PyTorch 实现
| |
总结
空洞卷积在不增加参数的情况下扩大感受野,特别适合需要全局信息的密集预测任务。需注意网格效应,通常结合 ASPP 使用。
张芷铭的个人博客
Comments