InternImage

article/2025/9/14 19:03:00

终于有对抗Transformer 的了~~

来自浦江实验室、清华等机构的研究人员提出了一种新的基于卷积的基础模型,称为 InternImage,与基于 Transformer 的网络不同,InternImage 以可变形卷积作为核心算子,使模型不仅具有检测和分割等下游任务所需的动态有效感受野,而且能够进行以输入信息和任务为条件的自适应空间聚合。InternImage-H 在 COCO 物体检测上达到 65.4 mAP,ADE20K 达到 62.9,刷新检测分割新纪录。用CNN做基础模型,可变形卷积InternImage实现检测分割新纪录!

近年来大规模视觉 Transformer 的蓬勃发展推动了计算机视觉领域的性能边界。视觉 Transformer 模型通过扩大模型参数量和训练数据从而击败了卷积神经网络。来自上海人工智能实验室、清华、南大、商汤和港中文的研究人员总结了卷积神经网络和视觉 Transformer 之间的差距。从算子层面看,传统的 CNNs 算子缺乏长距离依赖和自适应空间聚合能力;从结构层面看,传统 CNNs 结构缺乏先进组件。

针对上述技术问题,来自浦江实验室、清华等机构的研究人员创新地提出了一个基于卷积神经网络的大规模模型,称为 InternImage,它将稀疏动态卷积作为核心算子,通过输入相关的信息为条件实现自适应空间聚合。InternImage 通过减少传统 CNN 的严格归纳偏置实现了从海量数据中学习到更强大、更稳健的大规模参数模式。其有效性在包括图像分类、目标检测和语义分割等视觉任务上得到了验证。并在 ImageNet、COCO 和 ADE20K 在内的挑战性基准数据集中取得了具有竞争力的效果,在同参数量水平的情况下,超过了视觉 Transformer 结构,为图像大模型提供了新的方向。

  • 论文链接:https://arxiv.org/abs/2211.05778

  • 开源代码:https://github.com/OpenGVLab/InternImage

传统卷积神经网络的局限

扩大模型的规模是提高特征表示质量的重要策略,在计算机视觉领域,模型参数量的扩大不仅能够有效加强深度模型的表征学习能力,而且能够实现从海量数据中进行学习和知识获取。ViT 和 Swin Transformer 首次将深度模型扩大到 20 亿和 30 亿参数级别,其单模型在 ImageNet 数据集的分类准确率也都突破了 90%,远超传统 CNN 网络和小规模模型,突破了技术瓶颈。但是,传统的 CNN 模型由于缺乏长距离依赖和空间关系建模能力,无法实现同 Transformer 结构相似的模型规模扩展能力。研究者总结了传统卷积神经网络与视觉 Transformer 的不同之处:

(1)从算子层面来看,视觉 Transformer 的多头注意力机制具有长距离依赖和自适应空间聚合能力,受益于此,视觉 Transformer 可以从海量数据中学到比 CNN 网络更加强大和鲁棒的表征。

(2)从模型架构层面来看,除了多头注意力机制,视觉 Transformer 拥有 CNN 网络不具有的更加先进的模块,例如 Layer Normalization (LN), 前馈神经网络 FFN, GELU 等。

尽管最近的一些工作尝试使用大核卷积来获取长距离依赖,但是在模型尺度和精度方面都与最先进的视觉 Transformer 有着一定距离。

可变形卷积网络的进一步拓展

InternImage 通过重新设计算子和模型结构提升了卷积模型的可扩展性并且缓解了归纳偏置,包括(1)DCNv3 算子,基于 DCNv2 算子引入共享投射权重、多组机制和采样点调制。(2)基础模块,融合先进模块作为模型构建的基本模块单元(3)模块堆叠规则,扩展模型时规范化模型的宽度、深度、组数等超参数。

该工作致力于构建一个能够有效地扩展到大规模参数的 CNN 模型。首先,重新设计的可变形卷积算子 DCNv2 以适应长距离依赖和弱化归纳偏置;然后,将调整后的卷积算子与先进组件相结合,建立了基础单元模块;最后,探索并实现模块的堆叠和缩放规则,以建立一个具有大规模参数的基础模型,并且可以从海量数据中学习到强大的表征。

与最近关注large dense kernels的CNN不同,InternImage以可变形卷积为核心算子,使我们的模型不仅具有检测和分割等下游任务所需的大有效感受野,而且具有受输入和任务信息约束的自适应空间聚合。因此,所提出的InternImage减少了传统CNNs严格归纳偏差,并使其能够从像ViT这样的海量数据中学习具有大规模参数的更强、更稳健的模式。我们的模型的有效性在ImageNet、COCO和ADE20K等具有挑战性的基准测试中得到了验证。值得一提的是,InternImage-H在COCO测试开发上获得了创纪录的65.4mAP,在ADE20K上获得了62.9mIoU,优于目前领先的CNNs和ViTs。

为了弥合CNNs和ViTs之间的差距,首先从两个方面总结了它们的差异:(1)从操作员层面来看,ViTs的多头自注意(MHSA)具有长程依赖性和自适应空间聚合(见图(a)段)。得益于灵活的MHSA,ViT可以从海量数据中学习到比CNN更强大、更健壮的表示。(2) 从架构的角度来看,除了MHSA之外,ViTs还包含一系列未包含在标准CNN中的高级组件,如层归一化(LN)、前馈网络(FFN)、GELU等。

算子层面,该研究首先总结了卷积算子与其他主流算子的主要区别。当前主流的 Transformer 系列模型主要依靠多头自注意力机制实现大模型构建,其算子具有长距离依赖性,足以构建远距离特征间的连接关系,还具有空间的自适应聚合能力以实现构建像素级别的关系。但这种全局的注意力机制其计算和存储需求量巨大,很难实现高效训练和快速收敛。同样的,局部注意力机制缺乏远距离特征依赖。大核密集卷积由于没有空间聚合能力,而难以克服卷积天然的归纳偏置,不利于扩大模型。因此,InternImage 通过设计动态稀疏卷积算子,达到实现全局注意力效果的同时不过多浪费计算和存储资源,实现高效训练。

研究者基于 DCNv2 算子,重新设计调整并提出 DCNv3 算子,具体改进包括以下几个部分。

(1)共享投射权重。与常规卷积类似,DCNv2 中的不同采样点具有独立的投射权重,因此其参数大小与采样点总数呈线性关系。为了降低参数和内存复杂度,借鉴可分离卷积的思路,采用与位置无关的权重代替分组权重,在不同采样点之间共享投影权重,所有采样位置依赖性都得以保留。

(2)引入多组机制。多组设计最早是在分组卷积中引入的,并在 Transformer 的多头自注意力中广泛使用,它可以与自适应空间聚合配合,有效地提高特征的多样性。受此启发,研究者将空间聚合过程分成若干组,每个组都有独立的采样偏移量。自此,单个 DCNv3 层的不同组拥有不同的空间聚合模式,从而产生丰富的特征多样性。

(3)采样点调制标量归一化。为了缓解模型容量扩大时的不稳定问题,研究者将归一化模式设定为逐采样点的 Softmax 归一化,这不仅使大规模模型的训练过程更加稳定,而且还构建了所有采样点的连接关系。

构建 DCNv3 算子之后,接下来首先需要规范化模型的基础模块和其他层的整体细节,然后通过探索这些基础模块的堆叠策略,构建 InternImage。最后,根据所提出模型的扩展规则,构建不同参数量的模型。

基础模块。与传统 CNN 中广泛使用的瓶颈结构不同,该研究采用了更接近 ViTs 的基础模块,配备了更先进的组件,包括 GELU、层归一化(LN)和前馈网络(FFN),这些都被证明在各种视觉任务中更有效率。基础模块的细节如上图所示,其中核心算子是 DCNv3,通过将输入特征通过一个轻量级的可分离卷积来预测采样偏置和调制尺度。对于其他组件,遵循与普通 Transformer 相同的设计。

按照此规则,该研究构建了不同尺度的模型,即 InternImage-T、S、B、L、XL。具体参数为:

实验结果

图像分类实验:通过使用 427M 的公共数据集合:Laion-400M,YFCC15M,CC12M,InternImage-H 在 ImageNet-1K 的精度达到了 89.2%。

目标检测:以最大规模的 InternImage-H 为骨干网络,并使用 DINO 作为基础检测框架,在 Objects365 数据集上预训练 DINO 检测器,然后在 COCO 上进行微调。该模型在目标检测任务中达到了 65.4% 的最优结果,突破了 COCO 目标检测的性能边界。

语义分割:在语义分割上,InternImage-H 同样取得了很好的性能,结合 Mask2Former 在 ADE20K 上取得了当前最高的 62.9%。                         whaosoft aiot http://143ai.com

为了进一步提高目标检测的性能,在ImageNet-22K或大规模联合数据集上预先训练的权重初始化主干,并通过复合技术将其参数翻倍。然后,在Objects365和COCO数据集上一个接一个地对其进行微调,分别针对26个epochs和12个epochs。如下表所示,新方法在COCO val2017和test-dev上获得了65.0 APb和65.4 APb的最佳结果。与以前最先进的模型相比,比FD-SwinV2-G[26]高出1.2分(65.4比64.2),参数减少了27%,并且没有复杂的蒸馏过程,这表明了新模型在检测任务上的有效性。

共享权重的模型参数和GPU内存使用v.s卷积神经元之间的非共享权重。左纵轴表示模型参数,右纵轴表示批量大小为32且输入图像分辨率为224×224时每个图像的GPU内存使用情况。 

不同阶段不同组的采样位置可视化。蓝色的星表示查询点(在左边的羊),不同颜色的点表示不同组的采样位置。 

 

结论

该研究提出了 InternImage,这是一种新的基于 CNN 的大规模基础模型,可以为图像分类、对象检测和语义分割等多功能视觉任务提供强大的表示。研究者调整灵活的 DCNv2 算子以满足基础模型的需求,并以核心算子为核心开发了一系列的 block、stacking 和 scaling 规则。目标检测和语义分割基准的大量实验验证了 InternImage 可以获得与经过大量数据训练、且精心设计的大规模视觉 Transformer 相当或更好的性能,这表明 CNN 也是大规模视觉基础模型研究的一个相当大的选择。尽管如此,大规模的 CNN 仍处于早期发展阶段,研究人员希望 InternImage 可以作为一个很好的起点。


http://chatgpt.dhexx.cn/article/B9TRCBQk.shtml

相关文章

图片<img>

图像标签演示源代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>图像标签</title> </…

拉伸图片的两种方法

在开发时&#xff0c;常常会遇到一个图片作为控件的image显示时&#xff0c;图片太小&#xff0c;此时图片被拉伸后,图片四周显示的并不是我们想要的结果&#xff0c;此时我们就需要对图片进行拉伸操作&#xff0c;有两种方法可以去拉伸图片&#xff0c; 一种是进入资产文件夹中…

css控制图片拉伸不变形,css+background实现 图片宽高自适应,拉伸裁剪不变形

图片宽高不固定 &#xff0c;一样实现自适应&#xff0c;拉伸裁剪不变形&#xff0c;适应各大兼容性。 下面咱们在网上找两张宽高不一样的照片&#xff1a; No.1 No.2 从上图看一个宽的一个窄的&#xff0c;很难做到自适应&#…

html背景图片 纵向拉伸,背景图片拉伸(CSS方法)_html/css_WEB-ITnose

在布局现在的网站首页的时候&#xff0c;发现一个问题。我使用了一张1440*900的png图片作为背景图片。页面内的Div使用了较多的百分比自适应框体大小&#xff0c;原body元素的CSS如下 html { width: 100%; height: 100%;}body { background: url(../img/bg.png) no-repeat; mar…

ios图片局部拉伸

转载自http://justsee.iteye.com/blog/1973358 下面张图片&#xff0c;本来是设计来做按钮背景的&#xff1a; button.png&#xff0c;尺寸为&#xff1a;24x60 现在我们把它用作为按钮背景&#xff0c;按钮尺寸是150x50&#xff1a; C代码 // 得到view的尺寸 CGSize viewS…

Qt部分拉伸的背景图片

目录 引言代码实现 引言 QSS是Qt客户端开发中非常重要的一环&#xff0c;也是非常容易被忽略的一环。因为网上有太多的博文直接给出了相对美观的样式&#xff0c;导致多数人只是将样式表拷贝使用&#xff0c;而没有细究其中的语法。这也是我在面试时分辨Qt界面开发经验的重要标…

android 九宫格 拉伸,CAScale9ImageView(九宫格图片拉伸)

类说明 CAScale9ImageView是CrossApp提供的一种九宫格拉伸图片的解决方案,我们先来了解一下什么是九宫格图片拉伸。 在App的设计过程中,为了适配不同的手机分辨率,图片大小需要拉伸或者压缩,这样就出现了可以任意调整大小的拉伸样式。 CAScale9ImageView 属性(点击方法名可…

Android自适应拉伸图片

这篇文章是android开发人员的必备知识&#xff0c;内容摘选自网络&#xff0c;友我为大家整理和总结&#xff0c;不求完美&#xff0c;但是有用。 视频教程地址&#xff1a;http://player.youku.com/player.php/sid/XMTMwODc3Njc2/v.swf 1.背景自适应且不失真问题的存在 制作自…

android 图片自动拉伸,解决关于ImageView自适应的问题(拉伸变形,图片模糊)

今天接手一个项目发现有个地方的图片显示非常小&#xff0c;而且还不够清晰&#xff0c;也没办法自适应屏幕的显示&#xff0c;非常的影响美观&#xff0c;于是 就像这优化一下。 先看看优化前的效果和优化后的效果。 修复后 修复前 布局文件修复前&#xff1a; 修复前 布局文件…

html背景图片纵向拉伸,html网页背景图片拉伸 关于html背景图片往下拉伸问题

html 如何让背景图片充满全图&#xff0c;就是拉伸 html语言背景图片拉伸代码&#xff1a;background-size:cover&#xff0c;可以使图片拉伸铺满背景。 拓展资料 背景 (background) 属性定义元素的背景效果 元素的背景区包括前景之下直到边框边界的所有空间。因此&#xff0c;…

android 拉伸图片

Android拉伸图片用的是9.png格式的图片&#xff0c;这种图片可以指定图片的那一部分拉伸&#xff0c;那一部分显示内容&#xff0c;美工给的小图片也能有很好的显示效果。 原背景图片 可以看到原背景图片很小&#xff0c;即使在再长的文字&#xff0c;背景图片的圆角也不会拉伸…

html js 修改img 图片不拉伸,防止图片拉伸的自适应处理

在web开发中,作为前端经常会遇到处理图片拉伸问题的情况。 例如banner、图文列表、头像等所有和用户或客户自主操作图片上传的地方, 而一旦牵扯图片,就会涉及到图片拉伸的问题, 当然,在图片上传时做手动裁切,让用户或客户清晰的感知到图片的有效内容才是最优的解决方案,…

html平铺 拉伸 图片,[CSS]背景图片中平铺与拉伸

在某业务场景下,需要支持背景图的平铺和拉伸,那么在CSS中的这俩属性表现有何区分关系到是否符合业务表现,因此有必要清晰知道其差别。 原本以为只有自己会遇到,没想到群里有小伙伴也问到了。 0x00 background-size 在CSS中有background-size属性,平铺与拉伸可以通过下面两…

html 如何完美的显示图片,不拉伸图片,完整显示等等。

效果图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document<…

html插入背景图片如何拉伸,css怎样拉伸背景图片?

在css中可以使用background-size属性来拉伸背景图片。background-size属性规定背景图像的尺寸&#xff0c;此属性可以使用数值、百分比、cover等设置图片拉伸。 background-size属性规定背景图像的尺寸。 语法&#xff1a;background-size: length|percentage|cover|contain; 属…

html如何拉伸一个图片,css怎么拉伸图片?

css可以使用background-size属性设置图片拉伸&#xff0c;background-size属性规定背景图像的尺寸。此属性可以使用数值、百分比、cover等设置图片拉伸。 background-size属性规定背景图像的尺寸。 background-size属性介绍&#xff1a; 语法&#xff1a;background-size: leng…

html 图片纵向拉伸,css如何让图片拉伸?

css设置图片拉伸的方法&#xff1a;1、使用width与height属性强制设置图片大小使图片拉伸。2、使用background-size属性拉伸背景图片。 1、强行设定大小值会导致拉伸 示例&#xff1a;//html .... //css img{ width: 80px; height: 80px; margin-right: 10px; } 效果图&#xf…

Android中Webview显示全屏拉伸图片

需要在一个视频view上叠加一个webview显示一些第三方的内容&#xff0c;例如视频、图片、h5页面等。显示图片时出现了边框和滚动条等不在预期的内容。由于对web相关的技术不甚了解&#xff0c;查询一番后完美解决。图片自适应webview大小显示。 xml布局文件如下&#xff1a; &…

PS调节图片:拉伸、变形

一、对图片进行变形处理 打开PS软件&#xff0c;选中需要处理的图片。 ctrlJ复制一层图层 点击编辑选项&#xff0c;在下拉菜单里找到变换→变形选项 即可对图片进行变形操作 注意变形的图片下边还有一层图形&#xff0c;那即是我们复制图层的效果。&#xff08;复制图层相当…