【论文笔记】Fine-tuned CLIP Models are Efficient Video Learners

news2025/1/15 8:32:19

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: Fine-tuned CLIP Models are Efficient Video Learners
作者: Hanoona Rasheed, Muhammad Uzair Khattak, Muhammad Maaz, Salman Khan, Fahad Shahbaz Khan
arxiv: https://arxiv.org/abs/2212.03640

基本信息

这项工作探讨了名为ViFi-CLIP(Video Fine-tuned CLIP)的简单基线在将图像预训练的CLIP适应视频领域方面的能力。图示比较了vanilla CLIP及其针对视频进行适配的几个变体(在Kinetics-400上训练,在UCF-101和HMDB-51上评估)的无监督性能。从ViFi-CLIP(第4列)获得的视频嵌入的t-SNE可视化与vanilla CLIP(第1列)、单独调优的视频文本CLIP(第2列)和图像编码器(第3列)的嵌入以及最新的最先进工作XCLIP(最后一列)的嵌入进行了比较(Δ表示与XCLIP的差异)。ViFi-CLIP的嵌入具有更好的可分离性,表明对CLIP的简单微调足以学习合适的视频特定归纳偏差,并且可以与具有专门组件以模拟视频时间信息的更复杂方法相媲美。

摘要

大规模的图像-文本对多模态训练赋予了CLIP模型强大的泛化能力。由于在类似规模上对视频进行训练不可行,最近的方法集中于有效地将基于图像的CLIP迁移到视频领域。在此追求中,添加了新的参数模块来学习时间信息和帧间关系,这需要细致的设计努力。

此外,当在视频上学习得到的模型时,它们往往在给定的任务分布上过度拟合,且在泛化方面存在不足。这引发了一个问题:如何有效地将图像级别的CLIP表示迁移到视频中?

在本工作中,我们表明简单的Video Fine-tuned CLIP(ViFi-CLIP)基线通常足以弥合从图像到视频的领域差距。

我们的定性分析表明,CLIP图像编码器的帧级处理,随后与相应的文本嵌入进行特征池化和相似度匹配,有助于在ViFi-CLIP中隐式地建模时间线索。这种微调有助于模型专注于场景动态、移动对象和对象间关系。对于低数据情况下,全量微调不可行,我们提出了一种“bridge and promp”方法,首先使用微调来弥合领域差距,然后在语言和视觉方面学习提示以适应CLIP表示。

我们在五个视频基准上对这种简单而强大的基线进行了广泛的评估,包括零样本、基线到新领域泛化、少样本和全监督设置。

我们的代码和预训练模型可在https://github.com/muzairkhattak/ViFi-CLIP上获取。

主要贡献

  • 我们提出了一种简单但强大的基线,ViFi-CLIP(Video Fine-tuned CLIP),用于将基于图像的CLIP应用于视频特定任务。我们表明,对CLIP进行简单的微调就足以学习视频特定的归纳偏差,从而在下游任务上取得了令人印象深刻的性能。
  • 我们对四种不同的实验设置进行了实验,包括零样本、基于基础到新领域的泛化、少样本和全监督任务。与最先进的方法相比,我们展示了更好的或具有竞争力的性能。
  • 我们展示了我们提出的“bridge and promp”方法的有效性,该方法首先通过微调来弥合模态差距,随后在CLIP模型的视觉和语言分支中进行提示学习,适用于低数据环境。

方法

整体框架

ViFi-CLIP

  • Temporal Pooling: Mean Pooling
  • Image Encoder / Text Encoder: CLIP (ViT-B/16)

bridge and prompt

VL prompting

实验

  • Zero-shot setting: 源数据集上训练,目标数据集上测试,两个数据集的标签交集为空。
  • Base-to-novel generalization: 在数据集上样本数量最多的一半类别上训练,在整个数据集上测试。
  • Few-shot setting: 每个类别取 K 个样本训练。
  • Fully-supervised setting: 正常。

ViFi-CLIP

Table 1

Table 2

HM: Base和Novel的调和平均

Table 3

Table 4

Attention map visualizations

Generalization to out-of-distribution examples

VL prompting

Table 7 & Table 8

总结

这项工作展示了将基于图像的CLIP模型转移到视频领域的一个常被忽视但简单的基线的重要性。

我们证明了仅对视频数据进行视觉和文本编码器的微调,在监督任务以及泛化任务上表现良好。

结果表明,与为视频专门开发的复杂方法相比,简单解决方案在大多数情况下都具有可扩展性和优势。

在无法进行微调的情况下,我们还提出了一种bridge and prompt方案,该方案使用视频微调表示来快速适应下游视频应用。

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

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

相关文章

QT实现改变窗口大小其子控件也自动调节大小

创建一个顶层布局即可,一定要在MainWindows或者Widget的下面! 观察图标变化 带有禁止的意思是分拆布局(当前无布局) 现在是添加布局后了 注意:一定是在MainWindows或Widget才可以添加顶层布局,才可以实现…

antDesign Form.List下的Form.Item如何通过setFieldsValue设置值

翻了一下antDesign官网只看见了Form可以使用setFieldsValue设置值,却没找到Form.List使用setFieldsValue设置值。 于是研究了一下!!!!!! 我的解决方案是: 先设置为空数组, 再设置成…

241014-绿联UGOSPro-通过虚拟机访问主机的用户目录及文件夹

如图所示,两种方式; 方式1: 通过Files中的Other Locations 添加主机ip,随后输入主机的用户名及密码即可系统及文件加载可能需要一段时间,有点卡,加载完应该就可以点击访问了 方式2: 通过命令行直接ssh/sftp userna…

解锁C++继承的奥秘:从基础到精妙实践(下)

文章目录 前言🥐五、多继承,菱形继承和菱形虚拟继承🧀5.1 多继承🧀5.2 菱形继承🧀5.3 虚拟继承(解决菱形继承问题)5.3.1 虚拟继承的语法:5.3.2 虚拟继承示例: &#x1f9…

C语言 | Leetcode C语言题解之第479题最大回文数乘积

题目: 题解: int largestPalindrome(int n){if (n 1) {return 9;}int upper pow(10, n) - 1;for (int left upper;; --left) { // 枚举回文数的左半部分long p left;for (int x left; x > 0; x / 10) {p p * 10 x % 10; // 翻转左半部分到其自…

相机畸变模型

文章目录 概述相机畸变类型径向畸变切向畸变 畸变数学模型径向畸变模型切向畸变模型畸变数学模型总结 去畸变数学过程去畸变步骤 畸变测试结论参考 概述 相机畸变是图像处理和计算机视觉中的常见问题。由于透镜的物理特性,图像边缘的物体往往会呈现扭曲&#xff0c…

(34)FFT与信号频谱(双边谱)

文章目录 前言一、仿真代码二、仿真结果画图 前言 本文首先使用MATLAB生成一段余弦信号,然后对其进行FFT变换,给出了信号的双边幅度谱。 一、仿真代码 代码如下(示例): %% 生成余弦波 % 指定信号的参数,…

k8s中的微服务

一、什么是微服务 用控制器来完成集群的工作负载,那么应用如何暴漏出去?需要通过微服务暴漏出去后才能被访问 Service是一组提供相同服务的Pod对外开放的接口。 借助Service,应用可以实现服务发现和负载均衡。 service默认只支持4层负载均…

Java 输入与输出(I\O)详解

一、Java 输入与输出(I\O)系统概述 Java 输入/输出流(Input/Output,简称I/O)是Java语言用于读写数据的API,它提供了一系列类和接口,用于读取和写入各种类型的数据信息。 输入/输出(I/O&#xff…

SpringBoot项目热部署-devtools

DevTools 会使用两个类加载器&#xff08;一个用于加载不变的类&#xff0c;一个用于加载可能会变化的类&#xff09;&#xff0c;每次重启只重新加载管理变化的类的加载器&#xff0c;因此会快很多 1.导入依赖 <dependency> <groupId>org.springframework.boot&l…

动态设置placeholder-class.默认搜索图标在中间获取焦点之后再左边

默认状态:placeholder和图标在中间位置 获取焦点&#xff1a;placeholder和图标在左边光标前面位置 动态设置placeholder-class <view class"search"><input type"search" class"select-input" input-align"center" v-model.…

算法题---动态规划

题目展示&#xff1a; 动态规划的题目我们一半分为5个步骤去分析&#xff0c;第一&#xff0c;状态表示&#xff1b;第二&#xff0c;动态转移方程&#xff1b;第三&#xff0c;初始化&#xff1b;第四&#xff0c;填表顺序&#xff1b;第五&#xff0c;返回值。 状态表示 这…

[权威出版|稳定检索]2024年大数据经济与公共管理国际会议(BDEPM 2024)

2024年大数据经济与公共管理国际会议 2024 International Conference on Big Data Economy and Public Management 【1】大会信息 会议名称&#xff1a;2024年大数据经济与公共管理国际会议 会议简称&#xff1a;BDEPM 2024 大会时间&#xff1a;请查看官网 大会地点&#xf…

网络协议原理

文章目录 TCP通信原理TCP与UDP的对比应用层应用层协议 --- tcp协议定制直接传递对象自定义协议现在要解决的问题业务处理 json的使用使用json进行序列化和反序列化操作 总结 TCP通信原理 tcp是面向字节流的 同时他也是面向连接的 所以TCP的服务器编写代码如图所示: 客户端的编…

Scala入门基础(10)高级函数

一.什么是高阶函数 二.map函数 三.foreach函数 四.filter函数 五.flatten函数 正文&#xff1a; 一.什么是高阶函数 高阶函数&#xff1a;是一个特殊的函数&#xff0c;特殊之处在于&#xff1a;它指使用其他函数作为参数或返回值 &#xff08;演示&#xff09; 二.map函…

maven项目打jar包之后如何指定外部配置文件运行java类

在maven项目中,常常会用到一些配置文件,一旦打成jar包之后,想要用外部的配置文件运行,怎么做呢? 一、配置文件config.ini 在maven项目中的src/main/resources目录下存放了一个配置文件config.ini。这个文件是默认的配置文件。 db.url=jdbc:mysql://localhost:3306/qyxx?u…

【JavaScript】LeetCode:66-70

文章目录 66 组合总和67 括号生成68 单词搜索69 分割回文串70 N皇后 66 组合总和 回溯sum&#xff1a;当前组合的数字和。递归终止条件&#xff1a;sum > target。收集结果条件&#xff1a;sum target&#xff0c;找到了满足条件的组合。注意&#xff1a;因为可以重复取数&…

亚洲最具影响力人物颜廷利:心理健康对身体健康的重要影响

在当代社会&#xff0c;面对疾病与痛苦&#xff0c;人们往往在西医与中医之间做出选择。21世纪世界上知名度最高的人物颜廷利教授的精辟见解指出了这两种医学体系的根本差异&#xff1a;西医以其高昂的费用&#xff0c;针对生理上的疾苦提供快速而直接的解决之道&#xff1b;相…

Python应用指南:利用高德地图API获取公交可达圈

参考文章&#xff1a;城市公交可达圈绘制方法&#xff08;一&#xff09; - 知乎 (zhihu.com) 本篇文章我们聚焦于通过公共交通出行方式&#xff08;包括公交、地铁、公交地铁的组合&#xff09;来获取一定时间内可以到达的范围。为了实现这一目标&#xff0c;我们将使用高德地…

在 Android 应用程序中实现与WebSocket 服务器的实时通信

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…