NeurIPS 2023 | 李飞飞团队提出SiamMAE:孪生掩码自编码器,刷榜视觉自监督方法

在计算机视觉领域,想要建立图像和场景(scene)之间之间的对应关系是一项比较困难的任务,尤其是在存在遮挡、视角改变或是物体外观发生变化的情况下。

最近,斯坦福大学李飞飞团队对MAE进行扩展,提出了孪生掩码自编码器SiamMAE(Siamese Masked Autoencoders)以学习视频中的视觉对应关系。、图片

论文链接(收录NeurIPS 2023 Oral):

https://siam-mae-video.github.io/resources/paper.pdf

主页:https://siam-mae-video.github.io/

先随机采样两个视频帧,并进行非对称掩码操作;然后SiamMAE编码器网络对两个帧进行独立处理,最后使用交叉注意层组成的解码器来预测未来帧(future frame)中丢失的图像块。

通过对未来帧中的大部分(95%)图像块进行掩码,同时保持过去帧(past frame)图像不变,SiamMAE促使网络专注于物体运动,并学习以物体为中心的表征。
在这里插入图片描述

尽管整个网络的设计概念比较简单,但通过SiamMAE学习到的特征在视频物体分割、姿势关键点传播和语义部分传播任务上都优于最先进的自监督方法。

SiamMAE在不依赖于数据增强、基于手工跟踪的前置任务或其他技术来防止表征崩溃的情况下,实现了非常有竞争力的性能。

孪生掩码自编码器
研究人员的目标是开发一种自监督的方法来学习对应关系,主要是将掩码自编码器(MAE)模型扩展到视频数据中。

在这里插入图片描述
Patchify
给定具有L帧的视频剪辑,首先随机采样两个视频帧,两帧之间的距离通过从预定的potential frame gaps范围中选择一个随机值来确定。

与原始ViT模型类似,通过将每个帧转换为一系列不重叠的N×N个patch来拼接视频帧。

最后,把位置嵌入加到线性投影上,并附加一个[CLS]标记,需要注意的是没有使用时序位置嵌入。

Masking
像图像和视频这样的自然信号是高度冗余的,分别表现为空间和时空上的冗余。为了创造一个具有挑战性的预测性自监督学习任务,MAEs随机掩码了75%的图像patch,视频数据的掩码率提升到90%,并且对每帧都使用相同的掩码率。

这种设计可以使网络无法利用和学习到时间上的对应关系,避免在对应关系学习基准上达到次优性能。

研究人员认为,不对称的掩码可以创造一个更有挑战性的自监督学习任务,并且可以鼓励网络学习时间上的相关性。

所以对于采样的两个视频帧,对第一帧选择不掩码,对第二帧选择掩码95%,这样就可以将整个过去帧(entire past frame)作为输入,网络只需要将其扩散到未来中的适当位置即可,可以促进网络对物体运动进行建模并关注物体的边界。

图片

为了进一步增加任务的难度,两个视频帧之间具有更大的时间间隔,尽管可能会导致对未来的预测变得模糊,并可能产生多种合理的结果,但为第二帧提供少量的patch作为输入,可以让网络的自监督学习变得更困难。

编码器
研究人员探索了两种不同的编码器配置来处理输入帧。

联合编码器(joint encoder) 是图像MAEs在一对视频帧上的扩展,把两帧未掩码的图像patch串联起来,然后输入到标准的ViT编码器中进行处理。

孪生编码器(siamese encoder) 是用于比较实体的权重共享神经网络,是对比表征学习方法的一个重要组件,用于对应学习(corresponding learning)时通常需要一些信息瓶颈来防止网络学习的解决方案,如使用颜色通道dropout来迫使网络避免依赖颜色来匹配对应关系。

在这篇论文中,研究人员使用孪生编码器来独立处理两幅图像,使用非对称掩码作为信息瓶颈。

解码器

编码器的输出通过线性层进行投影,并加入带有位置嵌入的[MASK] token,以生成对应于输入帧的所有token

研究人员探索了三种不同的解码器配置:
联合解码器(joint decoder) 在两帧的token串联上使用原版Transformer模块,其主要缺点是对GPU内存的需求大幅增加,特别是在使用较小的patch尺寸时。

交叉自解码器(cross-self decoder) 与原版Transformer模型的编码-解码器设计类似,每个解码器块由一个交叉注意力层和一个自注意力层组成,来自第二帧的token通过交叉注意力层与第一帧的token进行注意力操作,然后通过自注意力层进行相互融合。

可以注意到,交叉注意力层在功能上类似于自监督对应学习方法中经常使用的affinity矩阵。

交叉解码器(cross decoder) 由交叉注意力层的解码器块组成,其中来自第二帧的token与来自第一帧的token进行注意力操作。

最后,解码器的输出序列被用来预测掩码图像块中的归一化像素值,在解码器的预测和真实值之间使用L2损失。

实验结果
图片

视频物体分割
在多物体分割基准数据集DAVIS 2017上,使用480p分辨率的图像对模型进行评估。
实验结果可以发现SiamMAE明显优于VideoMAE(从39.3%提升到62.0%),研究人员将其归因于VideoMAE中使用了tube掩码方案,使得模型无法学习时间上的对应关系。

图片
与DINO类似,研究人员也发现降低patch的尺寸会带来明显的性能提升。

并且文中使用的ViT-S/8(+9.4%)模型优于之前所有的对比学习和自监督的对应学习方法。

图片

还可以注意到尽管较大的MAE-ST模型(ViT-L/16,304M参数)在随机掩码的情况下比VideoMAE表现更好,但其性能仍然落后于SiamMAE相当多。

而且在视频上训练的MAE与图像MAE的表现相似,视频与图像的不同之处在于,图像是(近似)各向同性的,时间维度是特殊的,并不是所有的时空方向都是同等可能的。

因此,对称地处理空间和时间信息可能是次优的。

视频部分分割(Video Part Segmentation)
在视频实例解析(Video Instance Parsing, VIP)基准上对SiamMAE进行评估,该基准包括为20个不同的人体部位传播语义掩码。

与评估的其他数据集相比,VIP特别具有挑战性,因为包括更长的视频(最长120秒)。

与先前工作类似,使用560×560的图像和单一背景帧进行评估后,可以发现ViT-S/8模型性能大大超越了DINO (从39.5提升到45.9)。

图片

SiamMAE从更小的patch尺寸中,比DINO受益更多,实现了+8.6的mIoU评分,比DINO的+3.3 mIoU有所提高。

SiamMAE也优于之前所有的对比学习和自监督的对应关系学习方法。

姿势追踪(pose tracking)
在关键点传播的任务上对SiamMAE进行了评估,需要传播15个关键点,并且要求空间上的精确对应关系,使用320×320的图像和一个单一的背景帧,SiamMAE的性能优于所有其他模型,并且比DINO更受益于较小的patch尺寸(+14.9到+10.9 PCK@0.1)

图片

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

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

相关文章

Tensorflow入门之 Hello World

Tensorflow入门之 Hello World 简介 Tensorflow 是 Google 开源的深度学习框架,来自于 Google Brain 研究项目,在 Google 第一代分布式机器学习框架 DistBelief 的基础上发展起来。 Tensorflow 的官方网址 http://www.tensorflow.org Tensorflow 的 G…

基于边缘网关的智慧工地监测方案

边缘物联网技术为千行百业赋能,依托边缘计算的低延时、高效率、广适用优势,也为工程建设产业带来新的增长动力。 例如在智慧工地应用中,围绕建设施工过程中的人员、设备、环境等要素,利用边缘计算网关构建全面的数据采集、分析、联…

web3.0时代分布式网络协议的异同

Web3.0时代标志着分布式网络协议的兴起,其中IPFS(InterPlanetary File System)和NDN(Named Data Networking)是备受瞩目的项目。尽管它们都属于分布式网络协议领域,但在多个方面存在显著区别。以下是IPFS和…

WebSocket ----苍穹外卖day8

介绍 实现步骤 各个模块详解 OnOpen OnOpen:标记一个方法作为处理WebSocket连接打开的方法 当一个客户端与服务器建立 WebSocket 连接时,服务器会接收到一个连接请求。一旦服务器接受了这个连接请求,一个 WebSocket 连接就会被建立。这时,被…

wpf中prism框架

安装prism包: 添加引用 using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; using Prism.DryIoc; using Prism.Ioc;namespace PrismDemo …

【Amazon】基于AWS云实例(CentOS 7.9系统)使用kubeadm方式搭建部署Kubernetes集群1.25.4版本

文章目录 前言实验架构介绍K8S集群部署方式说明使用CloudFormation部署EC2实例集群环境准备修改主机名并配置域名解析(ALL节点)禁用防火墙禁用SELinux加载br_netfilter模块安装ipvs安装 ipset 软件包同步服务器时间关闭swap分区安装Containerd 初始化集群…

Flutter_Slider_SliderTheme_滑杆/滑块_渐变色

调用示例以及效果 SliderTheme(data: SliderTheme.of(context).copyWith(trackHeight: 3,// 滑杆trackShape: const GradientRectSliderTrackShape(radius: 1.5),// 滑块thumbShape: const GradientSliderComponentShape(rectWH: 14, overlayRectSpace: 4, overlayColor: Colou…

数据采集时使用HTTP代理IP效率不高怎么办?

目录 前言 一. 测试代理IP速度 二. 调整连接池大小 三. 多线程并发采集 四. 选择稳定的代理服务商 总结 前言 数据采集作为爬虫的重要环节之一,常常会遇到反爬虫的机制,封禁IP等等问题。为了规避这些问题,我们可以使用HTTP代理IP来进行…

react中预览excel表格

查了很多资料,很多插件,有很多也用不了,最后试了xlsx这个插件,可以使用。 话不多少了,直接放代码吧: 1.代码实现 fetch(API).then((res: any) > {res?.blob().then((r: any) > {const reader ne…

HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

云端服务的实现是HarmonyOS/OpenHarmony原生应用开发的一个重要的环节,如果用户端是鸿蒙原生应用,但是服务端即云端还是基于传统的各种WEB网络框架、数据库与云服务器,那么所谓的原生应用开发实现的数据即后端服务是和以前、现在的互联网、移…

【华为OD机考B卷 | 100分】统计监控、需要打开多少监控器(JAVA题解——也许是全网最详)

前言 本人是算法小白,甚至也没有做过Leetcode。所以,我相信【同为菜鸡的我更能理解作为菜鸡的你们的痛点】。 题干 OD,B 卷 100 分题目【OD 统一考试(B 卷)】 1. 题目描述 某长方形停车场每个车位上方都有一个监控…

常见算法-洗扑克牌(乱数排列)

常见算法-洗扑克牌(乱数排列) 1、说明 洗扑克牌的原理其实与乱数排列是相同的,都是将一组数字(例如1∼N)打乱重新排列,只不过洗扑克牌多了一个花色判断的动作而已。 初学者通常会直接想到,随…

vue2踩坑之项目:Swiper轮播图使用

首先安装swiper插件 npm i swiper5 安装出现错误:npm ERR npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: vue/eslint-config-standard6.1.0 npm ERR! Found: eslint-plugin-vue8.7.1 npm ERR! node_modules/esl…

NPM 常用命令(十)

目录 1、npm prefix 1.1 使用语法 1.2 描述 1.3 示例 2、npm prune 2.1 使用语法 2.1 描述 3、npm publish 3.1 使用语法 3.2 描述 包中包含的文件 4、npm query 4.1 使用语法 4.2 描述 4.3 示例 5、npm rebuild 5.1 使用语法 5.2 描述 6、npm repo 6.1 使…

PyQt5配置踩坑

安装步骤比较简单,这里只说一下我踩的坑,以及希望一些大佬可以给点建议。 一、QtDesigner 这个配置比较简单,直接就能用,我的配置如下图: C:\Users\lenovo\AppData\Roaming\Python\Python311\site-packages\qt5_app…

linux centos Python + Selenium+Chrome自动化测试环境搭建?

在 CentOS 系统上搭建 Python Selenium Chrome 自动化测试环境,需要执行以下步骤: 1、安装 Python CentOS 7 自带的 Python 版本较老,建议使用 EPEL 库或源码安装 Python 3。例如,使用 EPEL 库安装 Python 3: sud…

Selenium进行无界面爬虫开发

在网络爬虫开发中,利用Selenium进行无界面浏览器自动化是一种常见且强大的技术。无界面浏览器可以模拟真实用户的行为,解决动态加载页面和JavaScript渲染的问题,给爬虫带来了更大的便利。本文将为您介绍如何利用Selenium进行无界面浏览器自动…

A Survey and Framework of Cooperative Perception 论文阅读

论文链接 A Survey and Framework of Cooperative Perception: From Heterogeneous Singleton to Hierarchical Cooperation 0. Abstract 首次提出统一的 CP(Cooperative Percepetion) 框架回顾了基于不同类型传感器的 CP 系统与分类对节点结构&#x…

lua 中文字符的判断简介

一般在工作中会遇到中文字符的判断、截断、打码等需求,之前一直没有总结,虽然网上资料也多,今天在这里简单的总结一下。 1 .UTF-8简单描述 UTF-8 是 Unicode 的实现方式之一,其对应关系(编码规则)如下表所…