码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度(附源代码)...


    04676c0f380fb3a10b0f42593ae3b775.gif

    计算机视觉研究院专栏

    作者:Edison_G

    在将金字塔结构嵌入到Transformer结构用于生成多尺度特征,并最终用于稠密预测任务。

    公众号ID|ComputerVisionGzq

    学习群|扫码在主页获取加入方式

    关注并星标

    从此不迷路

    计算机视觉研究院

    7ce6ff5551ab583b24f8aac9676e72da.gif

    4570c29ee7618ee0e99c3b5cdf93e723.png

    论文地址:https://arxiv.org/pdf/2102.12122.pdf

    源代码地址:https://github.com/whai362/PVT

    背景

    具有自注意力的Transformer引发了自然语言处理领域的革命,最近还激发了Transformer式架构设计的出现,并在众多计算机视觉任务中取得了具有竞争力的结果。

    如下是之前我们分享的基于Transformer的目标检测新技术!

    链接:ResNet超强变体:京东AI新开源的计算机视觉模块!(附源代码)

    3aefef9917ced203108ad2c0c1fa7f59.jpeg

    链接:利用TRansformer进行端到端的目标检测及跟踪(附源代码)

    12ed318270ce4c124758efaa226b5dd0.png

    链接:YOLOS:通过目标检测重新思考Transformer(附源代码)

    193072a98104dd2d5ac7da43783df9cb.png

    在今天分享的工作中,研究者设计了一个新颖的Transformer模块,针对稠密预测任务的主干网络,利用Transformer架构设计进行了一次创新性的探索,将特征金字塔结构与Transformer进行了一次融合,使其可以更好的输出多尺度特征,进而更方便与其他下游任务相结合。

    前言

    尽管卷积神经网络 (CNN) 在计算机视觉方面取得了巨大成功,但今天分享的这项工作研究了一种更简单、无卷积的主干网络,可用于许多密集预测任务。

    a6bfcda567921fc0a0fec6c7577fee4d.jpeg

    目标检测

    3b43d2b99b2a6915fcf18b1cca07e27d.jpeg

    语义分割

    af4c6416401cfeb7961e8e896ebca892.jpeg

    实例分割

    与最近提出的专为图像分类设计的Vision Transformer(ViT)不同,研究者引入了Pyramid Vision Transformer(PVT),它克服了将Transformer移植到各种密集预测任务的困难。与当前的技术状态相比,PVT 有几个优点:

    1. 与通常产生低分辨率输出并导致高计算和内存成本的ViT不同,PVT不仅可以在图像的密集分区上进行训练以获得对密集预测很重要的高输出分辨率,而且还使用渐进式收缩金字塔以减少大型特征图的计算;

    2. PVT继承了CNN和Transformer的优点,使其成为各种视觉任务的统一主干,无需卷积,可以直接替代CNN主干;

    3. 通过大量实验验证了PVT,表明它提高了许多下游任务的性能,包括对象检测、实例和语义分割。

    例如,在参数数量相当的情况下,PVT+RetinaNet在COCO数据集上实现了40.4 AP,超过ResNet50+RetinNet(36.3 AP)4.1个绝对AP(见下图)。研究者希望PVT可以作为像素级预测的替代和有用的主干,并促进未来的研究。

    8b9bdaa8fe9acbaccaa53cdf04564da7.png

    基础回顾

    CNN Backbones

    CNN是视觉识别中深度神经网络的主力军。标准CNN最初是在【Gradient-based learning applied to document recognition】中区分手写数字。该模型包含具有特定感受野的卷积核捕捉有利的视觉环境。为了提供平移等方差,卷积核的权重在整个图像空间中共享。最近,随着计算资源的快速发展(例如,GPU),堆叠卷积块成功在大规模图像分类数据集上训练(例如,ImageNet)已经成为可能。例如,GoogLeNet证明了包含多个内核路径的卷积算子可以实现非常有竞争力的性能。

    313104e49d36b378c0710cc582adf5e3.jpeg

    multi-path convolutional block的有效性在Inception系列、ResNeXt、DPN、MixNet和SKNet中得到了进一步验证。此外,ResNet将跳过连接引入到卷积块中,从而可以创建/训练非常深的网络并在计算机视觉领域获得令人印象深刻的结果。DenseNet引入了一个密集连接的拓扑,它将每个卷积块连接到所有先前的块。更多最新进展可以在最近的论文中找到。

    bfc4507300633f3241e05c3ab01e5298.jpeg

    新框架

    c45c0ba6c514c203e92aa7a383c336d5.png

    该框架旨在将金字塔结构嵌入到Transformer结构用于生成多尺度特征,并最终用于稠密预测任务。上图给出了所提出的PVT架构示意图,类似与CNN主干结构,PVT同样包含四个阶段用于生成不同尺度的特征,所有阶段具有相类似的结构:Patch Embedding+Transformer Encoder。

    在第一个阶段,给定尺寸为H*W*3的输入图像,按照如下流程进行处理:

    • 首先,将其划分为HW/4^2的块,每个块的大小为4*4*3;

    • 然后,将展开后的块送入到线性投影,得到尺寸为HW/4^2 * C1的嵌入块;

    • 其次,将前述嵌入块与位置嵌入信息送入到Transformer的Encoder,其输出将为reshap为H/4 * W/4 * C1。

    采用类似的方式,以前一阶段的输出作为输入即可得到特征F2,F3和F4。基于特征金字塔F1、F2、F3、F4,所提方案可以轻易与大部分下游任务(如图像分类、目标检测、语义分割)进行集成。

    Feature Pyramid for Transforme

    不同于CNN采用stride卷积获得多尺度特征,PVT通过块嵌入按照progressive shrinking策略控制特征的尺度。

    a4c81d1b57160d45939559ec2ed9aeaa.jpeg

    假设第i阶段的块尺寸为Pi,在每个阶段的开始,将输入特征均匀的拆分为Hi-1Wi-1/Pi个块,然后每个块展开并投影到Ci维度的嵌入信息,经过线性投影后,嵌入块的尺寸可以视作Hi-1/Pi * Wi-1/Pi * Ci。通过这种方式就可以灵活的调整每个阶段的特征尺寸,使其可以针对Transformer构建特征金字塔。

    Transformer Encoder

    对于Transformer  encoder的第i阶段,它具有Li个encoder层,每个encoder层由注意力层与MLP构成。由于所提方法需要处理高分辨率特征,所以提出了一种SRA(spatial-reduction attention)用于替换传统的MHA(multi-head-attention)。

    类似于MHA,SRA同样从输入端接收到了Q、K、V作为输入,并输出精炼后特征。SRA与MHA的区别在于:SRA会降低K和V的空间尺度,见下图。

    2c758e4c309c7e046f5b7fe534d28b87.png

    90a216e17b7fa9c2e8d7fa5a2c25aa80.png

    Detailed settings of PVT series

    实验

    7f0de4356f69c04af9dcf359c2f1de4f.png

    ImageNet数据集上的性能对比,结果见上表。从中可以看到:

    • 相比CNN,在同等参数量与计算约束下,PVT-Small达到20.2%的误差率,优于ResNet50的21.5%;

    • 相比其他Transformer(如ViT、DeiT),所提PVT以更少的计算量取得了相当的性能。

    45724467957b69e1b0fdba475e0ae3d4.png

    c0e1d8ecf35240fe8fabab2b577b4b7f.png

    在语义分割中的性能对比,见上表。可以看到:不同参数配置下,PVT均可取得优于ResNet与ResNeXt的性能。这侧面说明:相比CNN,受益于全局注意力机制,PVT可以提取更好的特征用于语义分割。

    e6f5011bbf75003f2adfec38fa5ee6dd.png

    48263cb846edffdae3fa242c08db3081.png

    © THE END 

    转载请联系本公众号获得授权

    ec6f15a61a7f4e80666d70bea678f390.gif

    计算机视觉研究院学习群等你加入!

    计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

    8ef62b3b5781e4574a96d2837bdbbc23.jpeg

    扫码关注

    计算机视觉研究院

    公众号ID|ComputerVisionGzq

    学习群|扫码在主页获取加入方式

     往期推荐 

    🔗

    • YOLOS:通过目标检测重新思考Transformer(附源代码)

    • 自己觉得挺有意思的目标检测框架,分享给大家(源码论文都有)

    • CVPR2021:IoU优化——在Anchor-Free中提升目标检测精度(附源码)

    • 多尺度深度特征(上):多尺度特征学习才是目标检测精髓(干货满满,建议收藏)

    • 多尺度深度特征(下):多尺度特征学习才是目标检测精髓(论文免费下载)

    • ICCV2021目标检测:用图特征金字塔提升精度(附论文下载)

    • CVPR21小样本检测:蒸馏&上下文助力小样本检测(代码已开源)

    • 半监督辅助目标检测:自训练+数据增强提升精度(附源码下载)

    • 目标检测干货 | 多级特征重复使用大幅度提升检测精度(文末附论文下载)

    • 目标检测新框架CBNet | 多Backbone网络结构用于目标检测(附源码下载)

    • CVPR21最佳检测:不再是方方正正的目标检测输出(附源码)

    • Sparse R-CNN:稀疏框架,端到端的目标检测(附源码)

    • 利用TRansformer进行端到端的目标检测及跟踪(附源代码)

  • 相关阅读:
    深度学习,逻辑回归梯度下降向量化及一些编程基础
    ElasticSearch--分片和副本--原理
    “勤学会”火爆来袭
    优化代码,提升代码性能
    【Git】git 的基本使用
    网络技术五:IP基本原理
    四川大学2023考研真题复习资料可以找学长学姐吗?
    【Composite模式】C++设计模式——组合模式
    Day06--上拉触底案例-初步实现上拉触底效果
    hadoop 3.x大数据集群搭建系列8- 一些辅助的shell脚本
  • 原文地址:https://blog.csdn.net/gzq0723/article/details/125611205
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号