比MAE更强,FAIR新方法MaskFeat用HOG刷新多个SOTA

简介: 比MAE更强,FAIR新方法MaskFeat用HOG刷新多个SOTA
mask-and-predict 的方法可能会成为计算机视觉领域的新流派。

自监督预训练在自然语言处理方面取得了惊人的成功,其基本思路中包含着掩码预测任务。前段时间,何恺明一作的论文《Masked Autoencoders Are Scalable Vision Learners》提出了一种简单实用的自监督学习方案 MAE,将 NLP 领域的掩码预测(mask-and-predict)方法用在了视觉问题上。现在来自 Facebook AI 研究院(FAIR)的研究团队又提出了一种自监督视觉预训练新方法 MaskFeat。



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

MaskFeat 首先随机掩码一部分输入序列,然后预测被掩码区域的特征。通过研究 5 种不同类型的特征,研究者发现方向梯度直方图 (HOG) 是一种很好的特征描述方法,在性能和效率方面都表现优异。并且研究者还观察到 HOG 中的局部对比归一化对于获得良好结果至关重要,这与之前使用 HOG 进行视觉识别的工作一致。

该方法可以学习丰富的视觉知识并驱动基于 Transformer 的大规模模型。在不使用额外的模型权重和监督的情况下,MaskFeat 在未标记的视频上进行预训练,使用 MViT-L 在 Kinetics-400 上实现了前所未有的 86.7% top-1 准确率。此外,MaskFeat 还能进一步推广到图像输入,并在 ImageNet 上获得了有竞争力的结果。

方法

掩码视觉预测任务旨在修复被掩码的视觉内容。通过建模掩码样本,该模型从识别物体的部位和运动的意义上实现了视频理解。例如,要补全下图中的图像,模型必须首先根据可见区域识别对象,还要知道对象通常的形态和移动方式,以修复缺失区域。


该任务的一个关键组成部分是预测目标。在自然语言处理任务中,掩码语言建模使用词表 tokenize 语料库作为目标。而在视觉领域,原始视觉信号是连续的、高维的,并且没有可用的自然「词表」。

因此,MaskFeat 提出将预测被掩码区域的特征。借助从原始完整样本中提取的特征进行监督。目标特征的选择在很大程度上影响了预训练模型的属性,该研究对特征进行了广泛的解释,并主要考虑了 5 种不同类型的目标特征。


首先研究者将目标特征分为两组:1) 可以直接获得的单阶段目标,包括像素颜色和 HOG;2) 由经过训练的深度网络提取的两阶段目标。由于预测两阶段目标是借助训练有素的深度网络有效学得的(类似于模型蒸馏),因此教师模型的预训练和推理的额外计算成本是不可避免的。该研究主要探究的 5 种特征类型是:

  • 像素颜色;
  • 方向梯度直方图(HOG);
  • 离散变分自编码器(dVAE);
  • 深度特征;
  • 伪标签。


该研究通过了一系列的分析探究了这 5 种特征的利弊。尽管掩码语言建模最初是在预定义词表上预测分类分布,但 BEiT 中的离散化不需要视觉信息。分析结果表明,连续的无监督特征和图像描述符是性能较好的预测目标,其中前者需要模型蒸馏,后者则不需要额外的计算开销。


此外,研究者还发现监督训练的目标特征会产生较差的结果,这可能与存在于特征中的类级特定信息有关,即这种方法对于局部掩码建模来说过于全局化。总的来说,考虑性能和计算成本之间的权衡,该研究最终选择了 HOG 作为 MaskFeat 的默认特征。

方向梯度直方图(HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述方法,最早是在 CVPR 2005 的一篇论文《Histograms of Oriented Gradients for Human Detection》中提出的。


HOG 特征提取的过程如下:首先把样本图像分割为若干个像素单元,把梯度方向平均划分为多个区间,在每个单元里面对所有像素的梯度方向在各个方向区间进行直方图统计,得到一个多维的特征向量,每相邻的单元构成一个区间,把一个区间内的特征向量联起来得到多维的特征向量,用区间对样本图像进行扫描,扫描步长为一个单元。最后将所有块的特征串联起来,就得到了完整的特征。

基于视频识别的实验

该研究在 K400 数据集上将 MaskFeat 和之前的工作进行了比较,结果如下表 3 所示,使用 MaskFeat 的 MViT-L 在 Kinetics-400 上实现了新的 SOTA——86.7% top-1 准确率。


迁移学习

为了评估该方法在下游任务上的迁移学习性能,该研究在 AVA v2.2 上微调了 MViT-L↑312,40×3 Kinetics 模型,实验结果如上表 3 和下表 4 所示,在 K600 上实现了 88.3% top-1 准确率,K700 上为 80.4%,均实现了新的 SOTA。


该研究在 AVA v2.2 上微调了 MViT-L↑312,40×3 Kinetics 模型,下表 5 给出了 MaskFeat 模型与现有方法相比的平均精度 (mAP)。MaskFeat 在全分辨率测试中达到了前所未有的 38.8 mAP,大大超过了以前所有方法。


感兴趣的读者可以阅读论文原文了解更多研究细节。

相关文章
|
存储 NoSQL 算法
从一个crash问题展开,探索gcc编译优化细节
问题分析的过程也正是技术成长之路,本文以一个gcc编译优化引发的crash为切入点,逐步展开对编译器优化细节的探索之路,在分析过程中打开了新世界的大门……
|
3月前
|
数据安全/隐私保护 Windows
电脑文件夹加密全攻略:Anvi Folder Locker 工具详解(附下载),一键实现锁定、只读、隐藏三重保护
Anvi Folder Locker是由Anvsoft Corporation开发的免费文件夹和文件加密工具,适用于Windows系统。它提供多种保护方式,如隐藏、密码保护、锁定和只读等,确保敏感数据安全。软件功能强大,集成在Windows资源管理器中,支持24/7免费技术支持。用户可自定义权限,防止文件被修改、复制或删除。初次使用需设置主密码,安装后即可快速保护文件夹。
1095 2
|
5月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
373 70
|
网络协议 关系型数据库 MySQL
连接远程mysql数据库失败常见原因及解决办法
1. 没有开启 MySQL 的远程登陆帐号。 1.找到mysql数据库的user表。在user表中新建一条数据,设置User(username)和Host(开放访问MySQL的IP:例如123.118.17.201)以及登录密码。这样就设置了允许访问的用户名和IP地址(若想所有IP都可以访问,则可将Host设置为‘%’,但是这样很危险,不建议)。
8858 0
连接远程mysql数据库失败常见原因及解决办法
|
JavaScript Java 测试技术
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
281 0
|
11月前
|
前端开发 JavaScript UED
react-router 里的 Link 标签和 a 标签有什么区别
`react-router` 中的 `Link` 标签与 HTML 中的 `a` 标签的主要区别在于:`Link` 是专门为 React 应用设计的,用于实现客户端路由导航,不会触发页面的重新加载,而 `a` 标签则会刷新整个页面。使用 `Link` 可以提升应用的性能和用户体验。
|
算法 JavaScript 前端开发
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
国标非对称加密:RSA算法、非对称特征、js还原、jsencrypt和rsa模块解析
889 1
|
数据采集 安全 大数据
隧道代理的定义与应用指南
隧道代理是一种特殊的代理服务,它允许用户通过固定的服务器IP和端口访问互联网。在这个过程中,云端服务器负责自动切换IP地址,从而实现匿名访问。这种服务使用高性能主机构建的动态IP代理服务器,使开发者无需管理IP池,降低了开发难度和部署成本。
|
消息中间件 JavaScript Linux
消息队列 MQ操作报错合集之客户端在启动时遇到了连接错误,是什么原因
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
Shell Linux 编译器
10个基于Linux内核开源项目,你了解几个?(上)
10个基于Linux内核开源项目,你了解几个?