论文阅读|ArxiV 2024|Mamba进一步研究|VSSD

论文地址:pdf
代码地址:code


文章目录

  • 1.研究背景与动机
  • 2. 核心方法
    • 2.1 预备知识:mamba-ssm
    • 2.2 非因果状态空间对偶性
    • 2.3 视觉状态空间对偶性模型
  • 3. 实验结果
    • 3.1 图像分类任务
    • 3.2 目标检测任务
    • 3.3 语义分割任务
    • 3.4 消融实验
  • 4.局限性与结论
    • 4.1 局限性
    • 4.2 结论

1.研究背景与动机

视觉 Transformer 虽凭借全局感受野和强大建模能力在计算机视觉领域取得成功,但其自注意力机制的二次计算复杂度限制了长序列处理能力。状态空间模型(SSMs)如 Mamba 因线性复杂度成为替代方案,但 SSMs 及改进变体 SSD(State Space Duality)存在固有因果性与图像数据的非因果性矛盾,且将 2D 特征图 flatten 为 1D 序列会破坏空间结构关系。为此,提出VSSD(Visual State Space Duality)模型,通过非因果化 SSD 解决上述问题。


2. 核心方法

2.1 预备知识:mamba-ssm

状态空间模型:经典的状态空间模型(SSMs)表示一个连续系统,它将输入序列x(t)∈RLx(t) \in \mathbb{R}^{L}x(t)RL映射到 latent 空间表示h(t)∈RNh(t) \in \mathbb{R}^{N}h(t)RN,然后基于该表示预测输出序列y(t)∈RLy(t) \in \mathbb{R}^{L}y(t)RL。从数学上讲,SSM可描述为:
h′(t)=Ah(t)+Bx(t),y(t)=Ch(t)\begin{equation} h'(t) = A h(t) + B x(t), \quad y(t) = C h(t) \end{equation} h(t)=Ah(t)+Bx(t),y(t)=Ch(t)
其中A∈RN×NA \in \mathbb{R}^{N ×N}ARN×NB∈RN×1B \in \mathbb{R}^{N ×1}BRN×1C∈R1×NC \in \mathbb{R}^{1 ×N}CR1×N是可学习参数。

离散化:为了使连续状态空间模型(SSMs)适用于深度学习框架,实现离散化操作至关重要。通过引入时间尺度参数Δ∈R\Delta \in \mathbb{R}ΔR并采用广泛使用的零阶保持(ZOH)作为离散化规则,可以推导出A和B的离散化版本(分别表示为A‾\overline{A}AB‾\overline{B}B),据此,式1可重写为离散形式:
h(t)=A‾h(t−1)+B‾x(t),y(t)=Ch(t),where A‾=eΔA,B‾=(ΔA)−1(eΔA−I)ΔB≈ΔB\begin{equation} \begin{aligned} h(t) &= \overline{A} h(t-1) + \overline{B} x(t), \quad y(t) = C h(t), \\ \text{where } \overline{A} &= e^{\Delta A}, \quad \overline{B} = (\Delta A)^{-1} \left(e^{\Delta A} - I\right) \Delta B \approx \Delta B \end{aligned} \end{equation} h(t)where A=Ah(t1)+Bx(t),y(t)=Ch(t),=eΔA,B=(ΔA)1(eΔAI)ΔBΔB
离散化的详细推导可见这篇文章
其中III表示单位矩阵。之后,式2的过程可以通过全局卷积的方式实现:
y=x⊙K‾,K‾=(CB‾,CA‾B‾,…,CA‾L−1B‾)\begin{equation} y = x \odot \overline{K}, \quad \overline{K} = \left(C \overline{B},\; C \overline{A} \overline{B},\; \dots,\; C \overline{A}^{L-1} \overline{B}\right) \end{equation} y=xK,K=(CB,CAB,,CAL1B)
该式直接迭代带入即可得到
其中x∈R1×Lx \in \mathbb{R}^{1 × L}xR1×L是输入序列,K‾∈RL×1\overline{K} \in \mathbb{R}^{L × 1}KRL×1是卷积核。

选择性状态空间模型:Mamba引入的选择性状态空间S6S6S6机制使参数B‾\overline{B}BC‾\overline{C}CΔΔΔ依赖于输入,从而提升了基于SSM的模型的性能。在使B‾\overline{B}BC‾\overline{C}CΔΔΔ依赖于输入后,式3中的全局卷积核可重写为:
K‾=(CLB‾L,CLA‾L−1B‾L−1,…,CL∏i=1L−1A‾iB‾1)\begin{equation} \overline{K} = \left( C_{L} \overline{B}_{L},\; C_{L} \overline{A}_{L-1} \overline{B}_{L-1},\; \dots,\; C_{L} \prod_{i=1}^{L-1} \overline{A}_{i} \overline{B}_{1} \right) \end{equation} K=(CLBL,CLAL1BL1,,CLi=1L1AiB1)
这种修改解决了先前 SSM 模型 [16, 13] 固有的线性时不变(LTI)特性的局限性,从而提升了 SSMs 的适应性和性能。

2.2 非因果状态空间对偶性

最近,Mamba2引入了状态空间对偶性(SSD),并将矩阵AAA简化为标量。这种选择性状态空间模型(SSMs)的特殊情况可通过线性和二次两种形式实现。不失一般性,选择性状态空间模型的矩阵变换形式表示如下:
y(t)=∑i=1tCt⊤At:i+1Bix(i),其中 At:i=∏k=itAk,y=SSM(A,B,C)(x)=Fx,其中 Fji=Cj⊤Aj:iBi\begin{equation} \begin{aligned} y(t) &= \sum_{i=1}^{t} C_t^{\top} A_{t:i+1} B_i \, x(i), \quad \text{其中 } A_{t:i} = \prod_{k=i}^{t} A_k, \\ y &= \text{SSM}(A, B, C)(x) = F x, \quad \text{其中 } F_{ji} = C_j^{\top} A_{j:i} B_i \end{aligned} \end{equation} y(t)y=i=1tCtAt:i+1Bix(i),其中 At:i=k=itAk,=SSM(A,B,C)(x)=Fx,其中 Fji=CjAj:iBi

AiA_{i}Ai简化为标量 时,式5的二次形式可重新表述为:
y=Fx=M⋅(CTB)x,其中Mij={Ai+1×⋯×Aji>j1i=j0i<j,\begin{equation} y=F x=M \cdot\left(C^{T} B\right) x, 其中M_{i j}=\left\{\begin{array}{ll} A_{i+1} × \cdots × A_{j} & i>j \\ 1 & i=j \\ 0 & i<j, \end{array} \quad\right. \end{equation} y=Fx=M(CTB)x,其中Mij=Ai+1××Aj10i>ji=ji<j,
其线性形式表示为:
h(t)=Ath(t−1)+Btx(t),y(t)=Cth(t).\begin{equation} h(t)=A_{t} h(t-1)+B_{t} x(t), y(t)=C_{t} h(t) . \end{equation} h(t)=Ath(t1)+Btx(t),y(t)=Cth(t).

为使SSMs适应图像数据,需先将二维特征图展平为一维token序列,再对其进行顺序处理。由于SSMs的因果特性(每个token只能访问之前的token),信息传播本质上是单向的。这种因果特性在处理非因果图像数据时会导致性能不佳,这一发现已得到先前研究的证实。此外,将二维特征图展平为一维序列会破坏其内在的结构信息。例如,在二维图中相邻的token在一维序列中可能相距甚远,从而导致视觉任务性能下降。由于SSD是SSMs的一种变体,将SSD应用于视觉任务会遇到与SSMs类似的挑战:

  • 挑战1:模型的因果特性限制了信息流动,使后续token无法影响先前的token。

  • 挑战2:在处理过程中,将二维特征图展平为一维序列会破坏补丁之间固有的结构关系。

在将因果SSD应用于非因果图像数据的背景下,回顾SSD的线性公式很有启发性。在式7中,标量AtA_{t}At调节先前隐藏状态h(t−1)h(t-1)h(t1)和当前时间步信息的影响。换句话说,当前隐藏状态h(t)h(t)h(t)可视为先前隐藏状态和当前输入的线性组合,分别由AtA_{t}At和1加权。因此,如果我们忽略这两项的大小,只保留它们的相对权重式7可重写为:
h(t)=h(t−1)+1AtBtx(t)=∑i=1t1AiBix(i).\begin{equation} h(t)=h(t-1)+\frac{1}{A_{t}} B_{t} x(t)=\sum_{i=1}^{t} \frac{1}{A_{i}} B_{i} x(i) . \end{equation} h(t)=h(t1)+At1Btx(t)=i=1tAi1Bix(i).

在这种情况下,特定token对当前隐藏状态的贡献可由其自身直接通过1Ai\frac{1}{A_{i}}Ai1确定,而非通过多个系数的累积乘法。由于每个token的贡献具有自参考性,挑战2仅得到部分解决,因为由于挑战1中讨论的问题,当前token只能访问一部分token。

为解决挑战1,先前基于SSM的视觉模型经常采用多扫描路径。具体而言,在ViM中,对token序列进行正向和反向扫描,使每个token能够访问全局信息。尽管这些多扫描方法减轻了SSMs的因果特性,但它们并未解决挑战2,因为SSMs的长程衰减特性仍局限于一维形式,并未扩展到二维。为了能够获取全局信息,从而适应非因果图像数据,我们也从双向扫描策略入手。并且我们证明,正向和反向扫描的结果可以整合起来,以同时有效解决上述两个挑战。令HiH_{i}Hi表示双向扫描方法中第iii个token的隐藏状态,由此我们可以很容易地得出:
Hi=∑j=1i1AjZj+∑j=−L−i1A−jZ−j=∑j=1L1AjZj+1AiZi,其中Zj=Bjx(j).\begin{equation} H_{i}=\sum_{j=1}^{i} \frac{1}{A_{j}} Z_{j}+\sum_{j=-L}^{-i} \frac{1}{A_{-j}} Z_{-j}=\sum_{j=1}^{L} \frac{1}{A_{j}} Z_{j}+\frac{1}{A_{i}} Z_{i}, 其中Z_{j}=B_{j} x(j) . \end{equation} Hi=j=1iAj1Zj+j=LiAj1Zj=j=1LAj1Zj+Ai1Zi,其中Zj=Bjx(j).

如果我们将式中的1AiZi\frac{1}{A_{i}} Z_{i}Ai1Zi视为偏置并忽略它,式9可进一步简化,导致所有token共享相同的隐藏状态H=∑j=1L1AjZjH=\sum_{j=1}^{L} \frac{1}{A_{j}} Z_{j}H=j=1LAj1Zj。在这种情况下,正向和反向扫描的结果可以无缝结合以建立全局上下文,这实际上等效于移除因果掩码并转换为非因果形式。因此,与因果特性相关的第一个挑战得到了解决。尽管上述结果来自双向扫描方法,但显然在这种非因果形式中,不同的扫描路径会产生一致的结果。换句话说,无需设计特定的扫描路径来捕获全局信息。此外,如式9所示,不同token对当前隐藏状态的贡献不再与其空间距离相关。因此,将展平的二维特征图处理为一维序列不再会损害原始的结构关系。这样,第二个挑战也得到了解决。此外,由于整个计算过程可以并行进行,而不必依赖于先前SSMs所需的循环计算方法,训练和推理速度得到了提升。在修改了隐藏状态空间的迭代规则之后,我们按照Mamba2框架,更新了线性形式中相应的张量收缩算法或爱因斯坦求和符号:
Z=contract(LD,LN→LND)(X,B)H=contract(LL,LDN→ND)(M,Z)Y=contract(LN,ND→LD)(C,H)\begin{equation} \begin{aligned} Z & =contract(LD, LN \to LND)(X, B) \\ H & =contract(LL, LDN \to ND)(M, Z) \\ Y & =contract(LN, ND \to LD)(C, H) \end{aligned} \end{equation} ZHY=contract(LD,LNLND)(X,B)=contract(LL,LDNND)(M,Z)=contract(LN,NDLD)(C,H)
在这里插入图片描述

该算法包括三个步骤:第一步使用BBB扩展输入xxx,第二步展开标量SSM递归以创建全局隐藏状态HHH,最后一步将隐藏状态HHHCCC收缩。为清晰起见,图2展示了SSD和NC-SSD的前两个步骤。与普通SSD相比,虽然第一步的操作保持不变,但在非因果模式下,隐藏状态HHH中的序列长度维度被消除,因为所有token共享相同的隐藏状态。在最后一步中,输出YYY通过CCCHHH的矩阵乘法产生。由于Mi,j=1AjM_{i, j}=\frac{1}{A_{j}}Mi,j=Aj1,通过消除矩阵MMM的第一维,可将其简化为向量m∈RLm \in \mathbb{R}^{L}mRL。在这种情况下,将mmmXXXBBB集成可以进一步将式10的变换简化为:
Y=C(BT(X⋅m))\begin{equation} Y=C\left(B^{T}(X \cdot m)\right) \end{equation} Y=C(BT(Xm))

这可以被视为线性注意力的一种变体。然而,值得注意的是,正如AAA在Mamba2中起着重要作用一样,向量mmm也至关重要,这在我们的消融研究中得到了证明。在实践中,我们直接使用学习到的AAA而不是1A\frac{1}{A}A1,因为它们具有相同的值范围。为了更直观地理解式10mmm的作用,我们将不同头的mmm的平均值可视化,如图3所示。主要来看,mmm关注前景特征,使模型能够优先处理对任务至关重要的元素。

2.3 视觉状态空间对偶性模型

  • 块设计:为了增强Mamba2中的SSD块以适应视觉应用,除了仅用NC-SSD替代SSD来开发我们的视觉状态空间对偶性(VSSD)块之外,我们还进行了几项修改。在构建NC-SSD块时,与先前的视觉mamba研究一致,将因果1D卷积替换为 kernel 大小为3的深度卷积(DWConv)。此外,在NC-SSD块之后集成了前馈网络(FFN),以促进跨通道的更好信息交换,并与经典视觉Transformer的既定做法保持一致。此外,在NC-SSD块和FFN之前加入了局部感知单元(LPU),以增强模型的局部特征感知能力。在不同块之间还实现了跳跃连接。VSSD块的架构如图4下部所示。

  • 与自注意力的混合:Mamba2表明,将SSD与标准多头自注意力(MSA)集成可带来额外的改进。同样,我们的模型也融入了自注意力。然而,与Mamba2在整个网络中均匀分布自注意力不同,我们仅在最后一个阶段用自注意力模块战略性地替换NC-SSD块。这种修改利用了自注意力在处理视觉任务中高级特征方面的强大能力。

  • 重叠下采样层:由于分层视觉Transformer和视觉状态空间模型主要采用非重叠卷积进行下采样,最近的研究表明,重叠下采样卷积可以引入有益的归纳偏置。因此,我们在模型中采用了重叠卷积,采用的方式与MLLA相同。为了保持参数数量和计算FLOPs相当,我们相应地调整了模型的深度。

  • 整体架构:我们根据上述方法开发了VSSD模型,其架构如图4所示。借鉴先前研究中已建立的视觉骨干网络的设计原则,我们的VSSD模型分为四个分层阶段。前三个阶段采用VSSD块,而最后一个阶段集成了MSA块。VSSD变体的详细架构如表1所示。


3. 实验结果

3.1 图像分类任务


3.2 目标检测任务

3.3 语义分割任务

3.4 消融实验



4.局限性与结论

4.1 局限性

  • 下游任务性能提升有限:尽管 VSSD 在 ImageNet-1K 图像分类任务中优于其他基于 SSM 的模型,但在下游任务(如目标检测、语义分割)上,与其他 SSM 模型相比,性能提升幅度较小。
  • 与顶尖 Transformer 变体存在差距:相较于最先进的视觉 Transformer 变体(如 RMT、Dat++ 等),VSSD 在下游任务上的性能仍有显著差距。
  • 缺乏大规模验证:未在更大规模模型或数据集(如 ImageNet-22K)上进行实验,其可扩展性有待进一步探索。

4.2 结论

  • NC-SSD 的有效性:通过重新定义状态空间对偶性(SSD)中矩阵 A 的作用并移除因果掩码,提出的非因果 SSD(NC-SSD)成功将 SSD 转换为非因果模式,保留了全局感受野和线性复杂度的优势,同时提升了训练与推理效率
  • VSSD 模型的优越性:结合 NC-SSD、混合自注意力机制和重叠下采样等技术,VSSD 在图像分类、目标检测、语义分割等多个基准测试中,与现有 CNN、Transformer 和 SSM-based 模型相比,在相似参数和计算成本下实现了更优或相当的性能。
  • ERF 优势:如图 5 所示,VSSD 有效消除了 token 间距对信息贡献的影响(相较于 SSM-based 的 VMamba),能更均衡地利用不同位置的信息,更好地保留图像全局结构关系,这是其在视觉任务中表现优异的重要原因。

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

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

相关文章

Flutter中 Provider 的基础用法超详细讲解(二)之ChangeNotifierProvider

目录 前言 一、什么是ChangeNotifierProvider? 二、ChangeNotifier的简单用法 1.定义状态类 2.使用ChangeNotifierProvider提供状态 3.获取状态并监听更新 1.Consumer 2.通过API方式获取 1.Provider.of (context) 2.context.watch () 3.context.read () 4.各种获…

2025电商CPS分销与推客系统小程序开发:趋势、架构与实战解析

一、行业趋势&#xff1a;CPS模式与社交电商的深度融合1.1 电商行业新趋势根据《2025年电子商务行业发展趋势预测报告》&#xff0c;社交电商与内容营销已成为核心增长点。消费者行为呈现三大特征&#xff1a;消费习惯转变&#xff1a;线上购物占比超70%&#xff0c;Z世代用户更…

Conda环境下配置的基本命令

功能命令创建环境conda create -n myenv python3.11激活环境conda activate myenv删除环境conda env remove -n myenv复制环境conda create -n newenv --clone myenv列出所有环境conda env list列出环境所有包conda list彻底清除某个 Conda 环境中的所有已安装包&#xff08;但…

Ps2025

快捷键CShs保存CSw存储为S选取叠加选取,A选取减去选区C回车保存路径内容识别 SF5 ADel填充前景色CDel填充背景色A上下 上下行间距A左右 左右字间距C左键丝滑放大缩小CASE盖印图层C}上移一格CG新建组sF6羽化像素钢笔工具打上抹点&#xff0c;按住shift水平拉调增弧度左右两个手柄…

ceph sc 设置文件系统格式化参数

前言 默认的 sc 文件系统 inode 太少,对于小文件场景,往往会出现容量没满,inode 已经用尽的情况,本文说明如何设置 inode。 说明 本文使用的是 rook-ceph 部署的 ceph 作为存储后端。 xfs 文件系统 sc 创建带格式化参数的 xfs 文件系统的 sc allowVolumeExpansion: t…

【LY88】ubuntu下的常用操作

vscode 下载安装包 在安装包所处文件夹空白区域右键调出终端 输入下行命令安装 c后接tab自动补全安装包名称&#xff08;前提是该文件夹中仅这一个c开头文件&#xff0c;否则得再输点字母&#xff0c;保证其可唯一索引到&#xff09; sudo dpkg -i ctab安装完毕后输入code&…

web应用从服务器主动推动数据到客户端的方式

html5 websocket 全双工交互 全双工通信&#xff1a;建立持久连接&#xff0c;服务端和客户端可随时互相发送消息 低延迟&#xff1a;适合实时应用&#xff08;聊天、游戏、股票行情等&#xff09; socket协议是与HTTP协议平级的&#xff0c;websocket协议是建立在TCP协议之上的…

基于Spring Boot实现中医医学处方管理实践

基于Spring Boot实现中医医学处方管理 以下是基于Spring Boot实现中医医学处方管理的相关示例和资源整理,涵盖基础架构、功能模块及实际应用案例: 基础项目结构 Spring Boot中医处方系统通常采用MVC分层设计: 实体类:定义处方、药材、患者等JPA实体 @Entity public clas…

从“人工核验”到“智能鉴防”:护照鉴伪设备的科技革命

“一本伪造护照的查获成本从72小时降至3秒&#xff0c;背后是光学传感、量子加密与多模态AI的十年协同进化。”2025年全球边检口岸查获伪假护照近500份&#xff0c;其中芯片伪造占比首超40%。当造假技术逼近分子级仿制&#xff0c;传统肉眼鉴别彻底失效&#xff0c;多光谱成像、…

无人机飞控系统3D (C++)实践

大疆无人机飞控系统3D模型开发 大疆无人机飞控系统3D模型开发(C++) 核心架构设计 大疆无人机的飞控系统通常采用分层架构,分为硬件抽象层(HAL)、中间件层和应用层。HAL负责与传感器/执行器直接交互,中间件处理数据融合和通信协议,应用层实现核心控制算法。 典型代码结…

ES6中import与export的用法详解

目录 一、ES6模块化的核心概念 1. 模块化的基本规则 二、export的用法 1. 命名导出&#xff08;Named Export&#xff09; 示例&#xff1a; 2. 默认导出&#xff08;Default Export&#xff09; 示例&#xff1a; 默认导出函数或类&#xff1a; 3. 导出语句的统一声明…

硬核技术协同:x86 生态、机密计算与云原生等技术如何为产业数字化转型筑底赋能

在产业数字化转型的浪潮中&#xff0c;x86 生态构建、机密计算与 AI 融合、高性能网卡突破、云原生 OS 实践、国产数据库优化等技术领域的突破&#xff0c;正成为支撑数字化基础设施升级与业务创新的核心引擎。以下从技术深度与产业实践角度&#xff0c;系统性解析各领域的最新…

Java项目:基于SSM框架实现的网络财务管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本网络财务管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

1.5.Vue v-for 和 指令修饰符

vue v-for当你使用 v-for 指令来渲染列表时&#xff0c;为每个元素提供一个唯一的 key 属性是非常重要的。key 是用来给 Vue 一个提示&#xff0c;以便它能够追踪每个节点的身份&#xff0c;从而更高效地更新虚拟 DOM。key 的作用唯一标识&#xff1a;key 应该是每项数据的唯一…

(RedmiBook)上禁用触摸板或自带键盘

在红米笔记本&#xff08;RedmiBook&#xff09;上禁用触摸板或自带键盘&#xff0c;可以通过以下几种方法实现&#xff1a; 方法一&#xff1a;通过设备管理器禁用&#xff08;Windows 系统&#xff09; 禁用触摸板 打开设备管理器 按 Win X → 选择 “设备管理器”或 Win …

15 - 多模态大语言模型 — 图文 “牵线” 系统 “成长记”:借 CLIP 练本领,从图像与文字里精准 “搭鹊桥” 的全过程 (呆瓜版 - 2 号)

目录 1、基础&#xff1a;它到底是个啥&#xff1f; 1. 1、一句话理解核心 1.2、 为啥厉害&#xff1f; 1.3、怎么发展来的&#xff1f; 2、架构&#xff1a;它的 “身体构造” 是啥样的&#xff1f; 2.1、视觉语言模型架构&#xff1a;让 AI “看懂” 世界的核心系统 2…

Day 4-1: 机器学习算法全面总结

Day 4-1: 机器学习算法全面总结 📚 学习目标 通过前三天的学习,我们已经掌握了机器学习的基础知识和经典算法。今天我们来做一个全面总结,为进入深度学习阶段做好准备。 🎯 已掌握的核心算法总结 1. 监督学习算法 1.1 回归算法 算法 核心思想 适用场景 优缺点 线性回…

雨云深度体验:从安利到教程再到全面评测

零、简介在云服务市场竞争日益激烈的当下&#xff0c;各类云服务提供商如雨后春笋般涌现。然而&#xff0c;雨云却凭借其独特的优势&#xff0c;在这片红海之中逐渐崭露头角&#xff0c;吸引了众多个人开发者与企业用户的目光。接下来&#xff0c;就让我们全方位、深层次地从安…

luoguP13511 [KOI P13511 [KOI 2025 #1] 等腰直角三角形

P13511 [KOI 2025 #1] 等腰直角三角形 - 洛谷 题目重现 题目描述 在二维平面上有 N 个不同的点。对于每个 1≤i≤N 的 i,第 i 个点的坐标为 (xi​,yi​)。 等腰三角形是指三条边中有两条边长度相等的三角形。直角三角形是指一个内角为直角 (90∘) 的三角形。直角三角形的斜…

Qt Quick 动画与过渡效果

Qt Quick 提供了强大而灵活的动画系统&#xff0c;使开发者能够轻松创建流畅、引人入胜的用户界面。从简单的属性变化到复杂的多元素协同动画&#xff0c;Qt Quick 提供了多种实现方式。本文将深入解析 Qt Quick 动画与过渡效果的核心技术和最佳实践。 一、基础动画类型 1. 数字…