概述
点击上方“计算机视觉工坊”,选择“星标”
干货第一时间送达
作者丨happy 编辑丨极市平台
导读
本文针对MLP-Mixer等已有方案存在的分辨率相关、不便于向下游任务迁移的问题,提出了一种新颖的CycleFC操作,并由此构建了CycleMLP架构。本文非常漂亮的一个操作:通过对ChannelFC的采样点引入更高感受野升级为CycleFC,提升感受野的同时保持计算量不变。
paper: https://arxiv.org/abs/2107.10224
Code: https://github.com/ShoufaChen/CycleMLP
本文是香港大学&商汤科技在MLP架构方面的探索,针对MLP-Mixer等已有方案存在的分辨率相关、不便于向下游任务迁移的问题,提出了一种新颖的CycleFC操作,并由此构建了CycleMLP架构。所提CycleMLP在ImageNet分类、COCO检测以及ADE20K语义分割等任务上均取得了优于其他MLP架构的性能,同时具有与Swin相当甚至更佳的性能。本文非常漂亮的一个操作:通过对ChannelFC的采样点引入更高感受野升级为CycleFC,提升感受野的同时保持计算量不变。
Abstract
本文提出一种简单的MLP架构CycleMLP用于视觉识别与稠密预测。现有MLP架构(比如MLP-Mixer、ResMLP、gMLP)由于与图像尺寸相关,导致它们难以向下游任务迁移。相比已有方法,CycleMLP具有以下两个优势:
可以处理可变图像尺寸;
通过采用局部窗口,其计算复杂度与图像尺寸成线性关系。
我们构建一类MLP架构CycleMLP超越了现有MLP方案并在ImageNet上取得了83.2%的top1精度,具有与Swin相当的性能但参数量与FLOPs更低。我们对CycleMLP进行扩展并使其作为下游任务的骨干网络,CycleMLP可以为目标检测、实例分割以及语义分割等领域提供极具竞争力的基线模型。比如,CycleMLP在ADE20K数据集上取得了45.1mIoU指标,与Swin的45.2mIoU相当。精度-FLOPs性能曲线对比可参见下图。
本文主要贡献包含以下几点:
提出了一种新的MLP模块:CycleFC,它是一个广义的即插即用操作,可用于替换MLP-Mixer中的token mixing MLP操作;此外,CycleFC计算复杂度与图像分辨率成线性关系;
基于所提CycleFC,我们构建了用于提取分层特征的MLP架构:CycleMLP,首个用于检测与分割任务的MLP架构;
在ImageNet、COCO以及ADE20K等数据集上的充分的验证,所提CycleMLP取得了优于其他MLP的性能,同时在下游任务上取得了与CNN、Transformer相当的性能。
Method
上图给出了所提CycleMLP的宏观架构信息,其设计原则受Swin与PVT启发而得到。通过这种方式,我们构建了一个分层架构,而这对于稠密预测任务非常重要。
给定尺寸为
输入图像
,首先采用patch embedding
模块将其拆分为块,每个块视作“token”(即词)。具体来说,我们参考PVTv2采用了重叠块嵌入模块,窗口尺寸为7,步长为4。原始图像块进一步投影到更高维,因此块投影模块的输出为
。
然后,我们顺序将前述特征送入到多个CycleFC模块中进行处理,CycleFC模块参考ResNet的stage进行配置。注:每个阶段内部词数量保持不变,每个阶段包含一个transition进行分辨率降维、通道升维。总而言之,整个模型包含四个stage,最后stage的输出特征维度为 。这些stage的设置已被广泛应用于CNN、Transformer模型,故所提CycleMLP是一种广义的模型候选。
Cycle FC Block
上图b给出了本文所提CycleFC模块示意图,相比已有MLP-Mixer(见上图a),主要区别在于:所提Cycle Fully-Connected Layer(CycleFC)用于进行空域投影并促进模型进行上下文聚合与信息通道。具体来说,CycleFC模块包含三个并行CycleFC操作后接一个channel-MLP。公式描述如下:
上述模块设计与ViT类似,区别仅在与我们采用CycleFC替换了多头自注意力模块。因此,所提CycleFC模块可以作为现有Transformer或者MLP架构的即插即用候选模块。
Cycle Fully-Connected Layer
接下来,我们对CycleFC的细节进行介绍分析。其背后的动机在于:使MLP类模型能处理可变图像尺寸。如上图a所示,Channel-FC仅与输入输出维度有关,而与图像尺寸无关。因此,Channel-FC是一种尺度无关操作,可以处理可变输入尺寸。此外,Channel-FC的计算复杂度与图像输入尺寸成线性关系。然而,Channel-FC的局限性在于:感受野有限,无法聚合充分的上下文信息。下图表中数据也表明:由于缺乏上下文信息,channel-FC具有比较差的性能。
为提升感受野同时保持计算复杂度,我们提出了一种新颖的操作CycleFC,见上图c。类似ChannelFC,CycleFC沿通道维进行全连接;与ChannelFC不同之处在于:空域采样点采用了stair
风格。受益于这种简单而有效的设计,CycleFC具有与ChannelFC严格相等的复杂度;但CycleFC的感受野则得到了放大:从点扩展为pseudo-kernel。
Pseudo-kernel 在这里,我们将引入pseudo-kernel
(伪核)概念,见上图。我们将CycleFC的采样点(即橙色块)投影到空域平面并定位投影区域为伪核尺寸。假设输入特征为
,常规ChannelFC的输出
表示如下:
注: 分别表示空域与通道索引。而CycleFC的核心在于:**我们将X沿通道维的采样点从固定点i调整为伪核窗口 ,其感受野为 。**因此,CycleFC的操作定义如下:
其中, 为伪核尺寸。
Discussion CycleFC可以接收近邻上下文信息同时保持与ChannelFC相同复杂度(包含参数量与FLOPs)。因此,CycleFC是一种可促进空域上下文聚合的广义、即插即用的操作。注:当伪核尺寸为 时,CycleFC则退化为ChannelFC。
Architecture Variants
类似其他Transformer、MLP模型,我们定义了不同计算量的模型,从2.1G到12.3GFLOPs。我们定义三路并行CycleFC的伪核尺寸分别为 。通过调整一下超参得到了CycleMLP-B1到CycleMLP-B5等模型:
: 阶段i中transition层的stride;
:阶段i的通道维度;
:阶段i的模块数;
:阶段i的扩展比例。
关于不同模型更详细的超参信息请查看前面的Table1.
Experiments
ImageNet Classification
上表对比所提CycleMLP与其他MLP架构在ImageNet数据集上的性能对比,从中可以看到:
所提CycleMLP的精度-FLOPs均衡显著优于其他MLP架构;
相比gMLP,CycleMLP-B2取得了与gMLP-B相同的精度,但计算量减低3x;
相比ViP,CycleMLP-B5仅需ViP-Large/7一半FLOPs即可取得相同精度。
上表对比了所提CycleMLP与CNN、Transformer以及MLP等SOTA模型的性能对比,从中可以看到:
CycleMLP取得了与Swin相当的性能,比如CycleMLP-B5取得了与Swin-B相当精度同时具有较少参数量与FLOPs;
同期的GFNet(它采用快速傅里叶变换进行空域信息交互)取得了与CycleMLP相当的性能,然而GFNet的架构与输入分辨率相关,不便于下游任务迁移。
Object Detection and Instance Segmentation
上表对比了所提方案在COCO数据上的性能,从中可以看到:
以RetinaNet作为框架,所提CycleMLP取得了优于ResNet、ResNeXt以及PVT的高性能,这说明:CycleMLP是一种非常优秀的骨干架构;比如RetinaNet+CycleMLP-B4取得了比PVT-Large高0.6AP的性能,同时具有更少的参数量。
以Mask R-CNN作为框架,CycleMLP取得了类似的性能。
Semantic Segmentation
上表对比了CycleMLP在ADE20K语义分割任务上的性能对比,从中可以看到:
在相似参数量下,CycleMLP取得比了ResNet、PVT更佳的性能;
相比Swin,CycleMLP可以取得相当甚至更好的性能。CycleMLP-B2取得了比Swin-T高0.9mIoU的指标,同时具有更少参数量。
本文亮点总结
本文主要贡献包含以下几点:
提出了一种新的MLP模块:CycleFC,它是一个广义的即插即用操作,可用于替换MLP-Mixer中的token mixing MLP操作;此外,CycleFC计算复杂度与图像分辨率成线性关系;
基于所提CycleFC,我们构建了用于提取分层特征的MLP架构:CycleMLP,首个用于检测与分割任务的MLP架构;
在ImageNet、COCO以及ADE20K等数据集上的充分的验证,所提CycleMLP取得了优于其他MLP的性能,同时在下游任务上取得了与CNN、Transformer相当的性能。
本文仅做学术分享,如有侵权,请联系删文。
下载1
在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。
下载2
在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。
下载3
在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。
重磅!计算机视觉工坊-学习交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
最后
以上就是真实小猫咪为你收集整理的MLP 又又又升级了!港大&商汤开源首个用于检测与分割任务的MLP架构的全部内容,希望文章能够帮你解决MLP 又又又升级了!港大&商汤开源首个用于检测与分割任务的MLP架构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复