Medical Image Segmentation Review:The Success of U-Net

news2024/11/17 12:37:16

目录

医学图像分割综述:UNet的成功

1.摘要与介绍

2.分类

2.1.2D Unet

2.2 3D UNet

3.UNet扩展

3.1对于跳跃连接的增强与改进

3.1.1--增加跳跃连接数量

3.1.2--对跳跃连接过程中的特征进行处理

3.1.3--编码器和解码器特征图的组合

3.2--主干网络的改进与增强

3.2.1--残差主干网络

3.2.2--Multi-Resolution blocks(多分辨率模块)

3.2.3--重新考虑卷积

3.3--Bottlenceck的增强与改进

3.3.1--注意力模块

3.3.2--多尺度表示

3.4--Transformer

3.4.1--Transformer和UNet卷积神经网络结合的改进

3.4.2--用于UNet的纯Transformer主干网络

3.5--Rich Representation Enhancements(增强丰富表示)

3.5.1--多尺度融合

3.5.2--多模态融合

3.5.3--利用深度信息

3.6--概率设计

3.6.1--变分自编码器正则化

3.6.2--图模型算法

总结


医学图像分割综述:UNet的成功

1.摘要与介绍

图像分割任务可以分为两类:语义分割和实例分割。语义分割是一种像素级的分类,将图像中的所有像素划分为相应的类别,而实例分割也需要基于语义分割来识别同一类别中的不同对象。常见医学成像方式有x射线、正电子发射断层扫描(PET)、计算机断层扫描(CT)、磁共振成像(MRI)和超声(US)

卷积神经网络这种体系结构的主要限制是使用完全连接的层,这耗尽了空间信息,从而降低了整体性能。全卷积神经网络FCN来解决这一问题,FCN结构在编码器路径上应用由卷积、激活和池化层组成的几个卷积块来捕获语义表示,并类似地使用卷积层和解码路径中的上采样操作来提供像素级预测。解码路径上的连续上采样过程的主要动机是逐步增加空间维度以获得细粒度分割结果。

U-Net,可以有效地利用有限的带注释数据集,利用数据增强(例如,随机弹性变形)提取图像的详细特征,而不需要新的训练数据,从而获得良好的分割性能。U-Net网络由两部分组成。第一部分是收缩路径,使用由几个卷积块组成的下采样模块提取语义和上下文特征。在第二部分中,扩展路径应用一组具有上采样操作的卷积块,在降低特征维数的同时,逐步提高特征图的空间分辨率从而获得最终的分割结果。U-Net最重要的部分是跳跃连接,它将收缩路径中每个阶段的输出复制到扩展路径中相应的阶段。这种新颖的设计沿着网络传播基本的高分辨率上下文信息,这鼓励网络重复使用低层次表示和高上下文表示,以实现准确的定位。

在本篇综述中,我们将UNet的变体分为以下几类:

1)跳跃连接的改进增强

2)骨干网络的设计改进

3)Bottleneck的增强

4)与Transformer的结合

5)Rich Representation Enhancements--丰富增强表示

6)概率设计

这篇文章的主要贡献在于对基于UNet算法模型的不同方面进行了总结:包括对于基础UNet的改进,训练数据模态,损失函数,评估指标等

2.分类

2.1.2D Unet

2DUNet是基于编码器-解码器设计的全卷积网络,与DNNs本能相比,数据不足,并使用一些直观的数据增强技术。其次,他们的模型速度相当快,优于其他方法.

模型体系结构可以分为两个部分:第一部分是收缩路径,也称为编码器路径,其目的是捕获上下文信息.第二部分是扩展路径,也称为解码器路径,它的目标是逐步向上采样特征映射到所需的分辨率。

UNet模型中包含的连续卷积运算使网络的感受野大小线性增加。这一过程使网络逐渐学会较浅层粗糙的上下文和语义表示。学习高级语义特征使网络慢慢失去提取局部特征,这方面对重建分割结果至关重要。Ronnebreger等人提出了在相同尺度上从编码器路径到解码器路径的跳跃连接来克服这一挑战。这些跳过连接的存在原因是为了从编码器中强加同一阶段提取的语义特征的局部信息。

2.2 3D UNet

由于体积数据的丰富性和表达能力,大多数医学图像形式是三维的。因此,提出了一种基于3D体积的U-Net。

3.UNet扩展

UNet的核心优势是它的模块化和对称设计,这使得它适合广泛修改和与各种即插即用模块协作以提高性能。将对UNet网络的各种修改分为下图中的类别

3.1对于跳跃连接的增强与改进

跳跃连接是UNet体系结构的重要组成部分,这种结构将深的,低分辨率的语义信息与浅的,高分辨率层的局部空间信息结合起来。在最初的UNet网络架构中,编码器路径中的每一层通过跳过连接连接到解码器路径中相应的同分辨率层,以将描述内容的全局信息与解析位置的局部信息结合起来。

在对UNet网络不断改进的过程中,对于跳跃连接的改进也不断出现,对于跳跃连接的改进也分为以下的几类

3.1.1--增加跳跃连接数量

 UNet++:UNet++新设计了跳跃连接,使其更灵活,从而更有效地利用多尺度特征。他们没有将跳过连接限制为只聚合在编码器和解码器路径中具有相同规模的特征,而是重新设计了这些特征,使具有不同语义规模的特征可以聚合。UNet++将不同深度的U-Net合并到一个架构中,所有的UNet共享相同的编码器,但有自己的解码器。

UNet3+:UNet3+是将UNet++中引入的密集连接更进一步,在其中引入了全尺度的跳过连接。在UNet++网络中将每个解码器级别与所有编码器级别和所有前面的解码器级别连接起来。由于并非所有通过跳越连接到达解码器节点的特征映射都具有相同的比例,因此高分辨率的编码器特征映射将使用最大池操作缩小比例,而来自解码器内部跳越连接的低分辨率特征映射将使用双线性上采样进行上采样。

BiO-Net:在这个网络中没有额外的增加正向跳跃连接的数量,而是增加了额外的向后跳跃连接。因此BiO-Net是一种具有双向跳跃连接的UNet网络。网络结构如下图所示:

这意味着这个网络具有两种类型的跳跃连接。1)正向跳跃连接在同一层次上结合了编码器与解码器。正向跳跃连接保留了编码器中低级视觉特征,并将他们与语义解码器信息结合起来

2)后向跳跃连接将解码后的高级特征从解码器传递回相同级别的编码器。编码器可以将语义解码器的特征与原始输入相结合,并灵活的聚合这两类类型的特征。

这两种类型的跳过连接一起构建了一个O型递归网络体系结构。可以通过多次遍历来获得改进的性能。编码器和解码器的递归输出可以定义为

其中i表示当前的迭代轮次,UP表示上采样操作。DOWN表示下采样操作,DEC和ENC分别表示解码器和编码器级别。

3.1.2--对跳跃连接过程中的特征进行处理

Attention-UNet:在这个网络结构中,注意力门(Attention Gated)被添加到跳跃连接中,以隐式学习抑制输入图像中的不相关区域,同时突出当前分割任务的感兴趣区域。在跳跃连接中加入注意力门结构可以保持高的预测精度,而不需要外部器官定位模型。

Attention UNet++:Attention UNet++将Attention UNet和U-Net++结合起来。注意门被添加到U-Net++的所有跳过连接及其嵌套的U-Nets和密集的跳过连接

3.1.3--编码器和解码器特征图的组合

BCDU-Net:在这个网络中,跳跃连接中加入了双向卷积长短期存储器(LSTM)。这个网络结构认为来自编码器的高分辨率特征图和从包含更多语义信息的上卷积层提取的特征图的简单拼接可能不会导致最精确的分割输出。相反,他们将两组特征图与双向卷积LSTM模块中的非线性函数相结合。在理想情况下,这会产生一组富含局部空间信息和语义信息的特征图。用于在跳跃连接结束时的双向卷积LSTM的架构如图所示:它使用两个ConvlSTM,在正向和反向路径的两个方向上处理输入数据。将通过考虑两个方向上的数据相关性来确定输出

双向卷积LSTM模块,用于组合通过跳过连接的编码器特征图和来自先前上卷积层的解码器特征图。Xe和Xd分别表示从编码部分复制的一组特征图和上一尺度卷积层的输出。Yi表示单个跳跃连接的第i个块中BConvLSTM模块的输出

3.2--主干网络的改进与增强

在UNet的扩展网络中使用不同类型的主干网络也是常见的。主干被定义为编码器中的层是如何排列的。

3.2.1--残差主干网络

残差网络通过解决在深度神经网络中堆叠多个层时经常出现的消失梯度问题,以及当向网络添加越来越多的层时导致首先饱和然后降低精度的退化问题,实现了更深的网络架构。在这个网络结构中将U-Net中的标准跳跃连接称为长跳跃连接,将残差跳跃连接称短跳跃连接,因为它们只在两个卷积层上向前跳跃

3.2.2--Multi-Resolution blocks(多分辨率模块)

MultiResUnet:是为了解决在不同尺度上分析对象的困难,引入的初始块在同一输入上并行使用具有不同内核大小的卷积层,并在将不同尺度的感知传递到网络深处之前将其组合。经典U-Net中的以下两个3×3核卷积类似于一个5×5核卷积。为了将多分辨率分析纳入网络,3×3和7×7卷积应与5×5卷积并行添加。

DenseNet:旨在通过创建从早期层到后续层的跳过连接来解决消失的梯度问题。DenseNet通过将具有相同特征图大小的所有层彼此连接,最大化了信息流。这意味着每一层都从所有前面的层获得连接的输入。

3.2.3--重新考虑卷积

DUNet:这个网络架构用可变形卷积来替换原始UNet中的每个3x3卷积层。使用可变形卷积可以使感受野适应输入特征不同的形状和规模。

separable 3D convolution Block:当从3D图像分割时,重要的是利用来自体积数据的全部空间信息。然而,这对于2D卷积是不可能的,并且3D卷积在计算上非常昂贵.3D可分离卷积模块将3D卷积分为3个分支,每个分支代表不同的正交视图。以便在轴向、矢状和冠状视图中处理输入。此外,将剩余跳过连接添加到分离的3D卷积。

3.3--Bottlenceck的增强与改进

U-Net架构可以分为三个主要部分:编码器(收缩路径)、解码器(扩展路径)以及编码器和解码器之间的瓶颈。Bottleneckneck用于迫使模型学习输入数据的压缩表示,该压缩表示应仅包含恢复解码器中的输入所需的重要和有用信息

在最初的UNet,Bottleneck由Relu激活函数和两个3x3卷积层组成。

3.3.1--注意力模块

 一些网络模型将注意力模块应用于UNet的Bottleneck

MA-Net:MAUNet网络中使用了位置关注块PAB,以自我关注为Bottleneck特征图中像素之间的空间依赖性建模。PAB的结构图如下所示:

 在编码器路径末端进入Bottleneck的特征图首先由3×3卷积层处理。然后,生成的输出由三个单独的1×1卷积层处理,产生A、B和C。A和B被重新整形以形成两个向量,这两个向量通过矩阵乘法,通过softmax函数产生空间特征关注图P。随后在重塑的特征图C和特征关注图之间执行矩阵乘法,并且在通过最终的3×3卷积层之前,所得特征图与输入相乘。

SA-UNet:SAUNet加了空间注意力模块,空间注意力模块应该增强Bottleneck中的相关特征并压缩不重要的特征。在他们的方法中,输入特征图并行通过平均池和最大池层。这两种池操作都沿着通道维度应用,以产生有效的特征描述符。然后将输出级联并通过7×7卷积层和Sigmod激活,以获得空间注意力图。通过将空间注意力图与原始输入特征相乘,可以基于输入对当前分割任务的重要性对输入进行加权。

3.3.2--多尺度表示

这个方向的改进的目的是通过包括多尺度特征表示(例如空洞卷积)来增强Bottleneck的设计。结合空间金字塔池化和空洞卷积的思想。U-Net中Bottleneck的特征图可以通过不同膨胀系数的膨胀卷积并行重新采样,然后组合以获得丰富的多尺度特征。

在UNet结构中的Bottleneck使用ASPP结构,编码器的最终特征图并行通过1×1卷积,这四组经处理的特征图与传递到瓶颈的原始特征图连接在一起,并在传递到解码器之前由最终的1×1卷积处理

3.4--Transformer

Transformer中最重要的就是其中的多头注意力机制,它具有卷积神经网络所不具有的远程建模能力,可是Transformer结构也存在着计算量过大和计算时间过长的问题。

3.4.1--Transformer和UNet卷积神经网络结合的改进

卷积神经网络性能突出表现在多尺度表示和捕获捕获局部语义和纹理信息。但是CNN可能无法捕获医学数据中存在的几何和结构信息。因此,需要一种捕获像素间长关系的机制,以扩展现有的基于CNN的UNet变体的性能,这些变体受到卷积运算的有限感受野的影响。

TransUNet:编码器路径中堆叠的Transformer从原始输入中提取的抽象特征中提供标记化路径,以提取全局上下文。解码器路径对与高分辨率CNN特征图相结合的编码特征进行上采样,以实现精确定位。TransUNet是一个2D网络,它逐层处理体积3D医学图像。

TransBTS:TransBTS利用3D CNN主干作为其编码器和解码器路径,以跨空间和深度维度捕获局部表示,并从整体上减轻Transformer对应方的高计算负担。将Transformer与编码的低分辨率和高级别表示流相结合的关键点来自CNN块,即线性投影和特征映射块,其中输入/输出信号重塑和下采样以适应其使用。该混合网络从3D数据中捕获局部和全局信息。

GT-UNet:这个网络结构是用来解决先前分割方法在模糊边界中的低性能,同时保持计算低复杂度

UNETR:UNETR是一种3D分割网络,它直接利用仅在编码器阶段结合ViT的体积数据,以3D体积样式捕获全局多尺度上下文信息,这在医学图像分割领域通常至关重要。该体系结构遵循[7]的U形结构,其中跳跃连接将连续的3D卷积操作传送到基于3D CNN的解码器。使用基于CNN的解码器是因为尽管变换器学习全局信息的能力很好,但它们不能很好地捕捉空间定位信息。类似于U-Net,UNETR从体积数据中生成均匀、不重叠的面片,并应用线性投影将面片投影到整个Transformer层的恒定嵌入维度空间中。

3.4.2--用于UNet的纯Transformer主干网络

MedT:MedT网络计划利用纯Transformer而不是基于CNN的方法来捕获长距离空间上下文,这些方法部分地拓宽了CNN的受阻碍的感受野。但是Transformer如若想要取得不错的性能,需要大量的数据量做保证。可是在医学图像处理领域带标注的数据通常难以获取。MedT提出了一种门控轴向注意力机制,以在多轴注意力操作[152]中通过对查询、键和值[158]的位置嵌入来控制信息流。在中,在大规模数据集而非小规模数据集上学习的精确相对位置编码提高了性能,因此MedT引入了门控参数,以控制捕获非局部信息时的位置偏差量,从而阻碍非精确位置嵌入。此外,为了有效地提取信息,MedT利用局部全局训练策略来补偿。

MedT在网络图中有两个分支,一个是全局分支,用于图像的原始分辨率,另一个是局部分支,用于处理图像的Patch

3.5--Rich Representation Enhancements(增强丰富表示)

为了获得丰富的表示,应用于医学图像分割的方法通常是多尺度和多模态方法。其关键目标是通过利用来自多模态或者多尺度图像所有可用的信息来增强训练模型的性能,同时保留最理想和最相关的特征。

3.5.1--多尺度融合

Focal Tversky Attention U-Net:函数调节Tversky索引[175],以解决数据不平衡问题,并提高医学图像分割中的精度和召回平衡。此外,他们将多尺度图像输入纳入具有深度监督输出层的注意力U-Net模型[70]。这种新的架构有助于提取更丰富的特征表示。与常用的Dice损失相比,Tversky相似性指数引入了每个类别的特定权重,与标签出现的次数成反比。

M-Net:M-Net网络结构如下图所示,它由多尺度输入层,U型卷积网络,侧输出层和多标签损失函数组成。

 初始多尺度层构造具有用于分层表示学习的降序分辨率的图像输入。处理后的图像金字塔通过类似于原始U-Net架构[7]的U形网络,其编码器路径和解码器路径通过跳跃连接连接。解码器路径内的每个级的输出被馈送到产生本地输出映射的侧输出层。侧输出层的优势在于,可以通过侧输出损耗和最终层损耗的反向传播来减轻梯度消失的问题。

3.5.2--多模态融合

具有多模态融合模块的网络模型,其单个编码器扩展到多个编码器,从而接受不同模态的医学图像。编码器分支通过各自的聚合策略连接起来,从而以不同的方式共享信息,提取更丰富的表示并互相补充。

HyperDenseNet:HyperDenseNet是每个流接受一个模态的数据,相同和不同路径中的层密集连接起来。编码路径包含N个流,每个流负责一个成像模态。密集多路径U-Net支持单个路径内和多个路径之间的超密集连接。在密集连接的网络中,第l层的输出由所有特征层串联的映射Hl产生。HyperDenseNet基于密集连接的网络集成不同路径之间的输出,以从组合模态中获得更丰富的特征表示。

级联UNet:级联UNet是处理多模态输入为了提高脑肿瘤分割性能而提出的,尽管原始U-Net处理多模态MRI图像输入是可行的,但它融合了以相同方式处理的所有模态的特征信息。基于最初的U-Net,提出的级联Unet采用了并行的多个编码器,以更好地利用每个特定模态的特征表示。级联Unet编码器路径包含单独的子路径,其中每个子路径利用卷积组处理一个输入模态并生成特征图。然后对每个阶段的多个特征图进行元素最大化操作,以获得结果特征。特征图的输出随后与较大比例块的对应特征图相结合,这促进了不同比例的特征图之间的信息流。级联UNet的解码器根据相同比例的输出和前一级解码器块的输出在每一级产生输出。

3.5.3--利用深度信息

3D Attention UNet:3D Attention UNet 由3D编码器、解码器和跳跃连接以及通道和空间注意力机制组成。在3D空间关注路径中,作者对输入特征图进行1×1×C卷积,以获得H×W×1维的结果。并行地,输入特征图通过平均池,然后馈送到完全连接的层,以获得1×1×C的顺序信道相关性。

3.6--概率设计

这个方向的改进在于将经典的UNet与不同类型的概率扩展相结合。

3.6.1--变分自编码器正则化

下图显示了显示了给定经过训练的先验网络和UNet以及低维潜在空间的采样过程。潜在空间中的每个位置编码不同的分割变体。通过先验网络传递输入图像,它将确定给定输入图像的编码变体的概率。对于要预测的每个可能的分割,将网络应用于相同的输入图像。来自先验概率分布的随机样本被绘制并广播到具有与分割图相同形状的N信道特征图。然后将其与unet的最终特征图连接起来,并用连续的1×1卷积进行处理

从潜在空间产生对应于所绘制的点的分割图。只有组合需要在每次迭代中重新计算,因为U-Net的最后一个特征图和先前网络的输出可以用于每个假设。

Myronenko将V AE分支添加到3D U-Net架构中,以解决脑肿瘤分割训练数据有限的问题。在他们的架构中,UNet用于肿瘤的分割,V AE用于共享相同编码器的图像的重建。对于V AE,编码器的输出被减少到较低的维度空间,并且从具有给定平均值和标准偏差(std)的高斯分布中提取样本。然后,使用类似于UNet解码器的架构但没有任何跳过连接的架构将样本重构为输入图像。在训练期间的总损失函数由三部分组成

3.6.2--图模型算法

虽然经典的U-Net在来自与训练数据相同分布的数据上表现良好,但在非分布数据上其准确性降低。

为了解决这个问题,Brudfors等人[51]将U-Net与马尔可夫随机场(MRF)相结合,形成MRF-Unet。低参数、一阶MRF更易于泛化,因为它们编码更简单的分布,这是拟合分布数据的重要质量

总结

在这项研究中,我们对U-Net及其变体的文献进行了全面的回顾,这些年来,U-Net的出现在医学图像分割领域持续上升。我们从其主要分类、对变体的扩展以及性能和速度的基准来检查该领域。为了构造各种U-Net扩展,不同的扩展和变体根据对架构进行的更改类型进行分组

 

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

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

相关文章

【Lilishop商城】No3-2.模块详细设计,系统设置(系统配置、行政区划、物流公司、滑块验证码图片、敏感词过滤)的详细设计

仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在: 【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇会结合业务介绍重点设计逻辑,其中重点包括接口类、业务类,具体的结合源代码…

【JavaWeb开发-Servlet】day04-学生成绩管理系统-环境搭建与展示页面

1、项目名称:学生成绩管理系统 2、技术要求:Java、Servlet、JSP、HTML5、JavaScript、Css 3、编译环境:JDK1.8、eclipse2022、TomCat9.0 4、基本功能:增、删、改、查、分页、登录、注册 目录 一、创建项目 (1&#x…

自动化测试平台(一):前期准备和后端服务搭建

一、前言 本专栏会基于djangoreact,并结合这些年自己构建多个自动化测试平台的经验,从0开始,一步一步教会你实现一个完备的商用级自动化测试平台,真正意义上能够降本增效创造价值的平台。 二、前期准备 安装mysql,版…

用Virtuoso和Abstract完成gds2lef

需要用到的工具有virtuoso和abstract。 数模混合的项目通常需要模拟完成模块设计,把接去数字的pin打上label(text),数字的floorplan才能正式开始。 如果只需要简单的数字PR boundary和pin点位置,那么只使用virtuoso就…

MySQL分区详解

目录 一、定义 1.1 概述 1.2 分区的优势 二、分区的类型 2.1 检查MySQL是否支持分区 2.2 类型 2.3 分区的其他操作 一、定义 1.1 概述 数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写…

基于jsp+java+ssm考研指导平台-计算机毕业设计

项目介绍 本考研学习类的网站,采用了ssm框架技术和mysql数据库进行网站设计研发,系统具有前台展示,后台管理的设计模式,是一款典型的计算机毕业设计学习资料。前台主要展示了考研相关的资讯,方便用户在线注册并且留言…

【Windows逆向】【Qt】资源解析

▒ 目录 ▒🛫 导读需求开发环境1️⃣ 分析思路思路获取资源路径的方法2️⃣ c正向编码编码使用流程不使用Qt方式获取思路3️⃣ frida方式获取Origin平台资源win32 - 定位目标资源win32 - 查找API含义win32 - 查找《符号》构造frida本地函数win32 - 全部代码win64 - …

【ESP32+freeRTOS学习笔记-(一)freeRTOS介绍】

目录FreeRTOS基本情况FreeRTOS的特色发行版的目录结构与文件说明原生程序的下载与目录结构FreeRTOS的主要文件说明头文件说明关于FreeRTOSConfig.h的说明主要的数据类型说明重要数据类型 -- TickType_t重要数据类型 -- BaseType_t一些默认的规则变量名的规则函数的命名规则宏的…

你在网络上发布的内容真的归你所有吗?有Web3.0和元宇宙的未来是什么样的?

欢迎来到Hubbleverse 🌍 关注我们 关注宇宙新鲜事 📌 预计阅读时长:9分钟 本文仅代表作者个人观点,不代表平台意见,不构成投资建议。 你认为你在微博、抖音等社交媒体上发布的内容是属于你的吗?事实并非…

Dashed lines generator for 3dMax 虚线生成器插件使用教程

Dashed lines generator虚线生成器是一个3DMAX建模工具,可以通过简单的步骤自动生成所有类型的虚线:它可以用于模拟交通标志标准;使用“蒙皮修改器SKIN MODIFIER”选项,可以非常容易地操纵创建的虚线,更改其位置和方向…

关于Pytorch模型检查点大小和参数量的一些观察

目录 背景和需求 一、模型的参数量统计 二、模型检查点大小查看 三、检查点大小和模型参数量之间的关系 总结 背景和需求 一个Pytorch模型的大小可以从两个方面来衡量:检查点大小和模型的参数量。现在我从两个方面都拿到了具体数值,想要验证它们两个是否…

数据开源 | Magic Data开源DMS驾驶员行为数据集

由于近几年人工智能、芯片技术的发展,自动驾驶被资本市场越炒越热。目前大部分车企正在朝着完全自动驾驶努力,大部分已经落地的无人驾驶技术仍然是L2与L3级。同时,汽车行业也逐渐在汽车上集成了辅助自动驾驶和智能助手等功能,让驾…

C语言结构体详解

邀请加入嵌入式社区,您可以在上面发布问题,博客链接,公众号分享,行业消息,招聘信息等。 目录 结构体有什么用? 结构体声明 正常的结构体声明 匿名结构体 匿名结构体只有在创建的时候可以建立变量 两个…

vuex通过Mutations来修改状态的原理及devtools插件的下载

状态修改: 通过Mutations来修改状态,并配合devtools调试工具会记录这个状态何时被修改过; 好处是因为所有组件都可以访问和修改状态,通过Mutations配合调试工具能知道状态被哪个组件什么时候被修改过,方便追溯&#…

如何让 ChatGPT 写短篇小说?

故事一 请根据下面内容续写故事,要求800字。 在一个晴朗的秋日下午,男主人 Jack 抱着他的妻子 Rose,两人坐在沙发上看着电视。 这是,Jack对Rose说:”亲爱的,我们来玩一个游戏吧。” ChatGPT回答&#xff1a…

华为机试 - 端口合并

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 有M(1<M<10)个端口组&#xff0c; 每个端口组是长度为N(1<N<100)的整数数组&#xff0c; 如果端口组间存在2个及以上不同端口相同&#xff0c;则认为这2个端口组互相关联&#xff0c;可以…

CentOS部署主从DNS服务器

几个概念&#xff1a; 域名解析为IP地址&#xff1a;正向解析 IP地址解析为域名&#xff1a;反向解析 主DNS服务器&#xff1a;在特定区域内具有唯一性&#xff0c;负责维护该区域内的域名和IP地址之间的对应关系。 从DNS服务器&#xff1a;从服务器中获得域名和IP地址对应关系…

PCIE2PCI104载板转接卡

功能型号 PCIE2PCI104 此无源扩展卡允许开发人员将PCI104或PC/104plus卡安装到通用PCI总线系统中。适配器配备了一个堆栈式连接器。 功能描述 规格 适用于标准&#xff1a;Universal.3.3V或5V PCI插槽 工业温度工作范围&#xff1a;-40至85 C 连接器/接口&#xff1a;包括一个带…

干货 | 肖特基二极管4大特性

前言 肖特基二极管是重要的电子元器件&#xff0c;因为其承载着保护电路的重要作用&#xff0c;所以显得格外的不可或缺&#xff0c;我们都知道在选择肖特基二极管时&#xff0c;主要看它的正向导通压降、反向耐压、反向漏电流等。 但我们却很少知道其在不同电流、不同反向电压…

固定支撑约束在ANSYS有限元计算中的三大注意事项

固定支撑是在结构有限元中&#xff0c;大家最常用的一种约束条件了。如图1所示给出了设置固定支撑操作的方法。 图1 设置固定支撑操作方法 固定支撑约束&#xff0c;可以应用在点&#xff0c;线和面特征上。固定支撑表示被约束为位置为刚性&#xff0c;但是在现实工程结构中&a…