当前位置: 首页 > news >正文

可变形卷积简介(Deformable Convolution)

1. 核心原理

可变形卷积通过动态调整卷积核的采样位置,增强模型对几何形变(如旋转、缩放)的适应能力。其核心改进包括:

  • 偏移量(Offset):为卷积核的每个采样点学习 x / y x/y x/y方向的偏移量 Δ p n \Delta p_n Δpn,使采样位置从固定网格 p n p_n pn变为 p + p n + Δ p n p + p_n + \Delta p_n p+pn+Δpn
  • 双线性插值:处理非整数坐标的采样值,确保梯度可传播。

2. 数学表达

传统卷积公式

Y ( p ) = ∑ q ∈ R X ( q ) ⋅ W ( p − q ) Y(p) = \sum_{q \in R} X(q) \cdot W(p-q) Y(p)=qRX(q)W(pq)

符号说明:
  • p p p: 输出特征图当前位置坐标(如 ( x , y ) (x,y) (x,y)
  • q q q: 输入特征图上卷积核区域 R R R内的采样点坐标
  • X ( q ) X(q) X(q): 输入特征图在位置 q q q的像素值
  • W ( p − q ) W(p-q) W(pq): 卷积核在相对位置 ( p − q ) (p-q) (pq)的权重值
  • R R R: 规则采样网格(如3×3卷积核的 R = { ( − 1 , − 1 ) , . . . , ( 1 , 1 ) } R=\{(-1,-1),...,(1,1)\} R={(1,1),...,(1,1)}
物理意义:

在输出位置 p p p处,对输入特征图 X X X的固定网格 R R R内所有点进行加权求和。


可变形卷积公式

Y ( p ) = ∑ n = 1 N w n ⋅ X ( p + p n + Δ p n ) Y(p) = \sum_{n=1}^N w_n \cdot X(p + p_n + \Delta p_n) Y(p)=n=1NwnX(p+pn+Δpn)

符号说明:
  • p n p_n pn: 卷积核的固定偏移(与传统卷积的 q q q相同)
  • Δ p n \Delta p_n Δpn: 动态学习的偏移量(由额外卷积层生成)
  • X ( p + p n + Δ p n ) X(p + p_n + \Delta p_n) X(p+pn+Δpn): 通过双线性插值计算的浮点坐标像素值
物理意义:

通过动态偏移使卷积核自适应目标形变,提升几何建模能力。


实现对比

维度传统卷积可变形卷积
采样位置固定网格 R R R动态调整 R + Δ p n R + \Delta p_n R+Δpn
灵活性固定几何结构自适应形变
计算开销较低需额外计算偏移量和插值

3. PyTorch实现

import torch
from torchvision.ops import DeformConv2d定义可变形卷积层
deform_conv = DeformConv2d(in_channels=3, out_channels=64, kernel_size=3,padding=1
)#输入张量(batch=1, channel=3, H=224, W=224)
input = torch.randn(1, 3, 224, 224)
#偏移量张量(2*kernel_size^2=18通道)
offset = torch.randn(1, 18, 224, 224)  执行可变形卷积
output = deform_conv(input, offset)
print(output.shape)  # 输出形状: (1, 64, 224, 224)

4. 优缺点

✅ 优点

  • 几何适应性:动态采样提升对形变、遮挡的鲁棒性。
  • 性能提升:在目标检测(如Faster R-CNN)、分割(如DeepLab)中显著提高精度。

❌ 缺点

  • 计算开销:偏移量生成和插值增加约10%-20%计算量。
  • 实现复杂:需额外卷积层学习偏移量,调试难度较高。

5. 应用场景

  • 目标检测:Deformable DETR
  • 医学影像:适应器官的非刚性形变。

参考文献

Deformable Convolutional Networks论文

关键点说明
1. 偏移量学习:偏移量由网络自动学习,无需人工设计。
2. 插值必要性:双线性插值解决非整数坐标的梯度回传问题。

有问题随时交流~~

相关文章:

  • vLLM - SamplingParams 参数
  • Linux服务之lvs集群与dr模式部署
  • Mathematics-2025《Semi-Supervised Clustering via Constraints Self-Learning》
  • 线程同步机制
  • FlashInfer - 测试的GPU H100 SXM、A100 PCIe、RTX 6000 Ada、RTX 4090
  • Docker 介绍与使用
  • Mysql 存储引擎
  • 系统漏洞扫描服务:维护网络安全的关键与服务原理?
  • 打卡DAY25
  • [Vue3]语法变动
  • 企业报表平台如何实现降本增效
  • 数字信号处理-大实验1.3
  • vue中,created和mounted两个钩子之间调用时差值受什么影响
  • 静电的起因与静电效应:技术分析与应用
  • SVG 知识详解:从入门到精通
  • 如何远程执行脚本不留痕迹
  • 3DMAX脚本病毒Spy CA查杀方法
  • TypeScript泛型:从入门到精通的全方位指南
  • 软考软件设计师中级——软件工程笔记
  • 通用软件项目技术报告 - 术语词典
  • 体坛联播|C罗儿子完成国家队首秀,德约结束与穆雷合作
  • 国家林业和草原局原党组成员、副局长李春良接受审查调查
  • 金价大跌!足金饰品每克一夜便宜14元,涨势是否已终结?
  • 打击网络谣言、共建清朗家园,中国互联网联合辟谣平台2025年4月辟谣榜
  • 重庆一高校75万采购市价299元产品?工作人员:正在处理
  • 巴基斯坦称成功拦截印度导弹,空军所有资产安全