Involution-Convolution

CVPR 2021 Involution: Inverting the Inherence of Convolution for Visual Recognition 动机 卷积操作具有两个显著特性,即spatial-agnostic和channel-specific。 spatial-agnostic:图像所有位置都使用同一个卷积核,实现了平移不变性。但它剥夺了卷积核在不同空间位置采用不同视觉模式的能力,从而限制了卷积核提取特征的的能力。此外,它还限制了卷积的感受野,对识别小目标或者模糊图像构成了挑战。 channel-specific:每个channel都提取不同类型的特征,产生了数据冗余。这使得卷积核对于不同通道的灵活性受到限制。 方法 提出了Invo 阅读详情

卷积(Convolution)

卷积神经网络一直都是计算机视觉任务的标配。卷积有两个基本的性质:

  • 空间不变性(spatial-agnostic)
    空间不变性使得卷积能够在所有位置共享参数,并充分利用视觉特征的“平移等变性”。
  • 通道特异性(channel-specific)
    通道特异性使得卷积能够充分建模通道之间的关系,提高模型的学习能力。

卷积过程

  • Standard Convolution
    在这里插入图片描述
    设 X ∈ R H × W × C i X \in R^{H \times W \times C_i} X∈RH×W×Ci​是输入的特征图像, H , W H,W H,W是特征图的高度和宽度, C i C_i Ci​是输入的通道数。在特征向量 X X X的立方体内部,位于图像点阵单元中的每个特征向量 X i , j ∈ R C i X_{i,j} \in R^{C_i} Xi,j​∈RCi​认为是代表某些高级语义模式的像素。

    一组固定核大小为 K × K K \times K K×K的 C 0 C_0 C0​卷积滤波器表示为 F ∈ R C 0 × C i × K × K F \in R ^{C_0 \times C_i \times K \times K} F∈RC0​×Ci​×K×K, 其中每个滤波器 F k ∈ R C i × K × K , k = 1 , 2 , . . . , C 0 F_k \in R ^{C_i \times K \times K}, k=1,2,...,C_0 Fk​∈RCi​×K×K,k=1,2,...,C0​,包含 C i C_i Ci​卷积核 F k , c ∈ R K × K , c = 1 , 2 , . . . , C i F_{k,c} \in R ^{K \times K}, c=1, 2, ..., C_i Fk,c​∈RK×K,c=1,2,...,Ci​。并以滑动窗口的方式对输入特征图执行乘加运算以产生输出特征图 Y ∈ R H × W × C 0 Y \in R^{H \times W \times C_0} Y∈RH×W×C0​

    在这里插入图片描述

    其中, Δ K ∈ Z 2 \Delta K \in Z^2 ΔK∈Z2是指考虑在中心像素上进行卷积的邻域中的一组偏移量, × \times ×表示笛卡尔积。
    在这里插入图片描述

  • Depthwise Convolution
    在这里插入图片描述
    不同于常规卷积操作,Depthwise Convolution的一个卷积核负责一个通道,一个通道只被一个卷积核卷积。常规卷积每个卷积核是同时操作输入图片的每个通道。Depthwise Convolution完成后的Feature map数量与输入层的通道数相同,无法扩展Feature map。而且这种运算对输入层的每个通道独立进行卷积运算,没有有效的利用不同通道在相同空间位置上的feature信息。因此需要Pointwise Convolution来将这些Feature map进行组合生成新的Feature map。即Depthwise层,只改变feature map的大小,不改变通道数。

    深度卷积将组卷积 的公式推到了极致,其中每个过滤器(实际上退化为单个内核) G k ∈ R K × K , k = 1 , 2 , ⋅ ⋅ ⋅ , C o G_k \in R^{K×K}, k = 1, 2, · · · ,Co Gk​∈RK×K,k=1,2,⋅⋅⋅,Co,对由 k k k 索引的单个特征通道严格执行卷积,因此在假设输出通道数等于输入通道数的情况下,从 F k F_k Fk​ 中消除第一维以形成 G k G_k Gk​。 就目前而言,卷积运算变为

    在这里插入图片描述

    请注意,从通道的角度来看,内核 G k G_k Gk​ 特定于第 k k k 个特征切片 X ⋅ , ⋅ , k X·,·,k X⋅,⋅,k,并在该切片内的所有空间位置之间共享。

  • Pointwise Convolution
    在这里插入图片描述

    Pointwise Convolution的运算与常规卷积运算非常相似,它的卷积核的尺寸为 1×1×M,M为上一层的通道数。所以这里的卷积运算会将上一步的map在深度方向上进行加权组合,生成新的Feature map。有几个卷积核就有几个输出Feature map。即Pointwise层只改变通道数,不改变大小。

  • Depthwise Separable Convolution
    depthwise层,只改变feature map的大小,不改变通道数。而Pointwise 层则相反,只改变通道数,不改变大小。这样将常规卷积的做法(改变大小和通道数)拆分成两步走。是将一个完整的卷积运算分解为两步进行,即Depthwise Convolution与Pointwise Convolution。

卷积分类

二维卷积有full卷积、same卷积核valid卷积。例如:3x3的二维张量 x x x和2x2的二维张量 K K K进行卷积。
在这里插入图片描述

  • full卷积
    full卷积的计算过程是: K K K沿着 x x x从左到右,从上到下移动,每移动一个固定位置,对应位置的值相乘再求和,计算过程如下:
  • same卷积
    假设卷积核的长度为FL,如果FL为奇数,锚点位置在 ( F L − 1 ) / 2 (FL-1)/2 (FL−1)/2处,如果FL为偶数,锚点位置在 ( F L − 2 ) / 2 (FL-2)/2 (FL−2)/2处。
    在这里插入图片描述
    卷积核K都有一个锚点,然后将锚点从左到右,从上到下移动到张量想的每一个位置处,对应位置相乘再求和,计算过程如下:
  • valid卷积
    对于full卷积,如果K靠近x,就会有部分延伸到x之外,valid卷积值考虑x能完全覆盖K的情况,即K在x的内部移动的情况,计算过程如下:
  • 三种卷积类型的关系
    在这里插入图片描述

  • 具有深度的二维卷积
    比如x是一个长度为3、宽度为3、深度为2的张量,卷积核K是一个长度为2、宽度为2、深度为2的张量.
    在这里插入图片描述

    其valid卷积过程如下,卷积核K的锚点在张量x范围内从左到右,从上到下移动,输入张量的深度和卷积核的深度是相等的。
    在这里插入图片描述

  • 具备深度的张量与多个卷积核的卷积
    1个3行3列2深度的x 与 3个2行2列2深度的卷积核卷积:
    在这里插入图片描述

Involution

CVPR’21|Involution:超越Convolution和Self-Attention的神经网络新算子是作者和SENet的作者胡杰一起完成的,分享了作者对网络结构设计(CNN和Transformer)的理解。
主要贡献:

  • 提出了一种新的神经网络算子(operator或op)称为Involution,它比Convolution更轻量更高效,形式上比Self-Attention更加简洁,可以用在各种视觉任务的模型上取得精度和效率的双重提升。
  • 通过Involution的结构设计,能够以统一的视角来理解经典的卷积操作和近来流行的自注意力操作。

Motivation与Convolution的反对称性

普通convolution的kernel享有空间不变性(spatial-agnostic)和通道特异性(channel-specific)两大基本特性;而involution则恰恰相反,具有通道不变性(channel-agnostic)和空间特异性(spatial-specific)。

Convolution

在这里插入图片描述

  • 空间不变性
    在这里插入图片描述

  • 通道特异性
    在这里插入图片描述

Involution

Discussion与Self-Attention的相关性

Self-Attention

Vision Transformer

在这里插入图片描述

实验结果

总体来讲:

  • 参数量、计算量降低,性能反而提升。
  • 能加在各种模型的不同位置替换Convolution,比如backbone,neck和head,一般来讲替换的部分越多,模型性价比越高。

ImageNet图像分类

在这里插入图片描述
我们使用involution替换ResNet bottleneck block中的3x3 convolution得到了一族新的骨干网络RedNet,性能和效率优于ResNet和其他self-attention做op的SOTA模型。

COCO目标检测和实例分割

在这里插入图片描述
其中fully involution-based detectors(involution用在backbone,neck和head)在保证性能略有提升或不变的前提下,能够将计算复杂度减至~40%。

Cityscapes语义分割

在这里插入图片描述
COCO检测任务中针对大物体的指标 A P L AP_L APL​提升最多(3%-4%),Cityscapes分割任务中也是大物体(比如墙,卡车,公交车等)的单类别IoU提升最明显(高达10%甚至20%以上),这也验证了我们在之前分析中所提到的involution相比于convolution在空间上具有动态建模长距离关系的显著优势。

Convolution和Involution总结

Convolution更加关注于通道进行的交互,所以在空间维度上进行参数共享;Involution更加关注于空间维度上的信息建模,所以在通道维度上进行了参数共享。但是在实际应用中很可能是通道信息和空间信息都是非常重要的,所以如果能够在空间和通道维度上都基于一定的偏置进行必要的参数共享,达到更好的speed-accuracy trade off。

参考资料
Involution:Inverting the Inherence of Convoution for Visual Recognition(2021)
d-li14/involution
Involution(附对Involution的思考):港科大、字节跳动、北大提出“内卷”神经网络算子,在CV三大任务上提点明显
深度学习面试题10:二维卷积(Full卷积、Same卷积、Valid卷积、带深度的二维卷积)
Depthwise Convolution与普通卷积的区别以及其他卷积方法
CVPR’21 | involution:超越convolution和self-attention的神经网络新算子
Involution=Inverse-Convolution,反着来的卷积?内卷?

Involution:超越卷积和自注意力的深度学习算子 相比传统的卷积和自注意力算子,Involution在对图像特征进行处理时,具有更高的灵活性和效率。最后,在forward函数中,我们对输入图像进行插值操作,然后使用卷积运算对其进行处理,以此来提取图像特征。首先,我们来回忆一下卷积和自注意力算子在图像识别中的作用。而自注意力算子则是通过对输入的图像进行注意力加权,将更加重要的区域得到更多的关注,从而提高模型在复杂场景下的鲁棒性。通过以上代码和介绍,我们可以发现,Involution算子具有更高的灵活性和效率,可以大幅提高深度学习模型的特征提取能力。 阅读详情

相关推荐

CVPR‘21 | Involution:超越convolution和self-attention的神经网络新算子

本文是对我们CVPR 2021被接收的文章 Involution: Inverting the Inherence of Convolution for Visual Recognition的解读,同时也分享一些我们对网络结构设计(CNN和Transformer)的理解。 这篇工作主要是我和SENet的作者胡杰一起完成的,也非常感谢HKUST的两位导师@陈启峰和张潼老师的讨论。 0 概要 我们的贡献点简单来讲: (1)提出了一种新的神经网络算子(operator或op)称...

jacke121的专栏 2522

involution理解

最好的参考来自论文作者的知乎:CVPR 2021 | involution:超越convolution和self-attention的神经网络新算子 其他餐卡: https://zhuanlan.zhihu.com/p/400402288 https://zhuanlan.zhihu.com/p/356960359 https://blog.youkuaiyun.com/P_LarT/article/details/115426891 引言 CNN的空间不变性 (spatial-agnostic)和通道特异性 (cha

xys430381_1的专栏 2947

激光条纹中心提取——Steger

激光条纹中心提取-Steger 好久没有记录了,记录一下今天学习的内容,据说Steger在激光条纹中心提取上神一般的存在。文章和代码都分享给大家了哈,其中有四个文件,3个C++,一个python,python一个抠图文件,3个c++包含背景图+原图, 单张图提取, 多张图提取。 分享代码 #include <opencv2\core.hpp> #include <opencv2\highgui.hpp> #include <opencv2\imgproc.hpp> #i

CharmsLUO的博客 5380

[YOLOv7/YOLOv5系列算法改进NO.20]Involution新神经网络算子引入网络

为了克服这些经典卷积所存在的这些局限性,所以本文作者提出了involution这个概念在involution运算过程中,内卷具有空间特定性和通道不可知“spatial-specificandchannel-agnostic”(与convolution相反),内卷核在空间范围上是不同的,但在通道上是共享的,作者还通过在通道维数上共享involution核来减少核的冗余。通过逆向设计方案,本文提出的。与上述标准卷积或深度卷积相比,卷积核H旨在包含空间和通道域中具有逆特征的变换,因此得名。......

m0_70388905的博客 4072

weblogic启动异常故障处理(boot认证失败)

root 用户生成的文件属主为 root,WebLogic进程将无权读取,直接导致认证失败。· ⚠️ 密码必须完全一致:第3步 AdminAccount 命令中设置的密码,与第5步所有 boot.properties 文件中 password= 字段的值,必须保证完全一致。如果您的域下配置了受管服务器实例(如 ms_server1、ms_server2 等),必须逐一更新各实例下的免密启动文件,确保实例重启时密码与AdminServer保持一致,否则实例启动会因认证失败而报错。此步骤至关重要,必须执行。

weixin_53389944的博客 220

保姆级教程:手把手教你为STM32F407和W25Q128制作Keil MDK的SPI Flash下载算法(FLM文件)

本文提供了一份详细的教程,指导开发者如何为STM32F407和W25Q128制作Keil MDK的SPI Flash下载算法(FLM文件)。从理解下载算法的核心机制到实现FlashPrg.c的核心操作,再到链接脚本与地址映射实战,手把手教你完成定制化SPI Flash下载算法的开发与优化。

weixin_28716769的博客 408

基于Pytorch的Conv和Involution实现和对比

本文对Conv和Involution进行简单介绍,并基于pytorch进行实现和速度对比,为后期自己算法的改进优化提供一定基础。

不定时分享,互相学习,共同进步 425

Opencv2.4.9源码分析——HoughCircles

图形可以用一些参数进行表示,标准霍夫变换的原理就是把图像空间转换成参数空间(即霍夫空间),例如霍夫变换的直线检测就是在距离-角度空间内进行检测。圆可以表示成: (x-a)2+(y-b)2=r2                   (1) 其中a和b表示圆心坐标,r表示圆半径,因此霍夫变换的圆检测就是在这三个参数组成的三维空间内进行检测。 原则上,霍夫变换可以检测任何形状。但复杂的形状需要的

赵春江的专栏 3万+

论文阅读笔记:内卷involution《Involution: Inverting the Inherence of Convolution for Visual Recognition》

论文阅读笔记:内卷involution背景Involution功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 论文链接:https://arxiv.org/abs/2103.06255 论文代码:https://github.co

weixin_45365767的博客 1272

【实战解析】RTL8306MB交换芯片驱动开发中的RMII接口调试陷阱

本文通过一个RTL8306MB交换芯片驱动开发的实战案例,深入剖析了RMII接口调试中的经典陷阱。文章详细描述了因TX_EN与CRS_DV信号线交叉连接错误导致的“静默”故障,并分享了使用逻辑分析仪和示波器进行硬件排查的完整流程与核心技巧,为嵌入式网络驱动开发提供了宝贵的避坑指南。

weixin_29267307的博客 421

全志V3S开发板实战:从零构建嵌入式Linux系统

本文提供了一份针对全志V3S开发板(如LicheePi Zero)的零基础教程,详细指导如何从零开始构建嵌入式Linux系统。内容涵盖编译环境搭建、交叉工具链配置、U-Boot引导程序编译与烧录、Linux内核定制与编译,以及使用Buildroot构建根文件系统,最终实现系统成功启动,帮助开发者深入理解嵌入式系统构建全流程。

tensor9flow的博客 575

CVPR'21 | Involution:超越convolution和self-attention的神经网络新算子

进入公众号,在消息对话框回复【CVPR2021】即可获取CVPR2021最新论文集来源:我爱计算机视觉本文是对我们CVPR 2021被接收的文章 Involution: Inverting...

深度学习技术前沿 842

恶劣天气下的分割鲁棒性:雨雪雾干扰消除

恶劣天气下的分割鲁棒性:雨雪雾干扰消除​ ,人工智能,计算机视觉,大模型,AI,本文围绕恶劣天气下语义分割鲁棒性及雨雪雾干扰消除展开,分析了雨雪雾对图像和分割任务的影响,介绍了基于图像增强、深度学习等现有解决方法,以及针对不同干扰的具体方案,还探讨了提高分割鲁棒性的策略、实验评估情况,指出当前面临复杂天气、数据缺乏、实时性等挑战,并展望了端到端模型、无监督学习等未来发展趋势,为该领域研究提供了全面参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 17万+

超越卷积、自注意力:神经网络新算子「内卷(Involution)」

论文名称:Involution: Inverting the Inherence of Convolution for Visual Recognition 作者:Duo Li, Jie Hu, Changhu Wang, Xiangtai Li, Qi She, Lei Zhu, Tong Zhang, Qifeng Chen, The Hong Kong University of Science and Technology, ByteDance AI Lab, Peking University,.

weixin_50476352的博客 2648

SAP_MM模块采购价格确定控制简介

SAP MM模块采购价格确定控制是采购管理中的关键功能,系统通过"价格确定日期"判断条件记录有效性并带出正确价格。文章分析了四种常见业务场景及其对应的价格确定方案:普通采购订单(创建日期)、长期合同(交货日期)、特殊业务(手动输入)和接口下单(系统传入)。详细介绍了配置方法和前台操作步骤,并提供了不同业务类型对应的推荐控制方式汇总表。通过合理设置价格确定日期控制,企业可以确保采购价格准确性,满足各种复杂业务场景下价格管理的需求,从而提高采购管理效率和成本控制能力。

我小时候很黑的博客 736

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Involution论文解读:从卷积变换出的神经网络新算子

这篇文章来自CVPR2021,作者是港科大计算机系在读,本科毕业于清华,个人主页。 Motivation 既然是从卷积出发,我们需要先梳理卷积。 卷积的操作如上图所示,是目前神经网络里最基础的算子。 它具备两个特性: 空间不变性 因为卷积网络采用滑窗的形式,所以对于一张图片的各个部分,是共享卷积核参数的,相比于全连接网络,它在某个像素处,只考虑一个小邻域的信息,相当于加了一个很强的正则。 这个特性的好处是大大降低了图像处理所需的参数量,以及使得网络输出具有平移不变性,也就是某一个特征不管出现在图像的.

迦小叶的博客 1756

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

应用包含Involution算子的RedNet实现Classification

使用Open-mmLab进行ResNed-50 classification应用 1. Involution介绍 Involution的详细介绍请看这篇文章: Involution:超越卷积和自注意力的神经网络新算子 2. 基于OpenMMLab mmclassification的应用 若要使用RedNet,首先需熟悉mmclassification的使用,其详细介绍可看这篇文章: 使用Open-mmLab库进行RES-50 classification 3. 使用Open-mmLab库进行RedNet-5

小张博士的博客 1592

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

CVPR 2021 | 真内卷!Involution:构建新一代视觉识别网络

点击下方卡片,关注“CVer”公众号AI/CV重磅干货,第一时间送达本文转载自:AI人工智能初学者 | 作者:ChaucerGInvolution: Inverting the In...

阿木寺的博客 9906

卷积(convolution)最容易理解的解释

啰嗦开场白 读本科期间,信号与系统里面经常讲到卷积(convolution),自动控制原理里面也会经常有提到卷积。硕士期间又学了线性系统理论与数字信号处理,里面也是各种大把大把卷积的概念。至于最近大火的深度学习,更有专门的卷积神经网络(Convolutional Neural Network, CNN),在图像领域取得了非常好的实际效果,已经把传统的图像处理的方法快干趴下了。啰啰嗦嗦说了这么多卷积,惭愧的是,好像一直以来对卷积的物理意义并不是那么清晰。一是上学时候只是简单考试,没有仔细思考过具体前后的来龙

yh13572438258的博客 6万+

深度学习中的 20 种卷积

大多数的卷积结构都是在精度-参数量-计算量这三个维度上进行不同的侧重取舍。两个矛盾:追求计算效率的卷积结构由于计算预算较低,无论是限制卷积层的深度,还是限制了卷积的宽度,不可避免地会导致性能的下降。追求精度提升的卷积结构由于其引入过多的卷积运算或其他额外的操作(如注意力),势必会增大内存或计算开销,从而影响模型的容量和整体的训练或推理速度。一个设计的原则就是我们如何在不增加额外参数量的情况下,尽可能利用有效的信息或者从降低冗余空间信息的角度出发,来提高模型的计算效率和卷积提取特征的能力。

人无远虑,必有近忧 2万+

CVPR'21 | involution:超越convolution和self-attention的神经网络新算子

本文是对我们CVPR 2021被接收的文章 Involution: Inverting the Inherence of Convolution for Visual Recognitio...

我爱计算机视觉 3185

涨点神器!Yolov5/Yolov7改进Involution(内卷),可构建用于视觉识别的新一代神经网络!涨点显著!

涨点神器!利用Involution(内卷),可构建用于视觉识别的新一代神经网络!在分类、检测和分割任务上涨点显著!

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2328

对话involution一作:它名字很“内卷”,实力却超越了卷积和自注意力

导语:在这项工作中,正在攻读香港科学技术大学计算机科学与工程系硕士学位的李铎,在陈启峰教授和张潼教授的指导下,提出了一种新型的神经网络算子——involution,名字很“内卷”,实力却“...

weixin_40920183的博客 1286

YOLOv9最新改进系列:Involution新卷积网络算子融合于YOLOv9网络,更大的空间范围中总结上下文信息,助力YOLOv9检测性能再上新台阶!

YOLOv9最新改进系列:Involution新卷积网络算子融合于YOLOv9网络,更大的空间范围中总结上下文信息,助力YOLOv9检测性能再上新台阶!

B站 Ai学术叫叫兽的文案地 1501

什么是卷积

什么是卷积

猛犸象 1万+
上一篇: 从网上抓取图像
下一篇: SENet(2017)
studyeboy
博客等级 码龄15年 365粉丝 329原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值