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

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


基本信息

标题: 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.mzph.cn/diannao/56191.shtml

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

相关文章

aws(学习笔记第五课) AWS的firewall SecurityGroup,代理转发技术

aws(学习笔记第五课) AWS的firewall– SecurityGroup,代理转发技术 学习内容: AWS的firewall– SecurityGroup代理转发技术 1. AWS的filewall– SecurityGroup 控制进入虚拟服务器的网络流量 通常的firewall(防火墙)配置 AWS上使用安全组进行网络流量…

SpringCloud-OpenFeign-服务接口调用

是什么 把需要暴露的api使用接口来暴露,客户端需要调用的时候,直接查看这个接口中有没有就可以了 通用步骤 架构说明 common模块 common 引入 openfeign 新建服务接口类 FeignClient(value "cloud-payment-service") // 服务名 public i…

SwiftUI 6.0(iOS 18)自定义容器值(Container Values)让容器布局渐入佳境(上)

概述 我们在之前多篇博文中已经介绍过 SwiftUI 6.0(iOS 18)新增的自定义容器布局机制。现在,如何利用它们对容器内容进行“探囊取物”和“聚沙成塔”,我们已然胸有成竹了。 然而,除了上述鬼工雷斧般的新技巧之外&…

finereport 数据下钻

目标:点击某块汇总的单元格,然后直接在原表的位置下钻到明细表,且不会影响整个大屏的结构,同时又支持明细表再回退到汇总表的功能 1、新建tab组件 1、新建决策报表 将 body 的布局方式改为「绝对布局」 2、将 Tab 块拖入 body…

小白都来用这款AI绘画神器,IDEOGRAM2.0,轻松画出高质量图片

大家好!我是宇航,一位喜欢AI绘画的10年技术专家,专注于输出AI绘画与视频内容 今天给大家介绍一款绝对的生图神器——Ideogram2.0! 不论你是AI小白,手残党还是资深玩家,无论你是做网页设计,电商&#xff0c…

【Python爬虫实战】正则:从基础字符匹配到复杂文本处理的全面指南

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、正则表达式 (一)正则表达式的基本作用 &#xf…

The Android SDK location cannot be at the filesystem root

win11, 安装启动完Android Studio后,一直显示 The Android SDK location cannot be at the filesystem root因此需要下载SDK包,必须开启代理。 开启代理后,在System下开启自动检测代理,如图 重启Android Studio&a…

【微信小程序_11_全局配置】

摘要:本文介绍了微信小程序全局配置文件 app.json 中的常用配置项,重点阐述了 window 节点的各项配置,包括导航栏标题文字、背景色、标题颜色,窗口背景色、下拉刷新样式以及上拉触底距离等。通过这些配置可实现小程序窗口外观的个性化设置,提升用户体验。 微信小程序_11_全…

C语言 | Leetcode C语言题解之第462题最小操作次数使数组元素相等II

题目&#xff1a; 题解&#xff1a; static inline void swap(int *a, int *b) {int c *a;*a *b;*b c; }static inline int partition(int *nums, int left, int right) {int x nums[right], i left - 1;for (int j left; j < right; j) {if (nums[j] < x) {swap(…

树莓派应用--AI项目实战篇来啦-5.OpenCV绘画函数的使用

1. 介绍 OpenCV作为一款功能强大的计算机视觉库&#xff0c;被广泛地应用于图像处理和计算机视觉领域。 除了在机器视觉和人工智能领域有者广泛的应用&#xff0c;OpenCV 还能够媲美艺术家的创造力&#xff0c;通过其强大的绘图函数&#xff0c;绘制出令人叹为观止的艺术画作。…

flask项目框架搭建

目录结构 blueprints python包&#xff0c;蓝图文件&#xff0c;相当于路由组的概念,方便模块化开发 例如auth.py文件 from flask import Blueprint, render_templatebp Blueprint("auth", __name__, url_prefix"/auth")bp.route("/login") d…

Python数据可视化常用工具,值得收藏!!!

我们了解了如何使用 Pandas 进行简单的绘图,使用 Pandas 自带的绘图功能能够快速地生成一些基本的图表,例如折线图、柱状图等.但为了实现更复杂或专业的可视化效果,我们通常还需要借助更为强大的绘图库——Matplotlib. 本篇文章将详细介绍如何结合 Matplotlib 和 Pandas 实现数…

Redis-缓存一致性

缓存双写一致性 更新策略探讨 面试题 缓存设计要求 缓存分类&#xff1a; 只读缓存&#xff1a;&#xff08;脚本批量写入&#xff0c;canal 等&#xff09;读写缓存 同步直写&#xff1a;vip数据等即时数据异步缓写&#xff1a;允许延时&#xff08;仓库&#xff0c;物流&a…

C++: AVL树的实现

一.AVL树的旋转 AVL树是平衡搜索二叉树的一种。 平衡因子&#xff1a;节点右树的高度减左树的高度&#xff0c;AVL树规定平衡因子的绝对值小于2。若不在这个范围内&#xff0c;说明该树不平衡。 AVL树节点&#xff1a; struct AVLTreeNode {AVLTreeNode(const T& data …

数据结构--堆的深度解析

目录 引言 一、基本概念 1.1堆的概念 1.2堆的存储结构 1.3堆的特点 二、 堆的基本操作 2.1初始化 2.2创建堆 2.3插入元素 2.4删除元素 2.5堆化操作 2.6堆的判空 2.7获取堆顶元素 三、堆的常见应用 1. 优先队列 2. 堆排序 3. Top-k 问题 4. 图论中的应用 四…

rom定制系列------小米5x_miui12安卓11定制固件界面预览 小米5x第三方固件

&#x1f49d;&#x1f49d;&#x1f49d;此固件来源于客户卡刷固件定制。客户需要修改为线刷。并且修改账号锁功能。 可以让客户使用官方平台批量进行刷写。方便操作。 定制机型以及功能预览&#x1f49d;&#x1f49d;&#x1f49d; 小米5x版本miui12.5.8安卓11固件。此机型…

MySQL 连接

使用MySQL二进制方式连接 使用MySQL二进制方式进入到MySQL命令提示符下来连接MySQL数据库。 实例 以下是从命令行中连接MySQL服务器的简单实例&#xff1a; [roothost]# mysql -u root -p Enter password:******在登录成功后会出现 mysql> 命令提示窗口&#xff0c;你可以在…

Java 文件拷贝

1.小文件拷贝 实例代码&#xff1a; 上面程序运行的图示&#xff1a; 弊端&#xff1a;一次读一个字节&#xff0c;效率太慢。所以需要一次读取多个字节。 2.大文件拷贝 结果&#xff1a;

UE5运行时动态加载场景角色动画任意搭配-全流程代码(四)

UE5运行时动态加载场景、角色、角色动画、相机动画任意搭配,Android、iOS也可以跑,横竖屏兼容,手机竖屏: 1、场景切换UWorld处理 在通过OpenLevel进行场景切换的时候,UWorld会发生变化,需要我们获取正确的UWorld。 1、在GameInstance监听Level加载 void UMyGameInsta…

数据结构——复杂度

目录 数据结构前言 数据结构 算法 算法效率 时间复杂度 大O的渐进表示法 示例1 示例2 示例3 示例4 示例5 示例6 示例7 空间复杂度 示例1 示例2 示例3 示例4 常见复杂度对比 旋转数组 优化1 优化2 这一篇文章我们就开始数据结构知识的学习&#xff01; 数据…