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

【论文阅读】Dual-branch Cross-Patch Attention Learning for Group Affect Recognition

【论文阅读】Dual-branch Cross-Patch Attention Learning for Group Affect Recognition

  • 摘要
  • 1.介绍
  • 2.相关工作
  • 3.双分支交叉Patch注意力Transformer
  • 4.实验
  • 5.局限性

摘要

本篇博客参考IEEE 2022年收录的论文Dual-branch Cross-Patch Attention Learning for Group Affect Recognition,对其主要内容进行总结。

1.介绍

1)群体情绪识别

群体情感(Group affect)是指群体中外部刺激所引起的主观情绪,是影响群体行为和结果的重要因素

识别群体情绪包括在人群中识别能引起情绪的重要个体显著物体

人类是活跃的社会性生物,使用多模式交互来传达他们的意图、态度和感受。群体内个体之间的这种身体和情感互动可以产生群体层面的影响或群体层面的情感[2],[3]。因此,群体情感受到群体情感情境(如葬礼、聚会中的突出对象)和情感构成(即群体成员的状态和特质情感的结合)的综合影响[4]。

通过提供群体层面的信息,群体影响预测在现实世界中有多种应用,如工作团队结果预测[5]、社会关系识别[6]、人机交互系统[7]。因此,围绕群体情感的研究课题多种多样,包括类别分析,如群体情绪(积极、消极、中性)预测,持续强度估计,如群体凝聚力预测。

2)现有工作与问题

最近组织了一些关于群体层面影响识别解决方案[8],[9]的学术比赛,但仍有两个挑战尚未解决:

首先,大多数方法都是利用来自独立预训练检测器[10],[11],[12],[13]的多线索,例如个体的面部表情,物体和场景特征(如图1中a所示)。然而,这种情感区域的启发式选择忽略了群体语境中语义的重要性,将模型限制在预训练对象类中,容易受到预训练检测器中不完美的人脸和物体的影响

此外,群体级别图像中的人脸和物体通常与上下文相关。关于人脸和物体的交互作用有多重要,仍然是一个悬而未决的问题

3)作者的解决方案

为了解决以上两个问题,我们引入了一个重要的心理学概念,即最重要的人(MIP)[4]。一个形象的MIP往往是能够影响一个群体情绪的群体领导者[14],[15]。

例如,在下图的a中,即使在右侧的大群体中,MIP的表达也是清晰且符合群体情绪的。但是,仅考虑MIP进行群体情感识别是不够的,因为它可能存在面部遮挡,难以检测他们的情绪(如下图b左侧所示,MIP被遮挡)。在某些情况下,MIP的表达可能并不总是与群体情绪相对应(如图2b右侧所示,MIP检测到的情绪(积极)与群体情绪(消极)不一致)。

2.相关工作

1)群体情绪识别方法

目前的群体影响识别方法主要是分析群体中的个体成员,然后通过考虑各种线索,如面孔、突出物体和场景,评估他们对群体整体情绪的贡献。

  • Fujii等[10]提出了两阶段分类方法,第一阶段对面部表情进行分类,第二阶段考虑场景特征,通过光谱聚类融合人脸和场景,进一步进行群体影响识别。
  • Khan等人[13]考虑了多线索,包括所有的面部、物体和场景信息。为了实现这样的架构,需要额外的人脸检测和物体建议检测器。
  • 类似地,Guo等[12]也使用图神经网络研究了多组,其中图的拓扑结构随着实体数量的变化而变化。

目前的群体影响识别方法通常依赖于启发式特征提取器(多个预训练的人脸/物体检测器)和对表情数据集的预训练,效率较低在较大的群体中,在聚合前单独考虑所有人脸的表情是不可行的,导致效率和准确性较低。如[10]所示,需要考虑主体估计的性能,而我们的工作填补了这一空白。

2)最重要人物(MIP)检测

MIP检测模型通过理解社会事件图像中的高级模式来识别最重要的人物

  • Ramanathan等[16]使用RNN学习随时间变化的注意力权重,可用于事件检测和分类。不需要任何显式注释,出席率最高的人可以被识别为MIP。
  • 为了克服人体姿势固有的可变性,PersonRank[17]制作了一个多重超交互图(multiple Hyper-Interaction Graph),将每个个体作为一个节点。可以使用四种类型的边缘消息函数来识别最活跃的节点。
  • POINT[18]提出了两种交互模块,即人-人交互模块和事件-人交互模块。然后将关系特征和人物特征进行聚合,形成重要特征。
  • 为了减少标注工作量,Hong等[19]提出了一种基于point的迭代学习方法用于半监督重要人物检测。

因此,在这项工作中,我们将人们意识纳入全局的影响分析。

3)双注意力学习模型

双通道视觉注意力已被广泛用于寻找重要的上下文区域。双重注意力网络[20]是为了推理人与物体的交互而提出的。为了生成注意力图,它预测可以分别给出动作和对象标签,然后使用这些先验来衡量它们的特征

基于视觉转换器在各种视觉任务中的出色性能[21],近年来出现了许多基于自注意的双路径网络:

  • Zhu等人[22]提出了一种全局-局部交叉注意,以增强细粒度识别的空间判别线索。设计了成对交叉注意来建立图像对之间的相互作用。
  • Dual ViT[23]结合了一个压缩的语义路径,该路径在学习更精细的像素级细节时充当先验信息。语义路径和像素路径被整合在一起,并被训练以并行传播增强的自我注意信息。
  • 与我们的工作最相似的架构是CrossViT[24],它是为了有效地学习多尺度特征而提出的。然而,我们在两个主要方面与之不同:

首先,我们的网络使用全局图像和MIP图像在不同尺度上进行划分,而CrossViT使用相同的输入图像在不同规模上进行划分。另一个区别是交叉注意力机制。CrossViT交换类Token,而我们设计了一个基于两个路径的注意查询的跨补丁注意模块。

3.双分支交叉Patch注意力Transformer

1)概览

我们提出的用于群体情感识别的双分支交叉Patch注意力Transformer(DCAT)的架构如下图所示:

该模型包含两个输入,即全局图像和相应的MIP图像。这两个图像首先被标记为Patch,并发送到多尺度Transformer编码器的栈中,该栈由双路径Transformer编码器、Token排名模块和跨Patch注意(CPA)组成。具体而言,在双路径Transformer Encoder中,全局图像被发送到粗级别路径,以捕获长程信息,并进一步细化编码的令牌以获得细粒度细节。另一方面,MIP图像被馈送到精细级路径以获得高级语义Token。接下来,由于全局和MIP特征在概念上是相互依赖的,我们在模型中引入了双路径交互。特别是,我们基于Token排名模块,根据令牌在每条路径中的重要性对其进行排序,然后使用另一条路径的密钥和值向量计算CPA。最后,来自两个分支的类标记被组合并发送到线性层中进行预测。

2)双路径学习

给定输入的全局图像,MIP图像是基于预训练的POINT[18]模型检测的,该模型是一个学习组的相互作用和关系的深度模型。

由于全局图像包含群组的全局信息,并且MIP是基于局部的语义先验,因此我们提出了用于群组影响预测的双路径特征学习。通过双重途径,可以在全局和局部发现空间上的判别线索,并结合自我注意学习。

首先,全局图像和MIP图像都被标记Patch,然后在多尺度Transformer编码器之前将类标记和可学习的位置嵌入添加到两个分支。为了平衡计算成本,受CrossViT[24]的启发,我们在两种路径中的Transformer编码器包括不同的数字(即G=6和M=1)。全局分支是具有粗略补丁大小(即12)、具有更大嵌入大小和更多变换器编码器的大(主)分支。MIP图像是具有细粒度补丁大小(即16)、较少编码器和较小嵌入大小的小(互补)分支的输入。

作为ViT的核心,多头自注意(MHSA)将查询向量映射为一组关键向量和值向量[21]。在两条路径中的第l个Transformer Encoder块中(基本的Transformer Encode上图b所示),输出特征图为 X l ∈ R ( N + 1 ) × d X_l∈R^{(N+1)×d} XlRN+1×d。块中MHSA模块的注意力矩阵 A l ∈ R S × ( N + 1 × ( N + 1 ) A_l∈R^{S×(N+1×(N+1)} AlRS×N+1×N+1计算为:
A l = S o f t m a x ( Q l ∗ K l T d ) A_l = Softmax(\frac {Q_l * K_l^T}{\sqrt{d}}) Al=Softmax(d QlKlT)
其中, Q l ∈ R ( N + 1 ) × d Q_l∈R^{(N+1)×d} QlRN+1×d K l ∈ R K_l∈R KlR。S表示头的数量,T是转置算子,d是嵌入的维数。N是标记化Patch的数量。输入的全局图像和MIP图像被划分为具有不同N的不同补丁数量。除了N个令牌之外,计算还包括1个类令牌。

3)全局和MIP途径的交互

由于组级图像中的信息量很大,仅通过全局或MIP分支提取特征是不够的,并且从两者中交叉关注判别性标记可以提供互补的效果。

在通过Transformer Encoder获得全局和MIP令牌后,我们应该考虑双路径交互。特别地,我们提出了一种跨补丁注意(CPA)机制来建立全局图像和MIP图像之间的空间交互。我们首先基于令牌排名模块,根据令牌在每条路径中的重要性对其进行排序。通过选择最前面的η标记,构建了一个新的查询矩阵。其次,通过新的查询矩阵和来自另一个分支的键值来计算交叉补丁注意力(CPA)。值得注意的是,由于梯度通过两种途径传播,它可以通过全局到局部的交互同时补偿全局特征压缩的信息损失。正如[22]中所验证的那样,这种交叉注意力也可以被视为一种新的正则化方法来正则化注意力学习,特别是对于我们的小数据集。

  • Token排名模型

对于Cross Patch Attention,我们需要从复杂的群像中删除不重要的内容,并只保留相关的令牌。我们的第一步是根据Toekn的重要性对其进行排名。虽然类标记注意力映射 A c l s ∈ R 1 × ( N + 1 ) A_{cls}∈R^{1×(N+1)} AclsR1×N+1反映了特征的重要性[25],[26],但我们通过全局类标记和每个补丁标记之间的相似性得分来表示标记的重要性:
A c l s = S o f t m a x ( q c l s ∗ K T d ) A_{cls} = Softmax(\frac {q_{cls} * K^T} {\sqrt d}) Acls=Softmax(d qclsKT)
其中 q c l s ∈ R 1 × d q_cls∈R^{1×d} qclsR1×d是类令牌的查询向量, K ∈ R ( N + 1 ) × d K∈R^{(N+1)×d} KRN+1×d是密钥向量,d是嵌入的维数。

根据上公式,计算与类令牌相关的每个补丁的权重。通过这种方式, A c l s A_{cls} Acls揭示了每个补丁对最终分类的贡献,因为它捕获了类令牌对所有补丁的全局交互。

  • 交叉补丁注意(CP A)

然后,基于每个令牌的重要性得分,我们通过选择对应于类注意力图中顶部α最高响应的顶部α查询向量,构造新选择的查询矩阵 Q s e l ∈ R ( α + 1 ) × d Q_{sel}∈R^{(α+1)×d} QselRα+1×d,表示注意力局部嵌入。

在每个路径中,交叉补丁注意力(CPA)向量计算如下,
f C P A ( Q , K , V ) = S o f t m a x ( Q s e l ∗ K T d ) V f_{CPA}(Q,K,V) = Softmax(\frac {Q_{sel}*K^T}{\sqrt d})V fCPA(Q,K,V)=Softmax(d QselKT)V
其中 K ∈ R ( N + 1 ) × d K∈R^{(N+1)×d} KRN+1×d是关键向量, V ∈ R ( N + 1 ) x d V∈^R{(N+1)x d} VR(N+1xd是值向量,d是嵌入的维数。

如上图c所示,CPA操作是双向的,两个分支中的每个分支都提供所选的令牌作为查询向量。两个分支融合在一起C次,这意味着在每个CPA中更新所选查询。

最后,在重复L Multi-Scale Transformer Encoder之后,来自两个分支的类标记被组合并发送到线性层中进行预测。交叉熵损失用于最终分类[21],[24]。

4.实验

首先,我们将我们的方法与最先进的群体情感识别以及视觉转换器模型的基线进行了比较。我们在两个具有挑战性的群价预测数据集上进行了实验:GroupEmoW[12]和GAF3.0[27]。其次,我们提出的模型可以转移到群体凝聚力,这是在GAF凝聚力[28]上进行评估的。第三,我们进行消融分析,以检查我们方法的关键组成部分,即双路径学习、令牌排名模块和交叉补丁注意力(CPA)。最后,我们还提供了定性结果来证明所学习的特征图的合理性。

1)实验细节

我们的模型在ImagegNet上使用CrossViT[24]的权重进行了部分预训练。我们在批次大小为64的2个GPU(RTX 3090 Ti)上训练所有模型300个时期(30个预热时期)。对于MIP检测,我们使用在多场景重要人物图像数据集(MS数据集)[17]上预训练的POINT[18]模型。双通道、CPA、多比例变压器编码器中Transformer编码器的数量设置为M=1、G=6、K=3和L=1。更多细节可以在我们的补充材料中找到。

2)数据集

GroupEmoW[12]数据集包含15894张图像,分为“训练”、“验证”和“测试”子集,分别有11127张、3178张和1589张图像。该数据集的图像是通过搜索引擎从网络上收集的,关键词与社会事件有关,如葬礼、生日、抗议、会议、会议等。每张图像都被标记为“中性”、“积极”和“消极”状态之一。注释任务由多个人执行,并就基本事实标签达成共识。

GAF 3.0[27]包含9815张用于训练的图像、4349张用于验证的图像和3011张用于测试的图像。网络爬行是为了创建GAF 3.0而进行的,它使用了各种与社会事件相关的关键词(如世界杯冠军、婚礼、家庭聚会、大笑俱乐部、生日庆祝活动、兄弟姐妹、骚乱、抗议和暴力等)。它还被标记为跨价值轴的三种群体情绪(积极、消极和中立)。

GAF凝聚力[28],[29]基于GAF 3.0数据集进行注释,其中9815张图像用于训练,4349张图像用于验证,3011张图像用于测试。凝聚力得分范围从强烈同意、同意、不同意到强烈不同意,范围为0-3。均方误差(MSE)被用作评估度量。

3)与最先进的群体影响方法和视觉转换器的比较

4)迁移学习用于群体凝聚力评估

5)消融实验

跨Patch注意力模块CPA、Token排序模块中的不同Token选择比率α

6)特征图可视化

5.局限性

在本文中,我们首次将心理学中的MIP应用于群体情感识别,使用经过训练的模型POINT[18]。尽管实验结果表明,我们的框架可以优于其他传统方法或流行的ViT,但原始MIP数据集和群体影响数据集之间可能存在域转移。一个可能的解决方案是将MIP注释添加到组影响数据集或设计专注于领域泛化的算法。

相关文章:

【论文阅读】Dual-branch Cross-Patch Attention Learning for Group Affect Recognition

【论文阅读】Dual-branch Cross-Patch Attention Learning for Group Affect Recognition 摘要1.介绍2.相关工作3.双分支交叉Patch注意力Transformer4.实验5.局限性 摘要 本篇博客参考IEEE 2022年收录的论文Dual-branch Cross-Patch Attention Learning for Group Affect Reco…...

centos stream 10 修改 metric

1. 查看当前网络连接 nmcli connection show 2. 查看当前网络连接的metric ip route show 3. 修改指定连接的 metric sudo nmcli connection modify "Wired connection 1" ipv4.route-metric 100 ipv6.route-metric 100 值越大,优先级越低&#xff…...

Java从入门到“放弃”(精通)之旅——String类⑩

Java从入门到“放弃”(精通)之旅🚀——String类⑩ 前言 在Java编程中,String类是最常用也是最重要的类之一。无论是日常开发还是面试,对String类的深入理解都是必不可少的。 1. String类的重要性 在C语言中&#xf…...

MVCWebAPI使用FromBody接受对象的方法

近期在做软件升级操作的时候突然想着需要的参数比较多&#xff0c;如果需要参数的话参数比较多&#xff0c;所有想着使用frombody来集合数据统一操作做了个样张希望对您有帮助 代码如下&#xff1a; /// <summary>/// 入口当前文件接口下的操作数据/// </summary>/…...

知识储备-DC综合相关

DC flow相关 要点描述命令区别DC基础版&#xff0c;使用wireloadmodelcompile_ultraDCT 含DC所有非冲突feature(如wlm)&#xff0c;按照DC-prefloorplan-DCT流程获取布局信息更精确评估时序收敛 dc_shell -topoDCG含DCT所有feature&#xff0c;多了layer和congestion信息等 dc_…...

力扣-第645题《错误的集合》

一 . 问题描述 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 …...

gem5教程第六章 为ARM扩展gem5 这也是改进gem5的一个基础

本章假设您已经使用gem5构建了一个基本的x86系统,并创建了一个简单的配置脚本。 下载ARM二进制文件 让我们从下载一些ARM基准测试二进制文件开始。从gem5文件夹的根目录开始: mkdir -p cpu_tests/benchmarks/bin/arm cd cpu_tests/benchmarks/bin/arm wget dist.gem5.org/…...

事关数据安全,ARM被爆不可修复漏洞

日前&#xff0c;ARM架构再次被爆出重大安全漏洞&#xff0c;影响波及ARMv8.3架构及以前的所有CPU。该漏洞为硬件级且无法完全修复&#xff0c;如被利用可能造成严重数据泄露风险。 ARM硬件级安全漏洞 来自ARM开发者官网的一项安全更新证实&#xff0c;存在一种名为PACMAN的新型…...

Unity中使用Cinemachine插件创建自由视角相机(freelookCamera)来实现第三人称漫游

1.安装下载Cinemachine插件 2.创建自由相机freelookCamera Follow:为我们的人物 LookAt:相机始终看向的地方&#xff0c;可以新建空物体&#xff0c;放在人物头上&#xff0c; invert&#xff1a;是反向&#xff0c;就是时鼠标移动方向与相机旋转方向一致 在组件最下面的…...

Python爬虫(2)Python爬虫入门:从HTTP协议解析到豆瓣电影数据抓取实战

目录 一、背景与需求‌二、 Web基础与HTTP协议核心解析‌2.1 HTTP协议&#xff1a;数据交互的基石‌2.2 为何爬虫需理解HTTP协议&#xff1f;‌ 三、 Python爬虫实战&#xff1a;Requests库核心用法‌3.1 安装与环境配置‌3.2 案例1&#xff1a;GET请求抓取豆瓣电影Top250‌3.3…...

php基础

文章目录 基本语法基本数据类型:运算符?? 空合并 定义变量字符串操作内置变量\$_SESSION:会话信息\$_GET:获取URL参数 内置函数功能工具类的&#xff0c;utils网络通信类的会话管理类的 基本语法 每一个statement后面以;结尾&#xff0c;与C/C和Java一样注释用//&#xff0c…...

蓝桥杯17. 机器人塔

机器人塔 原题目链接 题目描述 X 星球的机器人拉拉队有两种服装&#xff1a;A 和 B。 这次他们表演的是“搭机器人塔”&#xff0c;类似下图&#xff1a; AB BA B AA A B BB B B A BA B A B B A组塔规则&#xff1a; A 只能站在 AA 或 BB 的肩上&#xff1b;B 只能站在 AB…...

rpm包管理

1.介绍 rpm用于互联网下包的打包及安装工具,包含在某些Linux发布版中&#xff0c;它生成具有.RPM扩展名的文件.RPM是RedHat Package Manage (RedHat软件包管理公具)的编写 类似windows的setup.exe&#xff0c;这一文件格式名称虽然打上RedHat的标志,但理念是通用的. Linux的…...

es 自动补全

安装拼音分词器 选择es版本对应的pinyin分词器版本 下载后解压&#xff0c;放到es的插件目录下 重启es 自定义分词器 拼音分词器——可选配置 1. 首字母处理配置 keep_first_letter (默认: true) 解释&#xff1a;是否提取每个汉字的首字母组合&#xff0c;用于支持首字母…...

NLTK 文本分类与情感分析

在自然语言处理&#xff08;NLP&#xff09;的领域中&#xff0c;文本分类和情感分析是两个非常重要且具有广泛应用的任务。文本分类旨在将文本数据分配到预定义的类别中&#xff0c;而情感分析则专注于确定文本所表达的情感倾向&#xff0c;如积极、消极或中性。Python 的 Nat…...

Android开发常用外部组件及使用指南(上)

文章目录 一、前言二、外部组件的引入方式1. Gradle依赖管理1.1 项目级build.gradle1.2 模块级build.gradle 2. 本地库引入3. 模块化引入 三、网络请求组件1. Retrofit1.1 引入依赖1.2 基本使用1.3 高级特性 2. OkHttp2.1 基本使用2.2 拦截器 四、图片加载组件1. Glide1.1 基本…...

系统架构师2025年论文《系统架构风格》

论企软件架构风格 摘要: 我所在单位是某市主要医院,2017 年 1 月医院决定开发全新一代某市医院预约挂号系统,我担任本次系统的架构师,主要负责整个系统的架构设计工作。该系统旨在优化医院挂号流程,提高患者就医体验,是医院应对医疗信息化变革和提升服务质量的重要举措…...

Linux部署Redis主从

Linux部署Redis主从 1.下载2.安装2.1编译 & 安装 3.修改配置文件4.启动 1.下载 在Redis版本库&#xff1a;https://download.redis.io/releases/ 可根据自己的需求选择下载对应的版本&#xff0c;然后直接下载 2.安装 通过Xftp工具进行上传&#xff0c;选择指定的应用拖…...

【Python 学习笔记】 pip指令使用

系列文章目录 pip指令使用 文章目录 系列文章目录前言安装配置使用pip 管理Python包修改pip下载源 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 当前文章记录的是我在学习过程的一些笔记和思考&#xff0c;可能存在有误解的地方&#xff0c;仅供大家…...

Django DRF实现用户数据权限控制

在 Django DRF 中使用 ModelViewSet 时&#xff0c;若需实现用户仅能查看和操作自己的数据详情&#xff0c;同时允许所有认证用户访问列表&#xff0c;需结合权限类和动态权限分配。以下是具体步骤&#xff1a; 1. 自定义对象权限类 创建一个 IsOwner 权限类&#xff0c;检查…...

eplan许可证与防火墙安全软件冲突

在使用EPLAN电气设计软件时&#xff0c;有时会遇到许可证与防火墙或安全软件之间的冲突。这种冲突可能导致许可证无法激活或软件无法正常运行&#xff0c;给用户带来诸多不便。本文将为您解析EPLAN许可证与防火墙/安全软件冲突的原因&#xff0c;并提供解决方案&#xff0c;帮助…...

《多Agent架构VS千万字长文本VS深度推理引擎——拆解Coze、通义、Kimi的AI终局博弈密码》

Coze、通义和Kimi终局竞争深度分析 技术路线分野&#xff1a;多Agent协同 vs. 超长文本 vs. 结构化提示 架构差异&#xff1a;三者在技术路线上的侧重点各异&#xff0c;塑造了不同的市场边界。Coze&#xff08;“扣子”&#xff09;采用多Agent协同架构&#xff0c;强调插件工…...

《浔川代码编辑器v2.1.0预告》

《浔川代码编辑器v2.1.0预告》 尊敬的浔川代码编辑器用户&#xff1a; 我们很高兴向大家预告即将到来的v2.1.0版本更新计划。以下是各版本的发布时间安排&#xff1a; 版本发布计划 1. **v2.1.0公测版** - 发布时间&#xff1a;待v2.0测试版结束后两周 - 特点&#xff1a;包…...

Python jsonpath库终极指南:json数据挖掘的精准导航仪

Python jsonpath库终极指南&#xff1a;json数据挖掘的精准导航仪 对话实录 小白&#xff1a;&#xff08;抓狂&#xff09;这个 JSON 数据有好多层嵌套&#xff0c;怎么快速拿到最里面的值&#xff1f; 专家&#xff1a;&#xff08;递上探测器&#xff09;用jsonpath库&…...

QT软件安装(12)

文章目录 一、本章说明二、QT软件包资源三、软件安装教程 一、本章说明 注&#xff1a;本节为【基于STM的环境监测系统&#xff08;节点云服务器存储QT界面设计&#xff09;】项目第12篇文章&#xff0c;前面文章已经实现了气体传感数据的采集&#xff0c;并通过4G模块上传至云…...

【人工智能】DeepSeek 的开源生态:释放 AI 潜能的社区协同与技术突破

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 DeepSeek 作为中国 AI 领域的先锋,以其高效的混合专家模型(MoE)和彻底的开源策略,在全球 AI 社区掀起波澜。本文深入剖析 DeepSeek 的开…...

如何选择 Flask 和 Spring Boot

目录 一、选择 Flask 和 Spring Boot 的关键因素如何评价系统的性能1.RPSRPS 的重要性RPS 的评估标准RPS 的计算方法RPS 与并发用户数的关系性能测试中的RPS 2.TPSTPS 的定义TPS 的重要性TPS 与 RPS 的区别TPS 的常见范围计算 TPS 的公式如何提高 TPS 二、后期扩展优化方案Flas…...

在KEIL里C51和MDK兼容以及添加ARM compiler5 version编译器

前言 我们想在一个keil里面可以打开32和51的文件&#xff0c;这样就不需要两个keil了 还有就是现在的keil&#xff0c;比如我用的是5.41的&#xff0c;就没有5版本的处理器&#xff0c;所以要安装 本篇文章我们来详细讲解如何实现上面说的两个内容 准备的东西 1.ARM5编译器 …...

【源码分析】Linux内核ov13850.c

这里写自定义目录标题 1、入口函数&#xff1a;__init sensor_mod_init2、probe函数&#xff1a;ov13850_probe2.1、初始化前的一些准备2.2、设备初始化流程 源码如下 了解运行流程 1、入口函数&#xff1a;__init sensor_mod_init 驱动由 __init 开始 __exit 结束&#xff0c…...

单片机与FPGA的核心差异、优缺点、编程差异、典型应用场景、选型等对比分析

1. 基本概念差异 单片机&#xff08;MCU&#xff09;&#xff1a; 基于冯诺依曼/哈佛架构的微控制器&#xff0c;集成CPU、内存、外设接口&#xff08;如ADC、UART、PWM等&#xff09;&#xff0c;通过软件指令顺序执行任务。 FPGA&#xff1a; 由可编程逻辑单元&#xff08;…...

PCB规则

PCB封装 原理图绘制完成需要检查 DRC 菜单栏——>设计——>检查 DRC 底部侧边栏——>DRC——>检查 DRC 常见问题&#xff1a; 1&#xff09;某个导线/网络标签是一个单网络 网络标签名称不一样 网络标签只有一个 引脚没有使用&#xff0c;但是放置了导线 2&#xf…...

静态存储区(Static Storage Area)的总结

普通的全局变量未初始化&#xff0c;编译阶段放在com段&#xff0c;链接完后放在bss段 在32位系统中&#xff0c;内核空间为1GB​&#xff08;地址范围&#xff1a;0xC0000000-0xFFFFFFFF&#xff09;&#xff0c;用户空间为3GB 高端内存&#xff08;HIGHMEM&#xff09;是32位…...

基于Quill的文档编辑器开发日志(上)——前端核心功能实现与本地存储管理

目录 二、技术选型与架构设计 三、核心功能实现 1. Quill编辑器集成 2. 本地存储管理&#xff08;DocStorage类&#xff09; 3. 文档树渲染与事件绑定 四、效果演示与问题总结 一、项目背景 在开发 Taskflow智能Todo系统 的过程中&#xff0c;文档管理模块是核心功能之一…...

Java | 深拷贝与浅拷贝工具类解析和自定义实现

关注&#xff1a;CodingTechWork 引言 在 Java 开发中&#xff0c;对象的拷贝是一个常见的需求&#xff0c;尤其是在处理复杂数据结构时。深拷贝&#xff08;Deep Copy&#xff09;和浅拷贝&#xff08;Shallow Copy&#xff09;是两种常见的拷贝方式&#xff0c;它们在实现和…...

《巧用DeepSeek快速搞定数据分析》书籍分享

文章目录 前言内容简介作者简介购书链接书籍目录 前言 随着大数据时代的到来&#xff0c;数据分析和人工智能技术正迅速改变着各行各业的运作方式。DeepSeek作为先进的人工智能模型&#xff0c;不仅在自然语言处理领域具有广泛应用&#xff0c;还在数据分析、图像识别、推荐系…...

skynet.cluster 库函数应用

目录 模块概览核心函数解析1. 节点通信2. 节点配置与监听3. 服务注册与查询4. 远程服务代理 底层机制使用场景示例场景1&#xff1a;跨节点数据存储场景2&#xff1a;动态扩展节点 注意事项 以下是对 cluster.lua 模块的详细解析&#xff0c;涵盖其核心功能、函数用途及使用示例…...

精益数据分析(17/126):精益画布与创业方向抉择

精益数据分析&#xff08;17/126&#xff09;&#xff1a;精益画布与创业方向抉择 大家好&#xff01;一直以来&#xff0c;我都希望能和大家一起在创业和数据分析的领域中不断探索、共同进步。今天&#xff0c;我们接着深入学习《精益数据分析》&#xff0c;这次聚焦于精益画…...

同样的接口用postman/apifox能跑通,用jmeter跑就报错500

之前没用过jmeter,第一次用调试压测脚本遇到了问题 一样的接口用postman能跑通&#xff0c;用jmeter跑就报错500&#xff0c;百度很多文章都说是该接口需要加一个‘内容编码’改成utf-8,我加了还是不行 后来我就想到apifox好像有隐藏的header&#xff0c;然后开始比较apifox的…...

编写 Markdown 技术文档示例

文章目录 &#x1f4c4; 建议的文档命名规则&#xff08;文件名&#xff09;✍️ 如何署名与归属标识示例 OpenShift 安装部署前置条件说明文档说明使用说明 &#x1f4c4; 建议的文档命名规则&#xff08;文件名&#xff09; OCP_Install_Prerequisites_Ghostwritten-v1.0-20…...

23种设计模式-结构型模式之享元模式(Java版本)

Java 享元模式&#xff08;Flyweight Pattern&#xff09;详解 &#x1f98b; 什么是享元模式&#xff1f; 享元模式是一种结构型模式&#xff0c;它通过共享相同的对象来减少内存消耗&#xff0c;适用于大量细粒度对象的场景。关键思想是缓存重复出现的对象&#xff0c;避免…...

单例模式:确保唯一实例的设计模式

单例模式&#xff1a;确保唯一实例的设计模式 一、模式核心&#xff1a;保证类仅有一个实例并提供全局访问点 在软件开发中&#xff0c;有些类需要确保只有一个实例&#xff08;如系统配置类、日志管理器&#xff09;&#xff0c;避免因多个实例导致状态混乱或资源浪费。 单…...

gem5-gpu教程04 高速缓存一致性协议和缓存拓扑

高速缓存一致性协议 gem5-gpu 的一大贡献是允许用户灵活地定义 GPU 和 GPU-CPU 间的缓存一致性协议。此功能由 gem5 的 Ruby 模块实现,该模块使用 SLICC 语言定义一致性协议。更多信息请访问 gem5 wiki:[[http://gem5.org/Ruby]]。 缓存拓扑 The topology of the cache hi…...

c++ 互斥锁

为练习c 线程同步&#xff0c;做了LeeCode 1114题. 按序打印&#xff1a; 给你一个类&#xff1a; public class Foo {public void first() { print("first"); }public void second() { print("second"); }public void third() { print("third"…...

Pytest教程:为什么Pytest要用插件模式?

目录 一、历史背景&#xff1a;测试框架的局限性与Pytest的设计哲学 1.1 早期测试框架的困境 1.2 Pytest的模块化设计 二、横向对比&#xff1a;插件机制如何让Pytest脱颖而出 2.1 与Unittest/Nose的对比 2.2 插件模式的架构优势 三、插件模式的核心优势解析 3.1 可扩展…...

JVM 生产环境问题定位与解决实战(七):实战篇——OSSClient泄漏引发的FullGC风暴

本文已收录于《JVM生产环境问题定位与解决实战》专栏&#xff0c;完整系列见文末目录 引言 在前六篇博客中&#xff0c;我们系统性地学习了 JVM 生产环境问题定位与解决的全套工具链&#xff0c;涵盖jps、jmap、jstat、jstack、jcmd 等基础工具的使用技巧&#xff0c;深入剖析…...

缩放点积注意力

Scaled Dot-Product Attention 论文地址 https://arxiv.org/pdf/1706.03762 注意力机制介绍 缩放点积注意力是Transformer模型的核心组件&#xff0c;用于计算序列中不同位置之间的关联程度。其核心思想是通过查询向量&#xff08;query&#xff09;和键向量&#xff08;key&am…...

一个关于相对速度的假想的故事-7

回到&#xff0c; 它其实还可以写成&#xff0c; 也就是说&#xff0c;把 作为1&#xff0c;它的 倍也是存在和成立的。或者说&#xff0c;如果认为 是某一种单位&#xff08;虚数 为单位&#xff09;&#xff0c;那么 的平方 显然也是一种单位&#xff08;-1为单位&#xff09…...

LeetCode算法题(Go语言实现)_57

题目 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 一、代码实现&#xff08;回溯法&#xff09; func letterCombinatio…...

从GPT-5到Claude 3:大模型竞赛的下一站是什么?

从GPT-5到Claude 3&#xff1a;大模型竞赛的下一站是什么&#xff1f; 引言 随着人工智能技术的飞速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;已经成为推动自然语言处理&#xff08;NLP&#xff09;领域进步的关键力量。自2018年OpenAI推出GPT-1以来&#xff0…...

leetcode - 字符串

字符串 466. 统计重复个数 题目 定义 str [s, n] 表示 str 由 n 个字符串 s 连接构成。 例如&#xff0c;str ["abc", 3] "abcabcabc" 。 如果可以从 s2( )中删除某些字符使其变为 s1&#xff0c;则称字符串 s1( )可以从字符串 s2 获得。 例如&#xf…...