多模态大模型系列解读

news2024/11/17 2:31:22

人类通过视觉、语言等多种表征媒介(模态)与世界互动,每种模态都可能在某个方面的表达和交流上有它自己的优势,融合在一起帮助我们更系统、更完整地理解这个世界。随着技术的发展,大预言模型基本实现独立自然的表达,视觉编码表征能力也逐渐增强,自然而然,我们就会想要把两方面的能力结合在一起,用一个大一统的模型完成语言+视觉的综合理解&表达,这也更靠近大家所理解的AGI-通用人工智能。

视觉+语言的多模态大模型目前主流方法是:借助预训练好的大语言模型和图像编码器,用一个图文特征对齐模块来连接,从而让语言模型理解图像特征并进行更深层的问答推理。这样可以利用已有的大量单模态训练数据训练得到的单模态模型,减少对于高质量图文对数据的依赖,并通过特征对齐、指令微调等方式打通两个模态的表征。
在这里插入图片描述

对此,强烈推荐读者完整阅读多模态大模型综述 MM-LLMs: Recent Advances in MultiModal Large Language Models 。将会帮助大家快速建立对多模态大模型领域的整体把握。

接下来我们将对以下几个工作进行介绍:
在这里插入图片描述

CLIP (Contrastive Language-Image Pre-training)

基本思想

CLIP的基本算法原理是文本和图像在特征域进行对齐。

模型结构

  • 为了对image和text建立联系,首先分别对image和text进行特征提取,image特征提取的backbone可以是resnet系列模型也可以是VIT系列模型;text特征提取目前一般采用bert模型。
  • 特征提取之后,由于做了normalize,直接相乘来计算余弦距离,同一pair对的结果趋近于1,不同pair对的结果趋近于0,因为就可以采用对比损失loss(info-nce-loss)【这里要比较大的batch size才能有效果,类似于维护一个大的特征相似度矩阵】
    在这里插l述
  • 利用clip进行图像分类有两种方式,一种是直接利用zero-shot 方式进行预测,如下图所示,将text假设为 a photo of [object], 分别对image 和 text进行特征提取以及余弦距离,当object为目标类别时,相似度最高,即为预测结果(效果好);还有一种方式就是再重新finetune,同样也是对类别设计几种不同的文本,这样效果能够达到sota的水平!
    在这里插入图片描述

训练损失函数

参考对比学习损失,采用了info-nce-loss。
Info-NCE:是NCE的一个简单变体,把噪声样本从一个类别又划分为多个类看待。公式中的temp是一个温度超参数(标量),如果忽略temp,那么infoNCE loss其实就是cross entropy loss,只是在cross entropy loss里,k指代的是数据集里类别的数量,而InfoNCE loss里,k指的是负样本的数量。公式分母中的sum是在1个正样本和k个负样本上做的,做的是一个k+1类的分类任务,目的就是想把query这个图片分到k+这个类。

细节

CLIP用了大量的训练数据以及训练资源,大力出奇迹。CLIP用了400 million的image-text pair对进行训练,对于image backbone,CLIP尝试了两种结构,DN50x64 和 vit-L,分别用了592 个 V100 + 18天 的时间 和 256 个 V100 + 12天 的时间,非大公司直接劝退。

BLIP(Bootstraping language image pre-training)

基本思想

兼顾图文理解和生成的多模态模型(Multimodal mixture of Encoder-Decoder),同时在三个视觉语言目标上联合预训练:图像文本对比学习ITC图像文本匹配ITM图像条件语言建模LM;同时提出了一种高效利用网络收集的嘈杂图文对的采样+过滤机制。
在这里插入图片描述

模型结构

  • 图像块的编码(ViT):图像打成patches块后进行编码,增加cls token来记录全局的特征(作用类似位置编码,保留patches的空间特征)
  • 文本的编码(BERT):对句子进行编码,增加cls token记录句子的全局特征
    Image-grounded text encoder:在文本embedding中注入了图像特征,通过在self-attention和FFN中间增加一层cross-attention来对齐text-encoder和img-encoder的特征。
  • Image-grounded text decoder:用causal self-attention层(预测下一个token)代替了双向自注意力层(建立当前输入token的表达)【和左边的encoder共享除了self-attention之外的层】

训练损失函数

预训练阶段同时优化3个loss项,每个图文对只过1次vision-transormer(算力消耗较大),过3次text-transormer

Image-Text Contrastive Loss (ITC)理解功能:优化vision-transormer+text-transormer,让匹配的图文对有较高相似度的表达(用了soft labels),多模态中的经典loss->使其互信息最大化;
Image-Text Matching Loss (ITM)理解功能 :优化Image-grounded text encoder,学习图文的细粒度匹配的二分类,采用了hard negative mining strategy;
Language Modeling Loss (LM)生成功能:优化image-grounded text decoder,学习如何从给定图生成连贯的文本描述,采用交叉熵代价函数以自回归方式最大化对应文本概率。

Captioning and Filtering

一种高效的数据集增强方法,从网页噪声图像文本对中学习,采样生成器+噪声过滤器,都是从相同的预训练模型初始化,并在小型人工注释数据集(COCO)上单独进行微调。

  • 采样生成器captioner:基于图像的文本解码器(生成),用LM的loss进行微调
  • 噪声过滤器filter:基于图像的文本编码器(判别),用ITC+ITM进行微调,判断图文是否匹配
    在这里插入图片描述

效果

从用人工标注的图文对得到的预训练模型开始初始化,captioner生成合成文本,filter过滤合成文本和网页描述文本,得到过滤后的相对干净的网页文本和合成文本->用来训练BLIP,往复进行。
在这里插入图片描述

数据集

图像编码器使用 ImageNet-1K 上预训练的 ViT 初始化,文本编码器以 BERT-Base 初始化,按照Vit-B 2880/ Vit-L 2400的batch-size训练 20 Epochs,预训练阶段图像尺寸224*224,微调阶段尺寸384*384.
用了以下3部分数据集预训练,加起来大概是 14M:

  • COCO
  • Visual Genome
  • 网络数据:Conceptual Captions,Conceptual 12M(噪声较大),SBU
    Captions

还尝试了一个额外的噪声文本较多的web 数据集 LAION(115M 图像)

BLIP2

基本思想

如标题所言 Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models,分两个阶段,通过利用预训练好的视觉模型和语言模型来提升多模态效果和降低训练成本。

模型结构

BLIP-2 由预训练的Image Encoder预训练的Large Language Model,和一个可学习的 Q-Former 组成。

  1. Image Encoder:从输入图片中提取视觉特征,尝试了两种网络结构,CLIP 训练的 ViT-L/14和EVA-CLIP训练的 ViT-g/14(去掉了最后一层)。
  2. Large Language Model:大语言模型进行文本生成,尝试了接入decoder-based LLM 和 encoder-decoder-based LLM两种结构。
  3. Q-Former:弥补视觉和语言两种模态的modality gap,可以理解为固定图像编码器和固定LLM之间的信息枢纽,选取最有用的视觉特征给LLM来生成文本。
    在这里插入图片描述

Q-Former

Q-Former由Image TransformerText Transformer两个子模块构成,它们共享相同自注意力层。
Image Transformer:通过和image encoder交互来提取视觉特征,输入是一系列(文中用的32个768长度)可学习的 Queries,这些Query通过自注意力层相互交互,并通过交叉注意力层与冻结的图像特征交互,还可以通过共享的自注意力层与文本进行交互;输出的query尺寸是32*768,远小于冻结的图像特征257*1024(ViT-L/14)。
Text Transformer:既作为文本编码器也作为文本解码器,它的自注意力层与Image Transformer共享,根据预训练任务,用不同的self-attention masks来控制Query和文本的交互方式。
在这里插入图片描述

训练过程

为了减少计算成本并避免灾难性遗忘,BLIP-2 在预训练时冻结预训练图像模型和语言模型,由于简单地冻结预训练模型参数会导致视觉特征和文本特征难以对齐,为此BLIP-2提出两阶段预训练 Q-Former 来弥补modality gap:表示学习阶段生成学习阶段

表示学习阶段

第一个预训练阶段,vision-language表示学习,将 Q-Former 连接到冻结的图像编码器image encoder,目标是Q-Former学习与文本最相关的视觉表示。和BLIP类似,通过联合优化 ITC + ITG + ITM 三个预训练loss,并在Query和Text之间采用不同的注意力掩码策略,从而控制Image Transformer和Text Transformer的交互方式。

  1. ITC (Image-Text Contrastive Learning):优化目标是对齐图像特征和文本特征,也就是对齐image transformer输出的query representation与来自text transformer输出的text representation。为了避免信息泄漏,ITC采用了单模态自注意掩码,不允许query和text看到对方。计算时先计算每个query与文本embedding之间的相似度,然后选择最高的作为图文相似度。
  2. ITG (Image-grounded Text Generation):优化目标是给定输入图像作为条件,训练 Q-Former 生成文本,迫使query提取包含所有文本信息的视觉特征。由于 Q-Former 的架构不允许冻结的图像编码器和文本标记之间的直接交互,因此生成文本所需的信息必须首先由query提取,然后通过自注意力层传给text token。ITG采用多模态causal attention mask来控制query和text的交互,query可以相互感知,但不能看见text token,每个text token都可以感知所有query及其前面的text标记【半矩阵,生成式任务的常见做法】。这里将 [CLS] 标记替换为新的 [DEC] 标记,作为第一个文本标记来指示解码任务。
  3. ITM (Image-Text Matching):优化目标是进行图像和文本表示之间的细粒度对齐,学一个二分类任务,即图像-文本对是正匹配还是负匹配。这里将image transformer输出的每个query嵌入输入到一个二类线性分类器中以获得对应的logit,然后将所有的logit平均,再计算匹配分数。ITM使用双向自注意掩码,所有query和text都可以相互感知。

生成学习阶段

第二个预训练阶段,vision-to-language生成学习,将 Q-Former 连接到冻结的大语言模型LLM,将 Q-Former 的输出给到冻结的 LLM 来执行视觉到语言的生成学习,目标是训练Q-Former使其输出的视觉表示对LLM可用

  1. 使用全连接层将输出的query embedding线性投影到与 LLM 的text embedding相同的维度,然后将投影的query embedding添加到输入text embedding前面。由于 Q-Former 已经过预训练,可以提取包含语言信息的视觉表示,因此它可以有效地充当信息枢纽,将最有用的信息提供给 LLM,同时删除不相关的视觉信息,减轻了 LLM 学习视觉语言对齐的负担【相当于soft visual prompts】。
  2. 尝试了decoder-based LLMencoder-decoder-based LLM:对于decoder-based LLM,基于language modeling loss进行预训练,用Q-Former提取的视觉表示生成文本描述;对于encoder-decoder-based LLM,基于prefix language modeling loss进行预训练,把前缀和视觉表示一起输入LLM encoder,由LLM decoder生成后续文本。
    在这里插入图片描述

VQA任务微调结构

把问题和Q-Former提取的视觉表示一起输入LLM从而得到答案,不过还多了一个把问题也加入了Q-Former的输入,使提取的图像特征和问题更相关。这种方式也用在了他们的下一篇文章InstructBLIP中,用于注入指令进行微调。
在这里插入图片描述

数据集

预训练数据集

  1. 沿用BLIP的数据集,加起来总共129M:COCO, Visual Genome, Conceptual Captions 3M+12M, SBU Captions, 额外的 web 数据集 LAION400M 的一部分,该数据集包含 115M 图像,具有更多的噪声文本;
  2. 采用了 BLIP 里面提出的 CapFilt 方法从网络图像合成文本描述(选top2)。

预训练好的Image Encoder和 LLM
视觉模型:CLIP训练的 ViT-L/14;EVA-CLIP训练的 ViT-g/14
LLM :基于解码器的LLM-OPT;基于编解码器的LLM-FlanT5

训练设定

第一阶段预训练250k步,第二阶段预训练80k步,图像输入尺寸224*224,更多细节看原文。

效果展示

可做到视觉知识推理、视觉常识推理、视觉对话、个性化图像到文本生成等,只需在视觉提示之后附加文本提示作为 LLM 的输入。
在这里插入图片描述

不足

上下文学习能力缺失:由于预训练数据集中的每个数据只包含一个图文对,LLM无法学习单个序列中多个图文对的相关性。
冻结参数的 LLM 的风险:比如输出攻击性语言,传播社会偏见,解决办法是指令微调,或者过滤掉有害的数据集。

LLaVA(Large Language and Vision Assistant)

基本思想

使用仅限语言的GPT-4生成多模态语言图像指令跟随数据,提出一种连接视觉编码器和LLM的端到端训练多模态大模型。

模型结构

使用视觉编码器CLIP ViT-L/14+语言解码器LLaMA构成多模态大模型,然后使用生成的数据进行指令微调。输入图片X经过与训练好的视觉编码器的到图片特征Z,图片特征Z经过一个映射矩阵W转化为视觉Token H,这样Vison Token H_v与Language Token H_q指令就都在同一个特征空间,拼接后一起输入大模型。这里的映射层W也可以替换为更复杂的网络来提升性能,比如Flamingo中用的gated cross-attention,BLIP-2中用的Q-former。
在这里插入图片描述

训练

使用如下图的方式组织每一轮的对话输入输出,训练模型预测助手的答案以及在哪里停止,因此仅使用绿色序列和标记来计算自回归模型中的损失,即根据所有前轮的指令和回答来预测当前目标回答X_a,也就是经典的next token prediction。
在这里插入图片描述
文中使用了两阶段的训练方式:

  1. 预训练特征对齐模块(映射层W),冻结视觉编码器和LLM,只训练映射矩阵W得到上面公式的最大似然,相当于为冻结的 LLM 训练一个适配的visual tokenizer。
  2. 端到端的微调语言模型+映射层
    在这里插入图片描述

数据

使用ChatGPT/GPT-4将数据转化为多模态指令跟随数据(multimodel instrustion-following data)。具体来说,为了将输入图像编码为视觉特征来作为纯文本 GPT的(soft) promt,文中用了两种类型的表达

  1. caption描述:从不同角度描述视觉场景;
  2. bbox检测框:定位场景中的对象,每个框对对象概念及其空间位置进行编码。

通过这两类复合表示,将视觉内容传达给了语言大模型,然后人工设计了3种对话方式,利用GPT-4进行生成扩充,分别是对话、细节描述和复杂推理。最后总共收集了158K独特的语言图像指令跟随样本,包括58K对话数据、23K详细描述数据、77K复杂推理数据

在这里插入图片描述

MiniGPT-4

基本思想

GPT-4 具有先进的多模态生成能力的主要原因在于利用了更先进的大型语言模型(LLM),因此提出仅用一个投影层将一个冻结的视觉编码器和一个冻结的 LLM(Vicuna)对齐。

模型结构

类似BLIP2,包括一个冻结的视觉编码器(ViT-G/14 + Q-Former), 一个冻结的 LLM(Vicuna), 一个投影层。
在这里插入图片描述

两阶段训练

第一阶段在大量对齐的图像文本对上对模型进行预训练,以获取基础的视觉语言知识。 在第二阶段,使用规模较小但更高质量的图文对数据集和精心设计的对话模板对预训练模型进行微调,以增强模型的生成可靠性和可用性。关于loss设计论文没有讲太细,看代码里面应该主要是计算language modeling loss。

InstructBLIP(Instruction Tuning)

基本思想

基于 BLIP-2 提出指令微调的范式,借助额外的 instruction 提取更有用的视觉特征。

模型结构

InstructBLIP 的架构和 BLIP-2 相似,从预训练好的 BLIP-2 模型初始化,由图像编码器、LLM 和 Q-Former 组成。为了进行指令微调,在BLIP-2的基础上把 instruction text tokens也作为输入同时给到Q-former和LLM。其中可学习的K个queries 通过Q-former中共享的 self-attention 和输入指令交互,通过 cross-attention 和输入图片的特征交互,鼓励提取与任务相关的图像特征。
在这里插入图片描述

训练

和BLIP-2一致,分两个阶段

第一个vision-language表示学习阶段,将 Q-Former 连接到冻结的图像编码器image encoder,目标是Q-Former学习与文本最相关的视觉表示。
第二个vision-to-language生成学习阶段,将 Q-Former 连接到冻结的大语言模型LLM,将 Q-Former 的输出给到冻结的 LLM 来执行视觉到语言的生成学习,目标是训练Q-Former使其输出的视觉表示对LLM可用。

推理

分两种情况,对于大部分描述性任务,如 image captioning,open-ended VQA 等,InstructBLIP 可以直接使用 LLM 生成的文本作为输出;对于选择性任务,如 classification 和 multi-choice VQA ,参考vocabulary ranking method,将LLM生成的内容词汇限制为候选列表进行排序,计算每个候选的对数似然,选择最高值的一个作为最终预测。

数据集

作者将11类任务的26个数据集转化成指令微调的格式,把它们分成13个 held-in 数据集用于指令微调,和13个 held-out 数据集用于 Zero-Shot 能力的评估。held-out分两种,一种是这些数据在训练期间没被模型见过,但是同类型的任务中学过,另一种是在训练和同类型的任务都不涉及(比如下图中全为白框的4个任务)。
在这里插入图片描述

采样策略

在训练期间,所有的 held-in 数据集的训练集混合,总数量太大且每个数据集的规模存在显着差异,均匀混合会导致模型过拟合较小的数据集,欠拟合较大的数据集。因此,文中提出根据数据集的大小的平方根或者其他正相关比例进行采样。更多训练细节见原文。

指令模板

对于每个任务,人工制作了10-15个高质量的自然语言指令模板。对于一些偏爱简洁响应的数据集,在 instruction 中增加了 “short”, “briefly” 来减小模型过拟合的风险,防止模型始终生成很短的输出。
在这里插入图片描述

未来发展

  1. 更通用和智能的模型
    扩展模态:当前的MM-LLMs主要支持图像、视频、音频、3D和文本等模态。但现实世界涉及更广泛的模态,例如网页、热图、图表和表格。扩展MM-LLMs以适应这些额外的模态将增加模型的通用性和适用性。
    多样化LLMs:整合各种类型和大小的LLMs,使实践者能够根据具体需求选择最合适的模型。
    提高数据集质量:当前的多模态指令数据集(MM IT)有很大的改进和扩展空间。丰富指令的多样性可以增强MM-LLMs理解和执行用户命令的效果。
    增强生成能力:大多数当前的MM-LLMs主要侧重于理解多模态数据。尽管有些模型已经包含了生成能力,但生成响应的质量可能受到潜在生成模型(LDMs)能力的限制。探索基于检索的方法来补充生成过程,有望显著提升模型的整体表现。

  2. 更具挑战性的基准
    现有的基准可能无法充分挑战MM-LLMs的能力,因为许多数据集在训练过程中可能已被模型学习。为此,需要构建更具挑战性的大规模基准,涵盖额外的模态并采用统一的评估标准。例如,GOAT-Bench设计用于评估MM-LLMs在识别和响应社交滥用方面的能力,MM-Code评估算法问题解决能力,MathVista评估数学推理能力等。

  3. 轻量级部署
    在资源受限的平台(如低功耗移动设备和物联网设备)上部署MM-LLMs时,需要轻量级实现。例如,MobileVLM通过缩小LLaMA模型,允许无缝部署,并引入了轻量级的降采样投影器,提升计算速度。还有其他类似研究在实现高效计算和推理的同时,保持或仅略微降低性能。

  4. 具身智能
    具身智能旨在通过理解环境、识别相关对象、评估空间关系以及制定全面的任务计划来复制人类的感知和互动能力。PaLM-E和EmbodiedGPT是该领域的典型工作,展示了多模态大语言模型在具身智能中的应用和潜力。

  5. 持续学习
    由于MM-LLMs的巨大规模,频繁的重新训练代价高昂。但为了赋予模型新技能并保持其与快速发展的知识同步,持续学习是必要的。持续学习可以分为持续预训练和持续指令调优两个阶段,挑战在于避免遗忘旧知识和负向转移效应。

  6. 减轻幻觉
    幻觉是指生成不存在的对象描述。当前的方法包括利用自我反馈作为视觉线索,但仍需改进训练方法以提高输出的可靠性。

  7. 偏见和伦理考虑
    MM-LLMs生成的信息可能延续刻板印象并对脆弱人群造成伤害。为此,可以开发新基准来评估模型的偏见,并设计更有效的对齐方法,如使用强化学习通过人类反馈(RLHF)来校准模型输出,使其符合人类价值和期望。

参考文献

本博客总结归纳了许多以下博客的内容,如果想对多模态大模型有进一步的了解,可以进一步关注以下高质量的博文,同时也感谢以下博主对知识的共享!
多模态大模型 CLIP, BLIP, BLIP2, LLaVA, miniGPT4, InstructBLIP 系列解读
多模态超详细解读 -极市平台
MM-LLMs: Recent Advances in MultiModal Large Language Models

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

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

相关文章

IP 地址在 SQL 注入攻击中的作用及防范策略

数据库在各个领域的逐步应用,其安全性也备受关注。SQL 注入攻击作为一种常见的数据库攻击手段,给网络安全带来了巨大威胁。今天我们来聊一聊SQL 注入攻击的基本知识。 SQL 注入攻击的基本原理 SQL 注入是通过将恶意的 SQL 代码插入到输入参数中&#xf…

搭建pxe网络安装环境实现服务器自动部署(基于rhel7)

1.kickstart自动安装脚本制作 1.1开启主机图形 init 5 1.2打开vmware左上角的编辑,打开虚拟网络编译器 1.3安装/启动图形工具 kickstart ​ [rootrhel7 ~]# ls /root/ anaconda-ks.cfg initial-setup-ks.cfg [rootrhel7 ~]# less /root/anaconda-ks.cfg //此…

SSM相关

文章目录 SSM导坐标相关类config文件夹下result文件夹下其他文件夹下自定义异常类 拦截器相关分模块开发可选依赖&#xff08;不透明&#xff09;排除依赖&#xff08;不需要&#xff09;聚合继承 mvn命令 SSM 导坐标 <build><plugins><plugin><groupId…

【方法】如何给7Z压缩包添加密码?

在日常工作中&#xff0c;我们经常需要将文件或文件夹压缩成7Z压缩文件&#xff0c;这样可以节省空间或方便传输。对于重要而敏感的压缩文件&#xff0c;往往还需要设置密码保护。下面一起来看看如何给7Z压缩包添加密码。 我们可以使用7-ZIP解压缩软件&#xff0c;按以下步骤来…

Linux常用命令------文件管理

1.新建目录 mkdir是创建目录的命令 mkdir text mkdir 创建多个目录 mkdir -p a/b/c2.创建文件夹 touch是创建文件夹的命令 touch 文件名 touch 创建多个文件夹 touch a.txt b.txt c.txt3.删除文件 rm 是删除文件的目录删除一个文件&#xff1a; rm example.txt 强制删除一…

【EI稳定检索】第二届计算机技术与建模国际会议(ICCTM 2024)

第二届计算机技术与建模国际会议 2024 International Conference on Computer Technology and Modeling 【1】会议简介 第二届计算机技术与建模国际会议&#xff08;以下简称“该会议”&#xff09;是一个汇聚了全球科学家、学者、工程师及学生的重要学术盛会。会议旨在展示当前…

易捷OA协同办公软件 ShowPic 任意文件读取漏洞复现

0x01 产品简介 易捷OA协同办公软件是在“让管理更简单”和“实时协同”的理念的指导下&#xff0c;”本着“简约、实时、快捷、省钱”的产品定位&#xff0c;结合数千家客户的管理实践和当前最先进的IT技术开发出来的全新一代协同产品&#xff0c;在云计算、全文检索、手机应用…

打造零碳工厂,引领绿色发展新潮流

随着全球气候变化的加剧&#xff0c;我国政府提出了“双碳”战略&#xff0c;即力争在2030年前实现碳达峰、2060年前实现碳中和。企业作为国家经济的支柱&#xff0c;积极响应国家政策&#xff0c;推进自身可持续发展&#xff0c;是实现“双碳”目标的重要环节。国内多家头部新…

springboot 博客交流平台-计算机毕业设计源码56406

摘要 博客交流平台 作为一种重要的网络平台&#xff0c;为用户提供了展示自我、分享经验和与他人互动的空间。在国内外&#xff0c;研究者们关注博客交流平台 的各个方面&#xff0c;并取得了显著的进展。研究内容主要包括用户体验和界面设计、社交化和互动性、多媒体内容支持、…

EasyCVR视频转码:T3视频平台不支持GB28181协议,应该如何实现与视频联网平台的对接与视频共享呢?

EasyCVR视频管理系统以其强大的拓展性、灵活的部署方式、高性能的视频能力和智能化的分析能力&#xff0c;为各行各业的视频监控需求提供了优秀的解决方案。 T3视频为公网HTTP-FLV或HLS格式的视频流&#xff0c;目前T3平台暂不支持国标GB28181协议&#xff0c;因此也无法直接接…

【练习】使用DevEco Studio编写点赞案例

效果展示 效果说明 如果当前处于未点赞状态&#xff0c;那么点击将点赞数1&#xff0c;并且颜色变为粉色&#xff1b;如果当前已经处于点赞状态&#xff0c;那么点击点赞按钮&#xff0c;点赞数-1&#xff0c;并且颜色恢复为最初的颜色。 知识点 点击交互事件onClick http:…

海博思创HyperBlock II液冷储能系统荣获AS/NZS 3000国际认证

近日&#xff0c;海博思创的HyperBlock II液冷储能系统凭借卓越性能&#xff0c;荣获TV莱茵颁发的AS/NZS 3000认证证书。这标志着海博思创产品成功通过了澳大利亚和新西兰的产品检测认证&#xff0c;成为全球领先的储能产品之一。 AS/NZS 3000是全球领先的电工行业标准之一&…

重装系统之必装神器!错过它们?你的电脑将失去灵魂!

重装系统之必装神器&#xff01;错过它们&#xff1f;你的电脑将失去灵魂&#xff01; 致读者: 点击上方 “雪之梦技术驿站” → 点击右上角“ … ”→ 点选“设为星标★ ” 加上星标&#xff0c;就不会找不到我啦&#xff01; 偷偷溜进文章的小广告&#xff0c;别害羞&#xf…

普华-PowerPMS APPGetUser SQL注入致RCE漏洞复现

0x01 产品简介 PowerPMS是上海普华科技自主研发的移动端工程项目管理产品。支持中英文切换,可与普华PowerOn、PowerPiP系列产品配套使用。产品与工程项目为核心,为项目各参建方提供包括任务管理、文档管理、质量检查、安全检查、施工日志、进度反馈、即时消息等功能在内的服…

词云图大师(WordCloudMaster)上线Web端!

我们非常激动地宣布&#xff0c;词云图大师&#xff08;WordCloudMaster&#xff09;现已正式上线Web端&#xff01;这一全新版本为用户带来了更多的便捷和功能&#xff0c;让创建和分享词云变得更加轻松。无论是企业、教育机构还是个人用户&#xff0c;都可以通过Web端实现快速…

Linux进程 (冯诺依曼体结构 管理 PCB 进程状态 僵尸进程 孤儿进程 运行阻塞挂起状态 进程优先级)

文章目录 一.冯诺依曼体系结构冯诺依曼结构能干什么&#xff1f; 二.操作系统概念结构图(不完整)为什么要有操作系统&#xff1f; 尝试理解操作系统管理结构图(完整)总结&#xff1a; 三.进程进程是什么&#xff1f;PCB为什么要有PCB&#xff1f; Linux中的PCB进程的task_struc…

电销机器人有哪些优势?

首先&#xff0c;电话销售机器人的最大优势在于&#xff0c;它们可以与顾客进行自然对话&#xff0c;这在每个人对机器人的看法上都是一个突破。在每个人的心目中&#xff0c;机器人是不可改变的。冰冷的机械声音会让顾客感到更加厌恶&#xff0c;但事实上并非如此。这种电话售…

Modbus RTU与Modbus TCP协议区别详解

工业自动化领域中&#xff0c;设备之间的数据传输至关重要&#xff0c;而Modbus协议作为一种通信标准&#xff0c;被广泛应用于各类自动化系统。而Modbus协议有两种常见的变体&#xff1a;Modbus RTU和Modbus TCP&#xff0c;下面本文将详细探讨这两种协议的区别。 物理层 Mo…

西安国际数字影像产业园正式落地,开启数字影像产业新篇

随着全球数字经济的蓬勃发展&#xff0c;数字影像产业作为其中的重要组成部分&#xff0c;正吸引着越来越多的企业关注和投入。西安国际数字影像产业园自启动以来&#xff0c;便以独特的魅力正吸引着众多企业争相入驻。作为西安最好的数字产业园&#xff0c;它究竟有何独特魅力…

【电商API接口项目实战分享】项目实战案例一:电商平台零售数据分析

本文以真实案例&#xff0c;带领大家一起学习如何搭建电商零售的用户画像。 “项目介绍” 此次项目数据来自Kaggle&#xff0c;包含了2010年12月1日至2011年12月9日在英国注册的非实体网上零售发生的所有交易。 字段如下: Invoice: 订单编号&#xff0c;每笔交易有6个整数。 …