当前位置: 首页 > news >正文

【论文笔记】CLIP-guided Prototype Modulating for Few-shot Action Recognition

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


基本信息

标题: CLIP-guided Prototype Modulating for Few-shot Action Recognition
作者: Xiang Wang, Shiwei Zhang, Jun Cen, Changxin Gao, Yingya Zhang, Deli Zhao, Nong Sang
发表: IJCV 2023
arXiv: https://arxiv.org/abs/2303.02982

基本信息

摘要

从大规模对比语言图像预训练如CLIP近期在众多下游任务中展现出显著的成功,但在具有挑战性的小样本动作识别(FSAR)任务上仍处于探索阶段。

在本工作中,我们旨在将CLIP强大的多模态知识迁移,以缓解数据稀缺导致的原型估计不准确问题,这是低样本环境中的关键问题。

为此,我们提出了一种名为CLIP-FSAR的CLIP引导原型调制框架,它包含两个关键组件:一个视频-文本对比目标和一个原型调制。

具体来说,前者通过对比视频及其对应的类别文本描述,弥合了CLIP与小样本视频任务之间的任务差异。

后者利用CLIP的可迁移文本概念,通过时间Transformer自适应地细化视觉原型。

通过这种方式,CLIP-FSAR能够充分利用CLIP中的丰富语义先验,获得可靠的原型并实现准确的小样本分类。

在五个常用基准上的大量实验证明了我们提出方法的有效性,CLIP-FSAR在各种设置下均显著优于现有最先进的方法。

源代码和模型将在https://github.com/alibaba-mmai-research/CLIP-FSAR上公开。

Performance comparison based on a typical few-shot action recognition method

CLIP-FSAR

Overview

少样本动作识别旨在利用少量视频识别新的动作类别。

在一个典型的少样本设置中,存在两个类别不重叠的数据集,一个基础数据集 D t r a i n \mathcal{D}_{train} Dtrain 用于训练,一个新数据集 D t e s t \mathcal{D}_{test} Dtest 用于测试。

为了模拟测试环境,通常在训练过程中从 D t r a i n \mathcal{D}_{train} Dtrain 中采样大量少样本任务(或称为episode)来优化模型。

对于一个标准的 N N N-way K K K-shot 任务,存在一个支持集 S = { s 1 , s 2 , . . . , s N × K } S = \{s_1, s_2, ..., s_{N \times K}\} S={s1,s2,...,sN×K},包含 N N N 个类别和每个类别 K K K 个视频。

任务的目标是基于支持样本对查询视频 q q q 进行分类。

为了方便表述,我们考虑 N N N-way 1-shot(即, K = 1 K = 1 K=1)任务来展示我们的框架。

遵循先前的工作,在输入视频上实施了一种稀疏帧采样策略以减少计算负担。

首先,我们采用CLIP的视觉编码器 V \mathcal{V} V 来生成输入视频帧的特征,以及文本编码器 T \mathcal{T} T 来提取相应类别自然语言描述的文本嵌入。

然后,我们对这些获得的帧特征和文本特征应用视频-文本对比目标,以适应CLIP到少样本视频任务。

此外,我们提出了一种原型调制,以细化少样本度量目标的视觉原型。图2展示了我们CLIP-FSAR的整个框架。

The architecture of CLIP-FSAR

Video-text contrastive objective

给定一个支持集 S = { s 1 , s 2 , . . . , s N } S = \{s_1, s_2, ..., s_N\} S={s1,s2,...,sN} 和一个查询视频 q = { q 1 , q 2 , . . . , q t } q = \{q^1, q^2, ..., q^t\} q={q1,q2,...,qt},其中 s i = { s i 1 , s i 2 , . . . , s i t } s_i = \{s_i^1, s_i^2, ..., s_i^t\} si={si1,si2,...,sit} 是一个由稀疏采样的 t t t 帧组成的支持视频。

视觉编码器 V \mathcal{V} V 用于编码视频特征:

f s i = V ( s i ) , f q = V ( q ) f_{s_i} = \mathcal{V}(s_i), \quad f_q = \mathcal{V}(q) fsi=V(si),fq=V(q)

其中 f s i ∈ R t × C f_{s_i} \in \mathbb{R}^{t \times C} fsiRt×C f q ∈ R t × C f_q \in \mathbb{R}^{t \times C} fqRt×C C C C 是通道的数量。

然后我们使用文本编码器 T \mathcal{T} T 通过提示模板 a photo of [CLS] 提取基类的文本特征,并将获得的文本特征表示为 { w i } i = 1 B \{w_i\}_{i=1}^B {wi}i=1B,其中 B B B 是基类数据集 D t r a i n \mathcal{D}_{train} Dtrain 的总类数, w i ∈ R C w_i \in \mathbb{R}^C wiRC 是一个特征向量。

遵循先前的做法,为了在文本编码器中保留原始预训练的可转移知识并减少优化负担,我们在训练过程中固定 T \mathcal{T} T 不进行更新。

为了弥合CLIP和少样本视频任务之间的任务差异,我们模拟原始CLIP训练目标,以最大化视频特征和文本特征之间的相似性,如果它们是匹配对,则最小化其他情况。

为了实现这一目标,我们首先计算视频-文本匹配概率如下:

p ( y = i ∣ v ) v i d e o − t e x t = exp ⁡ ( sim ( GAP ( f v ) , w i ) / τ ) ∑ j = 1 B exp ⁡ ( sim ( GAP ( f v ) , w j ) / τ ) p_{(y=i|v)}^{video-text} = \frac{\exp(\text{sim}(\text{GAP}(f_v), w_i) / \tau)}{\sum_{j=1}^B \exp(\text{sim}(\text{GAP}(f_v), w_j) / \tau)} p(y=iv)videotext=j=1Bexp(sim(GAP(fv),wj)/τ)exp(sim(GAP(fv),wi)/τ)

其中 v ∈ { s 1 , s 2 , . . . , s N , q } v \in \{s_1, s_2, ..., s_N, q\} v{s1,s2,...,sN,q} sim \text{sim} sim 是余弦相似度函数, GAP \text{GAP} GAP 是全局平均池化的缩写, τ \tau τ 表示可学习的温度因子。

然后,我们在预测值和实际类别标签之间施加交叉熵损失 L v i d e o − t e x t \mathcal{L}_{video-text} Lvideotext 来优化目标。

Prototype modulation

现有的少样本动作识别方法,如OTAM,通常通过比较查询视频 q q q 与支持视觉原型的时间对齐距离来分类查询视频 q q q

在少样本动作识别任务中,视频原型是一系列帧原型,请参阅OTAM以获取更多详细信息。

查询视频 q q q 与支持视频 s i s_i si 之间的距离可以表示为:

d q , s i = M ( f q , f s i ) d_{q, s_i} = \mathcal{M}(f_q, f_{s_i}) dq,si=M(fq,fsi)

其中 M \mathcal{M} M 表示时间对齐度量。

在OTAM中, M \mathcal{M} M 是动态时间规整的一种变体,用于测量支持-查询距离作为帧对齐成本。

少样本性能在很大程度上依赖于原型估计的准确性。

一方面,在低样本场景中,由于数据稀缺,视觉信息往往不足,导致不准确的原型。

另一方面,视觉和文本模态之间存在互补性,CLIP的文本描述表示涉及丰富的语义先验。

基于这些,为了提高支持原型的可靠性,我们建议利用信息丰富的支持文本特征来细化原型。

具体来说,在支持视觉特征 f s i f_{s_i} fsi 的基础上,我们将文本特征沿着时间维度堆叠到对应的视频 s i s_i si,即 R t × C ∪ R C → R ( t + 1 ) × C \mathbb{R}^{t \times C} \cup \mathbb{R}^C \rightarrow \mathbb{R}^{(t+1) \times C} Rt×CRCR(t+1)×C,并使用 Temporal Transformer 来自适应地融合特征。

我们将增强后的视觉特征表示为 f ~ s i \tilde{f}_{s_i} f~si(不包括输出的文本特征)。

由于在测试过程中我们不知道查询视频的真实类别信息,我们只将视觉查询特征输入到时间Transformer中,以便输出的查询特征 f ~ q \tilde{f}_q f~q 和支持特征可以在一个共同的特征空间中匹配。

随后,我们采用时间对齐度量来计算查询-支持距离:

d q , s i ′ = M ( f ~ q , f ~ s i ) d'_{q, s_i} = \mathcal{M}(\tilde{f}_q, \tilde{f}_{s_i}) dq,si=M(f~q,f~si)

其中 M \mathcal{M} M 是我们在CLIP-FSAR中默认采用的OTAM度量。

请注意,提出的CLIP-FSAR是一个即插即用的框架,在后续的实验部分,我们将CLIP-FSAR插入到其他现有的度量或方法中,并经验性地证明其可插拔性。

基于这些距离,查询视频 q q q 对支持类别的概率分布可以表示为:

p ( y = i ∣ q ) f e w − s h o t = exp ⁡ ( d q , s i ′ ) ∑ j = 1 N exp ⁡ ( d q , s j ′ ) p_{(y=i|q)}^{few-shot} = \frac{\exp(d'_{q, s_i})}{\sum_{j=1}^N \exp(d'_{q, s_j})} p(y=iq)fewshot=j=1Nexp(dq,sj)exp(dq,si)

遵循先前的工作,我们可以使用交叉熵损失 L f e w − s h o t \mathcal{L}_{few-shot} Lfewshot 来优化模型参数。

我们CLIP-FSAR的最终训练目标是:

L = L v i d e o − t e x t + α L f e w − s h o t \mathcal{L} = \mathcal{L}_{video-text} + \alpha \mathcal{L}_{few-shot} L=Lvideotext+αLfewshot

其中 α \alpha α 是一个平衡因子。

对于少样本评估,我们可以通过 p ( y = i ∣ q ) f e w − s h o t p_{(y=i|q)}^{few-shot} p(y=iq)fewshot 获得属于支持类别的匹配概率,类似于先前的工作。

此外,由于我们提出的框架的双目标设计,我们还可以结合视频-文本匹配结果 p ( y = i ∣ v ) v i d e o − t e x t p_{(y=i|v)}^{video-text} p(y=iv)videotext 和少样本分类结果 p ( y = i ∣ q ) f e w − s h o t p_{(y=i|q)}^{few-shot} p(y=iq)fewshot 来获得合并预测:

p ( y = i ∣ q ) † = ( p ( y = i ∣ q ) v i d e o − t e x t ) β ⋅ ( p ( y = i ∣ q ) f e w − s h o t ) 1 − β p_{(y=i|q)}^\dagger = (p_{(y=i|q)}^{video-text})^\beta \cdot (p_{(y=i|q)}^{few-shot})^{1-\beta} p(y=iq)=(p(y=iq)videotext)β(p(y=iq)fewshot)1β

其中 β ∈ [ 0 , 1 ] \beta \in [0, 1] β[0,1] 是一个可调整的超参数,我们将上述集成方式表示为 CLIP-FSAR † ^\dagger

请注意,上述描述的零样本和少样本结果的组合只是一种可选方法,本文主要关注少样本性能。

实验

主实验

Comparison to recent few-shot action recognition approaches on SSv2-Full and Kinetics. The experiments are conducted under the 5-way K-shot setting with K changing from 1 to 5

Comparison to recent few-shot action recognition methods on the UCF101, SSv2-Small and HMDB51 datasets. The experiments are conducted under the 5-way K-shot setting with K changing from 1 to 5

Generalization experiment

消融实验

Ablation study of each component in our CLIPFSAR

Comparison results of different number of temporal Transformer layers on the SSv2-Small and Kinetics datasets

Comparison of different prototype modulation schemes

Comparison of shared weights and non-shared weights

Sensitivity analysis of α on SSv2-Small and Kinetics

Performance comparison with different numbers of input video frames under the 5-way 1-shot setting on SSv2Small

N-way 1-shot results of our CLIP=FSAction and other baseline methods with N varying from 5 to 10

Empirical analysis of replacing the visual encoder of our CLIP-FSAR with several ImageNet pre-trained backbones

Generalizability experiments of migrating our CLIP-FSAR framework to a self-supervised DINO visual encoder

5-way zero-shot performance comparison with CLIP

可视化

T-SNE distribution visualization of five action classes on the test set of SSv2-Small

T-SNE distribution visualization of five action classes on the test set of Kinetics

T-SNE distribution visualization of five action classes on the test set of UCF101

T-SNE distribution visualization of five action classes on the test set of SSv2-Full

T-SNE distribution visualization of five action classes on the test set of HMDB51

局限

在我们的CLIP-FSAR中,我们使用广泛使用的提示模板,即 a photo of [CLS] 作为默认设置。

Comparison experiments of different prompt templates

在表11中,我们探讨了不同文本提示的影响,并发现不同的提示模板在不同的数据集上表现不一致,例如,[CLS] 在SSv2-Small数据集上表现最好,而在Kinetics数据集上表现最差。

研究通用且有效的文本提示形式将是一项有价值的工作。

此外,我们主要关注视觉方面来调制原型,并没有考虑文本方面的某些潜在改进,例如使用视觉特征来细化文本特征。

我们把上述讨论留给未来的工作。

总结

本文提出了一种基于CLIP的FSAR方法来解决CLIP模型在少样本动作识别问题上的挑战,充分利用了CLIP的多模态知识。

利用视频-文本对比目标来适配CLIP模型以适应少样本视频任务。

此外,我们提出使用文本特征通过实现时间Transformer来自适应地调节视觉支持原型。

在五个常用基准上的大量实验表明,我们的CLIP-FSAR在性能上显著优于现有最先进的方法。

相关文章:

【论文笔记】CLIP-guided Prototype Modulating for Few-shot Action Recognition

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: CLIP-guided Prototype Mo…...

PHP:从入门到进阶的全方位探索

PHP(Hypertext Preprocessor)作为一种开源的服务器端脚本语言,自1995年问世以来,凭借其简单易学、高效灵活的特点,迅速成为了Web开发领域的中流砥柱。无论是构建动态网页、开发Web应用程序,还是处理复杂的服…...

vue复习

1.试述前端开发技术发展变化历程,理解推动技术发展动力以及对软件开发职业的启发。 2.当前前端开发技术主要特征有哪些? 前后端分离开发: 前端专注页面展示效果与用户使用体验,后端专注为前端提供数据和服务。 工程化特征:模块…...

伊克罗德与九科信息共同发布RPA+AI智能机器人解决方案

12月12日,伊克罗德信息在上海举办“创见AI,迈进智能化未来——科技赋能零售电商”活动,与九科信息、亚马逊云科技共同探讨与分享,融合生成式AI技术和智能自动化(RPA,Robotic Process Automation)在电商零售…...

nano编辑器的使用

nano 是一个非常简单易用的命令行文本编辑器,它常用于在 Linux 或类 Unix 系统中快速编辑文件,特别适用于需要修改配置文件或快速编辑文本的场景。以下是一些常见的 nano 使用技巧和基本操作。 1. 打开文件 要使用 nano 编辑文件,打开终端并…...

灵当crm pdf.php存在任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

Liinux下VMware Workstation Pro的安装,建议安装最新版本17.61

建议安装最新版本17.61,否则可能有兼容性问题 下载VMware Workstation安装软件 从官网网站下载 https://support.broadcom.com/group/ecx/productdownloads?subfamilyVMwareWorkstationPro 选择所需版本 现在最新版本是17.61,否则可能有兼容性问题…...

性能测试度量指标学习笔记

目录 一、概要 二、不同系统软件性能测试度量指标 三、性能测试度量指标 1、响应时间 2、用户数 3、系统处理能力 4、错误率 5、成功率 6、资源占用率 7、CPU利用率 8、内存页交换速率 9、内存占用率 10、磁盘IO 11、磁盘吞吐量 12、网络吞吐量 13、系统稳定性…...

一款可以替代Navicat的数据库管理工具

Navicat是一款非常受欢迎的数据库管理工具,基本支持市面上的所有数据库、而且支持跨平台。 可以说Navicat是一款功能强大、非常全面的数据库管理工具,提供了多种版本和定价方案,以满足不同用户的需求和预算。 也是很多企业的首选工具&#…...

使用C#在目录层次结构中搜索文件以查找目标字符串

例程以递归方式搜索目录层次结构中的文件以查找目标字符串。它可以搜索几乎任何类型的文件,即使它不包含 Windows 理解的文本。例如,它可以搜索 DLL 和可执行文件以查看它们是否恰好包含字符串。 下面的代码中显示的ListFiles 方法完成了大部分工作。 …...

C++设计模式

C设计模式 什么是 C 设计模式?设计模式的用途设计模式的核心原则设计模式的分类 1. 创建型设计模式1.1 单例模式(Singleton Pattern)1.2 工厂方法模式(Factory Method Pattern)1.3 抽象工厂模式(Abstract F…...

LM芯片学习

1、LM7805稳压器 https://zhuanlan.zhihu.com/p/626577102?utm_campaignshareopn&utm_mediumsocial&utm_psn1852815231102873600&utm_sourcewechat_sessionhttps://zhuanlan.zhihu.com/p/626577102?utm_campaignshareopn&utm_mediumsocial&utm_psn18528…...

使用 MyBatis-Plus Wrapper 构建自定义 SQL 查询

前言 MyBatis-Plus (MP) 是一款基于 MyBatis 的增强工具,它简化了数据库操作,提供了诸如自动分页、条件构造器等功能,极大地提高了开发效率。其中,Wrapper 条件构造器是 MP 的核心功能之一,它允许开发者以链式调用的方…...

C# OpenCvSharp DNN 实现百度网盘AI大赛-表格检测第2名方案第一部分-表格边界框检测

目录 说明 效果 模型 项目 代码 frmMain.cs YoloDet.cs 参考 下载 其他 说明 百度网盘AI大赛-表格检测的第2名方案。 该算法包含表格边界框检测、表格分割和表格方向识别三个部分,首先,ppyoloe-plus-x 对边界框进行预测,并对置信…...

手分割数据集labelme格式505张1类别

数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数):505 标注数量(json文件个数):505 标注类别数:1 标注类别名称:["hands"] 每个类别标注的框数&#xf…...

2012年西部数学奥林匹克试题(几何)

2012/G1 △ A B C \triangle ABC △ABC 内有一点 P P P, P P P 在 A B AB AB, A C AC AC 上的投影分别为 E E E, F F F, 射线 B P BP BP, C P CP CP 分别交 △ A B C \triangle ABC △ABC 的外接圆于点 M M M, N N N. r r r 为 △ A B C \triangle ABC △ABC 的内…...

GB28181系列三:GB28181流媒体服务器ZLMediaKit

我的音视频/流媒体开源项目(github) GB28181系列目录 目录 一、ZLMediaKit介绍 二、 ZLMediaKit安装、运行(Ubuntu) 1、安装 2、运行 3、配置 三、ZLMediaKit使用 一、ZLMediaKit介绍 ZLMediaKit是一个基于C11的高性能运营级流媒体服务框架,项目地址&#xf…...

【微服务】SpringBoot 整合Redis Stack 构建本地向量数据库相似性查询

目录 一、前言 二、向量数据库介绍 2.1 什么是向量数据库 2.2 向量数据库特点 2.3 向量数据库使用场景 三、常用的向量数据库解决方案 3.1 Milvus 3.1.1 Milvus是什么 3.1.2 Milvus主要特点 3.2 Faiss 3.2.1 Faiss是什么 3.2.2 Faiss主要特点 3.3 Pinecone 3.3.1 …...

神州数码DCME-320 online_list.php存在任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…...

Shadcn UI 实战:打造可维护的企业级组件库

"我们真的需要自己写一套组件库吗?"上周的技术评审会上,我正在和团队讨论组件库的选型。作为一个快速发展的创业公司,我们既需要高质量的组件,又想保持灵活的定制能力。在对比了多个方案后,我们选择了 shadcn/ui 这个相对较新的解决方案。 说实话,最开始…...

C#速成(GID+图形编程)

常用类 类说明Brush填充图形形状,画刷GraphicsGDI绘图画面,无法继承Pen定义绘制的对象直线等(颜色,粗细)Font定义文本格式(字体,字号) 常用结构 结构说明Color颜色Point在平面中定义点Rectan…...

CMD使用SSH登陆Ubuntu

1.确认sshserver是否安装好 ps -e | grep sshd 450 ? 00:00:00 sshd 2、如果看到sshd那说明ssh-server已经启动了 其实在/etc/ssh下有一个sshd_config 文件。对这个文件进行修改vim sshd_config。 往文件中添加如下内容: Port 22 Protocol 2 PermitRootLogin yes P…...

Fay环境安装及使用

一、项目源码 代码地址 : Fay 2D数字人源码地址:xuniren LLM用是清华开源的ChatGLM源码地址:ChatGLM-6B 模型地址chatglm2-6b-int4 (大模型的安装直接参考了我的另一篇文章:ChatGLM2-6B-int4的…...

重写 `equals` 和 `hashCode` 的一致性

重写 equals 和 hashCode 的一致性 在 Java 中,当我们重写 equals 方法时,通常需要同时重写 hashCode 方法,以确保对象在逻辑上相等时,其哈希值也相等。这是一种重要的契约(contract),主要用于…...

【游戏设计原理】14 - MDA:游戏的机制、运行和体验

1. 学习、分析并总结 MDA 原理 MDA (Mechanics, Dynamics, and Aesthetics) 是一种用来分析和理解游戏设计的框架,由 Marc LeBlanc, Robin Hunicke, 和 Robert Zubek 提出。这个框架将游戏分解为三个核心要素: Mechanics(机制)&…...

鸿蒙Next创建自定义组件总结

一、引言 在鸿蒙Next开发中,自定义组件是构建高效、可维护UI的重要组成部分。它具有可组合、可重用以及数据驱动UI更新等特点,能帮助开发者更好地实现代码复用、业务逻辑与UI分离等目标。本文将详细总结创建自定义组件的相关知识,包括其基本…...

redis 缓存使用

工具类 package org.springblade.questionnaire.redis;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factor…...

Javascript面试手撕常见题目(回顾一)

1.JS查找文章中出现频率最高的单词? 要在JavaScript中查找文章中出现频率最高的单词,你可以按照以下步骤进行操作: 将文章转换为小写:这可以确保单词的比较是大小写不敏感的。移除标点符号:标点符号会干扰单词的计数。将文章拆…...

lc146LRU缓存——模仿LinkedHashMap

146. LRU 缓存 - 力扣(LeetCode) 法1: 调用java现有的LinkedHashMap的方法,但不太理解反正都不需要扩容,super(capacity, 1F, true);不行吗,干嘛还弄个装载因子0.75还中途扩容一次浪费时间。 class LRUC…...

【C语言】头文件

所有学习过C语言的朋友都熟悉这样一段代码&#xff1a; #include <stdio.h>int main(int argc, char *argv[]) {return 0; }那么&#xff0c;你真的了解 <stdio.h> 吗&#xff1f; <stdio…...

WSL (Windows Subsystem for Linux)

文章目录 Windows下使用Linux的三种方式&#xff1a;1.WSL(1)安装WSL(2)初始化Linux系统(3)安装、创建、激活 Python虚拟环境 2.虚拟机3.Docker Windows下使用Linux的三种方式&#xff1a; 1.WSL 是最简单的在 Windows 上运行 Linux 环境的方式&#xff0c;适用于日常开发和命…...

[Java] 使用 VSCode 来开发 Java

目录 前言Java 环境怎么看自己是否已经配置完成&#xff1f;安装 JDK安装 Maven 环境修改 Maven 依赖源 完善 VS Code配置插件配置 Maven配置 Maven Settings配置 Maven 可执行文件地址 前言 由于使用 VSCode 编码已经成为习惯&#xff0c;并且它确实相对其他的 IDE 较为轻量化…...

机器学习之偏差

机器学习中的偏差&#xff08;Bias&#xff09;是指模型的预测值与真实值之间的系统性误差&#xff0c;或者说模型无法准确捕捉数据中复杂模式的能力。偏差通常与模型的假设或学习能力有关&#xff0c;过高的偏差会导致模型的性能不佳&#xff0c;表现为欠拟合。 偏差的来源 模…...

微信小程序处理交易投诉管理,支持多小程序

大家好&#xff0c;我是小悟 1、问题背景 玩过微信小程序生态的&#xff0c;或许就有这种感受&#xff0c;如果收到投诉单&#xff0c;不会及时通知到手机端&#xff0c;而是每天早上10:00向小程序的管理员及运营者推送通知。通知内容为截至前一天24时该小程序账号内待处理的交…...

在C#中测试比较目录的不同方法以查看它们有哪些共同的文件

C# 中的示例“比较目录以查看它们有哪些共同的文件”使用Directory.GetFiles获取两个目录中的文件。它对文件进行排序&#xff0c;并比较两个排序后的列表以查看哪些文件位于第一个目录中、第二个目录中或两个目录中。有关其工作原理的详细信息&#xff0c;请参阅该示例。 Kur…...

2D gaussian splatting的配置和可视化

继3D gaussian splatting&#xff0c;2D gaussian splatting除了渲染新视角&#xff0c;还能够生成mesh模型。 2D gaussian splatting的配置 两者的运行环境基本一致 GitHub - hbb1/2d-gaussian-splatting: [SIGGRAPH24] 2D Gaussian Splatting for Geometrically Accurate …...

git分支管理

目录 1.Git分支管理1.1 分支创建1.2 分支删除1.3 分支合并1.4 分支的本质1.5 分支的冲突 2.Git stash2.1 git stash 3.分支管理策略3.1主分支3.2辅助分支3.3Feature分支3.4release分支3.5bugfix分支 1.Git分支管理 Git 的默认分支就是 master。你所作的commit会在master分支上…...

【Elasticsearch入门到落地】4、Elasticsearch的安装

接上篇《3、es与mysql的概念对比》 上一篇我们学习了Elasticsearch与Mysql的概念与区别。本篇我们来进行Elasticsearch的环境准备及软件安装。 一、环境准备 如果我们没有自己的Linux服务器&#xff0c;且现在正在使用的是Windows操作系统的电脑&#xff0c;那么首先我们需要安…...

如何在谷歌浏览器中开启安全浏览

在数字化时代&#xff0c;网络安全变得愈发重要。作为全球最受欢迎的网络浏览器之一&#xff0c;谷歌浏览器提供了多种功能来保护用户的在线安全。本文将详细介绍如何在谷歌浏览器中开启安全浏览&#xff0c;并额外提供一些有用的页面滚动设置、地址栏快捷搜索和跟踪防护的相关…...

短视频矩阵贴牌:打造品牌新势力的策略与实践

在数字化浪潮席卷全球的今天&#xff0c;短视频以其独特的魅力迅速崛起&#xff0c;成为连接用户与品牌的重要桥梁。企业为了快速抢占市场&#xff0c;提升品牌影响力&#xff0c;纷纷探索短视频矩阵贴牌这一新兴模式。本文将深入探讨短视频矩阵贴牌的概念、优势、实施流程及注…...

【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析

目录 一、前言 二、Spring Boot 简介 三、Spring Boot 核心模块 四、Spring Boot 项目实战&#xff1a;构建一个简单的 RESTful API 1. 创建 Spring Boot 项目 2. 配置数据库 3. 创建实体类 4. 创建 JPA 仓库接口 5. 创建服务层 6. 创建控制器层 7. 测试 API 8. 运…...

linux basics

本篇文章旨在为网络安全初学者介绍linux操作系统基础。通过阅读本文&#xff0c;读者将能够对linux系统有一个初步的了解 一、openssl 1、命令&#xff1a; openssl passwd -1 123 -l参数指定使用MD5加密算法对密码"123"进行加密处理。MD5是一种常用的哈希算法,它将…...

[OpenGL] Transform feedback 介绍以及使用示例

一、简介 本文介绍了 OpenGL 中 Transform Feedback 方法的基本概念和代码示例。 二、Transform Feedback 介绍 1. Transform Feedback 简介 根据 OpenGL-wiki&#xff0c;Transform Feedback 是捕获由顶点处理步骤&#xff08;vertex shader 和 geometry shader&#xff0…...

pytorch_fid 安装笔记

目录 torch安装&#xff1a; pytorch_fid安装 torch安装&#xff1a; pip install torch2.5.0 --index-url https://download.pytorch.org/whl/cu121 pytorch_fid安装 pip install pytorch_fid 安装后&#xff0c;torch也会自动安装&#xff0c;导致torch引用报错。...

SAM大模型实践(一)

参考着segment-geospatial 项目主页的介绍&#xff0c;尝试复现一下Example-satallite的案例。 Satellite - segment-geospatialhttps://samgeo.gishub.org/examples/satellite/ 过程当中遇到了一些坑给大家做点分享&#xff0c;主要有几种情况&#xff0c;一个是torch…...

数据结构 ——前缀树查词典的实现

数据结构 ——前缀树查词典的实现 一、前缀树的概念 前缀树是一种多叉树结构&#xff0c;主要用于存储字符串。每个节点代表一个字符&#xff0c;路径从根节点到叶节点表示一个完整的字符串。前缀树的关键特征是 共享前缀&#xff0c;也就是说&#xff0c;如果两个字符串有相…...

边缘智能创新应用大赛获奖作品系列一:智能边缘计算✖软硬件一体化,开启全场景效能革命新征程

边缘智能技术快速迭代&#xff0c;并与行业深度融合。它正重塑产业格局&#xff0c;催生新产品、新体验&#xff0c;带动终端需求增长。为促进边缘智能技术的进步与发展&#xff0c;拓展开发者的思路与能力&#xff0c;挖掘边缘智能应用的创新与潜能&#xff0c;高通技术公司联…...

修改ubuntu apt 源及apt 使用

视频教程:修改ubuntu apt 源和apt 使用方法_哔哩哔哩_bilibili 1 修改apt源 1.1 获取阿里云ubuntu apt 源 https://developer.aliyun.com/mirror/ubuntu?spma2c6h.13651102.0.0.3e221b11mqqLBC 1.2 修改apt 源 vim /etc/apt/sources.list deb https://mirrors.aliyun.com/ub…...

Kafka 磁道寻址过程详解

前言 Apache Kafka 是一款高吞吐、分布式的消息流平台&#xff0c;广泛应用于实时数据处理和事件驱动系统。在 Kafka 中&#xff0c;消息是存储在磁盘上的&#xff0c;这种高效的数据读写性能得益于 Kafka 独特的磁盘存储架构和寻址机制。本文将从 Kafka 的存储结构、磁道寻址…...

GEE+本地XGboot分类

GEE本地XGboot分类 我想做提取耕地提取&#xff0c;想到了一篇董金玮老师的一篇论文&#xff0c;这个论文是先提取的耕地&#xff0c;再做作物分类&#xff0c;耕地的提取代码是开源的。 但这个代码直接在云端上进行分类&#xff0c;GEE会爆内存&#xff0c;因此我准备把数据下…...