美文网首页
DeepSIC: Deep Semantic Image Com

DeepSIC: Deep Semantic Image Com

作者: 学号叁拾 | 来源:发表于2019-10-25 09:58 被阅读0次

    论文地址:https://arxiv.org/abs/1801.09468
    本文主要是将语义信息应用在了图像压缩代码中。
    提出了一个概念:深度语义图像压缩
    提出了两个结构:重构压缩图像,同时生成相对应的语义表示。
    第一种体系结构在编码过程中执行语义分析,从压缩代码中保留一部分位来存储语义表示。
    第二种结构在解码步骤中使用嵌入在压缩代码中的特征图进行语义分析。
    压缩和语义分析模块共享特征映射。

    Introduction

    传统方面的图像压缩:仅仅是一个应用于数字图像减少存储与传输代价的数字压缩。几乎所有的图像压缩算法都停留在低层次图像表示的阶段,图像的表示是像素值的数组。目前应用最广泛的压缩方法是通过像素级变换和熵编码对图像进行压缩。并没有考虑语义信息,仅是像素级的低级数组。
    如果系统能够发现输入的底层结构,就可以消除冗余,更简洁地表示输入。
    最近基于深度学习的压缩方法通过训练压缩模型发现图像的结构,然后将其转换为二进制代码。这些方法也仅在像素级上压缩图像没有考虑语义。
    如果需要语义信息首先用编码器对图像进行重构,进而用额外的计算得到图像的语义。


    语义图像压缩框架.png

    提出来的DeepSIC框架旨在将语义表示合并到编解码器中,同时保持重构在视觉上令人满意的图像的能力。该框架包括两个结构,用于有损图像压缩的像素信息与语义表示的联合分析。

    • pre-semantic DeepSIC:将语义分析模块整合到编码器部分,在压缩代码中保留一些位用于表示语义信息。
    • post-semantic DeepSIC:在编码进程中仅仅编码图像特征,在重构阶段在进行语义分析。语义分析模块进一步采用解码保留的特征来实现语义表示。
      论文所作贡献:
      1.提出了一种图像深度语义压缩的概念,旨在为同时压缩和重构图像的视觉信息和语义信息提供一种新的方案。
      2.提出了两个新的结构:pre-semantic DeepSIC以及post-semantic DeepSIC
      3.在多个数据集上进行了实验,以验证所提出的框架并比较这两种架构。

    DEEP SEMANTIC IMAGE COMPRESSION

    编码器-解码器图像压缩管道通常使用自动编码器将目标图像映射到比特率瓶颈(?),并对模型进行训练,以最小化因重构结果而导致的损失函数。
    bitrate bottleneck是什么?
    DeepSIC包含:一种用于编码器和解码器的特征提取和重构模块;选择合适的优化目标进行语义分析和压缩的联合优化;一种熵编码模块,用于进一步压缩固定大小的特征图,以获得具有可变长度的代码。


    pre-semantic&post-semantic.png
    • 对于pre-semantic DeepSIC,将语义分析放在编码过程中,编码过程通过在压缩代码中保留部分比特来存储语义信息。
    • 对于post-semantic DeepSIC,将解码后保留的特征用于语义分析模块获得类标签,用于重构网络合成目标图像。
      两个框架都包括特征提取、熵编码、特征重构、语义分析
      特征提取:特征表示图像中跨尺度和输入通道的不同类型的结构。图像压缩中的特征提取模块的目的是在保持包含信息的最大熵的同时减少冗余。此模块采用了CNN网络。用f(x)指示特征提取的输出。
      熵编码:特征输出首先被量化成低比特的精度。然后我们应用CABAC编码方法无损地利用数据中的冗余。它将量化y的输出编码为最终的二进制码序列y^.
      特征重建:通过熵解码,从压缩代码中得到图像特征。在解码过程中使用了特征提取的逆过程重构目标图像。
      语义分析:语义分析模块是对提取的特征图进行分析。如第一节所述,语义分析有多种形式,如语义分割、目标识别和图像字幕。本文采用对象分类作为语义分析模块。
      大体而言,过程如下:
      经过特征提取编码输入图像,之后量化编码成二进制代码,以存储、传输到解码器中。重构网络基于解码的二进制代码重构得到输入图像的估计值。进一步在编码器和解码器(重构)中训练语义分析模块。在原始图像与重建目标图像之间的失真损失以及语义分析的错误率的情况下,重复这个过程。
    特征提取

    特征提取模块的输出是图像的特征映射,包含图像的重要结构。创建从前几层到稍后层的短路径的CNNS允许整个网络中重复使用特征,从而允许对非常深的网络进行训练。在特征网络中,我们采用将前一层的批处理归一化输出添加到后一层的操作。此外,我们还观察到密集连接具有正则化效果,可以减少训练集较小的任务的过拟合。

    特征提取以及重构特征网络
    特征提取模块包含四个阶段,每个阶段都由一个卷积层、采样层以及批处理归一化。且后一个阶段利用前一层的输出。每个阶段以一个仿射卷积开始以增加图像的接受域。之后分别是44、22、或1*1的下采样层用于减少信息。
    熵编码

    给定了特征张量f(x),量化,之后进行熵编码。
    特征张量最优量化到低比特精度B:



    量化箱B为6bit。量化之后,输出转化成二进制张量。在特征提取和量化过程中产生的二进制码的熵并不是最大的,因为网络并没有明确地将其编码中的熵最大化,并且该模型并不一定要在很大的空间范围内利用视觉冗余。
    我们通过熵编码的无损压缩来利用这种低熵,具体来说,我们实现了一种基于上下文自适应二进制算术编码(CABAC)框架的熵编码。我们将Q(f(x))中的每个位位置与上下文关联起来,上下文包含一组表示位值的特征指示。这些特征是基于位的位置和相邻位的值。
    我们训练一个分类器从上下文特征中预测每一位的值,然后利用得到的置信分布来压缩b。
    给定y = Q(f(x))为量化码,将y熵编码为二进制表示形式y^后,检索压缩码序列。
    解码期间,通过执行逆过程解压缩代码。我们使用先前解码的比特的值来计算特定比特的上下文之间的交错。所获得的上下文被用来检索要解码的比特的激活概率。注意,这将约束每个位的上下文,使其仅包含由已解码的位组成的特征。

    重构特征

    特征重构模块反映了特征提取模块的结构,也分为四个阶段。每一个阶段都包括了一个卷积层和一个上采样层。
    每个前一层的输出通过两个路径传递到后续层,一个是去卷积网络,另一个是通过插值直接到目标大小的上采样。
    重构之后,获得解压缩图像:


    即使算术熵编码是无损的,但是量化依旧会带来精度损失,所以结果与特征提取的结果不一致。只不过与f(x)近似。

    语义分析

    我们的语义分析模块的结构包含一系列的卷积,然后是两个完全连接的层和一个softmax层。


    语义分析

    它是位置可选的,可以放在两个不同架构的编码和解码过程中。我们将其表示为h(*)对提取的特征映射f (x)进行操作。因此输出的语义表示是h(f(x))。
    对于语义分析部分中的分类任务,我们在创建全连接层时使用相关的名称-值对参数来调整学习率。在最后一个全连接层之后,利用一个softmax函数作为输出单元激活函数进行多类分类。
    本模块将分类结果的交叉熵作为语义分析的损失函数Lsem。两个全连接层的权矩阵分别表示为Wfc1和Wfc2。

    Lsem计算如下:
    值得注意的是,这两个架构中语义分析模块的输入略有不同。前语义深度语义分析模块的输入特征映射在浮点精度下。
    而后语义深度sic中语义分析模块的输入特征映射由于量化和熵编码而处于定点精度之下。
    压缩和语义分析的联合训练

    我们对所提出的DeepSIC进行端到端训练,共同优化语义分析和图像重建模块的两个约束条件。将损失定义为压缩比R、失真度D和语义分析Lsem损失的加权评价如式(4)所示:



    λ1和λ2管理三方面的权衡。量化操作是不可微分的,然后通过对离散概率质量的训练得到yi^ 的边缘密度,其权值等于yi^ 的概率质量函数,其中索引i遍历向量的所有元素,包括通道、图像的宽度和高度。



    R计算为:

    D测量由编码和解码引起的失真。它是由原始图像和重建图像之间的距离计算出来的。我们将MSE作为训练的距离度量,定义D为:


    相关文章

      网友评论

          本文标题:DeepSIC: Deep Semantic Image Com

          本文链接:https://www.haomeiwen.com/subject/virnuctx.html