【IEEE】Multimodal Machine Learning: A Survey and Taxonomy

不废话,先上思维导图,哈哈哈!Machine Learning: A Survey and Taxonomy

论文题目Machine Learning: A Survey and Taxonomy
作者Tadas Baltrusaitis , Chaitanya Ahuja , and Louis-Philippe Morency
状态已读完
会议或者期刊名称IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE 2019 IEEE 模式分析和机器智能会刊
被引次数谷歌学术2599次
所属团队多模态通信和机器学习的研究所 实验室(MultiComp 实验室)
摘要【摘要摘要中的摘要】Multimodal machine learning aims to build models that can process and relate information from multiple modalities. It is a vibrant multi-disciplinary field of increasing importance and with extraordinary potential. Instead of focusing on specific multimodal applications, this paper surveys the recent advances in multimodal machine learning itself and presents them in a common taxonomy.We go beyond the typical early and late fusion categorization and identify broader challenges that are faced by multimodal machine learning, namely: representation, translation, alignment, fusion, and co-learning.This new taxonomy will enable researchers to better understand the state of the field and identify directions for future research.

使用pipeline生成的本文的摘要
在这里插入图片描述

多模态学习的核心技术挑战:

1)多模态表示 学习如何利用多种模态的互补性和冗余性来表示和总结多模态数据。多模态数据的异质性使得构建此类表示具有挑战性。例如,语言通常是象征性的,而音频和视觉形式将被表示为信号。
2)模态转化 如何将数据从一种模态转换(映射)到另一种模态。不仅数据是异构的,而且模态之间的关系通常是开放式的或主观的。例如,存在多种描述图像的正确方法,并且可能不存在完美的翻译。
3)多模态模态对齐 确定两个或多个不同模式的(子)元素之间的直接关系。例如,我们可能希望将菜谱中的步骤与显示菜肴制作过程的视频对齐。为了应对这一挑战,我们需要衡量不同模式之间的相似性,并处理可能的长期依赖性和模糊性。
4)多模态融合 结合来自两种或多种模式的信息来执行预测。例如,对于视听语音识别,嘴唇运动的视觉描述与语音信号融合以预测口语单词。来自不同模态的信息可能具有不同的预测能力和噪声拓扑,并且至少一种模态中可能丢失数据。
5)多模态共同学习 在模态、模态表示和预测模型之间转移知识。协同训练、概念基础和零样本学习的算法就是例证。共同学习探讨了从一种模态学习知识如何帮助在不同模态上训练的计算模型。当其中一种模式的资源有限(例如带注释的数据)时,这一挑战尤其重要。

多模态机器学习的广泛应用:

1.多模态研究最早的例子是视听语音识别(AVSR),动机是麦格克效应[^143] ——言语感知过程中听觉和视觉之间的相互作用 所用的方法:隐马尔可夫模型
2.多媒体内容索引和检索领域
3.2000 年代初围绕新兴的多模态交互领域建立的,其目标是理解社交交互过程中人类的多模态行为。【AMI 会议语料库,其中包含 100 多个小时的会议视频记录,所有内容均经过完全转录和注释&&&&数据集是 SEMAINE 语料库,它可以研究说话者和听众之间的人际动态】

ps:该数据集构成了 2011 年组织的首届视听情感挑战 (AVEC) 的基础 [186]由于自动人脸检测、面部标志检测和面部表情识别方面的强大技术进步,情感识别和情感计算领域在 2010 年代初蓬勃发展.D’Mello 等人发表了多模态情感识别最新进展的精彩总结。他们的分析表明,最近关于多模态情感识别的大多数工作在使用多种模态时表现出改进,但在识别自然发生的情绪时这种改进会减弱。

4.新的多模式应用程序类别,重点是语言和视觉:媒体描述。最具代表性的应用之一是图像字幕,其任务是生成输入图像的文本描述。
5.在文本逆向任务媒体生成方面取得了进展:输入文字生成图像/生成3D场景;

多模态核心技术挑战

多模态核心技术挑战

多模态表示:使用来自多个此类实体的信息的数据表示。

不同多模态表示类型的说明如下图所示。
多模态表示
多模态表示所使用的技术总结
最重要的挑战之一是多模态表示,以计算模型可以使用的格式表示数据一直是机器学习中的一个挑战。我们可以互换使用术语“特征”和“表示”,每个都指实体的向量或张量表示,无论是图像、音频样本、单个单词还是句子。
多模态表示存在的三个问题:
a.如何组合来自异构源的数据;
b.如何处理不同级别的噪音;
c.以及如何处理丢失的数据。
以有意义的方式表示数据的能力对于多模态问题至关重要,并且构成任何模型的支柱。
为了帮助理解工作的广度,我们提出了两类多模态表示:

联合表示:联合表示将单峰信号组合到同一表示空间中;
1.联合表示的最简单的例子是各个模态特征的串联;

多模态表示受到每个单模态的影响

2.从神经网络开始创建联合表示的更高级方法;

一般来说,神经网络由连续的内积构建块和非线性激活函数组成。为了使用神经网络作为表示数据的方式,首先对其进行训练以执行特定任务(例如,识别图像中的对象)。由于深度神经网络的多层性质,假设每个连续层以更抽象的方式表示数据,因此通常使用最后或倒数第二个神经层作为数据表示的形式。
为了使用神经网络构建多模态表示,
a.每个模态都从几个单独的神经层开始,然后是一个隐藏层,该隐藏层将模态投影到联合空间中。
b.然后,联合多模态表示本身通过多个隐藏层或直接用于预测。
此类模型可以进行端到端训练——学习表示数据并执行特定任务。这导致使用神经网络时多模态表示学习和多模态融合之间的密切关系。

Ngiam 等人提出的模型,将使用自动编码器的想法扩展到多模态域。他们使用堆叠式去噪自动编码器来单独表示每种模态,然后使用另一个自动编码器层将它们融合成多模态表示。
类似地,Silberer 和 Lapata 提出使用多模态自动编码器来完成语义概念基础的任务(参见第 7.2 节)。

ps:自动编码器是一种数据的压缩算法,其算法包括编码阶段和解码阶段,且拥有对称的结构。目前自编码器的应用主要有两个方面,第一是数据去噪,第二是为进行可视化而降维。就是一种尽可能复现输入信号的神经网络。为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要的因素,就像PCA那样,找到可以代表原信息的主要成分。
在这里插入图片描述

3.从图模型开始创建联合表示的更高级方法;

概率图模型可用于通过使用潜在随机变量来构建表示,如何使用概率图模型来表示单峰和多峰数据。
a.通过深度玻尔兹曼机(DBM),它将受限玻尔兹曼机(RBM)堆叠为构建块。与神经网络类似,DBM 的每个连续层都期望以更高的抽象级别表示数据。
b.多模态深度信念网络和多模态 DBM 作为多模态表示。
优势:使用多模态 DBM 来学习多模态表示的一大优势是它们的生成性,这允许一种简单的方法来处理丢失的数据——即使整个模态丢失,模型也有一种自然的方式来应对。它还可用于在存在另一种模态的情况下生成一种模态的样本,或从表示中生成两种模态的样本。
缺点:训练困难——计算成本高,并且需要使用近似变分训练方法

4.从循环神经网络开始创建联合表示的更高级方法;【不固定长度数据的模型】

我们经常需要表示不同长度的序列,例如句子、视频或音频流。循环神经网络(RNN)及其变体,例如长短期记忆(LSTM)网络,最近因其在跨各种任务的序列建模方面的成功而受到欢迎。到目前为止,RNN 主要用于表示单词、音频或图像的单峰序列,在语言领域最为成功。

协调表示:而协调表示则单独处理单峰信号;

不是将模态一起投影到联合空间中,而是为每种模态学习单独的表示,但通过约束进行协调。

每个模态都有一个相应的投影函数(上面的 f 和 g),将其映射到协调的多模态空间。虽然到多模态空间的投影对于每种模态都是独立的,但所得空间在它们之间是协调的(表示为 )。这种协调的例子包括最小化余弦距离、最大化相关性以及在结果空间之间强制执行偏序。

1.相似性模型最小化协调空间中模态之间的距离。例如,此类模型鼓励“狗”一词和“狗”图像之间的距离小于“狗”一词和汽车图像之间的距离;【ps:最早的此类工作WSABIE(通过图像嵌入进行网络规模注释)模型从图像和文本特征构造一个简单的线性映射,使得相应的注释和图像表示之间比不对应的注释和图像表示具有更高的内积(更小的余弦距离)】

跨模态哈希
跨模态哈希的想法是创建用于跨模态检索的代码。散列对生成的多模态空间施加了某些约束:
1)它必须是 N 维汉明空间——具有可控位数的二进制表示;
2)来自不同模态的同一对象必须具有相似的哈希码;
3)空间必须保持相似性。学习如何将数据表示为哈希函数试图强制执行所有这三个要求。
2.图像和语言的顺序嵌入
结构化协调空间的一种特殊情况是基于典型相关分析(CCA)的空间。 CCA 计算线性投影,该线性投影最大化两个随机变量(在我们的例子中为模态)之间的相关性并强制新空间的正交性。 CCA模型已广泛用于跨模态检索和视听信号分析。 CCA 的扩展尝试构建相关性最大化的非线性投影。
总结
多模态表示的两种主要类型—— 联合表示和协调表示。联合表示将多模态数据投影到公共空间中,最适合推理过程中所有模态都存在的情况。它们已广泛用于 AVSR、情感和多模式手势识别。另一方面,协调表示将每种模态投影到一个单独但协调的空间中,使其适合测试时仅存在一种模态的应用,例如:多模态检索和翻译 ,以及零样本学习。 此外,虽然联合表示已用于构建两种以上模态的表示,但迄今为止,协调空间大多仅限于两种。最后,我们讨论的多模态网络很大程度上是静态的,将来我们可能会看到更多关于一种模态的工作,驱动应用于另一种模态的网络结构。

2.多模态转化

在这里插入图片描述
多模态机器学习的很大一部分涉及从一种模态到另一种模态的转换(映射)。**给定一种模态的实体,任务是以不同模态生成相同的实体。**例如,给定一个图像,我们可能想要生成一个描述它的句子,或者给定一个文本描述,生成一个与其匹配的图像。
多模态转化是一个长期研究的问题,早期的工作涉及语音合成、视觉语音生成、视频描述和跨模态检索。最近,由于计算机视觉和自然语言处理(NLP)的共同努力,视觉场景描述,也称为图像和视频字幕 逐渐流行
模态转化方法:

模态转化的方式
在这里插入图片描述

基于示例的:

基于示例的模型在模态之间进行转换时使用字典,因此基于示例的算法受到训练数据-字典的限制
此类问题两种算法分类:

基于检索的算法【单模态转化最简单的方式】

1.基于检索的模型直接使用检索到的转化而不对其进行修改;依赖于在字典中找到最接近的样本并将其用作转化结果。检索可以在单模态空间或中间语义空间中完成。给定要转化的源模态实例,单模态检索会在源空间(例如图像的视觉特征空间)中找到字典中最接近的实例。通过检索所需音素最接近匹配的视觉示例,此类方法已用于视觉语音合成,它们也被用于连接文本到语音系统;

最近的工作:
1.使用单模态检索来生成图像描述,通过使用全局图像特征来检索候选标题。
2.使用基于 CNN 的图像表示,通过自适应邻域选择来检索视觉上相似的图像。
3.与更复杂的生成方法相比,具有共识标题选择的简单 k-近邻检索可实现有竞争力的翻译结果。

2.检索期间使用中间语义空间进行相似性比较;
语义空间中的检索方法往往比单模态检索方法表现得更好,因为它们在更有意义的空间中检索示例,该空间反映了两种模态,并且通常针对检索进行了优化。
**优点:**是它们只需要表示我们执行检索的单一模态。然而,它们通常需要额外的多模式后处理步骤,例如对检索到的转化进行重新排名。
**问题:**单模态空间中的相似性并不总是意味着良好的转化

基于组合的算法

基于组合的模型依赖于更复杂的规则来根据多个检索到的实例创建转化;基于组合的媒体描述方法的动机是图像的句子描述共享可以利用的共同且简单的结构。大多数情况下,组合规则是手工制定的或基于启发式的。

**基于示例的翻译面临的一个问题**是期望与源示例相关的单个全面且准确的翻译始终存在于词典中是不现实的,除非任务很简单或词典非常大。能够构建更复杂结构的组合模型部分解决了这个问题。然而,它们只能在一个方向上执行翻译,而基于语义空间检索的模型能够以双向方式执行翻译。

基于生成式的:

生成模型构建一个能够生成翻译的模型,生成模型的构建可以说更具挑战性,因为它们需要生成信号或序列的能力符号(例如句子)。这对于任何形式(视觉、听觉或语言)来说都是困难的,特别是当需要生成时间和结构一致的序列时。这导致许多早期的多模式转化系统依赖于基于示例的转化。然而,随着能够生成图像、声音、和文本的深度学习模型的出现,这种情况已经发生了变化。

基于生成式的模型:

1. 基于语法的模型
基于语法的模型通过使用语法限制目标域来简化任务,例如,通过基于主语、宾语、动词模板生成受限句子。
更有可能生成语法(在语言的情况下)或逻辑上正确的目标实例,因为它们使用预定义的模板和受限语法。然而,这限制了他们进行公式化而非创造性的翻译。此外,基于语法的方法依赖于复杂的管道进行概念检测,每个概念都需要单独的模型和单独的训练数据集。
2. 编码器-解码器模型
编码器-解码器模型首先将源模态编码为潜在表示,然后解码器使用该潜在表示来生成目标模态。基于端到端训练的神经网络的编码器-解码器模型是目前最流行的多模态转化技术之一。该模型背后的主要思想是首先将源模态编码为矢量表示,然后使用解码器模块生成目标模态,所有这些都在单通道管道中进行。
虽然编码器-解码器模型主要用于生成文本,但它们也可以生成图像以及语音和声音。编码器-解码器模型的第一步是对源对象进行编码,这是以特定于模态的方式完成的。编码声信号的流行模型包括 RNN和 DBN。大多数对单词句子进行编码的工作都使用分布式语义和 RNN 的变体。图像最常使用卷积神经网络进行编码。

端到端学习
从输入端到输出端会得到一个预测结果,将预测结果和真实结果进行比较得到误差,将误差反向传播到网络的各个层之中,调整网络的权重和参数直到模型收敛或者达到预期的效果为止,中间所有的操作都包含在神经网络内部,不再分成多个模块处理。由原始数据输入,到结果输出,从输入端到输出端,中间的神经网络自成一体(也可以当做黑盒子看待),这是端到端的。

**存在的问题:**虽然基于神经网络的编码器-解码器系统非常成功,但它们仍然面临许多问题。网络有可能是在记忆训练数据,而不是学习如何理解视觉场景并生成它,基于 k-近邻模型与基于生成的模型表现类似的观察。此外,此类模型通常需要大量数据进行训练。
3. 连续生成模型
连续生成模型根据源模态输入流连续生成目标模态,最适合在时间序列之间进行转化,例如例如文本到语音、语音到文本以及视频到文本。 许多早期工作使用图形模型进行连续信号之间的多模态转换。然而,这些方法正在被基于神经网络编码器-解码器的技术所取代。特别是最近它们被证明能够表示和生成复杂的视觉和听觉信号。
总结
多模态翻译方法面临的一个主要挑战是它们很难评估。 虽然语音识别等某些任务具有单一正确的翻译,但语音合成和媒体描述等任务却没有。有时,就像在语言翻译中一样,多个答案都是正确的,而决定哪个翻译更好通常是主观的。幸运的是,有许多近似的自动指标可以帮助模型评估。
建议使用检索作为图像字幕评估的代理,作为反映人类判断的更好方法。基于检索的系统不是生成说明文字,而是根据可用说明文字与图像的契合程度对可用说明文字进行排名,然后通过评估正确的说明文字是否获得高排名来进行评估。

3.多模态对齐

在这里插入图片描述
我们将多模态对齐定义为从两种或多种模态中查找实例的子组件之间的关系和对应关系。 例如,给定图像和标题,我们希望找到与标题的单词或短语相对应的图像区域。另一个例子是,给定一部电影,将其与它所基于的剧本或书籍章节对齐。做到这一点的能力对于多媒体检索尤其重要,因为它使我们能够基于文本搜索视频内容,例如,查找电影中出现特定角色的场景,或查找包含蓝色椅子的图像。
我们将多模态对齐分为两种类型:

1.隐式对齐

隐式对齐用作另一任务的中间(通常是潜在的)步骤,例如,基于文本描述的图像检索可以包括单词和图像区域之间的对齐步骤。 此类模型不会显式对齐数据,也不依赖于有监督的对齐示例,而是学习如何在模型训练期间潜在地对齐数据。

1.基于图形模型的早期工作
2.基于神经网络的更现代工作
2.显式对齐

在显式对齐中,我们明确对对齐模态之间的子组件感兴趣,例如,将食谱步骤与相应的教学视频对齐。如果论文的主要建模目标是来自两种或多种模式的实例的子组件之间的对齐,我们将论文归类为执行显式对齐。
1.有监督显示对齐

来自不同模态的实例之间没有直接对齐标签(即标记的对应关系)
2.无监督显示对齐
可以访问此类(有时是弱)标签;无监督多模态对齐无需任何直接对齐标签即可解决模态对齐问题。

多模态对齐面临许多困难:
  • 很少有具有明确注释对齐的数据集;
  • 模态之间的相似性度量很难设计;
  • 可能存在多种可能的对齐方式,并且并非一种模态中的所有元素都与另一种模态中的对应。
    学习联合对齐、转化或融合数据的无监督技术也变得流行。

总结
多模态对齐面临许多困难:
1)很少有具有明确注释对齐的数据集;
2)模态之间的相似性度量很难设计;
3)可能存在多种可能的对齐方式,并且并非一种模态中的所有元素都与另一种模态中的对应。

4.多模态融合

在这里插入图片描述
多模态融合是多模态机器学习的原始主题之一,之前的调查强调早期、晚期和混合融合方法。**用技术术语来说,多模态融合是集成来自多种模态的信息的概念,其目标是预测结果度量:通过分类得到类别(例如,快乐与悲伤),或通过回归得到连续值(例如,情绪的积极性)。**它是多模态机器学习研究最多的方面之一,其工作可以追溯到 25 年前。
对多模态融合的兴趣源于它可以提供的三个主要好处。

首先,能够使用观察同一现象的多种模式可以实现更稳健的预测。 AVSR 社区对此进行了特别探索和利用。
其次,访问多种模式可能使我们能够捕获补充信息,而这些信息在单独的模式中是不可见的。
第三,当其中一种模式缺失时,多模式系统仍然可以运行,例如当人不说话时从视觉信号中识别情绪[52]。
多模态融合具有非常广泛的应用,包括视听语音识别、多模态情感识别、医学图像分析和多媒体事件检测。关于该主题有许多评论。

最近,**对于表示学习与分类或回归目标相互作用的深度神经网络等模型,多模态表示和融合之间的界限已经变得模糊。**我们将多模态融合分为两大类:

模型不可知的方法,不直接依赖于特定的机器学习方法;

从历史上看,绝大多数多模态融合都是使用模型不可知的方法完成的[52]。

早期(特征级融合): 从每个模态中提取特征,然后将这些特征进行融合,形成一个综合的特征向量,供后续任务使用。
晚期(决策级融合): 对于每个模态分别进行处理,然后将不同模态的处理结果进行融合,以得出最终的决策或结果。
混合融合(模型级融合): 可以设计一个综合模型,该模型能够同时处理多个模态的输入,并在整个模型内部进行信息融合。

基于模型的方法,在其构造中明确解决融合问题,例如基于内核的方法、图形模型和神经网络。

神经网络还通过 RNN 和 LSTM 来融合时间多模态信息。早期的此类应用之一使用双向 LSTM 来执行视听情感分类 。

总结
多模态融合一直是一个广泛研究的话题,人们提出了大量的方法来解决它,包括模型无关方法、图模型、多核学习和各种类型的神经网络。
多模态融合仍然面临以下挑战:
1)信号可能无法在时间上对齐(可能是密集的连续信号和稀疏事件);
2)很难建立利用补充信息而不仅仅是补充信息的模型;
3)每种模式可能在不同时间点表现出不同类型和不同水平的噪声。

5.多模态协同学习

在这里插入图片描述
**通过利用另一种(资源丰富)模态的知识来帮助对(资源贫乏)模态进行建模。**当其中一种模式资源有限(缺乏注释数据、嘈杂的输入和不可靠的标签)时,这一点尤其重要。我们将这种挑战称为“共同学习”,因为大多数情况下,辅助模式仅在模型训练期间使用,而在测试期间不使用。

共同学习的方法类型:

在这里插入图片描述

并行数据协同学习:

并行数据方法需要训练数据集,其中一种模式的观察结果直接与其他模式的观察结果相关联。换句话说,当多模态观察来自相同实例时,例如在视听语音数据集中,视频和语音样本来自同一说话人。
两种模式共享一组实例——带有相应视频、图像及其句子描述的录音。这允许两种类型的算法利用该数据来更好地对模式进行建模:协同训练和表示学习。

非并行数据协同学习:

非并行数据方法不需要不同模式的观察之间的直接联系。这些方法通常通过使用类别重叠来实现共同学习。例如,在零样本学习中,使用维基百科的第二个纯文本数据集扩展传统的视觉对象识别数据集,以提高视觉对象识别的泛化能力。
依赖非并行数据的方法不需要模态具有共享实例,而只需要共享类别或概念。非并行协同学习方法可以在学习表示时提供帮助,允许更好的语义概念理解,甚至执行看不见的对象识别。 迁移学习也可以在非并行数据上进行,并允许通过将信息从使用数据丰富或干净的模态构建的表示转移到数据稀缺或嘈杂的模态来学习更好的表示。这种类型的迁移学习通常是通过使用协调的多模态表示来实现的
零样本学习(ZSL) 是指在没有明确看到任何例子的情况下识别一个概念。例如,在没有见过(标记)猫图像的情况下对图像中的猫进行分类。这是一个需要解决的重要问题,就像在视觉对象分类等许多任务中一样:为每个可以想象的感兴趣的对象提供训练示例的成本过高。

混合数据协同学习:

在混合数据设置中,模态通过共享模态或数据集桥接。

总结
多模式共同学习允许一种模式影响另一种模式的培训,利用跨模式的补充信息。值得注意的是,共同学习是独立于任务的,可以用来创建更好的融合、翻译和对齐模型。

总结

如果我们想要构建能够感知、建模和生成多模态信号的计算机,就需要多模态研究的所有这些方面。多模态机器学习的一个特定领域似乎尚未得到充分研究,那就是共同学习,其中来自一种模态的知识有助于在另一种模态中建模。这一挑战与协调表示的概念有关,其中每种模态保留自己的表示,但找到一种交换和协调知识的方法。我们认为这些研究方向是未来研究的有希望的方向。

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

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

相关文章

【视频图像取证篇】模糊图像增强技术之锐化类滤波场景应用小结

【视频图像取证篇】模糊图像增强技术之锐化类滤波场景应用小结 模糊图像增强技术之锐化类滤波场景应用小结—【蘇小沐】 (一)锐化类滤波器 模糊消除类滤波器(Remove blur / Unsharpness)。 通用去模糊滤波器:针对大…

Excel·VBA指定目标值切割分组

看到一个帖子《excel吧-数据切断分组问题》,对1列数据按指定长度进行切割分组,获取每组的长度组成方式 VBA代码 Sub 数据分割()Dim arr, target, brr, res, x&, y&, i&, 差额, trr(1 To 2) trr(0)为数值,trr(1)为组成方式arr…

【工具篇】我用Anki半个月背完了408

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文讲解Anki工具的高效使用,期待与你一同探索、学习、进步,一起卷起来叭! 目录 一、记忆的原理二、Anki是什么三、同步服务器搭建 一、记忆…

牛客DP34 前缀和

解题思路 题目解析如图 思路 算出每个位置的到第一个位置的总和 比如 第一个位置 1 总和 1 第二个位置 2 总和 3 第三个位置 4 总和 7 要算 2到3 位置的前缀和 用3位置的总和减去1位置的总和即可 还要处理一个边界情况 如果1到1位置的前缀和那么就是 …

为 java 开发者设计的性能测试框架,用于压测+测试报告生成

拓展阅读 junit5 系列教程 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) Junit performance rely on junit5 and jdk8.(java 性能测试框架。压测测试报告生成。) junitperf junitperf 是一款为 java 开…

2024-03-18 作业

作业要求: 1> 将广播发送端和接收端各实现一遍 2> 将组播发送端和接收端各实现一遍 3> 将流式域套接字的服务器端和客户端各实现一遍 1:将广播发送端和接收端各实现一遍 运行代码: 服务端: 客户端: 运行截…

视频号带货做的人多吗?这个项目究竟靠不靠谱呢?

在当下互联网经济的浪潮中,视频号带货已经成为了一种新兴的商业模式,吸引了众多创业者和商家的目光。那么,视频号带货做的人多吗?这个项目究竟靠不靠谱呢?,接下来,一起看看本文的介绍吧。 首先,我们来看视…

ROS Kinetic通信编程:话题、服务、动作编程 opencv学习使用

文章目录 一、话题编程二、服务编程三、动作编程四、安装opencv 图片特效示例五、视频示例1. 虚拟机获取摄像头权限2. 播放视频3. 录制视频 接上篇,继续学习ROS通信编程基础 一、话题编程 步骤: 创建发布者 初始化ROS节点向ROS Master注册节点信息&…

Java 设计模式系列:行为型-观察者模式

简介 观察者模式是一种行为型设计模式,又被称为发布-订阅(Publish/Subscribe)模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。 观察者…

configmap nginx.conf报错:invalid number of arguments in “proxy_set_header“

追加>> cat << EOF >> a.txt ###############gradle############## abcdefg chineewew ###############gradle############## EOF 覆盖> cat << EOF > /etc/profile ###############gradle############## 121321231 121231 ###############grad…

数据结构与算法Bonus-KNN问题的代码求解过程

一、问题提出 &#xff08;一&#xff09;要求 1.随机生成>10万个三维点的点云&#xff0c;并以适当方式存储 2.自行实现一个KNN算法&#xff0c;对任意Query点&#xff0c;返回最邻近的K个点 3.不允许使用第三方库(e.g.flann&#xff0c;PCL,opencv)! 4.语言任选(推荐…

专业140+总分410+南京大学851信号与系统考研经验南大电子信息与通信集成,电通,真题,大纲,参考书。

今年分数出来还是有点小激动&#xff0c;专业851信号与系统140&#xff08;感谢Jenny老师辅导和全程悉心指导&#xff0c;答疑&#xff09;&#xff0c;总分410&#xff0c;梦想的南大离自己越来越近&#xff0c;马上即将复试&#xff0c;心中慌的一p&#xff0c;闲暇之余&…

【活动】政府工作报告视角下的计算机行业发展前瞻与策略探讨

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 引言正文计算机行业在政府工作报告中的定位与发展态势政策导向解析未来机遇展望…

springboot整合springsecurity,从数据库中认证

概述&#xff1a;springsecurity这个东西太容易忘了&#xff0c;这里写点东西&#xff0c;避免忘掉 目录 第一步&#xff1a;引入依赖 第二步&#xff1a;创建user表 第三步&#xff1a;创建一个用户实体类&#xff08;User&#xff09;和一个用于访问用户数据的Repository…

一文教会你SpringBoot是如何启动的

SpringBoot启动流程分析 流程图 源码剖析 运行Application.run()方法 我们在创建好一个 SpringBoot 程序之后&#xff0c;肯定会包含一个类&#xff1a;xxxApplication&#xff0c;我们也是通过这个类来启动我们的程序的&#xff08;梦开始的地方&#xff09;&#xff0c;而…

【超详细图文讲解】如何利用VMware创建CentOS虚拟机(包括如何更改网络设置 + 远程访问虚拟机方法)

文章目录 前言1. 准备相关软件环境1.1 获取 ISO 镜像包1.2 VMware 的安装 2. 使用 VMware 安装 CentOS3. 初始化虚拟机4. 虚拟机网络的设置4.1 虚拟机的三种网络连接模式桥接模式NAT 模式仅主机模式 4.2 如何更改网络设置 5. 远程访问虚拟机的方法5.1 使用 cmd 进行访问5.2 使用…

LSS (Lift, Splat, Shoot)

项目主页 https://nv-tlabs.github.io/lift-splat-shoot 图1&#xff1a;本文提出一种模型&#xff0c;给定多视角相机数据 (左)&#xff0c; 直接在鸟瞰图 (BEV) 坐标系(右)中推理语义。我们展示了车辆分割 (蓝色)&#xff0c;可驾驶区域 (橙色) 和车道分割 (绿色) 的结果。然…

外包干了28天,技术退步明显......

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

<DFS剪枝>数字王国之军训排队

DFS剪枝 其实就是将搜索过程一些不必要的部分直接剔除掉。 剪枝是回溯法的一种重要优化手段&#xff0c;往往需要先写一个暴力搜索&#xff0c;然后找到某些特殊的数学关系&#xff0c;或者逻辑关系&#xff0c;通过它们的约束让搜索树尽可能浅而小&#xff0c;从而达到降低时间…

程序员在公司学习新项目的5步法:

1 了解业务 - 系统所在行业&#xff1f; - 系统是做什么的&#xff1f; - 系统主要面向的人群是谁&#xff1f; - 主要提供了哪些功能&#xff1f; - 系统设计的关键业务流程是什么样的&#xff1f; - 项目面临的挑战是什么&#xff1f; - 项目未来规划是什么&#xff1f; 2 …
最新文章