| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Conformer论文以及代码解析(上) -> 正文阅读 |
|
[人工智能]Conformer论文以及代码解析(上) |
Conformer: Local Features Coupling Global Representations for Visual Recognition论文: conformer论文 代码: comformer源码-torch 1. Abstract在卷积网络中,卷积操作非常擅长捕捉局部特征信息,但是对于捕捉图像中的全局特征信息就非常困难;对于transformer,级联的self-attention机制可以捕捉到长距离的特征信息,但是又会弱化掉局部特征信息。其实这也是卷积和Transformer机制各自的优缺点,如何解决呢?论文中的思想其实很容易想到,既然单一的卷积或者Transformer机制都无法很好的获得图像的feature information,那么两个联合起来呢?于是,论文中提出一种混合网络,即Conformer,充分利用到卷积和transformer机制的优点。Conformer依赖于Feature Coupling Unit(FCU)特征耦合单元,以一种交互式的方式去融合convolutional得到的local feature和transformer得到的global feature。Conformer采用并行式结构,以获取最大程度上的local features和global features。实验结果上,在ImageNet上的Top-1相比DeiT-B高出2.3%;在COCO数据集上的检测和分割任务上,相比于ResNet-101作为backbone,分别高出3.7个点和3.6个点。 2. Introduction这部分我就挑一些重点来讲,其他的就不过多提及。 关于卷积网络不太能够捕捉到global feature的缺点,一个直观的解决方法就是扩大其receptive field(如dilated convolution, deformable convolution等),作者说这样会破坏pooling层的操作,其实这个原因我不太赞同,因为有的网络模型是Fully convolutional的,哪来的pooling层呢?虽然使用膨胀卷积或者可变形卷积可以扩大感受野,但是卷积的本质依旧没有改变,只是相对于普通卷积,可以获得稍微多一点的global feature;最近的ViT模型,将输入图像进行拆分成nxn和patches,加上Positional Encoding得到一系列的tokens,然后多次应用Multi-head self-attention机制和MLP,可以获得长距离的feature。但是,还是那个问题,没有什么模型是绝对好的,那么ViT的问题就在于会模糊前景和背景的local feature,如下图中的c和g: 论文的贡献在于: 3. Related Work相关工作就不展开了,说来说去就那些东西。。。。 4. Conformer4.1. Overview局部特征和全局特征在计算机视觉任务中得到了广泛的研究。局部特征是局部图像邻域的紧凑向量表示,一直是许多计算机视觉算法的组成部分。全局表示包括轮廓表示、形状描述符和长距离上的对象表示等等。
4.2. CNN Branch关于卷积分支,作者分为4个stage,如下表: 4.3. Transformer Branch基于ViT模型来设计Transformer分支,包括N个Transformer blocks。如4.1中的图b,每一个Transformer blocks都包含:Multi-head Self-Attention以及MLP block(一个升维的FC层和一个降维的FC层),其中还使用Layer Norm和short cut。 关于Feature Coupling Unit: 关于实验结果的分析以及结论不再说明,感兴趣的可以去看看原论文。 题外话:关于CNN + Transformer的结合,在去年DETR出来之后,我就想到了,以后肯定会出现CNN + Transformer的结合,用来做图像分类也好,目标检测也好,亦或者是语义分割等CV任务。因为这就好比自动驾驶领域中的摄像头+LiDAR的组合,摄像头的检测虽然快,但是对于复杂环境的目标检测以及实现高精度的检测而言,仅仅靠摄像头是完成不了的;那么加入LiDAR激光雷达,可以实现高精度的复杂环境下的检测,但是检测速度又不够,因此两者的联合使用可以实现更好的检测效果。和Conformer的思想是相同的,就好比 后面我会继续更新Conformer源码的解析。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:28:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |