【MMIN】缺失模态想象网络用于不确定缺失模态的情绪识别

代码地址:https://github.com/AIM3RUC/MMIN

abstract:

在以往的研究中,多模态融合已被证明可以提高情绪识别的性能。然而,在实际应用中,我们经常会遇到模态丢失的问题,而哪些模态会丢失是不确定的。这使得固定多模态融合在这种情况下失效。在这项工作中,我们提出了一个统一的模型,缺失情态想象网络(MMIN),以处理不确定的缺失情态问题。MMIN学习鲁棒联合多模态表示,在给定可用模态的情况下,可以预测任意缺失模态在不同缺失模态条件下的表示。

在两个基准数据集上的综合实验表明,统一的MMIN模型在不确定缺失模态测试条件和全模态理想测试条件下都显著提高了情绪识别性能。代码可在https://github.com/AIM3RUC/MMIN上获得。

intro:

自动多模态情感识别对于自然人机交互非常重要(Fragopanagos and Taylor, 2002)。它旨在理解和解释通过多种方式表达的人类情感,如语音内容、语音语调和面部表情。先前的研究表明,这些不同的模态对情绪表达是互补的,并提出了许多有效的多模态融合方法来提高情绪识别性能(Baltrusaitis等人,2018;Tsai et al ., 2019;Zhao et al ., 2018)。然而,在实际的应用程序中,许多常见的原因可能导致缺少模态问题。例如,相机关闭或因隐私问题被屏蔽;自动语音识别错误导致语音内容不可用;由于用户的沉默,语音和文字缺失;或者由于光照或遮挡问题而无法检测到人脸,如图1所示。在全模态样本上训练的现有多模态融合模型通常在缺少部分模态时失败(Aguilar等人,2019;Pham等人,2019;Cai et al, 2018;Parthasarathy and Sundaram, 2020)。

问题情态缺失是近年来研究较多的问题,现有的解决方法主要是基于学习联合多模态表示,实现所有情态信息的编码。Han等人(Han et al ., 2019)提出了一种联合训练方法,该方法隐式融合了来自辅助模态的多模态信息,从而提高了单模态情感识别性能。最近在(Pham et al ., 2019;Wang et al ., 2020)通过将源模态转换为多个目标模态来学习联合多模态表示,从而提高了作为输入的源模态的性能

然而,这些方法只能处理源模态输入到训练模型的场景。需要为不同的缺失模态情况构建不同的模型1。此外,基于顺序翻译的模型需要翻译和生成视频、音频和文本,这些内容很难训练,特别是在训练样本有限的情况下(Li et al ., 2018;Pham et al, 2019)。

在这项工作中,我们提出了一个新的统一模型,缺失情态想象网络(MMIN),以解决上述问题。具体而言,本文提出的MMIN通过层叠残差自编码器(Cascade Residual Autoencoder, CRA) (Tran et al ., 2017)和基于句子级特定情态表征的循环一致性学习(Cycle Consistency Learning, Zhu et al ., 2017)的跨情态想象学习鲁棒联合多情态表征,因为句子级表征更合理地建模跨情态情感相关性。想象模块旨在从其他可用的情态中预测缺失情态的句子级情感表征。据我们所知,这是第一个研究具有不确定缺失情态的多模态情感识别的统一模型的工作。

在IEMOCAP和MSPIMPROV两个基准数据集上,在不确定失模态和全模态条件下进行了大量实验。该模型作为一种统一的多模态情感识别模型,能够学习到鲁棒的联合多模态表示,在不确定缺模态和全模态条件下均优于标准多模态融合模型。此外,为了评估我们的MMIN模型的想象能力,我们可视化了缺失模态的想象表征及其基真表征的分布,发现它们非常相似,这表明MMIN可以基于可用模态的表征来想象缺失模态的表征

综上所述,本工作的主要贡献有:1)我们提出了一个统一的模型,缺失情态想象网络(MMIN),以提高不确定缺失情态测试下情感识别系统的鲁棒性con1如果有音频(a)、视觉(v)和文本(t)三种情态,那么系统需要6个在6种缺失情态条件下训练的模型fag、fvg、ftg、fa、vg、fa、tg和fv、tg,再加上一个在全情态数据下训练的模型。

条件。2)基于配对多模态数据设计跨模态想象,采用级联残差自编码器(CRA)和循环一致性学习学习鲁棒联合多模态表示。3)在两个基准数据集上的大量实验表明,该模型在不确定缺失模态和全模态条件下都提高了情感识别性能。

related work:

多模态情感识别以前的许多工作都集中在融合多模态信息以提高情感识别性能上。提出了基于时间注意的方法,利用注意机制根据框架级或词级时间序列选择性地融合不同的模态,如门控多模态单元(GMU) (Aguilar等,2019)、多模态对齐模型(MMAN) (Xu等,2019)和多模态注意机制(cLSTM-MMA) (Pan等,2020)。这些方法使用不同的单模态子网络对每个模态的上下文表征建模,然后使用多模态注意机制有选择地融合不同模态的表征。Liang等人(Liang et al, 2020)提出了一种半监督多模态(SSMM)情绪识别模型,该模型使用跨模态情绪分布匹配来利用未标记的数据来学习鲁棒表示并实现最先进的性能。

模态缺失问题现有的模态缺失问题的方法主要分为三类。第一组的特点是数据增强方法,该方法随机删除输入以模拟缺失模态情况(Parthasarathy和Sundaram, 2020)。第二组基于生成方法,在给定可用模式的情况下直接预测缺失模式(Li等人,2018;Cai et al, 2018;Suo等人,2019;Du et al, 2018)。第三组旨在学习可以包含这些模态相关信息的联合多模态表示(Aguilar等人,2019;Pham等人,2019;Han等人,2019;Wang et al ., 2020)。

数据增强方法:Parthasarathy等人(Parthasarathy和Sundaram, 2020)提出了一种策略,在活动期间随机删除视觉输入在片段或帧水平上模拟真实世界的缺失模态场景进行视听多模态情感识别,提高了缺失模态条件下的识别性能。

生成方法:Tran等人(Tran et al, 2017)提出级联残差自编码器(CRA),利用自编码器结构上的残差机制,可以获取损坏的数据并估计一个函数来很好地恢复不完整的数据。Cai等人(Cai et al, 2018)提出了一种编码器-解码器深度神经网络,在给定可用模态(磁共振成像,MRI)的情况下生成缺失模态(正电子发射断层扫描,PET),生成的PET可以提供补充信息,以提高对阿尔茨海默病的检测和跟踪。

学习联合多模态表示:Han等人(Han et al, 2019)提出了一种由两个特定模态编码器和一个共享分类器组成的联合训练模型,该模型将音频和视觉信息隐式融合为联合表示,提高了单模态情感识别的性能。Pham等人(Pham et al, 2019)提出了一种基于顺序翻译的模型来学习源模态和多个目标模态之间的联合表示。源模态编码器的隐向量作为联合表示,提高了源模态的情感识别性能。Wang等(Wang et al ., 2020)遵循这种基于翻译的方法,提出了一种更高效的基于转换器的翻译模型,将文本特征转换为声学特征,将文本特征转换为视觉特征。此外,上述两种基于翻译的模型采用了前向翻译和后向翻译的训练策略,以确保联合表示能最大限度地保留所有模态的信息。

method:

给一组视频片段S,我们用x = 表示视频s的原始的多模态特征,该视频片段s属于S,|S|表示视频片段的个数,我们的目标集Y,

其中yi是视频片段si目标情绪分类,|C|是情感类别的数量。

我们提出的方法旨在识别具有完整模态或仅具有部分模态的每个视频片段si的情感类别yi,例如图1所示的示例,当缺少视觉模态时,仅存在声学和文本模态

缺失模态想象网络:

为了学习鲁棒联合多模态表示,我们提出了一个统一的模型——缺失模态想象网络(MMIN),该模型可以处理实际应用场景中不同的不确定缺失模态条件。图2展示了我们提出的MMIN模型的框架,它包含三个主要模块:1)用于提取模态特定嵌入的模态编码器网络;2)基于级联残差自编码器(CRA)和循环一致性学习的想象模块,用于在给定相应可用模态表示的情况下想象缺失模态的表示。收集CRA中自编码器的潜在向量,形成联合多模态表示;3)基于联合多模态表示的情感分类器预测情感类别。我们将在以下小节中详细介绍每个模块。

Q:MMIN是怎么生成缺失模态的?和之前两篇一样随机生成吗?

A:不是,在MMIN模型中,模态缺失是通过模型的输入设置来确定的,而不是随机确定。对于每一个训练样本,根据预定义的缺失模态条件,输入向量中缺失的模态部分会被置为零向量。模型在训练时会学到在特定模态缺失的条件下如何处理其他可用的模态信息。


代码上解释一下这一步:

# A modality
self.A_miss_index = self.missing_index[:, 0].unsqueeze(1).unsqueeze(2)
self.A_miss = acoustic * self.A_miss_index
self.A_reverse = acoustic * -1 * (self.A_miss_index - 1)
# L modality
self.L_miss_index = self.missing_index[:, 2].unsqueeze(1).unsqueeze(2)
self.L_miss = lexical * self.L_miss_index
self.L_reverse = lexical * -1 * (self.L_miss_index - 1)
# V modality
self.V_miss_index = self.missing_index[:, 1].unsqueeze(1).unsqueeze(2)
self.V_miss = visual * self.V_miss_index
self.V_reverse = visual * -1 * (self.V_miss_index - 1)

首先设置输入,set_input函数首先将来自数据加载器的输入赋值到相应的变量中,并转换数据类型和设备位置(如GPU)

接着处理缺失模态,对于每个样本,代码检查他的missing_index,这是一个指示哪些模态缺失的索引数组。使用missing_index为每个模态创建一个掩码,如果模态数据不缺,即索引为1,那么保持原始数据,如果缺失,即索引为0,则将数据元素置为0。

对于每个模态的数据,还计算一个反转的掩码,将缺失数据的位置设置为原数据,非缺失数据的位置置为0。这通常用于在模型训练时处理非缺失数据。

模态编码器网络:

使用情态编码器网络基于原始情态特征x提取特定情态的话语级嵌入。如图2(b)所示,我们首先在多情态情感识别模型中预训练情态编码器网络,并在MMIN模型中进一步训练。我们将每种模态的模态特定嵌入定义为,其中EncA、EncV和EncT分别代表声学、视觉和文本编码器,分别代表相应编码器生成的模态特定嵌入。

  • 视觉编码器(Enc_V):DenseNet 网络用于提取视觉特征。
  • 音频编码器(Enc_A):基于 LSTM 捕获音频时序特征。
  • 文本编码器(Enc_T):TextCNN 用于提取文本的上下文表示。

缺少模态条件创建:

给定具有所有三种模式的训练样本中,有6种不同的可能的失模态条件,如表1所示。我们可以建立一个跨情态对,其中available和Missing分别表示可用模态和相应的缺失模态。为了确保统一的模型能够处理各种缺少模态的情况,我们对模态编码器网络强制执行统一的三重输入格式。在缺失模态条件下,相应缺失模态的原始特征被零向量代替。例如,在视觉模态缺失条件下(表1中的情形1),可用模态的统一格式输入格式为,其中是指零向量。

在缺失模态训练条件下,输入包括统一三联体格式的可用模态和缺失模态的跨模态对(如表1所示)。这些跨模态对的多模态嵌入可以表示为(以视觉模态缺失条件为例):

其中表示相应模态缺失时的模态特定嵌入,由输入零向量的相应模态编码器产生。

想象模块:

我们提出了一个基于自编码器的想象模块来预测缺失模态的多模态嵌入,给出了可用模态的多模态嵌入。想象模块期望通过跨模态想象学习鲁棒联合多模态表征。如图2(a)所示,我们采用了级联残差自编码器(CRA) (Tran et al ., 2017)结构,该结构具有足够的学习能力,并且比标准自编码器收敛更稳定。

Q:讲一下想象模块的流程

A:想象模块的目的是通过学习不同模态间的相关性,生成缺失模态的假设表示。

CRA由一系列残差自编码器连接而成。每个RA都设计来逐步调用前一个RA的输出,通过累加所有RA的输出来构建最终的预测结果。

前向想象:

反向想象:

反向想象过程旨在验证前向预测的准确性,通过尝试从预测的嵌入h'重构出原始的多模态嵌入:

残差自编码器结构是由一系列残差自编码器(RAs)连接而成。我们进一步采用周期一致性学习用两个独立网络的耦合网络架构在两个方向上进行想象,包括想象方向。

具体来说,我们使用一个有B个RA的CRA模型,每个RA用,每个RA的计算可定义为:

其中h是基于统一跨模态对格式(Eq.(1))的可用模态提取的多模态嵌入,表示第k次RA的输出。以视觉模态缺失情况为例(如图2(a)所示),正向想象的目的是基于可用的声学模态和文本模态来预测缺失视觉模态的多模态嵌入。前向想象多模态嵌入表示为:

其中imagine(·)表示想象模块的功能。后向想象的目的是基于前向想象的多模态嵌入来预测可用模态的多模态嵌入。后向想象的多模态嵌入表示为:

分类:

我们收集前向想象模块中每个自编码器的潜在向量,并将它们连接在一起形成联合多模态表示:,其中ck是自编码器在第k个RA中的潜在向量。基于联合多模态表示R,我们计算概率分布q为:

fcls(·)表示由多个完全连接层组成的情感分类器。

联合优化

MMIN训练的损失函数包括三部分:

p为onehot标签的真实分布,q为式(5)中计算的预测分布。

是分布p和q之间的交叉熵。

为模态编码器网络提取的真值表示,如式(1)所示。我们将这三种损失合并为如下的联合目标函数,共同优化模型参数:

experiments:

dataset:

实验训练设置:

我们首先将包含所有三种模态的原始训练集定义为全模态训练集。在全模态训练集的基础上,我们构造了另一个包含跨模态对的训练集来模拟可能的缺模态情况,并将其定义为缺模态训练集,用于训练所提出的最小最小模态。每个训练样本生成6个不同的跨模态对(表1)。因此,生成的跨模态对的数量是全模态训练样本数量的6倍。

实验测试设置:

我们首先将包含所有三种模态的原始测试集定义为全模态测试集。为了评估该方法在不确定缺失模态条件下的性能,我们分别构建了6个不同的缺失模态测试子集,对应于6种可能的缺失模态条件。例如,在推理阶段,在图2(c)所示的缺失视觉模态条件下,缺失模态测试样本的统一格式的原始特征为(x a;十五小姐;xt)。我们将所有六个缺失模态测试子集组合在一起,并将其表示为缺失模态测试集。

原始特征提取:

我们遵循并提取每个模态的帧级原始特征。

声学特征:使用OpenSMILE工具包(Eyben et al ., 2010)配置“IS13 ComParE”提取帧级特征,其性能与(Liang et al ., 2020)中使用的IS10话语级声学特征相似。我们将特征表示为“ComParE”,特征向量为130维。

视觉特征:我们使用预训练的DenseNet (Huang 2)提取面部表情特征,为了便于与基于顺序翻译的缺失模态方法MCTN进行公平比较,我们采用了基于面部表情识别加(FER+)语料库(Barsoum et al ., 2016)训练的帧级特征,该特征可直接用于MCTN方法等,2017)。我们将面部表情特征表示为“Denseface”。“Denseface”是基于视频帧中检测到的人脸的帧级序列特征,其特征向量为342维。

文本特征:我们使用预训练的BERT-large模型(Devlin等人,2019)提取上下文词嵌入,该模型是最先进的语言表示之一。我们将单词嵌入表示为“Bert”,特征是1024维的。

高级特征编码器

为了为想象模块生成更有效的句子级特定于情态的表示,我们为不同的情态设计了不同的情态编码器。

声学模态编码器(EncA):我们采用长短期记忆(LSTM)网络(Sak等人,2014)来捕获基于序列帧级原始声学特征的时间信息。然后基于LSTM隐藏状态,利用最大池化方法得到话语级声学嵌入h a。

视觉模态编码器(Visual Modality Encoder, EncV):我们对序列帧级面部表情特征x v采用与EncA相似的方法,得到话语级视觉嵌入h v。

文本情态编码器(EncT):我们使用TextCNN (Kim, 2014)基于顺序词级特征xt得到话语级文本嵌入作为h t

baseline:

实现细节:

表3给出了我们的实现细节。我们分别在IEMOCAP和MSP-IMPROV上使用10倍和12倍说话人独立交叉验证来评估模型。对于IEMOCAP的实验,我们进行了四个会话,剩下的部分由演讲者分成验证集和测试集。对于MSPIMPROV,我们取10个说话人的话语进行训练,剩下的2个说话人按说话人分为验证集和测试集。每个实验我们用最多100个epoch来训练模型。我们在验证集上选择最佳模型,并在测试集上报告其性能。为了证明模型的稳健性,我们对每个模型运行三次,以减轻参数随机初始化的影响,并对模型比较进行显著性检验。所有模型都使用Pytorch深度学习工具包实现,并在单个Nvidia GTX 1080Ti显卡上运行。

对于IEMOCAP的实验,我们使用了两个评价指标:加权精度(WA)和非加权精度(UA)。由于MSP-IMPROV上情绪类别的不平衡,我们使用f-score作为评价指标。

全模态基线结果

我们首先在全模态条件下将我们的全模态基线与几种最先进的多模态识别模型进行比较。表4的结果显示,我们的全模态基线优于其他最先进的模型,这证明我们的模态编码器网络可以为多模态情感识别提取有效的表示。

不确定模态缺失结果

表5给出了我们提出的MMIN模型在不同失模态测试条件和全模态测试条件下的实验结果。在IEMOCAP上,与表4中的“全模态基线”结果相比,我们看到在不确定的缺失模态测试条件下,性能显著下降,这表明在全模态条件下训练的模型对缺失模态问题非常敏感。将缺失模态训练集和全模态训练集结合起来训练基线模型的直观解“增强基线”在缺失模态测试条件下比全模态基线有明显改善,说明数据增强有助于缓解训练和测试数据不匹配的问题。更值得注意的是,在所有可能的缺失模态测试条件下,我们提出的MMIN显著优于全模态基线和增强基线。在全模态测试条件下,即使MMIN模型不使用全模态训练数据,它也优于这两个基线。结果表明,所提出的MMIN模型能够学习到鲁棒联合多模态表示,从而在不同失模态和全模态测试条件下都能获得一致的较好的性能。这是因为我们提出的MMIN方法不仅具有数据增强能力,而且可以学习到更好的联合表示,从而可以保留其他模态的信息。

我们进一步分析了不同缺失模态条件下的性能。与增强基线相比,我们的MMIN模型在一种可用模态条件下(fag、fvg或ftg)取得了显著的改进,特别是对于弱模态fag和fvg。即使对于强情态组合,如fa,它也比增强基线带来了一些改进;tg。这些实验结果表明,通过MMIN学习的联合表示确实从其他模态中学习了互补信息,以补偿弱模态。

表5中的底部块显示了MSP-IMPROV数据集上的性能比较。

在不同的缺失模态和全模态测试条件下,我们提出的MMIN模型再次显著优于两个基线,这表明MMIN在不同数据集上具有良好的泛化能力。

我们还比较了MCTN (Pham等人,2019)模型,该模型是解决模态缺失问题的最先进模型。就像MCTN一样不能在一个统一的模型中处理不同的失态条件,所以我们必须在每个失态条件下训练一个特定的模型3。

对比结果表明,我们提出的MMIN模型不仅可以用统一的模型处理不同的缺失模态和全模态测试条件,而且在所有缺失模态条件下都能始终优于MCTN模型。

消融实验

我们通过实验验证了想象模块的结构和循环一致性学习在MMIN中的作用。

想象模块的结构。我们首先研究了不同网络结构对想象模块性能的影响。具体来说,我们对MMIN中的自编码器和CRA结构进行了比较,我们采用相同的参数尺度来保证比较的公平性。如表6所示,在不同的缺模态和全模态测试条件下,采用自编码器结构“MMIN-AE”的想象模块的性能都比采用CRA结构的想象模块差。性能比较表明,CRA比Autoencoder模型具有更强的想象能力。

循环一致性学习。为了评估循环一致性学习在MMIN中的影响,我们使用第4.3节中描述的特征,并遵循(Pham et al, 2019)中的训练设置进行MCTN实验。MCTN模型不能在全模态测试条件下进行评估,因为目标模态不能为None。

我们使用有或没有循环一致性学习的MMIN进行了实验。如表6所示,未经循环一致性学习训练的模型在所有条件下的性能都有所下降,这表明循环一致性学习可以增强想象能力,学习到更鲁棒的联合多模态表示。

MMIN核心竞争力分析

我们在IEMOCAP上进行了详细的实验,以证明我们的MMIN模型的联合表征学习能力和想象能力。

联合表示学习能力:由于联合表示希望保留多个模态的信息,我们通过实验来评估MMIN的联合表示学习能力。我们将MMIN与基线模型在模态匹配条件下进行比较,其中训练数据和测试数据包含相同的模态。如表7所示,与基线模型相比,MMIN达到了相当甚至更好的性能,这说明MMIN具有学习有效联合多模态表示的能力。我们还注意到数据增强模型不能打败相应匹配的部分模态基线模型,这表明数据增强模型不能学习联合表示

想象能力:图3可视化了使用t-SNE的男说话者和女说话者的真多模态嵌入(图2中的^h)和MMIN想象的多模态嵌入(图2中的h 0)的分布(Maaten和Hinton, 2008)。我们观察到真值的分布嵌入和想象嵌入非常相似,尽管视觉模态嵌入的分布略有偏差,但这主要是因为该数据集的视觉模态质量较差。这表明MMIN可以基于可用模态来想象缺失模态的表示

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

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

相关文章

图像处理实验四(Adaptive Filter)

一、Adaptive Filter简介 自适应滤波器(Adaptive Filter)是一种能够根据输入信号的统计特性自动调整自身参数以达到最佳滤波效果的滤波器。它广泛应用于信号处理领域,如信道均衡、系统识别、声学回波抵消、生物医学、雷达、波束形成等模块。 …

深入理解AIGC背后的核心算法:GAN、Transformer与Diffusion Models

深入理解AIGC背后的核心算法:GAN、Transformer与Diffusion Models 前言 随着人工智能技术的发展,AIGC(AI Generated Content,人工智能生成内容)已经不再是科幻电影中的幻想,而成为了现实生活中的一种新兴力…

【STM32】基于SPI协议读写SD,详解!

文章目录 0 前言1 SD卡的种类和简介1.1 SD卡的种类1.2 SD卡的整体结构1.3 SD卡运行机制——指令和响应2 SD卡的通信总线2.1 SDIO2.2 SPI3 硬件连接4 代码实践【重点】4.1 HAL库移植4.2 标准库移植4.3 遇到的问题和解决方案5 扩展阅读0 前言 因为项目需要,使用stm32读写sd卡,这…

Three.js 纹理贴图

1. 纹理贴图 在Three.js中,纹理贴图是一种将二维图像贴到三维物体表面的技术,以增强物体的视觉表现。纹理贴图可以使物体表面更加真实、细腻,为场景增色不少。 在Three.js中,纹理贴图的加载主要通过THREE.TextureLoader类实现。…

ArcGIS Pro属性表乱码与字段名3个汉字解决方案大总结

01 背景 我们之前在使用ArcGIS出现导出Excel中文乱码及shp添加字段3个字被截断的情况,我们有以下应对策略: 推荐阅读:ArcGIS导出Excel中文乱码及shp添加字段3个字被截断? 那如果我们使用ArGIS Pro出现上述问题,该如何…

图论-代码随想录刷题记录[JAVA]

文章目录 前言Floyd 算法dijkstra(朴素版) 前言 新手小白记录第一次刷代码随想录 1.自用 抽取精简的解题思路 方便复盘 2.代码尽量多加注释 3.记录踩坑 4.边刷边记录,更有成就感! 5.解题思路绝大部分来自代码随想录 Floyd 算法 【…

anzocapital 昂首资本:外汇机器人趋势判断秘籍

再盲目交易而不借助像 anzocapital 昂首资本所了解的外汇机器人趋势判断方法,投资者在外汇市场将面临亏损的风险,anzocapital 昂首资本深知交易策略的重要性,就像外汇机器人确定趋势方向的方法,对投资者有着非凡的意义。 在外汇交…

【划分型DP-约束划分个数】【hard】力扣410. 分割数组的最大值

给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k 个非空的连续子数组,使得这 k 个子数组各自和的最大值 最小。 返回分割后最小的和的最大值。 子数组 是数组中连续的部份。 示例 1: 输入:nums [7,2,5,10,8]…

python高级之面向对象编程

一、面向过程与面向对象 面向过程和面向对象都是一种编程方式,只不过再设计上有区别。 1、面向过程pop: 举例:孩子上学 1. 妈妈起床 2. 妈妈洗漱 3. 妈妈做饭 4. 妈妈把孩子叫起来 5. 孩子起床 6. 孩子洗漱 7. 孩子吃饭 8. 妈妈给孩子送学校…

shell脚本(1)

免责声明 学习视频来自B 站up主泷羽sec,如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。 Shell脚本 建立一个sh脚本…

《DiffusionDet: Diffusion Model for Object Detection》ICCV2023

摘要 本文提出了一种新的框架DiffusionDet,它将目标检测任务表述为从带噪声的边界框到目标边界框的去噪扩散过程(如图一所示)。在训练阶段,目标边界框逐渐扩散到随机分布,模型学习逆转这一加噪过程。在推理阶段&#…

ISAAC SIM踩坑记录--ROS2相机影像发布

其实这个例子官方和大佬NVIDIA Omniverse和Isaac Sim笔记5:Isaac Sim的ROS接口与相机影像、位姿真值发布/保存都已经有详细介绍了,但是都是基于ROS的,现在最新的已经是ROS2,这里把不同的地方简单记录一下。 搭建一个简单的场景&a…

outlook邮箱关闭垃圾邮件——PowerAutomate自动化任务

微软邮箱反垃圾已经很强大了非常敏感,自家的域名的邮件都能给扔到垃圾邮箱里,但还是在本地增加了一层垃圾邮箱功能,然后垃圾邮箱并没有提示,导致错过很多通知,本身并没有提供关闭的功能,但微软有个Microsof…

「Py」Python基础篇 之 Python都可以做哪些自动化?

✨博客主页何曾参静谧的博客📌文章专栏「Py」Python程序设计📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

candence: 原理图生成网表时报错:Duplicate Pin name “xxx“

原理图生成网表时报错:Duplicate Pin name “xxx” 这个错误的意思是,原理图中管脚命名重复 解决这个问题的方法: 1、绘制元件的时候不要用相同的管脚名,比如GND等的,就稍加个后缀做区分2、就是将管脚属性修改为 &qu…

Diffusion Policy——斯坦福机器人UMI所用的扩散策略:从原理到其编码实现(含Diff-Control、ControlNet详解)

前言 本文一开始是属于此文《UMI——斯坦福刷盘机器人:从手持夹持器到动作预测Diffusion Policy(含代码解读)》的第三部分,考虑后Diffusion Policy的重要性很高,加之后续还有一系列基于其的改进工作 故独立成本文,且写的过程中 …

计算机网络学习笔记-3.2介质访问控制

文章目录 介质访问控制静态划分信道 动态分配信道轮询访问介质访问控制随机访问介质访问控制ALOHA协议简介ALOHA协议的工作原理 介质访问控制 介质访问控制(MAC,Medium Access Control),质访问控制的目的是确保多个设备能够高效、…

GitCode光引计划有奖征文大赛

一、活动介绍 GitCode平台汇聚了众多杰出的G-Star项目,它们犹如璀璨星辰,用各自的故事和成就,为后来者照亮前行的道路。我们诚邀广大开发者、项目维护者及爱好者,共同撰写并分享项目在GitCode平台上托管的体验,挖掘平…

深入理解接口测试:实用指南与最佳实践5.0(三)

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

使用electron-egg把vue项目在linux Ubuntu环境下打包并安装运行

electron-egg一个入门简单、跨平台、企业级桌面软件开发框架https://www.kaka996.com/electron-egg 跳转地址 1,使用 git下载代码到本地,如果没有git需要进行安装 # gitee git clone https://gitee.com/dromara/electron-egg.git # github git clone https://github.com/dro…