本篇文章为读者带来模式识别与图像处理中常见的几类网络结构的详解。
1. A Style-Based Generator Architecture for Generative Adversarial Networks StyleGAN
图注释翻译:传统的生成器仅通过输入层提供潜在代码,而我们首先将输入映射到中间潜在空间W,然后在每个卷积层通过自适应实例归一化(AdaIN)控制生成器。在评估非线性之前,在每次卷积之后添加高斯噪声。这里“A”代表学习到的仿射变换,“B”将学习到的每通道缩放因子应用于噪声输入。映射网络f由8层组成,合成网络g由18层组成,每个分辨率为2层(42-10242)。最后一层的输出使用单独的1×1卷积转换为RGB。我们的生成器共有2620万个可训练参数,而传统生成器只有23.1万个。
传统生成器 (a)
1. 潜变量输入 z∈Z输入的潜变量向量 z 是从某个分布(例如高斯分布)中采样的。
2. 归一化:潜变量向量进行归一化处理。
3. 全连接层:归一化后的向量传递给全连接层。
4. 像素归一化:进行像素归一化处理。
5. 卷积层:网络由多个卷积层组成,并夹杂上采样操作。每个卷积层后都进行像素归一化处理。
6. 输出分辨率:网络逐步生成分辨率越来越高的图像。
基于风格的生成器 (b)
1. 潜变量输入 z∈Z:类似于传统生成器,潜变量向量 z是从某个分布中采样的。
2. 映射网络 f:潜变量向量 z 通过一系列全连接层映射到中间潜变量空间 W。这个中间向量 w∈W 控制每一层应用的风格。
3. 合成网络g:从一个学习到的常量输入开始。
自适应实例归一化 (AdaIN):每一层接收来自映射网络的风格信息。自适应实例归一化(AdaIN)使用风格向量调整特征的均值和方差。
噪声注入:在每一层添加噪声以引入随机变化,增强生成图像的多样性。
卷积层和上采样:类似于传统生成器,合成网络也有卷积层和上采样操作。然而,风格和噪声在每一层应用,使生成过程更加灵活和多样化。
图像中突出显示的关键区别是:
1.基于风格的生成器引入了映射网络,使得对生成图像的控制更加灵活。
2.在合成网络的多个层次中使用AdaIN注入风格。
3.在每一层添加噪声以增强多样性。
StyleGAN的结构特点在于它采用了一个由映射网络和合成网络组成的生成器,通过在多个层次注入风格信息(使用自适应实例归一化,AdaIN)和噪声来控制生成图像的细节和多样性。模型运作流程如下:首先,潜在变量 z 被映射网络转换为中间潜在空间 w的向量;然后,合成网络从一个学习到的常量开始,通过一系列卷积和上采样操作生成图像,同时在每一层注入风格信息和噪声,使得生成的图像既具备全局一致性又具有丰富的细节。
2. Fully Convolutional Networks for Semantic Segmentation FCN
图注释翻译:全卷积网络可以有效地学习对每像素任务(如语义分割)进行密集预测。
图注释翻译:将完全连接层转换为卷积层使分类网络能够输出热图。添加层和空间损失(如图1所示)可以生成端到端密集学习的高效机器。
图注释翻译:我们的DAG网络学习将粗糙的、高层的信息与精细的、低层的信息结合起来。层显示为网格,显示相对的空间粗糙度。只显示池化层和预测层;中间的卷积层(包括我们的转换完全连接层)被省略。实线(FCN-32s):我们的单流网络,在4.1节中描述,在一个步骤中将32步预测的样本提升到像素。虚线(FCN-16s):结合最后一层和池4层的预测,在第16步,让我们的网络预测更精细的细节,同时保留高级语义信息。虚线(FCN-8s):来自池3的额外预测,步幅8,提供了进一步的精度。
FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题。与经典的CNN在卷积层使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷基层的特征图(feature map)进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,最后奇偶在上采样的特征图进行像素的分类。
全卷积网络(FCN)是从抽象的特征中恢复出每个像素所属的类别。即从图像级别的分类进一步延伸到像素级别的分类。FCN将传统CNN中的全连接层转化成一个个的卷积层。
结构特点
-
多层次结构:该网络由多个层次组成,包括多个池化层(pool1至pool5)和上采样层。每个层次都有其特定的功能,如特征提取、信息压缩和细节恢复。
-
池化层与上采样层结合:网络的核心在于交替使用池化层和上采样层。池化层(如pool1至pool5)用于逐步压缩输入图像,提取高层特征并减少计算量。而上采样层则负责将这些压缩后的特征图放大回原始图像的尺寸,以便恢复细节。
-
多尺度预测:网络支持多种尺度的预测,通过结合不同层次的特征来实现。这包括FCN-32s、FCN-16s和FCN-8s三种预测方式,它们分别在上采样到不同尺度时进行预测,从而捕获不同层次的细节信息。
-
跳过连接:为了结合高层和低层的信息,网络采用了跳过连接(如从pool4和pool3层到预测层的连接)。这种连接允许网络在预测时同时利用到粗糙的高层信息和精细的低层信息,提高预测的准确性和细节度。
-
中间层省略:虽然图中省略了中间的卷积层(包括转换后的全连接层),但它们是网络中不可或缺的一部分,用于在池化层之间进一步提取和转换特征。
模型运作流程
-
输入:模型接收一张图像作为输入。
-
特征提取与压缩:图像首先通过一系列的池化层(pool1至pool5),每个池化层都会压缩图像尺寸并提取更高层次的特征。这个过程中,图像的空间分辨率逐渐降低,但特征的语义层次逐渐提高。
-
上采样与细节恢复:在达到所需的语义层次后,模型开始通过上采样层逐步恢复图像的细节。这个过程中,图像尺寸逐渐增大,同时保留了高层次的语义信息。
-
多尺度预测:在上采样的不同阶段,模型会进行多次预测。首先是FCN-32s预测,它基于最粗糙的特征图进行预测;然后是FCN-16s预测,它结合了pool4层的特征以提高细节度;最后是FCN-8s预测,它进一步结合了pool3层的特征以获得更精确的预测结果。
-
输出:最终,模型输出多尺度的预测结果,这些结果可以合并或选择使用,以满足不同的应用需求。
FCN的结构特点在于使用全卷积网络进行端到端的像素级别预测,通过将传统卷积神经网络中的全连接层替换为卷积层,并结合跳跃连接融合高层语义信息和低层空间信息,实现高分辨率的语义分割。模型运作流程如下:输入图像经过一系列卷积和池化操作提取特征,然后通过反卷积(上采样)逐步恢复空间分辨率,同时结合来自浅层的特征图进行细化,最终生成与输入图像同尺寸的语义分割图。
3. High-Resolution Image Synthesis with Latent Diffusion Models 潜在分散模型 Stable diffusion
扩散模型如何应用在图像中(DiffusionModels)
扩散模型包括两个过程:前向过程(forwardprocess)和反向过程(reverseprocess),其中前向过程又称为扩散过程(difusion process)。
扩散过程是指的对数据逐渐增加高斯噪音直至数据变成随机噪音的过程。
什么是latent-diffusion模型?
diffusion 与latent diffusion的区别,可以理解为 diffusion直接在原图进行图片的去噪处理,而 latend diffusion 是图像经过VAE编码器压缩的图像,进行diffusion处理,然后再通过解码器,对压缩后的latent 编码还原为图像。
Stable Diffusion的结构特点在于通过潜在扩散模型进行高分辨率图像合成,它将图像生成过程分解为一系列逐步去噪的步骤,从噪声中恢复出清晰图像。模型运作流程如下:首先,从一个潜在空间中随机采样一个初始噪声图像;然后,通过多个去噪步骤,逐步减小噪声,每一步都基于当前图像状态和条件(如文本描述)进行调整;最终,经过多次迭代后,生成高质量、高分辨率的图像。
LDM 潜在扩散模型
结构特点
编码器 (Encoder): 将像素空间的输入 x 转换为潜在空间的表示 z。
扩散过程 (Diffusion Process): 在潜在空间中逐步添加噪声,以生成一系列潜在表示 Zt Zt-1…
去噪U-Net (ϵθ): 一个使用跨注意力机制的U-Net,用于去噪并恢复每个时间步的潜在表示。
解码器 (Decoder, D\mathcal{D}D): 将去噪后的潜在表示z~ 转换回像素空间的输出x~。
条件机制 (Conditioning): 可以通过拼接或跨注意力机制引入各种条件信息(例如语义图、文本、表示、图像)。
运作流程
1. 编码: 输入图像 x 通过编码器e转换为潜在空间表示 z。
2. 扩散: 在潜在空间中,通过逐步添加噪声生成一系列表示 zT,zT−1,…,z1z_T, z_{T-1}
3. 去噪: 在每个时间步 t,去噪U-Net (ϵθ) 使用跨注意力机制处理当前的潜在表示,生成去噪后的潜在表示。
4. 解码: 最终的去噪潜在表示z~通过解码器 D转换为输出图像x~。
5. 条件引入: 在去噪过程中,可以通过拼接或跨注意力机制引入各种条件信息,提升生成图像的质量和一致性。
这种模型通过在潜在空间中进行扩散和去噪操作,结合条件信息,能够生成高质量、高分辨率的图像。
4. Representing Scenes as Neural Radiance Fields for View Synthesis NERF
图注释翻译:图2:我们的神经辐射场场景表示和可微分渲染过程的概述。我们通过沿着相机光线(a)采样5D坐标(位置和观看方向)来合成图像,将这些位置输入MLP以产生颜色和体积密度(b),并使用体渲染技术将这些值合成为图像(c)。该渲染函数是可微的,因此我们可以通过最小化合成图像和地面真实观察图像之间的残差来优化我们的场景表示(d)。
结构特点
-
5D输入:NeRF的输入是5维的,包括位置(x, y, z)和方向(θ, Φ),这些参数共同描述了相机射线在场景中的位置和观察方向。
-
MLP网络:NeRF使用多层感知机(MLP)作为核心网络结构。这个网络接收5D输入(位置和方向),并输出该位置的颜色和密度信息。
-
体积渲染:通过体积渲染技术,NeRF能够将颜色和密度信息转换为图像。这个过程涉及在相机射线上对颜色和密度进行积分,以生成最终的图像像素值。
-
可微分渲染:NeRF的渲染函数是可微分的,这意味着渲染过程可以反向传播梯度,从而允许通过优化算法来改进场景表示。
模型运作流程
-
采样5D坐标:首先,沿着相机射线在场景中采样一系列5D坐标(位置和方向)。
-
MLP预测:将这些采样点输入到MLP网络中,网络输出每个采样点的颜色和密度信息。
-
体积渲染:使用体积渲染技术,将MLP输出的颜色和密度信息沿着相机射线进行积分,生成最终的图像。这个过程中,根据颜色和密度计算每条射线上的光强度贡献,从而得到渲染的图像。
-
优化场景表示:由于渲染函数是可微分的,因此可以通过最小化合成图像与真实观察图像之间的残差来优化场景表示。这通常通过梯度下降等优化算法来实现,不断迭代更新MLP的参数,以提高渲染图像的准确性。
NeRF(神经辐射场)的结构特点在于利用5D输入(3D位置和2D视角方向)生成场景的颜色和密度分布,通过体积渲染技术合成新视角图像。模型运作流程如下:首先,从多个视角采样场景的5D坐标(位置和方向);然后,将这些坐标输入到一个多层感知器(MLP)中,输出对应位置的颜色和体积密度;接着,利用体积渲染技术将这些值组合成一幅图像;最后,通过最小化合成图像和真实图像之间的差异,优化神经网络,从而实现从新视角合成高质量的场景图像。
5. Pyramid Scene Parsing Network PSPNet
图注释翻译:我们提出的PSPNet。给定输入图像(a),我们首先使用CNN获得最后一层卷积层(b)的特征映射,然后应用金字塔解析模块获取不同的子区域表示,随后进行上采样和级联层以形成最终的特征表示,该特征表示在(c)中包含局部和全局上下文信息。最后,将该表示输入卷积层以获得最终的逐像素预测(d)。
结构特点
-
卷积神经网络(CNN)基础:PSPNet以卷积神经网络(CNN)为基础,首先通过CNN从输入图像中提取特征图。这一步骤是图像分类、检测等任务中的常见做法,有助于捕捉图像中的基础视觉特征。
-
金字塔池化层(Pyramid Pooling Module):PSPNet的核心在于其金字塔池化层,该层将特征图划分为不同尺度的子区域,并对每个子区域进行池化操作。这种分层处理的方式有助于捕获图像中的多尺度上下文信息,提高模型对图像中不同尺度对象的识别能力。
-
上采样与拼接(Upsampling and Concatenation):经过金字塔池化层处理后,不同尺度的特征表示会被上采样到相同的分辨率,并通过拼接操作组合成最终的全局和局部上下文表示。这种操作有助于融合不同尺度的特征信息,提高模型的鲁棒性和准确性。
-
全连接层或卷积层(Final Convolution Layer):最终,拼接后的特征表示会被送入一个卷积层(在图中标记为CONCAT后紧接着的卷积层),用于生成每个像素的预测结果。这一步骤将特征图转换为最终的分类或分割图。
模型运作流程
-
输入图像(Input Image):首先,将待分类或分割的图像作为输入传递给PSPNet。
-
特征提取(Feature Extraction):使用卷积神经网络(CNN)对输入图像进行特征提取,得到包含基础视觉特征的特征图。
-
金字塔池化(Pyramid Pooling):将特征图送入金字塔池化层,进行多尺度池化操作,捕获不同尺度的上下文信息。
-
特征融合(Feature Fusion):对不同尺度的池化结果进行上采样和拼接操作,融合成包含全局和局部上下文信息的最终特征表示。
-
预测输出(Prediction Output):将融合后的特征表示送入卷积层进行最终处理,生成每个像素的预测结果(如分类标签或分割图)。
-
训练与优化(Training and Optimization):在训练过程中,通过反向传播和梯度下降等技术优化网络参数,以最小化预测结果与真实标签之间的差异。
PSPNet的结构特点在于利用金字塔池化模块来捕捉多尺度的全局上下文信息,从而增强语义分割的精度。模型运作流程如下:首先,输入图像经过一个深层卷积神经网络提取特征图;然后,金字塔池化模块将特征图划分为不同尺度的池化区域,分别进行池化操作并融合这些多尺度特征;最后,将融合后的特征图通过上采样和卷积层恢复到原图尺寸,生成高精度的语义分割结果。
6. Encoder-Decoder with Atrous Separable Convolution for Semantic Image SegmentationDeeplab-v3
用于语义图像分割的可分离卷积编解码器
图注释翻译:我们将采用空间金字塔池模块(a)的DeepLabv3模型改进为编码器-解码器结构(b)。提出的DeepLabv3+模型包含来自编码器模块的丰富语义信息,而由简单而有效的解码器模块恢复详细的目标边界。编码器模块允许我们通过应用属性卷积以任意分辨率提取特征。
-
Spatial Pyramid Pooling (SPP):这是最直接应用SPP技术的方法。如图片中的(a)部分所示,它通过在不同尺度上应用池化操作来提取特征,从而捕捉图像中的多尺度信息。这种方法不依赖于输入图像的尺寸,因此可以处理任意大小的图像。
-
Encoder-Decoder:如(b)部分所示,这种方法采用了编码器-解码器结构。编码器部分负责通过卷积等操作提取图像的高级特征,而解码器部分则负责将这些特征恢复到原始图像的大小或接近原始图像的大小,以便进行像素级的预测。这种结构有助于恢复图像的细节信息。
-
Encoder-Decoder with Atrous Convolution:如(c)部分所示,这种方法在编码器部分引入了Atrous Convolution(空洞卷积),也称为扩张卷积或膨胀卷积。空洞卷积可以在不增加参数数量和计算量的前提下,增大感受野,从而捕获更丰富的上下文信息。这种卷积方式有助于编码器模块提取更丰富的语义信息,再结合解码器模块恢复细节,进一步提升模型性能。
模型的运作流程
以DeepLabv3+模型为例,其运作流程可以概括为以下几个步骤:
-
输入图像:将待处理的图像作为输入。
-
编码器模块:使用具有Atrous Convolution的编码器模块对输入图像进行特征提取。Atrous Convolution能够在保持特征图分辨率的同时,通过控制空洞率来增大感受野,从而提取更丰富的语义信息。
-
空间金字塔池化模块:编码器模块的输出被送入空间金字塔池化模块。该模块在不同尺度上对特征图进行池化操作,以捕捉多尺度的上下文信息。
-
解码器模块:解码器模块负责将编码器模块和空间金字塔池化模块的输出进行上采样和融合,以恢复图像的细节信息。这个过程通常采用简单的上采样和卷积操作来实现,但能够有效地恢复出物体的边界等细节。
-
输出预测:解码器模块的输出即为最终的预测结果。对于语义分割等任务,这通常是一个与输入图像大小相同的像素级预测图,其中每个像素都被分配了一个类别标签。
图注释翻译:我们提出的DeepLabv3+通过采用编码器-解码器结构扩展了DeepLabv3。编码器模块通过在多个尺度上应用空洞卷积对多尺度上下文信息进行编码,而简单而有效的解码器模块则沿着目标边界对分割结果进行细化。
结构特点
-
编码器-解码器结构:DeepLabv3+模型采用了编码器-解码器结构。编码器部分负责提取图像的多尺度上下文信息,而解码器部分则负责优化分割结果,特别是沿着物体边界的分割效果。
-
多尺度空洞卷积:编码器模块通过在不同尺度上应用空洞卷积(Atrous Convolution,也称为扩张卷积或膨胀卷积)来提取多尺度的低级特征。这些空洞卷积通过控制空洞率(rate)来增大感受野,从而在不增加计算复杂度的前提下捕获更丰富的上下文信息。
-
特征提取和融合:编码器输出的特征图在解码器部分通过上采样(Upsample)和拼接(Concat)操作与低级特征进行融合。这种低级特征的融合有助于恢复图像中的细节信息,从而提高分割结果的准确性。
-
简单而有效的解码器:解码器模块设计得简单而有效,它主要通过对编码器输出的特征图进行上采样和拼接操作,并结合低级特征来优化分割结果。这种设计既保证了模型的效率,又能够显著提升沿物体边界的分割性能。
运作流程
-
输入图像:模型接收输入图像,并通过编码器部分进行处理。
-
编码器处理:在编码器部分,输入图像首先经过一系列卷积层(如3x3Conv)和空洞卷积层(如rate6、rate12、rate18的AtrousConv),以提取多尺度的上下文信息。同时,通过1x1Conv层进行特征降维和升维操作,以减少计算量和增加模型非线性。
-
池化操作:在编码器的某些阶段,可能会使用池化层(Pooling)来降低特征图的分辨率,从而扩大感受野并提取更高级别的特征。
-
解码器处理:解码器部分首先对上采样得到的特征图进行1x1Conv操作,以调整特征图的通道数。然后,通过上采样操作将特征图的分辨率逐步恢复到与输入图像相近的级别。
-
特征融合:在解码过程中,将上采样后的特征图与编码器部分提取的低级特征进行拼接(Concat),以实现特征的融合。这种融合有助于恢复图像中的细节信息,提高分割精度。
-
最终预测:经过解码器和特征融合后,模型输出最终的预测结果。预测结果通常是一个与输入图像大小相同的分割图,其中每个像素都被分配了一个类别标签。
DeepLab-v3 是一种高效的语义图像分割模型,其结构包括主干网络(如ResNet)用于特征提取、扩张卷积模块增强感受野、以及全景池化(ASPP)模块处理不同尺度的上下文信息。模型首先通过主干网络提取特征图,然后利用扩张卷积捕捉多尺度信息,接着通过ASPP模块进一步融合和增强这些特征,最后通过解码器将处理后的特征图上采样以生成高分辨率的分割结果。
7. Adversarial Autoencoders 对抗自动编码器 GAN-AAE
图注释翻译:图1:对抗性自动编码器的架构。上面一行是一个标准的自编码器,它从潜在代码z重建图像x。下面一行是第二个网络的图,该网络经过训练,可以判别地预测样本是来自自编码器的隐藏代码还是来自用户指定的采样分布。
结构特点
该模型结构为对抗性自编码器(Adversarial Autoencoder),主要由两部分组成:
1.标准自编码器:
1.位于模型的顶层,其功能是接收输入图像x,并通过编码和解码过程重建图像。在这个过程中,图像x被转换为一个隐藏状态z(也称为潜在编码或潜在变量),然后通过解码器尝试从z中重建出原始图像x的近似版本。
2.标准自编码器的目标是学习一个有效的数据表示z,该表示能够捕获输入图像的关键特征,同时去除不重要的细节。
2.对抗性网络(或称为判别器):
1.位于模型的底层,其目标是对抗性地训练以区分两种类型的样本:正样本p(z)和负样本q(z)。正样本是直接从用户指定的分布中采样的,而负样本是从自编码器的隐藏状态z中抽取的。
2.对抗性网络通过预测样本是否来自隐藏状态(负样本)或用户指定的分布(正样本)来工作,这有助于增强模型的鲁棒性,因为它促使自编码器生成更加难以区分的隐藏状态z。
模型运作流程
-
数据输入:输入图像x被送入标准自编码器。
-
编码过程:自编码器中的编码器部分将输入图像x转换为隐藏状态z。这个过程通常涉及多个卷积层(或全连接层),通过非线性激活函数和可能的池化操作来提取图像的特征。
-
解码与重建:解码器接收隐藏状态z,并尝试通过反向的转换过程(通常是转置卷积层或全连接层)重建出原始图像的近似版本。
-
对抗性训练:同时,对抗性网络接收来自两个来源的样本:一部分是从自编码器的隐藏状态z中抽取的(负样本q(z)),另一部分是从用户指定的分布中直接采样的(正样本p(z))。对抗性网络的目标是最小化区分正样本和负样本的能力,这通过优化对抗性成本(Adversarial Cost)来实现。这种对抗性训练促使自编码器生成更加复杂且难以区分的隐藏状态z,从而提高了整个模型的数据表示能力。
-
提取与转换:图片中还展示了如何从隐藏状态中提取特征,并将其转换为对自编码器来说不可见的形式。这可能涉及到进一步的特征处理或变换,以增强模型的泛化能力和安全性。
觉得还不错的可以点点关注~~不迷路~~