(Arxiv,2024)Mind the Modality Gap:通过跨模态对齐建立遥感视觉语言模型

文章目录

  • 相关资料
  • 摘要
  • 引言
  • 相关工作
    • 对比语言图像预训练
    • 遥感域专用 CLIP 模型
    • 遥感中的多模态 CLIP 启发模型
  • 方法
    • 模型算法
        • 输入阶段:
        • 输出阶段:
        • 步骤说明:
    • 第一阶段:通过权重插值修补CLIP
    • 将遥感图像模态与自然图像和文本对齐
  • 实验

相关资料

论文:Mind the Modality Gap: Towards a Remote Sensing Vision-Language Model via Cross-modal Alignment

摘要

深度学习(DL)正在经历一场范式转变,随着基础模型的出现,这些基础模型被称为关键但不完整的模型。在这项工作中,我们专注于对比语言-图像预训练(CLIP),这是一个开放词汇基础模型,可以在许多图像分类任务中取得很高的准确率,并且通常与完全监督的基线竞争性能而无需显式训练。然而,仍然存在一些域,其中零样本CLIP性能远非最佳,例如遥感(RS)和医学图像。这些领域不仅与自然图像相比具有根本不同的分布,而且通常依赖于RGB之外的互补模态来提取有意义的见解。为此,我们提出了一种方法,目的是将不同的RS图像模态CLIP的视觉和文本模态进行对齐。我们的两阶段过程包括对CLIP进行鲁棒微调以处理分布转移,同时伴随RS模态编码器的跨模态对齐,以扩展CLIP的零样本能力。最终,我们在RS图像分类和跨模态检索任务上展示了我们的方法。我们在几个RS基准数据集上经验性地展示,鲁棒微调和跨模态对准都能转化为显著的性能提升。值得注意的是,这些增强是在不依赖文本描述、不引入任何特定任务参数、不从头开始训练以及不引入灾难性遗忘的情况下实现的。

引言

相较于典型的图像分类器,开放词汇模型并不受限于固定的分类空间,能够使用分类名的文本描述执行任何图像分类任务。另一方面,作为基础模型的深度学习模型通常通过规模上的自监督训练,在大量通过网络爬虫方法获取的未标记数据上进行训练,它们是大型且多功能的深度学习模型,可以适用于各种下游任务。开放词汇基础模型结合了大规模预训练和处理固定词汇以外单词的能力,因此引起了极大关注,得益于其卓越性能和在不同领域的泛化能力,尤其在文本输入可能包含特定领域术语的情况下,这些模型尤其有用。
然而,在某些领域,如遥感和医学图像等领域,零样本CLIP性能仍远未达到最佳水平。尤其是在卫星场景分类方面,这是CLIP作者提出的少数任务之一,在EuroSAT数据集上,零样本CLIP表现明显低于完全监督的ResNet50基准模型,导致最大的差值(37.1%)。
为此,我们确定了卫星场景分类任务的三个主要差距,并在本研究中加以解决:

  • 第一个差距涉及分布转移,即在训练期间使用的数据与模型部署时遇到的数据明显不同时,导致性能显著下降的潜在数据分布变化。
  • 第二个差距来自仅依赖RGB模态所造成的信息约束。卫星影像通常利用超出RGB的辅助模态(如多光谱、高光谱和雷达数据),以及这些模态的副产品,如InSAR数据,从而获得有意义的见解。
  • 第三个差距涉及具有卫星影像及相应文本描述对的数据集的稀缺性
    通常使用的遥感图像-文本配对数据集仅限于航空和超高分辨率商业卫星图像。这些数据集存在两个相关缺点。首先,它们不依赖于免费开放数据,如庇护神哨卫星星座数据。其次,这些数据集的空间分辨率直接关系到从场景中检索的细节级别,导致与非商业卫星数据相比具有不同的基础数据分布。这两个因素限制了它们在下游应用中的可用性。

为了解决这些差距,我们提出了一个新颖的方法学,包括两个连续阶段,旨在在CLIP的背景下对RS图像模态进行跨模态对齐。我们的研究基于OpenAI的CLIP预训练图像-文本模型的集合。在第一步中,我们定义了一个修补过程,通过使用RS数据的RGB混合图像对CLIP进行强化微调,以处理上述分布偏移,而不影响CLIP在自然图像分类任务上的零样本性能。至于第二步,我们通过将预训练的RS编码器CLIP的视觉和文本模态进行跨模态对齐,扩展了CLIP的零样本能力。

我们的主要贡献可以总结如下:

  • 我们提出了一种在CLIP背景下对RS图像模态进行跨模态对齐的新方法,无需依赖文本描述,无需引入任何特定于任务的参数,无需从头开始训练,也无需发生灾难性遗忘。
  • 我们评估了修补和对齐模型的泛化能力,并在一系列著名的RS图像数据集上提供了关于RS图像分类和跨模态检索任务的广泛基准数据。

相关工作

对比语言图像预训练

  • LAION-AI基于OpenAI的CLIP开源实现OpenCLIP展示了令人印象深刻的结果。他们设法复制了OpenAI的专有预训练数据集,随后在各种数据源和计算预算范围从小到大的实验中使用不同构架对多个模型进行了训练和发布。在CLIP预训练的背景下最近取得的进展展示了在预训练数据过滤、模型架构和计算效率方面的显著成就,导致了实质性的改进,并最终确立了在预训练CLIP模型时代的新标准。

遥感域专用 CLIP 模型

数据被视为基础模型训练的基石,CLIP也不例外。就RS领域而言,在与CLIP相关的发展方面落后,主要是因为领域内图像-文本配对数据稀缺。因此,近期的发展主要围绕着利用现有有限范围的RS数据集以及数据高效调整CLIP模型以解决手头的问题。

  • Arutiunian等人利用三个小型现有的RS图像字幕数据集对CLIP进行了微调,并展示了他们在检索相关任务上的结果。
  • Czerkawski等人强调,在零样本设置下,CLIP难以检测到无云图像,并通过在CLIP图像编码之上的单个线性层进行几百次优化步骤的低成本训练阶段来减轻这一限制,展示了改进的性能及跨各种传感器类型和光谱波段的可转移性。
  • Singha等人提出了一种基于图像情境提示学习策略的APPLeNet,用于利用CLIP模型进行少样本RS图像泛化。他们的方法专注于多尺度特征学习,并在RS中域泛化任务中对视觉风格和内容基元进行解耦,优于几个RS基准数据集中的零样本CLIP。
  • Liu等人提出了RemoteCLIP,一种RS领域专门化的CLIP模型。
  • Zhang等人提出了RS5M,一个500万 RS 图像字幕数据集,通过过滤公开可用的图像-文本配对数据集和使用预训练的 VLM 对仅具有字幕标签的 RS 数据集进行字幕化,旨在微调 CLIP。 他们尝试了完全微调和几种参数高效微调方法,并最终展示了他们的最终模型 GeoRSCLIP,在零样本分类、跨模态图像-文本检索以及与最先进的 RS 定制 CLIP 模型相比的语义定位任务上的表现。
  • Yuan等人引入了一种参数高效的迁移学习(PETL)方法,用于 RS 图像-文本检索,利用了预训练的 CLIP 模型、多模态适配器和混合多模态对比学习目标,优于传统方法,并且大幅降低了训练成本,相比完全微调。
  • Mo等人提出了 S-CLIP,一种用于微调 CLIP 的半监督学习方法,通过使用特定设计用于对比学习的伪标签策略,利用额外的未配对图像,显著提高微调结果,使用的图像-文本对数量比通常所需的更少。
  • Bhattacharya等人提出了 C-SAW,一种自监督提示学习技术,将重建任务纳入 RS 应用中的图像泛化。在微调过程中,他们保持了 CLIP 骨干网络冻结,并为两个 CLIP 编码器引入了一小组投影器,使用 C-SAW 进行对比训练。
  • Dhakal等人提出了一种用于基于自由形式文本描述创建地图的新型弱监督方法,称为无标记映射。 他们利用一个名为 Sat2Cap 的对比学习框架,训练了配对的高空和地面级图像,以从卫星图像中预测地面景观的 CLIP 嵌入。他们成功地映射了各种属性,而无需文本标记数据,克服了以前仅能映射预定义属性的模型的局限性。
  • Mall等人通过对训练一个将 RGB 卫星图像映射到相同表示空间的冻结 CLIP 图像编码器的对比学习,使用大量配对的互联网图像和 RGB 卫星图像复合物,解决了文本描述稀缺性的问题。 利用大量的地面卫星图像对而无需伴随文本比在小数据集上进行有监督微调更为有益。

遥感中的多模态 CLIP 启发模型

  • Allen等人利用三种不同的RS图像模态(Sentinel-2 RGB光学和Sentinel-1 SAR雷达振幅和干涉相干性)在覆盖地球总陆地面积较小百分比的五个AOI上预训练了基于ViT的CLIP模型。该模型由三个单独的单通道ViT-based输入编码器组成,这些编码器在预训练期间对每种模态都选择随机的通道进行操作,旨在在所有三种模态之间创建一个共享的嵌入空间,同时测量每对模态的相似性然后求平均。
  • Klemmer等人[65]展示了SatCLIP,一个全球性的地理位置编码器,利用全球可用的卫星图像学习通用隐式表示,通过使用CLIP目标来匹配卫星图像及其各自的坐标进行预训练。
  • Cepeda等人[66]引入了GeoCLIP,一种基于CLIP灵感的用于全球定位的图像到GPS检索方法。与SatCLIP不同,GeoCLIP利用预训练的CLIP图像编码器,并强化与相应GPS位置的对齐。使用分层学习和随机傅里叶特征,GeoCLIP在有限数据设置中展示了出色的有效性,并在众多下游任务中有潜在应用。
  • Khanal等人[67]提出了GeoCLAP,基于声音与地理位置的视觉特征之间的关系为声景映射任务提出了一种对比学习框架。他们利用基于CLIP的模型对三种数据进行编码:地理标记的音频记录,音频的文本描述以及其拍摄位置的高空图像。

方法

D = { ( I S A T 1 , y 1 ) , . . . , ( I S A T n , y n ) } D = \{(I^1_{SAT} , y_1), . . . , (I^n_{SAT} , y_n)\} D={(ISAT1,y1),...,(ISATn,yn)} 成为一个标记的 RS 成像存档,其中包含 n n n 个图像-标签对,其中 ( I S A T n , y n ) (I^n_{SAT} , y_n) (ISATn,yn) 是存档中的第 n 个图像-标签对。每个图像 I S A T i I^i_{SAT} ISATi 都有一个相应的 RGB 复合图像 I R G B i ⊊ I S A T i I^i_{RGB} ⊊I^i_{SAT} IRGBiISATi,使用一个取决于 I S A T I_{SAT} ISAT 的 RS 模态的专用函数 T R G B ( ) T_{RGB} () TRGB()生成。鉴于 RS 成像集合 I S A T I_{SAT} ISAT 和相应的 RGB 复合物集合 I R G B ( ) I_{RGB} () IRGB(),以及相关的标签 y y y,我们旨在通过利用 RGB 复合物和标签作为锚点来学习一个共享的嵌入空间 E E E,以有效地对齐这些模态。目标是找到一个映射 f : I S A T ∪ I R G B ∪ y → E f: I_{SAT} ∪I_{RGB} ∪ y → E f:ISATIRGByE,使得对于每个三元组 ( I S A T i , I R G B i , y i ) (I^i_{SAT} , I^i_{RGB} , y^i ) (ISATi,IRGBi,yi),嵌入 f ( I S A T i ) 、 f ( I R G B i ) f (I^i_{SAT} )、f (I^i_{RGB}) f(ISATi)f(IRGBi) f ( y i ) f (y^i ) f(yi) E E E中紧密对齐。最终的嵌入空间 E E E 通过学习的表示,促进了 RS 成像模态、RGB 图像和文本之间的关联,从而实现了多模态下游任务。
为此,我们采用了一个分为两个阶段的方法,明确定义如算法 1。
在这里插入图片描述

模型算法

输入阶段:
  1. 初始化预训练的CLIP模型 M和分词器 T:加载预训练的CLIP模型和用于文本处理的分词器。

  2. 定义数据集D:包含若干图像-标签对 (xi, yi),类别名称集合Dclassnames,以及提示集合Dprompts。

  3. 初始化预训练的卫星成像模式编码器Msat:加载用于处理卫星图像数据的预训练编码器。

输出阶段:
  • 输出对齐的卫星编码器Msat:返回经过对齐的卫星成像模式编码器,该编码器能够与CLIP模型的视觉和文本模式更好地协同工作。
步骤说明:
  1. 创建分类头cls_head()

    • 设置CLIP模型为推理模式。
    • 为每个类别创建一个分类头,通过将类别名称格式化为提示、分词、编码文本,然后归一化和平均文本嵌入。
  2. 对齐模型align(Mteach, Mstud)

    • 初始化一个冻结的分类头h,使用cls_head()创建的分类头。
    • 设置Mstud(卫星成像模式编码器)为可训练状态,同时冻结Mteach(CLIP图像编码器)。
    • 对于数据集中的每一对图像xi(RGB图像)和其对应的卫星图像xi,获取它们在CLIP模型和卫星编码器中的嵌入表示。
    • 使用分类头h对卫星图像的嵌入进行分类,并计算损失函数,该函数是均方误差(MSE)和交叉熵(CE)的线性组合。
  3. 主函数main()

    • 步骤 1: CLIP模型修补Patching
      • 使用BigEarthNet-S2数据集的RGB组合图像对CLIP模型进行微调。
      • 通过微调前后的权重线性插值,找到平衡修补任务和支持任务性能的混合系数α。
    • 步骤 2: 跨模态对齐
      • 加载卫星成像模式编码器Msat,并使用align()函数将其与CLIP模型的图像和文本编码器进行对齐。

这个算法的目的是通过两个阶段的处理,使得卫星成像模式编码器能够在一个共享的嵌入空间中与CLIP模型的视觉和文本模式有效对齐,从而提高遥感图像的分类和检索性能。
第一步解决卫星成像中的分布偏移,通过对 CLIP 图像编码器进行稳健的微调。
随后,在第二阶段,卫星多光谱模态嵌入与 RGB 图像和文本嵌入对齐,即将 Sentinel-2 多光谱成像对齐到 RGB 复合物和文本。由此产生的嵌入空间有效地关联了模态对,使得可以进行大量交叉模态检索和基于文本的零样本下游任务。

第一阶段:通过权重插值修补CLIP

在这里插入图片描述

Patching with Interpolation(PAINT)能显著提高在分布转变下的准确性,同时在目标分布上保持高性能。PAINT采用两步过程,包括对模型进行微调,然后在微调之前和之后的模型权重之间进行线性插值。这种方法使得模型在更多任务上实现高准确性,而无需引入任何特定任务的参数,也无需从头重新训练模型,同时避免灾难性遗忘。
为了处理自然图像与卫星图像之间的分布转变,我们首先对CLIP进行了稳健微调,如图1所示,遵循了Ilharco等人描述的补丁协议。最终,我们得到了一个精炼的嵌入空间,从而为便于进行卫星交叉模态对准阶段奠定了坚实的基础。鉴于一个开放词汇模型,即CLIP,带有权重 W z s W_{zs} Wzs ,我们在来自一个补丁任务 D p a t c h D_{patch} Dpatch 的训练数据上对 W z s W_{zs} Wzs 进行了微调,目的是产生权重 W f t W_{ft} Wft,在 D p a t c h D_{patch} Dpatch上表现高准确性,而不降低已经足够良好的支持任务 D s u p p D_{supp} Dsupp上的性能。因此,通过保留的 D p a t c h D_{patch} Dpatch D s u p p D_{supp} Dsupp上的留出验证集确定一个混合系数 α ∈ [ 0 , 1 ] α ∈ [0, 1] α[0,1],以线性插值 W z s W_{zs} Wzs W f t W_{ft} Wft并生成 W p a t c h = ( 1 − α ) × W z s + α × W f t W_{patch} = (1-α)×W_{zs} +α×W_{ft} Wpatch=(1α)×Wzs+α×Wft 。实质上, W z s W_{zs} Wzs W f t W_{ft} Wft W p a t c h W_{patch} Wpatch是CLIP图像编码器的权重。Ilharco等人[68]在微调过程中,使用CLIP的文本冻结输出作为图像编码器的输出层,以将图像特征映射到类别空间,而不是引入一个可学习的分类层。

将遥感图像模态与自然图像和文本对齐

在这里插入图片描述

在跨模态对齐阶段(如图 2 所示),我们利用第一阶段中使用的已修补的 CLIP 图像编码器 M p a t c h e d M_{patched} Mpatched 作为教师网络,以及一个预训练的卫星模态编码器 M s a t M_{sat} Msat 作为学生网络。为了有效地对齐这两个网络,我们采用一个基于以下假设的简单方法,即与相同样本相关的多种模态应在共享的CLIP嵌入空间中产生类似的嵌入。该过程涉及一对模态 I R G B I_{RGB} IRGB I S A T I_{SAT} ISAT 对应于 RGB 组合和其他遥感模态。对于给定的来自这两个模态的图像 x i ∈ I R G B x_i ∈ I_{RGB} xiIRGB 和其对应的样本 x ~ i ∈ I S A T \widetilde{x}_i ∈ I_{SAT} x iISAT,我们获得它们各自的嵌入 E i = M p a t c h e d ( x i ) E_i = M_{patched}(x_i) Ei=Mpatched(xi) E ~ i = M s a t ( x ~ i ) \widetilde{E}_i = M_{sat}(\widetilde{x}_i) E i=Msat(x i)
在嵌入维度 E i E_i Ei E ~ i \widetilde{E}_i E i 不同的情况下,我们为学生网络 M s a t M_{sat} Msat 引入一个线性投影头,以确保输出嵌入尺寸匹配。
受知识蒸馏 [72] 损失函数以及先前的蒸馏工作 [73]-[76] 启发,通过一个联合目标函数 L I , M L_{I,M} LI,M,指导学生模仿教师的视觉和文本嵌入,该函数由交叉熵损失 L C E L_{CE} LCE 和均方误差损失 L M S E L_{MSE} LMSE 的线性组合构成。
在这里插入图片描述
L C E L_{CE} LCE通过使用 CLIP 文本编码器的冻结输出作为锚点利用标记数据监督确定,将图像特征映射到类别空间,而 L M S E L_{MSE} LMSE 鼓励学生模仿教师的输出嵌入,与原始知识蒸馏损失的相对柔化的类别得分形成对比。

实验

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【微信小程序开发】程序开发(微信登录前后端流程)

简单开发 程序开发微信小程序的目录结构开发简单入门 微信登录流程小程序发布 程序开发 微信小程序的目录结构 一个小程序主体部分由三个文件组成(必须放在项目的根目录) 文件作用app.js小程序逻辑app.json小程序公共配置app.wxss小程序公共样式表 小…

Vue入门到关门之Vue3项目创建

一、vue3介绍 1、为什么要学习vue3? vue3的变化: 首先vue3完全兼容vue2,但是vue3不建议用vue2的写法;其次,vue3拥抱TypeScript,之前vue2使用的JavaScript,ts完全兼容js 最后之前学的vue2 是…

昂科烧录器支持O2Micro凹凸科技的电池组管理IC OZ7708

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表,其中O2Micro凹凸科技的电池组管理IC OZ7708已经被昂科的通用烧录平台AP8000所支持。 OZ7708是一款高度集成、低成本的电池组管理IC,适用于5~8s Li-Ion/Polymer电池组&a…

245 基于matlab的MEEMD信号分解及重构算法

基于matlab的MEEMD信号分解及重构算法。MEEMD方法的主要步骤包括:1. 定义多元信号集合,将多个信号进行集合;2. 对多元信号集合进行EEMD分解,得到一组IMFs;3. 将相同IMF进行平均,得到改进的IMFs;…

用于图生成的自回归扩散模型 笔记

1 Title Autoregressive Diffusion Model for Graph Generation(Lingkai Kong、Jiaming Cui、Haotian Sun、Yuchen Zhuang、B. Aditya Prakash、Chao Zhang)【PMLR 2022】 2 Conclusion This study propose an autoregressive diffusion model …

【数据结构】单链表和双链表的基操实现

文章目录 一、链表的概念及结构二、链表的分类三、无头单向非循环链表1.单链表创建2.尾插和头插3.尾删和头删4.打印5.查找6.插入7.删除8.销毁 四、带头双向循环链表1.双链表的创建2.初始化3.判断链表是否为空4.尾插和头插5.尾删和头删6.查找7.插入8.删除9.销毁 五、总结链表和顺…

深入理解回溯算法

大家好,我是 方圆,本篇我们来讲回溯。回溯相当于穷举搜索,它会尝试各种可能的情况直到找到一个满足约束条件的解,寻找解的手段一般通过 DFS 实现,是一个 增量构造答案 的过程。回溯法适用于解决能够将原问题拆分成子问…

OpenSSL实现AES-CBC加解密,可一次性加解密任意长度的明文字符串或字节流(QT C++环境)

本篇博文讲述如何在Qt C的环境中使用OpenSSL实现AES-CBC-Pkcs7加/解密,可以一次性加解密一个任意长度的明文字符串或者字节流,但不适合分段读取加解密的(例如,一个4GB的大型文件需要加解密,要分段读取,每次…

常见通信协议

1、串口:(串行异步全双工,先发低位) 因为是异步的,所以没有时钟线,因为是全双工,所以有两条数据传输线,实现数据的收发。 帧格式 起始位1位,数据位8位,校验…

【C++】stack、queue和priority_queue的模拟实现

在本篇博客中,作者将会讲解STL中的stack、queue和priority_queue的模拟实现,同时还会带大家了解一下deque这个容器。 一.什么是适配器 STL中一共有6大组件:容器,适配器,空间配置器,仿函数,迭代器…

控制台调试 hover 后才出现的元素

调试 hover后才出现的元素 打开开发者工具,鼠标放在hover时才出现的元素上,然后点击右键; 不要选中任何选项,将鼠标移动到开发者工具的调试面板中; 按下N键,此时悬浮的元素不会消失,定位成功。…

Java注解介绍

注解(Annotation)是Java提供的一种元数据形式,它可以被添加到Java代码的各种元素上,如类、方法、变量、参数等。注解的作用主要包括: 1. 代码文档:注解可以用于生成文档,提高代码的可读性。 2.…

前端之深拷贝

前提: 就是在实际开发中,我有一个编辑的弹窗,可以查看和编辑,因为弹窗里面是一个步骤条,点击下一步就要向对应的接口发送请求,考虑到就比如我点击下一步,此次表箱信息其实不需要修改&#xff0…

大模型_DISC-MedLLM基于Baichuan-13B-Base医疗健康对话

文章目录 DISC-MedLLM介绍概述数据集部署推理流程 DISC-MedLLM 介绍 DISC-MedLLM 是一个专门针对医疗健康对话式场景而设计的医疗领域大模型,由复旦大学数据智能与社会计算实验室 (Fudan-DISC) 开发并开源。 该项目包含下列开源资源: DISC-Med-SFT 数据集 (不包…

智慧园区综合物业管理平台解决方案PPT(130页精品)

我们对智慧园区的理解 智慧园区,是通过信息技术和各类资源的整合,充分降低企业运营成本,提高工作效率,加强各类园区创新、服务和管理能力,为园区铸就一套超强的软实力。智慧园区的实现是多技术融合、多系统融合、多领域…

初识C语言——第十三天

关键字2: static 修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型) static修饰全局变量,使得这个全局变量只能在自己所在的源文件(.c)内部可以使用,其他源文件不能使用 …

全方位了解 Meta Llama 3

本文将为您提供 Llama 3 的全面概览,从其架构、性能到未来的发展方向,让您一文了解这一革命性大语言模型的所有要点。 Meta Llama 发展历程 Llama 1 Llama 是由 Meta(FaceBook) AI 发布的一个开源项目,允许商用,影响力巨大。Lla…

基于springboot+vue+Mysql的在线动漫信息平台

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

Qt | QLCDNumber 类(LCD 数字),LCD 表示液晶显示屏

01、上节回顾 Qt 基础教程合集02、QLCDNumber 1、QLCDNumber 类用于显示类似于 LCD 显示屏上的字符(见右图) ​ 2、QLCDNumber 类是 QFrame 类的直接子类,因此 QLCDNumber 以使用从 QFrame 类继承而来的边框效果 3、QLCDNumber 可显示的符号有:0,1,2,3,4,5,6,7,8,…

ue引擎游戏开发笔记(33)——武器与角色的匹配,将新武器装备到角色身上

1.需求分析: 武器能出现在世界中,完成了第一步,下一步需要角色和武器适配,即不论角色跑动,射击等,武器和角色都相匹配,将武器装备到角色身上。 2.操作实现: 1.首先先把角色原有的武…