PixMIM论文笔记

news2024/11/23 11:49:03

论文名称:PixMIM: Rethinking Pixel Reconstruction in Masked Image Modeling
发表时间:2023 年 3 月 4 日
作者及组织:上海人工智能实验室、西蒙菲莎大学、香港中文大学
GitHub:https://github.com/open-mmlab/mmselfsup/tree/dev-1.x/configs/selfsup/pixmim

问题与贡献

在MIM(Maksed Image Modeling)任务中,随着Maked Autoencoders(MAE)和BEiT的提出,已经取得很大进步。但是,后续的工作研究要么通过添加新的辅助任务或者额外预训练模型,造成了框架的复杂性,并且引入了额外的计算成本。
本文从pixel重建的角度对MIM进行了详尽的分析,研究了输入图像patchs和重构目标,揭示了两个重要但是之前被忽视的难点bottlenecks。基于上述的分析,本文提出了一个简单且有效的方法,PixMIM,主要包含如下两个策略:

  • filtering the high-frequency components from the reconstruction target to de-emphasize the network’s focus on texture-rich details
  • 从重构目标中过滤高频分量,来弱化网络对纹理丰富细节的关注
  • adopting a conservative data transform strategy to alleviate the problem of missing foreground in MIM training.
  • 采用保守的数据转换策略来缓解MIM训练中前景丢失的问题

PixMIM可以简单嵌入到pixel-based MIM方法中,其增加的计算成本可以忽略不计。
本文通过对MAE算法进行详尽的分析,揭示两个重要问题:

  • 重建目标

现阶段,大多数MIM方法与MAE一样,将原始的像素值作为重建目标,这使得网络需要对masked patchs有优秀的重建能力,包括复杂的细节纹理。这种重建目标使得网络浪费建模能力来关注短期依赖和高频细节。而本文认为在 MIM 任务中,模型应该更关注浅层特征,即形状偏置。
image.png

  • 输入patchs

MAE中使用Random Resized Crop作为数据增强手段,但是,当结合RRC和高掩码率技巧时,MAE输入的patchs平均只占整体目标的17.1%。语义丰富的前景对于模型学习到好的特征是至关重要的。在训练过程中,较低的前景模型收敛会阻碍模型学习形状偏差。
image.png

前置概念和理论

MAE and most pixel-based MIM methods enforce the model to reconstruct intricate details of raw images. These complicated details contain textures with repeated patterns and belong to the high-frequency components in the frequency domain, which are usually independent of object shapes or scene structures.

vision models with stronger shape biases behave more like human visual perception, demonstrating better robustness and performing better when transferred to downstream tasks than those with stronger texture biases.

现在的MIM模型的重建目标,不可避免地会引入texture biases,偏离了之前工作地初衷,可能损害representation质量。与之对应的是,模型应该在重建目标中弱化high-frequency分量
如下图所示,作者为了评估MIM算法中输入patchs中包含目标的百分比,提出了以下的重叠面积计算公式。图中A1为原图中目标的区域,A2为裁剪后图像中目标的区域,A2和A1的比值可以得出占比。
image.png
作者发现,在MAE算法中,当使用RRC数据增强后,比值为68.3%,RRC结合掩码之后,占比只有17.1%,说明MAE的输入中缺乏有效的前景信息。如DeiT Ⅲ中提出的:前景相对于背景能编码更多语义信息,缺乏前景信息会导致在下游任务中优化欠佳。因此,需要一个简单的方法来保留更多的前景信息

模型、理论和方法

针对MAE,或者MIM系列算法中,存在的两个问题,提出了两个解决方案:

  • 生成low-frequency重建目标
  • 使用更加保守的数据增强方法替代RR

image.png

生成Low-frequency重建目标

为了削弱模型学习到texture为主导的high-frequency细节信息,提出了一个新的目标生成器decoder,生成的目标依旧是RGB像素值,但是过滤掉了high-frequency分量。
具体而言,生成low-frequency目标分为如下三步:

  1. domain conversion from spatial to frequency(空间域到频率域的转换);

对于输入的图像,使用2D的离散傅里叶变换,将内容从空间域转换到频域,公式如下:
F D F T ( I i ) ( u , v ) = ∑ h = 0 H − 1 ∑ w = 0 W − 1 I i ( h , w ) e − i 2 π ( u h H + v w W ) F_{DFT}(I_i)(u,v)=\sum_{h=0}^{H-1}\sum_{w=0}^{W-1}I_i(h, w)e^{-i2\pi(\frac{uh}{H}+\frac{vw}{W})} FDFT(Ii)(u,v)=h=0H1w=0W1Ii(h,w)ei2π(Huh+Wvw)

  1. low-frequency components extraction(低频成分提取);

为了只获取图像的低频信息,使用如下公式对图像的频域。

  1. reconstruction target generation from frequency domain(频域重建目标生成).

更加保守的数据增强方案

为了更好的保留输入前景信息,没有修改高掩码方式,而是提出了一个更加保守的数据增强方案。
image.png
Simple Resized Crop(SRC),最先在AlexNet中被使用,具体做法是先讲最短边resize到输入大小,然后在两侧应用 4 像素的反射填充,最后随机裁剪一个输入大小的区域。
CenterCrop(CC),就是从图像中间裁剪一个固定大小的区域。
最后可以看到SRC的前景占比为22.1%,非常接近25%(掩码率为75%)。

实验与结论

方法应用

将PixMIM应用到MAE、ConvMAE和LSMAE上,比较它们之间的结果。在linear probe、object detection和semantic segmentation上取得了极佳的效果。
image.png
此外,为了更好可视化地查看模型之间的差异,对不同epoch下模型的性能进行了绘图,可以看到PixMIM的曲线都在原方法之上。
image.png

鲁棒性评估

通过在ImageNet的变体:ImageNet-Corruption,ImageNet-Adversarial,ImageNet-Rendition和ImageNet-Sketch上的测试结果来评估预训练模型的鲁棒性,因为这些数据集相对于ImageNet都引入了domain shifts。
image.png

形状偏差分析

image.png

消融实验

过滤高频分量

低频带宽 r r r对于结果的影响,可以看到,当bandwidth为40时,PixMIM相对于baseline在linear probe和segmentic上分别提升了1.2%和1.7%。较小的bandwidth会抛弃到图像中比较重要的信息,而较大的bandwidth无法有效地移除不重要地texture。
image.png

使用SRC

下图比较了不同数据增强方式下模型的表现。在MAE上,SRC相对于RRC在linear probe和semantic上都取得较好的提升。然而,在DeiTⅢ上,用 SRC 替换 RRC 会降低性能,因为它会降低裁剪图像的多样性并削弱模型的泛化能力。
在MIM,RRC会导致前景的丢失,通过后续CC(centercrop)的实验可以进一步验证这个结论。
image.png
下图展示了PixMIM中两个组件一起之后的效果。
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1092242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻阴影整理

虚拟阴影贴图(VSM)是一种全新的阴影贴图方法,可以提供稳定的高分辨率阴影。通过与虚幻引擎5的Nanite虚拟几何体、Lumen全局光照和反射以及世界分区功能结合使用,它能够实现电影级的品质效果,为大型开放场景提供光照。 …

C#,数值计算——数据建模Plog的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class Plog { private int ndat { get; set; } private double[] dat { get; set; } private double[] stau { get; set; } private double[] slogtau { get; set; …

【Redis】使用Java客户端操作Redis

目录 引入jedis依赖连接Redis命令get/setexists/delkeysexpire/ttltype 引入jedis依赖 连接Redis 命令 get/set exists/del keys expire/ttl type

简单三步,让你的二维码焕发新生

在当今数字化时代,二维码已经成为了我们日常生活和工作中不可或缺的一部分。然而,你是否厌倦了那些单调、乏味的二维码?是否希望你的二维码能够更加美观、个性化?接下来,就让我们一起走进二维码的美化之旅。 首先&…

8.Covector Transformation Rules

上一节已知,任意的协向量都可以写成对偶基向量的线性组合,以及如何通过计算基向量穿过的协向量线来获得协向量分量,且看到 协向量分量 以 与向量分量 相反的方式进行变换。 现要在数学上确认协向量变换规则是什么。 第一件事:…

学习记忆——数学篇——案例——代数——不等式——一元二次不等式

重点记忆法 归类记忆法 解一元二次不等式的步骤 1.先化成标准型&#xff1a; a x 2 b x c > 0 ( 或 < 0 ) ax^2bxc>0(或<0) ax2bxc>0(或<0)&#xff0c;且a >0&#xff1b; 2.计算对应方程的判别式 △ △ △&#xff1b; 3.求对应方程的根&#xff1b…

Spring-学习

Spring&#xff1a; 图片出处&#xff1a;b站黑马 ssm学习截图 是一个大家族 &#xff0c;是一套完整的开发生态圈。可以利用这个spring全家桶快速构建企业级开发环境。 Spring Freamwork 是其他框架的基础 Springbot 使用了注解开发 SpringCloud 分布式 云服务 Sprin…

ShopXO download 任意文件读取

漏洞描述 ShopXO存在任意文件读取漏洞&#xff0c;攻击者可利用该漏洞获取敏感信息 漏洞复现 访问url&#xff1a; 构造payload 漏洞证明&#xff1a; 文笔生疏&#xff0c;措辞浅薄&#xff0c;望各位大佬不吝赐教&#xff0c;万分感谢。 免责声明&#xff1a;由于传播或…

想要精通算法和SQL的成长之路 - 连续的子数组和

想要精通算法和SQL的成长之路 - 连续的子数组和 前言一. 连续的子数组和1.1 最原始的前缀和1.2 前缀和 哈希表 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 连续的子数组和 原题链接 1.1 最原始的前缀和 如果这道题目&#xff0c;用前缀和来算&#xff0c;我们的思路…

基于Java的点歌管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

车载电子电器架构 —— 国产基础软件现在与未来

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

【Vue 2】Props

Prop大小写 Prop的命名规则有camelCase&#xff0c;驼峰命名和kebab-case&#xff0c;短横线分隔。 由于HTML对大小写不敏感&#xff0c;所以浏览器会把大写字母解释为小写字母。 当我们使用camelCase命名prop时&#xff0c;在Dom中的template模板使用该prop就需要换成对应的…

【LeetCode】17. 电话号码的字母组合

1 问题 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits “23” 输出&…

微信小程序入门->小程序简介,小程序商城项目案例,小程序入门案例及目录结构

1.小程序简介 什么是小程序&#xff1f; 1. 2017年度百度百科十大热词之一 2. 微信小程序&#xff08;wei xin xiao cheng xu&#xff09;&#xff0c;简称小程序&#xff0c;英文名Mini Program&#xff0c;是一种不需要下载安装即可使用的应用( 张小龙对其的定义是无需安装&a…

Linux8yum安装mysql5.7版本流程

Linux8yum安装mysql Linux8yum安装报错解决 yum安装流程 首先下载mysql的yum配置 wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装mysql源 yum -y install mysql57-community-release-el7-11.noarch.rpm安装mysql yum -y install mysql-s…

Leetcode算法解析——查找总价格为目标值的两个商品

1. 题目链接&#xff1a;LCR 179. 查找总价格为目标值的两个商品 2. 题目描述&#xff1a; 商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况&#xff0c;返回任一结果即可。 示例 1&#xff1a; 输入&#xff1a;price …

分布式链路追踪如何跨线程

背景 我们希望实现全链路信息&#xff0c;但是代码中一般都会异步的线程处理。 解决思路 我们可以对以前的 Runable 和 Callable 进行增强。 可以使用 ali 已经存在的实现方式。 TransmittableThreadLocal (TTL) 解决异步执行时上下文传递的问题 核心的实现思路如下&#…

C++程序加速方法

C程序加速方法 1. 将反复使用的数据存放在全局变量里面2. 使用多线程3. 用a和a&#xff0c;a–,--a4. 减少除法运算5. 尽量减少值传递&#xff0c;多用引用来传递参数。6. 循环引发的讨论1&#xff08;循环内定义&#xff0c;还是循环外定义对象&#xff09;7. 循环引发的讨论2…

Word论文封面下划线怎么都对不齐

我们常常发现&#xff0c;无论是写论文还是平时填写word封面的信息的时候&#xff0c;下划线老是随着字符的多少的边长变短&#xff0c;我们使用空格键也非常不好对齐&#xff0c;这就给我们造成了很大的烦恼&#xff0c;想想自己也是这样&#xff0c;我一旦输入字符&#xff0…

JVM:虚拟机类加载机制

JVM:虚拟机类加载机制 什么是JVM的类加载 众所周知&#xff0c;Java是面向对象编程的一门语言&#xff0c;每一个对象都是一个类的实例。所谓类加载&#xff0c;就是JVM虚拟机把描述类的数据从class文件加载到内存&#xff0c;并对数据进行校验&#xff0c;转换解析和初始化&a…