小波卷积:扩大卷积感受野新方案
创作时间:
作者:
@小白创作中心
小波卷积:扩大卷积感受野新方案
引用
CSDN
1.
https://m.blog.csdn.net/m0_73707009/article/details/145504803
在计算机视觉领域,卷积神经网络(CNN)一直是核心模型架构。然而,传统 CNN 在处理大尺度特征和全局信息时存在一定局限性,因此扩大卷积的感受野成为了提升模型性能的关键方向。近期,研究人员提出了一种基于小波变换的卷积层 ——WTConv,能够在不引入过多参数的情况下有效扩大卷积的感受野。本文将详细介绍如何实现一个即插即用的 WTConv2d 模块,并展示其在深度可分离卷积中的应用。
WTConv2d 模块原理
WTConv2d 模块的核心思想是利用小波变换将输入特征图分解为不同频率的分量,然后对这些分量分别进行小核深度卷积,最后通过逆小波变换将处理后的分量重新组合成输出特征图。这种方法能够在增加感受野的同时,避免因增大卷积核尺寸而导致的过参数化问题。
import pywt
import pywt.data
import torch
from torch import nn
from functools import partial
import torch.nn.functional as F
def create_wavelet_filter(wave, in_size, out_size, type=torch.float):
w = pywt.Wavelet(wave)
dec_hi = torch.tensor(w.dec_hi[::-1], dtype=type)
dec_lo = torch.tensor(w.dec_lo[::-1], dtype=type)
dec_filters = torch.stack([dec_lo.unsqueeze(0) * dec_lo.unsqueeze(1),
dec_lo.unsqueeze(0) * dec_hi.unsqueeze(1),
dec_hi.unsqueeze(0) * dec_lo.unsqueeze(1),
dec_hi.unsqueeze(0) * dec_hi.unsqueeze(1)], dim=0)
dec_filters = dec_filters[:, None].repeat(in_size, 1, 1, 1)
rec_hi = torch.tensor(w.rec_hi[::-1], dtype=type).flip(dims=[0])
rec_lo = torch.tensor(w.rec_lo[::-1], dtype=type).flip(dims=[0])
rec_filters = torch.stack([rec_lo.unsqueeze(0) * rec_lo.unsqueeze(1),
rec_lo.unsqueeze(0) * rec_hi.unsqueeze(1),
rec_hi.unsqueeze(0) * rec_lo.unsqueeze(1),
rec_hi.unsq
本文原文来自CSDN
热门推荐
不锈钢能放洗碗机吗?家居达人教你正确使用
关节炎发病前,关节处或有4种异常表现,需留心观察,及时检查
马基雅维利主义是什么意思
办理二手房贷款需要哪些资料
指数平滑法在固定资产投资预测中的应用
【近视手术攻略】青岛做近视手术应该选择哪家医院?附上详细对比
【以案说法】驾驶证过期,是否属于“无证驾驶”?
四川白酒的历史与文化传承
藏密曼荼罗构图在现代室内软装饰设计中的应用研究
留学择校指南:聚焦2024-2025四大排名均入前100的顶尖院校!
自由女神像:美国的象征与历史
白酒质量的高低与其价格是否有必然的联系?
杜甫《望岳》原文赏析及翻译
香荠菜孕妇可以吃吗
降肌酐药物解析:安全用药与生活干预
脑血管病的早期症状及预防方法
玻璃瓶改进易碎,提高市场竞争力
华中科技大学计算机考研全攻略:招生信息、考试科目及历年录取分数
鱼刺卡喉1个月 扁桃体险些不保
发展经济学:定义、理论流派及其现实意义
韩国定都首尔,为什么还要设立行政首都?
赖声川新作《幺幺洞捌》:一场跨越时空的上海城市记忆对话
更年期胃难受怎么办
硬盘检测工具哪个比较好?推荐几款实用的硬盘检测工具
日本,已经成了上海游客的后花园?
私人保镖的职责与技能要求
什么是公网IP?
软考软件设计师:是否值得报考?潜意识带你详尽分析与建议
软考软件设计师:是否值得报考?全方位分析与建议
糯米种:含义、种植方法及用途详解