2018年6月14日,图雅和伦智联合举办了在线公开课深度学习的文章图像压缩。主讲人是图雅科技深度学习算法研究员周磊博士。以下是《伦之》整理的讲义。由于水平有限,难免有错漏,仅供参考。
传统图像和文章压缩技术
首先,我们简要回顾了传统的图像和文章压缩技术。
联合图像专家组
以下是JPEG编解码过程示意图。
从上图可以看出,图像数据编码过程如下:
离散余弦变换。简单来说,离散余弦变换是一种矩阵运算。
离散余弦变换后,高频数据和低频数据被拆分,矩阵左上为高频数据(较大值),右下为低频数据(较小值)。所以我们可以量化它。在JPEG中,它除以量化步长,然后四舍五入。
量化后,执行熵编码以获得压缩的表示。
解码过程与编码过程相反,通过逆熵编码、逆量化和逆离散余弦变换重构图像。
JPEG2000
JPEG2000和JPEG最大的区别是使用了离散小波变换。此外,还增加了一些预处理步骤。
JPEG2000编码过程示意图
WebP
WebP是一种源于VP8的图片压缩格式。主要特征是基于块预测。
BPG
和WebP一样,BPG也起源于文章编码技术(HEVC)。BGP的主要特性如下:
HEVC
HEVC的编码示意图如下:
在上图中,Ref。代表参考样本。T Q代表变换和量化过程,Q-1 T-1是它的逆过程。去堵。是解块的简称。HEVC会将图像分成块,然后进行编码,所以在重建时会在块的边缘出现不连续的现象,这就是所谓的块效应。去块过程可以减轻块效应。SAO是样本自适应偏移的缩写。通过分析去块数据与原始数据的差异,补偿量化过程带来的损失,使其尽可能接近原始数据。
CABAC是一种自适应二进制算术编码。算术编码使用符号出现的概率将符号序列编码成一个数。
相应的解码过程:
从上面的编解码过程可以看出,先验概率估计的准确性对编码效率有很大的影响。HEVC使用动态更新的概率模型来实现自适应二进制算术编码。
除了帧内估计和预测(见上面提到的BPG),HEVC文章编码还需要考虑帧间关系,如运动估计。
深度学习图像文章压缩框架
深度学习图像压缩框架
以下是深度学习图像压缩的典型框架图:
上图中各模块的具体功能可以在如何设计一个基于深度学习的图像压缩算法中说明。
图像压缩数据集
设计好网络模型后,需要使用图像进行训练。由于图像压缩属于无监督学习,不需要人工标注,数据集相对容易收集。无论是从网上抓取,还是用自己的相机拍摄,获取大量高清图片都不是难事。
常用的测试集有:
柯达PhotoCD数据集,图像分辨率768x512,约40万像素;
Tecnick数据集,约140万像素。
CVPR 2818 CLIC数据集有各种不同分辨率(512到2048)和文件大小(几百K到几m)的图像。
深度学习文章压缩框架
深度学习文章压缩和图像压缩的主要区别是增加了帧间预测/差分。
基于卷积网络的帧间预测
帧间预测可以大大减少帧间冗余以1个参考帧预测N-1帧为例,帧间预测的约束条件是参考帧和预测码字远小于每帧单独压缩的码字:
深度学习图像文章压缩进展介绍
深度学习图像压缩的主要发展方向;
RNN
美国有线新闻网;卷积神经网络
开始
这部分内容可以参考公开课的ppt和CVPR 2018神经网络图像压缩领域进展概述。
在文章压缩中,r
2016年,刘Z,于X,陈S等。公开了面向CNN的快速HEVC单元内模式决策,使用CNN来学习预测编码单元模式的分类(2N2N或NN)。
O2N和ON输出是速率失真的代价。
下采样编码
李家浩等人在2018年发表的用于图像编码的基于全连接网络的帧内预测对文章帧进行分块,对适合下采样的块进行下采样操作,而对不适合下采样的块不进行下采样操作。之后,根据情况用CNN或DCTIF对降采样后的块进行升采样,从而重构图像。为了获得更好的结果,亮度通道和色度通道使用不同的网络架构。
文章帧的环路滤波和后处理
在2016年发表的《基于CNN的环内滤波提高编码效率》中,Park W S和Kim M利用CNN提高了HEVC的环内滤波(包括去块滤波和SAO滤波)效果。
同样,戴等在2016年发表的一种用于帧内编码后处理的卷积神经网络方法,利用CNN网络改进了的后处理过程。
深度学习文章压缩的优缺点
使用深度学习进行简单的图像压缩有一定的局限性。深度学习在文章压缩领域的潜力更大。深度学习在文章压缩领域的主要优势有:
可以实现更好的转化学习,从而达到更好的效果。
端到端的深度学习模型可以自己学习,而传统的文章压缩工作需要手工设计很多东西。
传统的文章压缩方法通常采用一些启发式的方法进行帧间预测,从而减少帧间冗余。而深度学习可以基于光流进行预测。
另一方面,基于深度学习的文章压缩也会遇到很多挑战。例如控制实现帧间预测所占用的比特。
引进图雅技术
CVPR 2018 CLIC
在2018年CVPR学习图像压缩的挑战中,图雅团队是三名获胜者之一,MOS和MS-SSIM都是第一名。
TucodecTNGcnn4p基于端到端的深度学习算法,该算法使用了分层的特征融合网络结构,以及新的量化方法和码字估计技术。网络采用卷积模块和残差模块,损失函数包含在MS-SSIM中。
基于深度学习的超分辨率图像重建
在这一领域,图雅技术专注于低比特率下的超分辨率重建。由于低比特率下图像不可避免地存在许多失真,超分辨率重建技术的应用可以缓解这些图像中的缺陷,达到更好的显示效果。而高比特率的图像保留了原图像更多的细节,相对不适合超分辨率技术。
基于深度学习的文章压缩
如上所述,图雅科技认为深度学习在文章压缩领域的潜力比图像压缩更大。目前,图雅技术在基于深度学习的文章压缩方面已经能够达到和x265一样的效果。
基于深度学习的结构化存储
与传统方法相比,深度学习编码图像的计算负担更重。然而,另一方面,图像的压缩特征不仅可以用来重构图像,还可以为语义分割和图像分类提供帮助。
问答环节
基于GAN的图像压缩
GAN主要用于图像生成领域。但是在图像压缩中,GAN会遇到一个问题,就是它会改变一些细节(产生一些新的细节)因此,GAN的技术方向的选择往往取决于项目需求。例如,对于人脸图像,如果感兴趣区域是人脸,则感兴趣区域之外的区域可以以非常低的比特率压缩,并且在重建图像时可以通过使用GAN来生成细节。
量化方法的选择
建议你参考相关论文,自己选择。因为量化方法的选择往往与网络中的其他模块有关。比如编码器选择的主动输出是二进制(0,1),那么量化其实就没那么重要了。
压缩时间
总的来说,基于深度学习的压缩算法相对于传统算法在CPU上处于劣势。但也有例外。比如图雅科技的测试,在CPU上,基于CNN的算法其实比H266还快。H266虽然是传统算法,但其实复杂度很高。
未来,随着GPU和专用深度学习芯片计算能力的提升,压缩时间不会成为深度学习压缩算法应用的最大障碍。
标签:图像编码文章