多模态论文导读--VQA视觉问答经典论文:(自底向上和自顶向下注意力相结合)Bottom-Up and Top-Down Attention

2023-05-16

😁大家好,我是CuddleSabe,目前大四在读,深圳准入职算法工程师,研究主要方向为多模态(VQA、ImageCaptioning等),欢迎各位佬来讨论!
🍭我最近在有序地计划整理CV入门实战系列及NLP入门实战系列。在这两个专栏中,我将会带领大家一步步进行经典网络算法的实现,欢迎各位读者(da lao)订阅🍀

论文下载: https://arxiv.org/pdf/1707.07998.pdf

Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering

  • Abstract(摘要)
  • 1. Introduction(介绍)
  • 2. Related Work(相关工作)
  • 3. Approach(方法)
    • 3.1 Bottom-Up Attention Model(自底向上注意力模型)
    • 3.2 Captioning Model(字幕模型)
      • Top-Down Attention LSTM
      • Language LSTM
      • Objective
    • 3.3 VQA Model(视觉问答模型)
  • 4. Evaluation(验证)
    • 4.1 Datasets(数据集)
      • Visual Genome Dataset
      • Microsoft COCO Dataset
      • VQA v2.0 Dataset
    • 4.2 ResNet Baseline(残差基准模型)
    • 4.3 Image Captioning Results(图像字幕生成结果)
    • 4.4 VQA Results(视觉问答结果)
    • 4.5 Qualitative Analysis(定性分析)
  • 5. Conclusion(总结)

Abstract(摘要)

自顶向下视觉注意力机制被广泛应用于图像字幕生成和视觉问答任务中,使得模型可以通过微调甚至多步推理来达到深层图像理解的目的。在本篇文章中,我们提出了自底向下和自顶向下注意力相结合的机制,从而计算物体级别的注意力和显著图像区域。通过使用我们的方法,自底向上机制(基于Faster R-CNN)提出图像区域,并使用特征向量对每个区域进行表示;同时自顶向下机制用来决定特征权重。将这个方法应用到字幕生成任务,我们在MSCOCO数据集上达到了新的SOTA(CIDEr=117.9,SPICE=21.5,BLEU-4=36.9)。将这个方法应用到视觉问答任务中,我们获得了2017 VQA挑战的第一名。

1. Introduction(介绍)

请添加图片描述
像图像字幕生成和视觉问答这种结合了视觉于语言理解的任务在持续探究计算机视觉与自然语言处理的极限。这两个任务为了达到较好的结果,通常需要进行一些视觉预处理的微调甚至多步的视觉推理。因此,视觉注意力机制被广泛应用于这两个任务。这些机制通过更加关注于图像的某些显著区域,提升了模型的表现。
在人类视觉系统中,注意力机制通常是自顶向下的、显著刺激机制是自底向下的。在本篇文章中我们将面向任务的具体内容称作自顶向下的,单纯的视觉前馈注意力机制称为自底向下的。
在字幕生成任务与视觉问答任务中使用最多的是自顶向下注意力。例如将背景当作字幕或者图像相关问题的一部分的输出表示,这些机制用来有选择的关注卷积网络一层或多层的输出。然而,这种方法不确定是如何决定注意力的。如上图图1所示,这导致了输入的区域都是等大小的网格即使是无关区域也一样。为了使得字幕生成和视觉问答的结果更像人类,更加关注物体和显著区域更为符合注意力的本质。
在本篇文章中我们提出了自底向上和自顶向下相结合的注意力机制。自底向下机制提出了一系列用特征向量表示的显著图像区域,这里使用Faster-RCNN来实现自底向上注意力。自顶向下机制采用上下文来预测答案分布,然后对特征图进行整体调整。
我们在两个任务上验证了自底向上和自顶向下结合的重要性。我们首先提出了一个在字幕生成过程中多步关注显著区域的图像字幕生成模型。然而,我们发现包含了自底向上注意力的模型可以带来显著提升。我们在MSCOCO测试服务上达到了新的SOTA(CIDEr=117.9,SPICE=21.5,BLEU-4=36.9)。我们也在视觉问答任务上使用了自底向上注意力,在VQAv2.0标准测试集上达到了70.3%的效果。代码、模型和预计算的图像特征已发表在项目地址。

2. Related Work(相关工作)

现有大量用于字幕生成和视觉问答任务的基于注意力机制的网络。这些模型可以被描述为自顶向下方法。针对每个空间位置计算注意力并用注意力应用于卷积网络的一层或多层的输出。然而,决定图像区域的个数需要在计算性能和效果之间找到一个平衡点。此外,区域相对于图像内容的这种定位方式可能会使检测与区域对齐不良的对象以及绑定与同一对象相关的视觉概念变得更加困难(例如一个物体出现在两个格子)。
目前只有相当少的工作将注意力放在显著图像区域,我们关注到了两篇工作。其中一篇使用selective search来识别显著图像区域,并将卷积网络编码后的显著区域特征和注意力一起送入字幕生成模型。另一篇文章使用边缘框和空间转换模型来生成图像特征。在本篇文章中,相比于使用手工或可微的区域推荐,我们使用目标检测任务中的Faster-RCNN模型。通过这种方法我们可以在目标检测数据集上预训练我们的区域推荐层。

3. Approach(方法)

给定一张图片 I I I,我们的字幕生成模型和视觉问答模型输入一个 k k k个尺寸不相同的图像特征集合, V = { v 1 , . . . , v k } , v i ∈ R d V=\left\{v_1,...,v_k\right\},v_i\in\mathbb{R}^d V={v1,...,vk},viRd。空间图像特征 V V V可以定义为在3.1小节中我们的自底向上注意力模型的输出。在3.2小节,我们列出了我们的字幕生成模型并在3.3小节我们列出了我们的视觉问答模型。我们注意到自顶向下注意力部分,两个模型都使用简单的注意力机制,而不是像最近的堆叠注意力、多头注意力或者双向注意力那样复杂的注意力机制。

3.1 Bottom-Up Attention Model(自底向上注意力模型)

空间图像特征 V V V已经被定义。然而,在本篇文章中我们将空间区域定义为一组边缘框并使用Faster R-CNN来实现自底向上注意力。Faster R-CNN是一个用来识别物体实例并识别类别和边缘框定位的模型。我们的区域推荐网络也可以被训练为一个注意力机制。
Faster R-CNN通过两个步骤来检测物体。第一步叫做区域推荐网络(RPN)来预测物体推荐。在每一个空间位置网络预测出一个是否有物体的分数和一个针对anchor的边缘框的微调。使用设定IoU阈值的非极大化抑制算法,剩余筛选的推荐边缘框用作第二步的输入。在第二阶段,感兴趣区域(RoI)池化被用来为每一个边缘框内区域提取一个小的特征图(例如14x14)。这些特征图批打包后用作CNN最后一层的输入。最后模型针对每一个边缘框输出物体的类别预测分布和边缘框的微调。
在本篇文章中,我们使用Faster R-CNN(ResNet-101)。为了生成图像特征集合 V V V,我们取模型最后一层和非极大化抑制的输出。我们然后通过一个置信阈值来挑选出候选区域。对于每个候选区域 i i i v i v_i vi是指对应区域的平均池化卷积特征,维度为2048。这样,Faster R-CNN会为模型提供‘hard’注意力。
为了预训练自底向上注意力模型,我们首先使用在ImageNet上预训练的Faster R-CNN。我们然后在Visual Genome数据集上进行训练。为了能够学习到较好的特征表示,我们还额外训练使其预测attriibute的类别(在物体种类的基础上)。为了预测区域 i i i的attribute,我们将平均池化特征 v i v_i vi与物体真实类别的嵌入表示进行拼接,然后将其送入一个softmax分类层(额外添加一个’no attribute’类)。
原始的Faster R-CNN损失函数包含四个部分。我们在这些部分的基础上额外添加一个多类别分类损失用来预测attribute,然后再训练。如下图图2,我们展现了我们模型输出的一些例子。
请添加图片描述

3.2 Captioning Model(字幕模型)

给定图像特征集合 V V V,我们提出的字幕生成模型使用’soft’的自顶向下注意力机制来在字幕生成过程中对每一个特征分配权重。这个方法与几篇之前的工作相同。即使不使用自底向上注意力,我们的模型也能与现有的SOTA相比具有可比性(表1)。
字幕生成模型由两个LSTM层组成。LSTM在每一个时间步处理如下:
h t = L S T M ( x t , h t − 1 ) h_t = LSTM(x_t, h_{t-1}) ht=LSTM(xt,ht1)
其中 x t x_t xt L S T M LSTM LSTM的输入向量且 h t h_t ht L S T M LSTM LSTM的输出向量。这里我们忽略记忆单元是怎么传播的,我们现在只需要知道 L S T M LSTM LSTM在每一层输入向量 x t x_t xt输出向量 h t h_t ht。字幕生成模型展示在下图图3。
请添加图片描述

Top-Down Attention LSTM

我们将第一个 L S T M LSTM LSTM层作为自顶向下视觉注意力模型,并且第二个 L S T M LSTM LSTM模型作为一个语言模型。注意到在3.1小节中我们定义了自底向上注意力模型,并且其输出定义为特征 V V V。在每一个时间步,注意力 L S T M LSTM LSTM的输入由上一个语言 L S T M LSTM LSTM的输出、图像特征的平均池化 v ‾ = 1 k Σ i v i \overline v = \frac 1 k \Sigma_i{v_i} v=k1Σivi和上一个生成单词的编码拼接而成:
x t 1 = [ h 2 + t − 1 , v ‾ , W e Π t ] x^1_t = [h^2+{t-1},\overline v, W_e\Pi_t] xt1=[h2+t1,v,WeΠt]
其中 W e ∈ R E × ∣ Σ ∣ W_e \in \mathbb R^{E\times|\Sigma|} WeRE×∣Σ∣是单词嵌入矩阵, Π t \Pi_t Πt t t t时间步输入单词的独热编码。其中词嵌入是从头开始学习的二没有使用任何预训练。
在每个时间步 t t t时,随着注意力 L S T M LSTM LSTM的输出 h t 1 h^1_t ht1的产生,我们可以根据如下公式对 k k k个图像特征 v i v_i vi计算出标准化的注意力权重 α i , t \alpha_{i,t} αi,t
a i , t = W α T t a n h ( W v a v i + W h a h t 1 ) a_{i,t} = W^T_\alpha tanh(W_{va}v_i+W_{ha}h^1_t) ai,t=WαTtanh(Wvavi+Whaht1)
α t = s o f t m a x ( a t ) \alpha_t = softmax(a_t) αt=softmax(at)
其中 W v a ∈ R H × V W_{va}\in\mathbb R^{H\times V} WvaRH×V W h a ∈ R H × M W_{ha}\in\mathbb R^{H\times M} WhaRH×M w a ∈ R H w_a \in \mathbb R^H waRH都是可学习的参数。经过调整后的图像特征用如下公式来获得,用作语言 L S T M LSTM LSTM的输入:
v ^ t = Σ i = 1 K α i , t v i \hat v_t= \mathop \Sigma \limits^K_{i=1} \alpha_{i,t}v_i v^t=i=1ΣKαi,tvi

Language LSTM

语言 L S T M LSTM LSTM模型的输入由调整过后的图像特征和注意力 L S T M LSTM LSTM的输出拼接而成:
x t 2 = [ v ^ t , h t 1 ] x^2_t = [\hat v_t,h^1_t] xt2=[v^t,ht1]
使用 y 1 : T y_{1:T} y1:T来代表单词序列 ( y 1 , . . . , y T ) (y_1,...,y_T) (y1,...,yT),每个时间步 t t t的概率输出通过如下公式计算:
p ( y t ∣ y 1 : t − 1 ) = s o f t m a x ( W p h t 2 + b p ) p(y_t|y_{1:t-1})=softmax(W_ph^2_t+b_p) p(yty1:t1)=softmax(Wpht2+bp)
其中 W p ∈ R ∣ Σ ∣ × M W_p \in \mathbb R^{|\Sigma|\times M} WpR∣Σ∣×M b p ∈ R ∣ Σ ∣ b_p \in \mathbb R^{|\Sigma|} bpR∣Σ∣为可学习的参数。完整输出序列的概率为概率的连乘:
p ( y 1 : T ) = Π t = 1 T p ( y t ∣ y 1 : t − 1 ) p(y_{1:T})=\mathop \Pi \limits ^T_{t=1}p(y_t|y_{1:t-1}) p(y1:T)=t=1ΠTp(yty1:t1)

Objective

给定一个真实目标序列 y 1 : T ∗ y^*_{1:T} y1:T和一个带有参数 θ \theta θ的字幕生成模型,我们的目标是最小化下列交叉熵损失函数:
L X E ( θ ) = − Σ t = 1 T l o g ( p θ ( y t ∗ ∣ y ∗ 1 : T ) ) L_{XE}(\theta) = -\mathop \Sigma \limits ^T_{t=1}log(p_\theta(y^*_t|y*_{1:T})) LXE(θ)=t=1ΣTlog(pθ(yty1:T))
与最近的工作项目我们也使用CIDEr进行验证。使用交叉熵预训练的模型,我们进而最小化以下分数:
L R ( θ ) = − E y 1 : T ∼ p θ [ r ( y 1 : T ) ] L_R(\theta)=-E_{y_{1:T}\sim p_\theta}[r(y_{1:T})] LR(θ)=Ey1:Tpθ[r(y1:T)]
其中 r r r代表分数函数(例CIDEr)。应用自批判序列训练(SCST),损失函数的梯度可以用如下逼近:
▽ θ L R ( θ ) ≈ − ( r ( y 1 : T s ) − r ( y ^ 1 : T ) ) ▽ θ log ⁡ p θ ( y 1 : T s ) \bigtriangledown_\theta L_R(\theta) \approx -(r(y^s_{1:T})-r(\hat y_{1:T}))\bigtriangledown_\theta \log p_\theta(y^s_{1:T}) θLR(θ)(r(y1:Ts)r(y^1:T))θlogpθ(y1:Ts)

3.3 VQA Model(视觉问答模型)

请添加图片描述
给定空间图像特征集合 V V V,我们的视觉问答模型同样通过问题表征作为上下文对每个特征实现’soft’对自顶向下注意力机制。如上图图4所示,我们的模型也使用联合多模态嵌入,紧接着是对候选答案集合的分类预测分数。这个方法建立在前任工作上。
我们采用的非线性变换激活函数为门控双曲正切函数。我们的门控正切层通过以下公式实施,变换函数为 f a : x ∈ R m − > y ∈ R n f_a:x\in \R^m->y\in\R^n fa:xRm>yRn
y ^ = tanh ⁡ ( W x + b ) \widehat y = \tanh(Wx+b) y =tanh(Wx+b)
g = σ ( W ′ x + b ′ ) g = \sigma(W^{\prime}x+b^\prime) g=σ(Wx+b)
y = y ^ ∘ g y=\widehat y \circ g y=y g
其中 σ \sigma σ是sigmoid激活函数, W , W ′ ∈ R n × m W,W^\prime\in\R^{n\times m} W,WRn×m是可学习权重, b , b ′ ∈ R n b,b^\prime\in\R^n b,bRn是可学习偏差,并且 ∘ \circ 是Hadamard积(对应元素乘积)。
我们提出的方法首先使用一个GRU将问题表示为隐藏状态 q q q,输入为每个单词的词嵌入(可学习)。得到GRU的输出 q q q后,我们使用如下公式计算注意力权重:
a i = w a T f a ( [ v i , q ] ) a_i=w^T_af_a([v_i,q]) ai=waTfa([vi,q])
其中 w a T w^T_a waT是可学习参数向量。然后使用如下公式得到调整后的特征 v ^ \hat v v^
α i = s o f t m a x ( a ) \alpha_i = softmax(a) αi=softmax(a)
v ^ = Σ i = 1 K α i v i \hat v= \mathop \Sigma \limits^K_{i=1} \alpha_{i}v_i v^=i=1ΣKαivi
然后使用如下公式预测答案:
h = f q ( q ) ∘ f v ( v ^ ) h=f_q(q)\circ f_v(\hat v) h=fq(q)fv(v^)
p ( y ) = σ ( W o f o ( h ) ) p(y)=\sigma(W_of_o(h)) p(y)=σ(Wofo(h))
其中 h h h是问题和图像的联合表示,且 W o ∈ R ∣ Σ ∣ × M W_o\in\R^{|\Sigma|\times M} WoR∣Σ∣×M

4. Evaluation(验证)

4.1 Datasets(数据集)

Visual Genome Dataset

我们使用Visual Genome数据集来预训练我们的自底向上注意力模型。数据集包含108K张标注了诸如物体、属性和关系的图片,并包含1.7M个视觉问答数据。
我们仅使用物体和属性数据来预训练自底向上注意力模型。我们将5K张图片用于验证,5K张图片用于测试,98K张图片用于训练。对于在MSCOCO数据集中出现过的51K张图片,我们尽量避免将其包含在MSCOCO的验证集和测试集中。我们确保不会出现数据泄露。
因为物体和属性标注由任意形式的字符串构成而不是类别,我们进一步清洗了训练数据。原有2000物体类别和500个属性类别,我们一开始移除了检测中不常见的抽象类别。我们最终的训练数据集包含1600物体类别和400属性类别。注意我们并没有合并或移除重复类别(例,‘person’,‘man’,‘guy’)和难以准确定位的物体类别(例,‘sky’,‘grass’,‘buildings’)。
并将其添加到视觉问答数据集中,提供了485K个问题。

Microsoft COCO Dataset

为了验证提出的字幕生成模型,我们使用了MSCOCO 2014字幕数据集。为了进行超参数的验证,我们使用’Karpathy’。其包含113287张训练图片,每张由5个字母,并且有5K张图片用来验证和测试。我们在MSCOCO测试提交的为使用训练集和验证集加一起的训练模型(123K张图片)。

VQA v2.0 Dataset

为了验证我们提出的视觉问答模型,我们使用最近提出的VQA v2.0数据集。这个数据集包含1.1M问题和11.1M答案(图片来自MSCOCO)。
我们使用标准的问题文本处理和分词。问题最大长度截取或补齐为14。候选答案集为训练集中出现超过8次的答案,最后有3129个答案。在提交到测试服务器前,我们使用训练集、验证集和添加的Visual Genome一起重新训练。

4.2 ResNet Baseline(残差基准模型)

为了量化自底向上注意力的重要性,我们做了消融实验:使用ImageNet上预训练的ResNet来提取整个图像的视觉特征。
对于图像字幕生成任务,与先前的工作一样,我们将Resnet-101的最后一层卷积层的输出作为特征,并使用双线性差值将其缩放为 10 × 10 10\times 10 10×10大小。对于视觉问答任务,我们使用ResNet-200进行特征提取。另外我们研究了空间输出尺寸的作用,从 14 × 14 14\times 14 14×14 7 × 7 7\times 7 7×7(双线性插值)和 1 × 1 1\times 1 1×1(平均平均池化)。

4.3 Image Captioning Results(图像字幕生成结果)

请添加图片描述
![请添加图片描述](https://img-blog.csdnimg.cn/769833a27bbb47b988c702352031beed.png#pic_center请添加图片描述

4.4 VQA Results(视觉问答结果)

请添加图片描述

4.5 Qualitative Analysis(定性分析)

请添加图片描述
为了量化验证我们的注意力机制,在上图图5中我们可视化了自顶向下注意力模型在生成每一个单词的时间步时对每一个图像区域对注意力。由例子可见,我们的方法具有聚焦于局部细节或大型图像区域的能力。
与传统的方法不同,当一个或几个候选图像区域与图像物体有关系时,它们都具有联合定位能力。换句话说,我们的方法能同时考虑到所有物体的所有相关信息。这使得注意力能够被一种更自然的方式实施。我们应用在视觉问答任务中的例子如下图图6所示。
请添加图片描述

5. Conclusion(总结)

我们提出了一种结合自底向上和自顶向下相结合的视觉注意力机制。我们的方法能够使注意力能够在物体级别和显著区域被更自然地计算。通过将这个方法应用到图像字幕生成和视觉问答任务,我们在两个任务都达到了SOTA。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多模态论文导读--VQA视觉问答经典论文:(自底向上和自顶向下注意力相结合)Bottom-Up and Top-Down Attention 的相关文章

  • 树莓派3B+安装Ubuntu20.04

    ros2已经出到F版本了 xff0c 本来想下载一个尝鲜一下 xff0c 怒肝了两天终于把Ubuntu20 04装到树莓派里面了 但是 xff0c 忽然发现F版本的还未发行 xff0c 只是在网站上更新了安装方法 xff0c 安装包和公钥都
  • 【SpringBoot】SpringBoot+SpringSecurity+CAS实现单点登录

    文章目录 一 CAS的概述1 SSO2 CAS3 概念 二 CAS的流程三 CAS服务端部署1 下载地址2 源码打包3 部署运行4 java io FileNotFoundException etc cas thekeystore 系统找不
  • Google Scholar 谷歌学术文献检索技巧总结

    原文链接 xff1a https zhuanlan zhihu com p 24369927 身边有朋友想学如何使用谷歌学术 xff0c 为了更广泛的传播和重复查阅 xff0c 故将个人了解到的谷歌学术检索文献的技巧总结在此 当然 xff0
  • kubernetes flannel pod CrashLoopBackoff解决

    背景 某环境客户部署了一个kubernetes集群 xff0c 发现flannel的pod一直重启 xff0c 始终处于CrashLoopBackOff状态 排查 对于始终CrashLoopBackOff的pod xff0c 一般是应用本身
  • MapReduce之二次排序

    目录 应用场景 什么是二次排序 怎样实现二次排序 示例代码 应用场景 假如输入文件内容如下 xff1a a 1 z 3 b 2 a 100 a 3 b 1 要求经过MapReduce处理后 xff0c key升序排列 xff0c 相同key
  • DirectUI和无窗口用户界面

    http blog joycode com jiangsheng archive 2010 03 22 115921 joy DirectUI DirectUser是一个用户界面框架 xff08 http msdn microsoft co
  • 魔百盒CM201-1刷机教程

    家里有一块魔百盒CM201 1一直在家积灰 xff0c 由于看到网上教程可以刷各种系统 xff0c 所以想着玩来试试看 先刷一个电视版安卓系统看 盒子样子大概就是下面这样 xff1a 拿到手之后就迫不及待的将外壳拆掉了 xff0c 下面这样
  • RK3288刷机教程:安装Ubuntu 16.04

    网上有很多基于瑞芯微RK3288芯片的板子 xff0c 个人感觉配置都非常不错 xff01 然后就淘了两块玩玩 如下图所示 xff1a 然后可以看到 xff0c 各种接口也比较全乎 xff01 有HDMI和VGA视频输出接口 xff0c 两
  • No package ‘orocos-bfl‘ found

    目录 问题 xff1a 原因 xff1a 解决办法 xff1a 问题 xff1a 在编译ros工程的时候 xff0c 出现如下错误提示 xff1a No package 39 orocos bfl 39 found 如下图所示 xff1a
  • 卡尔曼滤波(Kalman filter)算法以及Arduino应用-mpu6050(导航贴)

    正在更新中 这篇文章要跟大家一起完全搞明白卡尔曼滤波 xff0c 连一个标点符号也不放过 xff0c 完完全全理解明白 如果你看不懂 xff0c 那说明我写的不好 本文是看了dr con博士的视频后做的 xff0c 建议可以去看看 如果哪里
  • pop_back()的用法及运行机制

    vector在c 43 43 中非常好用 xff0c 简单的说 xff0c vector是一个能够存放任意类型的动态数组 能够增加和压缩数据 一般使用push back 和pop back 函数将数据存放进容器末尾 如下例程 xff1a i
  • Gazebo为机器人添加传感器

    Gazebo Tutorials 在gazebo仿真中 xff0c 为了验证算法 xff0c 往往需要很多传感器输入作为控制输出量的输入数据 xff0c 因此 xff0c 需要学习添加各式各样的传感器并获取传感器数据 1 IMU传感器 2
  • the selected library block “Contact_forces_lib/3D/sphere to plane force“ no longer exists

    问题 在matlab的simulink里面进行simscape仿真的时候 xff0c 由于添加了接触力 xff0c 因此实现装了 Simscape Multibody Contact Forces Library 这个库 xff0c 装完之
  • matlab画圆(及其他常用图形)

    画图 1 matlab画圆 xff08 1 xff09 代码 xff1a x 61 y 61 r 61 1 for i 61 1 100 x i 61 r cos i 2 pi 100 y i 61 r sin i 2 pi 100 plo
  • CircuitPython入门贴

    前言 以前一直玩arduino的 xff0c 但是恼火于每次写完代码 xff0c 都要编译并烧录到MCU上 xff0c 刚开始的blink例程类的小代码还好 xff0c 起码十几秒钟就能烧录成功 xff0c 但是后来随着程序代码量的增加 x
  • Ready! Use 192.168.191.2 to access clientGuru Meditation Error: Core 1 panic‘ed (LoadProhibited).

    问题描述 在用esp32通过wifi和ros主机进行话题通信的过程中 xff0c 串口一直打印如下信息 xff1a Connecting to Zhitong Ready Use 192 168 191 2 to access client
  • Kolla环境部署命令

    注 xff1a 此博客皆为经验所得 xff0c 如有雷同 xff0c 纯属巧合 xff01 1 根据需要 xff0c 配置 etc kolla global yml xff0c 可选择需要部署的容器 xff1b 2 在 etc kolla
  • Baize_ServoDriver_esp32(ROS+Arduino驱动舵机机械臂,通过串口或WiFi话题通信)(数字孪生:虚拟和现实同步)

    介绍 硬件平台 控制板 xff1a Baize ServoDriver esp32 舵机机械臂 xff1a 通过Baize ServoDriver esp32这块舵机驱动板 xff0c 我们来驱动我们的机器人 首先 xff0c 我们通过串口
  • VMware Workstation 17 Player安装Ubuntu22.04

    ps xff1a 部分内容来自于网络整合 首先去官网下载https www vmware com products workstation player html 点击DOWNLOAD FOR FREE 点击GO TO DOWNLOADS
  • opencv运行出现错误ffmpeg

    调试opencv程序 xff0c 运行时出现 xff1a Error opening file build opencv modules videoio src cap ffmpeg impl hpp 578 网络查询 xff0c 原因 x

随机推荐

  • 美团2014校招笔试题第二题答案分析

    今天在论坛里看到一网友贴出的美团2014校招笔试题 xff0c 其中第二题个人觉得答案应该为7次 xff0c 这里做了一个分析 xff0c 欢迎大家指出其中的纰漏 题目 xff1a 有25匹马 xff0c 每次比赛只能有5匹马参加 xff0
  • ssh连接不上

    之前执行ssh ip命令一直ok 最近换环境了 xff0c 执行ssh ip命令 xff0c 登录不了 xff0c 卡住 man一下 xff0c 知道有个 v的用法 xff1a v Verbose mode Causes ssh to pr
  • 怎么把ubuntu系统从英文修改为中文界面

    Ubuntu系统默认安装的语言是英文 xff0c 有些小伙伴使用起来可能觉得不是很方便 xff0c ubuntu是支持中文界面的 xff0c 修改方法也很简单 xff0c 下面就来看看详细的操作 1 更改语言之前首先确保你的虚拟机能够上网
  • 浅谈一次函数的斜率

    以下是一次函数的基本形式 请证明 本函数的斜率为 我们先来看斜率 我们就以函数为例 这个函数的图像是个直线 是吗 没错 所以如何求一个函数的斜率 设高为 底为 所以斜率就是 看到这个式子是不是感到和微分有关系 没错 微分的定义就是求切线函数
  • 华为 5680 OLT native vlan配置方式

    分为两部分 xff1a 1 配置给ONU端口 2 配置给OLT端口 1 在ONU 端口生效 ont port native vlan profile mode 命令功能 此命令用于配置ONT端口的缺省VLAN 当ONT的Native VLA
  • taskset 设置进程的CPU亲和性

    命令行形式 taskset options mask command arg taskset options p mask pid PARAMETER mask cpu亲和性 当没有 c选项时 其值前无论有没有0x标记都是16进制的 当有
  • 关于win7安装nvm和npm遇到的坑

    nvm到官网 xff08 https github com coreybutler nvm windows releases xff09 下载后 xff0c 直接安装 xff0c 可选择安装路径和nodejs的路径 安装完nvm后win7系
  • Highcharts的学习

    简介 xff1a Highcharts 是一个用纯 JavaScript 编写的一个图表库 xff0c 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表 xff0c 并且 免费 提供给个人学习 个人网站和非商业用途使
  • 侠客精神 与 程序员的梦想

    侠客精神 与 程序员的梦想 我高考的那年是2013年 xff0c 也就是说你们高考完 xff0c 我也快要毕业了 促使我写这篇文章不单单是CSDN的 款款相待 xff0c 也是打算对自己的大学生活做一总结和对未来的人生做一规划 先说高考 x
  • 人脸识别之SphereFace

    2017的一篇cvpr xff0c SphereFace Deep Hypersphere Embedding for Face Recognition xff0c 继centerloss之后又一大作 文章主要提出了归一化权值 xff08
  • LovaszSoftmax

    论文 The Lovasz Softmax loss A tractable surrogate for the optimization of the intersection over union measure in neural n
  • ROS::ubuntu18.04 sudo: rosdep:找不到命令

    ubuntu18 04按照wiki上安装步骤执行sudo rosdep init是出现 sudo rosdep xff1a 找不到命令 原因 xff1a python rosdep这个包没有装 解决办法 xff1a 安装python ros
  • LCD12864液晶显示屏工作原理是什么呢?

    LCD12864液晶显示屏应用的非常广泛 xff0c 比如美容仪 xff0c 温度计 xff0c 保温杯 xff0c 汽车仪表等行业领域 xff0c 本文重点是由深圳兴宇合电子技术人员为大家讲解LCD12864液晶显示屏工作原理 xff0c
  • FreeRTOS启动第一个任务和任务的切换实现过程

    FreeRTOS启动第一个任务和任务的切换实现过程 此篇文章主要参考了野火的 FreeRTOS内核实现与应用开发指南 xff0c 和其他博主的一些资料并加入了一些个人理解 xff0c 作为学习笔记 xff0c 在此感谢火哥和其他博主 xff
  • make 编译报错:internal compiler error: Segmentation fault

    编译过程中出现 xff1a compiler error Segmentation fault span class token comment 编译Kudu源码 span span class token comment https ku
  • CUDA对应的NVIDIA驱动版本对照表

    https blog csdn net zhw864680355 article details 90411288
  • 又一金融级应用落地!百度超级链联合百信银行落地百度收银台商户清算方案

    区块链在金融行业的科技化升级中扮演举足轻重的作用 基于区块链技术防篡改 可追溯等特性 xff0c 百度超级链联合百信银行将其首先落地于百度收银台商户清算业务中 早在2017年 xff0c 百度超级链在资产证券化等领域已经开展领先实践 xff
  • 教你简单快速地在Linux系统下安装 docker

    Docker是基于Go语言开发的 xff01 是开源项目 xff01 docker官网 xff1a Docker Accelerated Containerized Application Development 文档 xff1a Dock
  • OVS+DPDK

    DPDK简介 DPDK是X86平台报文快速处理的库和驱动的集合 xff0c 不是网络协议栈 xff0c 不提供二层 xff0c 三层转发功能 xff0c 不具备防火墙ACL功能 xff0c 但通过DPDK可以轻松的开发出上述功能 DPDK的
  • 多模态论文导读--VQA视觉问答经典论文:(自底向上和自顶向下注意力相结合)Bottom-Up and Top-Down Attention

    x1f601 大家好 xff0c 我是CuddleSabe xff0c 目前大四在读 xff0c 深圳准入职算法工程师 xff0c 研究主要方向为多模态 xff08 VQA ImageCaptioning等 xff09 xff0c 欢迎各位