文章目录
Abstract
图像压缩作为基本的低级图像处理任务之一,对于计算机视觉来说非常重要。大量的计算和存储资源可以通过少量的视觉信息来保存,传统的图像压缩方法倾向于最小化和相应的原始图像的外观差异来获得压缩图像,但很少关注他们在下游感知任务中的功效,例如图像识别和对象检测。因此一些压缩图像被识别为有偏差。相比之下,本文旨在通过追求外观和感知一致性来生成压缩图像。基于编码器-解码器框架,我们建议使用预训练的CNN来提取原始图像和压缩图像的特征,并使他们相似。因此,压缩图像对于后续任务是可识别的,我们将我们的方法命名为可识别图像压缩(DIC)。此外,最大平均差异(MMD)用于最小化特征分布之间的差异。由此产生的压缩网络可以生成具有高图像质量的图像,并在特征于中保持一致的感知,从而使这些图像可以被预先训练的机器学习模型很好的识别。基准测试表明,使用该方法压缩的图像也可以被后续的视觉识别和检测模型很好的识别。例如,DIC压缩图像的mAP值比传统方法的压缩图像的mAP值高约0.6%。keywords
image compression , neural networks , visual recognition , perceptual consistency
1.Introduction
最近,越来越多的计算机视觉(CV),例如图像识别、视觉分割、对象检测、和人脸验证都很好的由深度神经网络解决,这得益于大量可访问的训练数据和GPU的计算能力。除了这些高级CV任务之外,神经网络还增强了许多低级CV任务,如图像去噪和修复,单图像超分辨率和图像和视频压缩。
本文研究图像压缩问题,这是一种节省存储和传输消耗的基本方法,它用低比特数据表示图像并以高质量重建它们。传统方法主要基于时频域变化(如JPEG、JPEG2000),这会使压缩图像因为块状伪影或者噪声失真。由于卷积网络在图像去噪和修复方面表现出非凡的性能,Dong等人提出使用CNN去除JPEG压缩图像上的块,以提高压缩性能。此外,Toderici等人利用编码器-解码器网络来实现具有固定输入大小的压缩任务,后来,他们进一步将编码器-解码器网络扩展到支持任意大小图像的通用模型。Sun等人利用递归扩张网络建立图像压缩系统。Li等人提出通过利用重要性图来压缩图像以实现更高的压缩率。
尽管这些方法在减少数字图像的存储方面取得了可喜的性能,但仍有一个重要的问题需要考虑。在实践中,拍摄大量数字图像并将其存储在电子设备(如手机、安全摄像头)中,其中很大一部分将使用预先训练的机器模型进行识别或后处理,用于人员识别、物体识别和检测等。因此,我们不期望压缩后的这些预训练模型无法准确识别压缩图像。然而,深度神经网络的巨大成功主要归功于海量可用数据。因此,大多数被广泛使用的神经网络对给定图像的微小变化很敏感。原始训练数据集之外的一些不同的纹理和颜色变化会直接干扰输出结果。此外,由于用于压缩图像的网络经过训练以最小化任意两幅图像之间的像素级误差,因此无法很好的和后续识别任务集成。
为了有一个清晰的说明,我们进行了一个玩具实验,如图1所示。在实践中,我们使用JPEG算法直接压缩图像,并使用预训练的ResNet-50 [18]识别压缩的图像。当压缩率不断增加时,识别结果,即预测得分的得分将会改变。虽然原始图像和压缩图像之间只有非常小的外观差异,但一些底层结构和文本的变化会影响后续神经网络的计算。该网络将一些压缩的Pilecan图像分别识别为Dowitcher、Mergus Serrator和Dunlin,尽管使用肉眼识别它们没有任何障碍。另一方面,虽然我们可以重新训练现有的模型(例如,分类或检测)来拟合这些压缩图像,但是时间消耗是不可容忍的。另一种尝试可以是添加更多的压缩图像作为增强,但有许多图像压缩算法和不同大小的图像。因此,迫切需要一种在特征域
产生具有感知一致性的压缩图像的图像压缩方法。
为了解决上述问题,本文开发了一个新的图像压缩框架,同时执行图像压缩和图像识别任务。具体而言,编码器-解码器网络用于生成压缩数据和重建图像,并且采用预训练的CNN来感知压缩前后图像的差异。通过联合优化这两个目标,所提出的方法可以产生具有低存储的压缩图像,该压缩图像也可以像通常一样被预训练的CNN模型准确地辨别。据我们所知,这是第一次使用深度学习方法同时研究图像的物理压缩和视觉感知。在基准数据集上进行的实验表明,该算法优于目前最先进的数字图像压缩方法。
2.Related work
深度学习方法在图像去噪[56]和超分辨率[12]等各种图像处理任务中表现出非凡的性能,可以提供清晰平滑的输出。因此,设计基于深度模型的端到端图像压缩方法是很有意义的。
对于无损图像压缩,[46]和[34]提出了可以保留所有图像信息的图像压缩方法,但它们的压缩率没有竞争力。另一方面,与具有几个独立组件(如量化、修剪和编码)的传统方法相比[50],使用端到端策略的深度学习方法更有效。然而,主要的困难是舍入或二元函数是不可微的。Theis等人[47]提出了压缩式自动编码器,该编码器对舍入函数的离散值进行平滑逼近。Jiang等人[21]生成低分辨率图像,然后应用常规图像压缩方法(如JPEG)获得低比特数据。Cheng等人[7]研究了用于图像压缩的残差学习。Akyazi等人[1]使用小波分解进行学习。Murashko等人[33]提出了一种基于ml的方法来模拟任意图像的结果。该图像压缩方法与其他计算机视觉任务相结合,效果良好。例如,Jia等人[20]提出了一种由ComCNN和ResCNN组成的端到端图像压缩模型,以保护对抗性示例。
许多工作提出了新的压缩方案来提高压缩图像的质量。Savioli[39]将RL和GAN结合来最大化PSNR,用于图像压缩。Rippel和Bourdev[36]开发了一种高效的图像压缩系统,具有自动编码器和对抗性训练。Choi等人[9]开发了一种带有条件自动编码器的可变码率图像压缩模型。Cai等人[5]将可变自动编码器架构与亚像素图像压缩相结合。Lee等人[22]基于卷积和反卷积LSTM递归网络(RNN),探索了比特消耗和比特自由的上下文,并基于这些上下文建立了模型。Cui等人[10]提出了一种新的基于深度学习的压缩感知编码框架。Li等人[23]提出了一种基于注意的图像压缩方法,可以同时学习重要性图和压缩数据。
编码器/解码器、量化函数、熵编码和损失函数是训练图像压缩器的基本组件。优化每个组件可以提高压缩机的整体性能。Toderici等人[48]提出了一种可变速率图像压缩框架。Toderici等人[49]进一步将基于RNN的方法扩展为一种通用方法,该方法在不同大小的任意图像上的压缩率上具有竞争力。Liu等人[26]发现JPEG不适合神经网络系统,并设计了DeepN JPEG,以减少量化误差。Ballé等人[3]利用广义除法归一化,用加性均匀噪声代替舍入量化,实现连续松弛。Mentzer等人[30]探索了端到端自适应熵编码的概率模型。Aytekin等人[57]提出了循环损耗来训练图像压缩模型。Cheng等人[8]提出了基于空间能量压缩的惩罚来提高性能。
虽然前述的图像压缩方法在学习深度学习模型以压缩图像方面做出了巨大的努力,但大多数方法只是最小化了给定图像和压缩图像之间的外观差异,而忽略了这些图像在特征域中的感知差异。因此,它们经常导致视觉感知的意外失败,如正文中的图1所示。我们旨在探索一种能够同时保持压缩图像外观和感知一致性的图像压缩方法。
3.Perception-consistent image compression
编码器-解码器网络接收和输出图像,并通过激活大量隐藏神经元来表示它们,这自然适合于实现图像压缩任务[47–49]。
3.1. 用于图像压缩的编码器-解码器
通常,基于编码器-解码器的图像压缩网络的损失函数可以写成:
其中
E
(
⋅
)
E(\cdot)
E(⋅)是用于压缩给定图像
x
i
x^i
xi的具有参数
θ
1
θ_1
θ1的编码器网络,n是图像的数量,
D
(
⋅
)
D(\cdot)
D(⋅)是用于将压缩数据恢复到原始图像的具有参数
θ
2
θ_2
θ2的解码器网络。为了简化表达式,压缩数据
c
c
c 和解码图像
y
y
y 被表示为:
由于编码器网络
E
E
E包括一系列变换,例如卷积、池化、二进制(或量化)和修剪,因此由常规JPEG算法[50]产生的解码图像
y
i
y^i
yi 通常具有一些失真,例如块和伪像。因此,增强
y
i
y^i
yi 的图像质量的可行方法是使用另一种操作或模型来细化解码图像
y
i
y^i
yi:
其中
y
^
i
\hat{y}^{i}
y^i 是恢复的图像,
R
(
⋅
)
R(\cdot)
R(⋅)可以是自然图像的一些常规正则化,例如全变分(TV)范数、ℓ1范数等。这些技术已经广泛应用于传统的图像处理方法[13,16]。相比之下,能力强的神经网络可以生成比传统方法更清晰的图像。可以很容易地在
D
(
⋅
)
D(\cdot)
D(⋅)之后添加额外的层来细化
y
y
y,以便Fcn.1可以吸收上述功能形成端到端的模型学习框架。
理想的图像压缩算法不仅应该集中在生成图像的低存储上,还必须保留图像识别和对象检测等任务的下游性能。因此,引入参数为
θ
3
θ_3
θ3 的神经网络来监控生成的图像:
其中
L
(
⋅
)
L(\cdot)
L(⋅)可以基于不同的应用而不同,例如交叉熵损失、回归损失。
有许多现成的视觉模型(例如,ResNet [18],VGGNet [41],RCNN [15])在大规模数据集(例如,ILSVRC [38]和COCO [24])上进行了良好的训练,完全重新训练它们是对资源的严重浪费,并且非常耗时。此外,大多数现有的深度学习模型只支持固定大小的输入图像(例如224×244),而一个完整的图像压缩系统应该用于处理不同大小的图像。
因此,我们建议使用预先训练好的神经网络
F
(
⋅
)
F(\cdot)
F(⋅) 作为“感知器”,同时处理原始图像和压缩图像。因此,我们提出了一种兼顾外观和感知一致性的新图像压缩方法:
其中 λ 是折衷参数,F(·)中的参数是固定的。提议的网络图如图2所示。由于解码图像的大小可以根据输入图像的不同大小而变化,因此F(·)不能与原始预训练网络相同。实际上,F(·)是一个经过预训练的CNN,在丢弃最后几层之后,它可以根据不同的图像生成不同维度的特征。虽然是Fcn.5没有明确优化识别性能,在大量图像上训练F(·)中的大量卷积滤波器可能有利于感知。因此,最小化Fcn.5将促进压缩图像 y 与其对应的原始图像之间的感知一致性。
3.2. 特征分布优化
提出了一种新的Fcn.5图像压缩模型,它引入了一个新的模块F(·),用于提取原始图像和压缩图像的视觉特征。由于在设计良好的神经网络中有相当多的神经元,F(·)会将输入图像转换为高维(例如512)特征,并且很难直接最小化这些图像特征之间的差异。 因此,我们建议使用另一种度量来监督压缩任务,即最大平均差异(MMD[28,40]),它通过在核空间映射样本数据来描述两个分布的差异。
假设我们给出了一个 n 张图像的图像数据集,以及两个图像特征,从分布p采样的 X = F ( x i ) i = 1 n X={F(x^i)}_{i=1}^{n} X=F(xi)i=1n,和从分布q中采样的 y = F ( y i ) i = 1 n y={F{(y^i)}_{i=1}^n} y=F(yi)i=1n,其中 x i {x_i} xi 和 y i {y_i} yi 分别是第 i i i个原始图像和第 i i i 个压缩图像。p和q之间MMD距离的平方公式定义为:
其中
ψ
(
⋅
)
\psi(\cdot)
ψ(⋅)是显式映射函数。很明显,原始图像和压缩图像的特征分布完全相同当且仅当
L
M
M
D
=
0
L_{MMD}=0
LMMD=0,即p = q [40]。上面的函数可以用内核技巧进一步扩展:
其中k(,)是用于将给定数据投影到更高维或无限维空间的核函数,可以设置为线性核、高斯核等。
由于每个内核都有自己的测量数据分布的功能,如果不进行耗时的交叉验证,很难确定哪一个在实践中是最好的。因此,我们借用[28]中的策略,使用一组核来投影特征:
其中m是核的数量,
β
u
\beta_u
βu是可以迭代优化的第u个核的系数。因此,我们重新定义了Fcn.5:
其中 γ 是MMD损失的权重参数。通过同时优化压缩损失和感知损失,我们可以得到一个生成与原始图像感知一致的压缩图像的模型,用于图像识别和分割等一系列下游任务。
Alg.1总结了学习图像压缩网络的建议方法的小批量策略。另外,预训练的网络
F
(
⋅
)
F(\cdot)
F(⋅)将在训练过程之后被丢弃。
讨论。该方法包括图像压缩任务和视觉感知任务。其中,预训练的神经网络用于提取原始和压缩图像的特征,这类似于两类工作,即迁移学习[28]和师生学习范式[19,37],它们也利用预训练的模型来继承有用的信息以帮助训练过程。主要区别在于,我们没有为视觉识别任务训练任何新的参数,并且预训练网络中的参数是固定的,这被用作监督编码器-解码器网络学习的强大正则化,因此提高了压缩性能。
4.Experiments
我们在几个数据集上进行了实验,以证明所提出的感知一致性的有效性。
4.1 数据集
选择三个广泛使用的数据集来执行视觉识别和检测任务,即ImageNet [38]、COCO [24]和VOC [14]。用于识别和检测任务的大多数数据集都是以JPEG格式提供的,平均图像大小约为100KB。提供的图像非常大,因此我们将图像视为原始图像,它们用于计算MS-SSIM和PSNR。
4.1.1 图像识别
ImageNet。ImageNet 2012数据集[38]是一个大规模识别数据集。ImageNet2012 训练集包含128万幅图像,验证集包含5万幅图像。我们使用在ImageNet 训练集上训练的模型来提取用于计算提议的感知损失的特征。此外,在训练图像压缩模型之后,这些模型被用于压缩ImageNet2012 验证集,并且压缩后的图像将被评估用于后续的识别任务。
4.1.2 物体检测
COCO。MS-COCO数据集[24]对于检测和分割任务来说是一个具有挑战性的数据集。该数据集包含属于80个类别的150万个带注释的实例。我们遵循基线方法[49]并使用COCO trainval集合来训练图像压缩模型。
VOC。VOC 2007数据集[14]包括9963个图像,这些图像被分割成trainval/测试集,分别包括5011和4952个图像。我们使用经过训练的图像压缩模型来压缩测试集,并使用预训练的检测模型[25]来测量mAP。
4.2 实施细节
基线模型。有许多基于CNN的图像压缩模型,每种模型都有自己的优缺点。 我们选择[49]作为基线模型,它利用递归神经网络(RNN)对图像进行压缩,原因有两个:1)基于RNN的编码器-解码器网络可以在每次迭代中提供不同压缩率的压缩图像;2) 该模型允许输入图像的大小是任意的,这比固定输入大小的比较方法更灵活。
训练设置。为了进行公平比较,我们按照[49]中的设置进行图像压缩实验。训练数据集中的每幅图像被分解成32×32个不重叠的patch,我们总共训练了200个epoch。 以下实验中使用的RNN架构与[49]中描述的相同,并且使用Pytork工具箱对网络进行训练。至于后续CNN F(·)(见Fcn.7)用于提取原始图像和压缩图像的视觉特征,我们使用了ResNet18网络[18],该网络在视觉识别任务上表现出优异的性能(例如,在ILSVRC 2012数据集上,前五名的准确率为89.1%,前一名的准确率为69.8%,有1000个不同的标签)。 该网络中的所有参数都是在ImageNet数据集上预先训练的,将在以下实验中固定。注意,这里使用的F(·)由ResNet 18中的前14个卷积层组成,因为输入图像的大小比原始ResNet-18中的小得多。具体来说,对于32×32的给定输入图像大小,F(·)输出512维特征。
评估指标。峰值信噪比(PSNR)和结构相似性(SSIM)是通过比较原始图像和压缩图像来评估图像质量的两个广泛使用的标准。然而,PSNR只测量压缩图像和原始图像之间的均方误差,SSIM忽略了不同尺度下的图像差异。根据[49],除了PSNR和SSIM,我们还使用多尺度结构相似性(MS-SSIM)[51]来评估所提出的图像压缩算法的性能。MS-SSIM应用于每个RGB通道,我们将其平均作为评估结果。此外,MS-SSIM值介于0和1之间。对于给定的压缩率,较高的MS-SSIM值意味着更好的压缩性能。
4.3 参数的影响
建议的图像压缩方法详见Alg.1 有几个重要参数:权重参数 λ 用于减少原始图像和压缩图像特征之间的差异,γ 进一步用于使这些图像的特征分布相似,它等于1,u设置为8,k设置为一系列高斯核,如[28]中所分析。b是批量大小,如[49]中所建议,设置为192。很明显,λ 是平衡人眼评估的外观差异和机器评估的感知差异的最重要参数。 因此,我们首先使用ResNet-18网络测试了该参数对ILSVRC-2012数据集的影响,如表1所示。其中,每个模型在COCO数据集上进行训练[24]与基线FRIC(全分辨率图像压缩)方法[49]相同,然后我们分别在ILSVRC 2012的验证数据集上使用它们。 该数据集由50000张具有不同比例和真实标签的图像组成。所有的图像首先被提出的DIC压缩,然后被ResNet-18识别。此外,原始RGB图像的bpp值为24,当bpp=0.5时,我们可以实现48倍的压缩率,例如,压缩后1MB图像的文件大小约为20KB,这对于最近的移动设备来说已经足够了。因此,在表1中,为了更好地权衡图像质量和压缩率,传统方法和拟议方法的bpp值均等于0.5。
从表1中可以发现,较大的 λ 会显著降低压缩性能,即MS-SSIM值,合适的 λ 会提高MS-SSIM,因为视觉特征的优化可以被视为压缩方法的一种强大正则化,考虑到如果解码器网络可以生成原始图像,
F
(
y
)
=
F
(
x
)
F(y)=F(x)
F(y)=F(x),也就是说,y=x。 当
λ
=
1
0
−
6
\lambda=10^{-6}
λ=10−6 与基准FRIC相比,该方法可以获得更准确的结果。因此,我们保持
λ
=
1
0
−
6
\lambda=10^{-6}
λ=10−6在提出的图像压缩框架中,它提供了具有更好图像质量和视觉代表性的压缩图像。
4.4 对比实验
在研究了图像压缩性能和视觉识别性能之间的权衡之后,我们在ILSVRC2012数据集上将该方法与最先进的压缩方法进行了比较,以验证其有效性。 所有图像首先分别通过所提出的DIC(可辨别图像压缩)和几种最先进的方法进行压缩,然后通过ResNet-18进行识别。由于Fcn.7中预先训练的用于提取压缩前后图像的特征网络F(·)是ResNet-18的一部分,我们还使用了ResNet-50、MobileNetV2、ShuffleNetV2和DenseNet169网络进一步识别这些图像,以验证所提方法的泛化能力。该ResNet-50网络在ILSVRC 2012数据集上实现了89.2%的前五名精度和69.8%的前一名精度。
压缩结果详见表2,其中ResNet18和ResNet-50都是在ILSVRC 2012数据集上预先训练的,这里的实验旨在研究图像压缩算法如何影响后续的机器学习任务。注意,为了获得更高的压缩率,在许多工作中经常讨论较低的bpp值[23,36],但bpp值低于0.5的压缩图像在压缩图像上有明显的失真,其中还提供了标准JPEG算法的结果,以便进行显式比较。
从表2中可以发现,所有方法生成的压缩图像都降低了后续识别任务的性能。值得一提的是,FRIC取得了相对较高的结果,因为递归网络可以迭代恢复压缩数据。相比之下,所提出的方法可以在多个网络上提供具有最高识别准确度的压缩图像。此外,压缩图像的一些识别结果如图3-8所示。由于所提出的图像压缩方法可以保持感知的一致性,所以通过所提出的方法压缩的图像可以被识别,而对FRIC的预测是有偏差的,例如,长号被识别为理发店,如图4所示。
此外,我们还去除了MMD损失,即Fcn.7 中的最后一项,并重新训练用于压缩图像的新模型,以测试引入的特征分布正则化的影响。该模型被表示为没有MMD的DIC(即,Fcn.7中γ = 0),并且在表2中报告了使用ResNet18和ResNet-50的压缩图像的识别结果。所提出的DIC在去除MMD正则化之后具有明显的精度下降,例如,其ResNet-18的top-1 acc。效率比整个DIC方法低约0.3%。由于F(·)将输入图像转换为512维特征,因此很难直接最小化原始图像与压缩图像的这些高维特征之间的差异 。因此,MMD损失可以为获得更好的结果提供更强大的正则化。
4.5 压缩后的对象检测
除了图像分类实验之外,我们还在一个更复杂的计算机视觉应用(即物体检测)上验证了所提出的可辨别压缩图像生成方法的有效性。在实践中,深度神经网络接收输入图像,然后输出图像中每个对象的位置和标签。因此,输入图像的轻微失真可能会严重破坏预测结果。我们选择在VOC 0712(视觉对象类别[14])上训练的SSD(单次多盒检测器[25])作为基线模型来进行以下实验。
表3报告了使用不同方法的原始和压缩图像(bpp=0.5)的详细mAP(平均精度)值,以及VOC 2007验证集的平均MS-SSIM结果。显然,所提出的DIC保持了更高的检测性能。此外,图9示出了通过利用传统的FRIC和所提出的方法对原始图像和压缩图像的一些对象检测结果。显然,预训练的SSD模型仍然可以使用所提出的DIC算法检测和识别压缩图像中的对象,但是不能准确地识别通过利用传统方法压缩的那些图像。
为了进一步探索该方法的有效性,我们将压缩图像的bpp降低到0.25,并在压缩图像上可视化检测结果。如图10所示,在这种极端情况下,我们提出的DIC产生的图像仍然可以被正确地检测到,并保留图像的语义信息。
5.Conclusions
本文提出了一种新的基于深度学习的图像压缩算法。为了确保压缩图像也可以被机器学习和深度学习模型很好地识别,我们研究了感知一致性。将预训练的神经网络嵌入到现有的用于压缩自然图像的编码器-解码器网络中,即可辨别图像压缩(DIC)。除了直接最小化原始图像和由解码器网络生成的压缩图像之间的失真,我们还考虑了特征的感知损失。与最先进的方法相比,我们可以通过同时保留它们的感知结果来生成更高图像质量的压缩图像。在基准数据集上的实验表明,所提出的DIC方法不仅能产生更清晰的图像,而且存储空间更小,对下游视觉识别任务的影响也有限。所提出的图像压缩方案创建了连接人类和机器感知的桥梁。它可以很容易地部署到其他应用,如降噪,超分辨率和跟踪。