Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >干货 | 用深度学习设计图像视频压缩算法:更简洁、更强大

干货 | 用深度学习设计图像视频压缩算法:更简洁、更强大

作者头像
AI科技评论
发布于 2018-03-15 01:25:47
发布于 2018-03-15 01:25:47
4.7K1
举报
文章被收录于专栏:AI科技评论AI科技评论

说到图像压缩算法,最典型的就是 JPEG、JPEG2000 等。

图 1:典型图像压缩算法 JPEG、JPEG2000

其中 JPEG 采用的是以离散余弦转换(Discrete Cosine Transform)为主的区块编码方式(如图 2)。JPEG2000 则改用以小波转换(Wavelet Transform)为主的多解析编码方式,小波转换的主要目的是将图像的频率成分抽取出来。

图 2:JPEG 编码框图

在有损压缩下,JPEG2000 的明显优势在于其避免了 JPEG 压缩中的马赛克失真效果。JPEG2000 的失真主要是模糊失真,而模糊失真的主要原因在于高频量在编码过程中一定程度的衰减。在低压缩比情形下(比如压缩比小于 10:1),传统的 JPEG 图像质量有可能比 JPEG2000 好。JPEG2000 在高压缩比的情形下,优势才开始明显。

整体来说,JPEG2000 相比于传统 JPEG,仍有很大技术优势,通常压缩性能可提高 20% 以上。当压缩比达到 100:1 时,JPEG 压缩的图像已经严重失真并开始难以识别了,而 JPEG2000 的图像仍可识别。

深度学习技术设计压缩算法的目的

通过深度学习技术设计压缩算法的目的之一是学习一个比离散余弦变换或小波变换更优的变换,同时借助于深度学习技术还可以设计更简洁的端到端算法,因而能够设计出比 JPEG2000 等商用算法性能更优的算法。

在图片、视频压缩领域,使用最多的深度学习技术就是卷积神经网络(CNN),下面会就卷积神经网络进行简单介绍。如图 3 所显示,像搭积木一样,一个卷积神经网络由卷积、池化、非线性函数、归一化层等模块组成。最终的输出根据应用而定,如在人脸识别领域,我们可以用它来提取一串数字(专业术语称为特征)来表示一幅人脸图片。然后通过比较特征的异同进行人脸识别。

图 3 :卷积神经网络示意图(来源 http://blog.csdn.net/hjimce/article/details/47323463)

那如何利用卷积神经网络做压缩?如图 4 所示,完整的框架包括 CNN 编码网络、量化、反量化、CNN 解码、熵编码等几个模块。编码网络的作用是将图片转换为压缩特征,解码网络就是从压缩特征恢复出原始图片。其中编码网络和解码网络,可以用卷积、池化、非线性等模块进行设计和搭建。

图 4:用深度学习进行图片压缩示意图

如何评判压缩算法

在深入技术细节前,我们先来了解一下如何评判压缩算法。评判一个压缩算法好坏的重要指标有两个:一个是每个像素占据的比特位数(bit per pixel,BPP),一个是 PSNR。我们知道,数据在计算机中以比特形式存储,所需比特数越多则占据的存储空间越大。BPP 用于表示图像中每个像素所占据的比特数,如一张 RGB 三通道图,表示每个像素需要消耗 24 个比特。PSNR 用来评估解码后图像的恢复质量,简单理解就是 PSNR 越高,恢复质量越好。

我们举个例子,假设长宽为 768*512 的图片大小为 1M,利用深度学习技术对它编码,通过编码网络后产生包括 96*64*192 个数据单元的压缩特征数据,如果表示每个数据单元平均需要消耗 1 个比特,则编码整张图需要 96*64*192 个比特。经过压缩后,编码每个像素需要的比特数为(96*64*192)/(768*512)=3,所以 BPP 值为 3bit/pixel,压缩比为 24:3=8:1。这意味着一张 1M 的图,通过压缩后只需要消耗 0.125M 的空间,换句话说,之前只能放 1 张照片的空间,现在可以放 8 张。

如何用深度学习做压缩

谈到如何用深度学习做压缩,还是用刚才那个例子。将一张大小 768*512 的三通道图片送入编码网络,进行前向处理后,会得到占据 96*64*192 个数据单元的压缩特征。有计算机基础的读者可能会想到,这个数据单元中可放一个浮点数,整形数,或者是二进制数。那问题来了,到底应该放入什么类型的数据?从图像恢复角度和神经网络原理来讲,如果压缩特征数据都是浮点数,恢复图像质量是最高的。但一个浮点数占据 32 个比特位,那之前讲的比特数计算公式变为(96*64*192*32)/(768*512)=96,压缩后反而每个像素占据比特从 24 变到 96,非但没有压缩,反而增加了,这是一个糟糕的结果,很显然浮点数不是好的选择。

所以为了设计靠谱的算法,我们使用一种称为量化的技术,它的目的是将浮点数转换为整数或二进制数,最简单的操作是去掉浮点数后面的小数,浮点数变成整数后只占据 8 比特,则表示每个像素要占据 24 个比特位。与之对应,在解码端,可以使用反量化技术将变换后的特征数据恢复成浮点数,如给整数加上一个随机小数,这样可以一定程度上降低量化对神经网络精度的影响,从而提高恢复图像的质量。

即使压缩特征中每个数据占据 1 个比特位,可是 8:1 的压缩比在我们看来并不是一个很理想的结果。那如何进一步优化算法?再看下 BPP 的计算公式。假设每个压缩特征数据单元占据 1 个比特,则公式可写成:(96*64*192*1)/(768*512)=3,计算结果是 3 bit/pixel,从压缩的目的来看,BPP 越小越好。在这个公式中,分母由图像决定,可以调整的部分在分子,分子中 96、64、192 这三个数字与网络结构相关。很显然,当我们设计出更优的网络结构,这三个数字就会变小。

那 1 与哪些模块相关?1 表示每个压缩特征数据单元平均占据 1 个比特位,量化会影响这个数字,但它不是唯一的影响因素,它还与码率控制和熵编码有关。码率控制的目的是在保证图像恢复质量的前提下,让压缩特征数据单元中的数据分布尽可能集中、出现数值范围尽可能小,这样我们就可以通过熵编码技术来进一步降低 1 这个数值,图像压缩率会进一步提升。

用深度学习做视频压缩,可以看作是在深度学习图片压缩基础上的扩展,可结合视频序列帧间的光流等时空信息,在单张压缩的基础上,进一步降低码率。

图 5:在 kodak24 标准数据集上测评结果,上图为 PSNR 结果,下图为 MS-SSIM 的结果

总结

总体而言,借助于深度学习设计视频和图像压缩算法是一项非常具有前景但也非常具有挑战性的技术。目前,其已经在人脸识别等领域证明了它的强大能力,有理由相信在不久的将来,深度学习技术将为图像视频压缩领域带来更大的突破。

图 6:在同等压缩率下压缩视觉效果对比。上图为图鸭所提出的算法,下图为 JPEG2000 算法。在纹理细节上,上图的效果更好。

图 7:在同等压缩率下,对复杂图像压缩视觉效果对比。上图为图鸭所提出的算法,下图为 JPEG2000 算法。在细节上,可以看到上图的效果更好。

图 8:图鸭科技,BPG,JPEG2000,JPEG,CNN-google 算法的图像亮度分量的 rate-distortion 曲线,上图为感知质量,由多尺度结构相似性度量(MS-SSIM)。下图为峰值信噪比。

(完)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
说实话图七说上图效果比下图效果好?我怎么感觉是正好相反呢。
说实话图七说上图效果比下图效果好?我怎么感觉是正好相反呢。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
深度学习为图片压缩算法赋能:节省55%带宽
随着互联网的发展,人们对高清图片的需求也在不断增加,在保证图像画质的情况下最大程度降低图像体积已成为行业发展趋势。
LiveVideoStack
2021/09/02
2.1K0
深度学习为图片压缩算法赋能:节省55%带宽
一场深度学习引发的图像压缩革命
雷锋网 AI 研习社按,2012 年,AlexNet 横空出世,以 15.4% 的低失误率夺得当年 ILSVRC(ImageNet 大规模视觉识别挑战赛)冠军,超出亚军十多个百分点。AlexNet 开启了深度学习黄金时代,随之而来是深度学习在图像识别上的蓬勃发展:
AI研习社
2018/07/26
8840
一场深度学习引发的图像压缩革命
如何使用深度学习进行图片压缩?
互联网时代,社交媒体分享、自动驾驶、增强显示、卫星通信、高清电视或视频监控等应用场景对图片和视频有很强的需求,压缩算法也因此备受关注,但是不同的应用场景对压缩算法的性能要求也不一样,有的需求是保持高清的画质是第一位,有的需求是体积小是第一位,可以损害一些画质。
顶级程序员
2018/07/23
1.5K0
学界 | 极端图像压缩的生成对抗网络,可生成低码率的高质量图像
选自arXiv 作者:Eirikur Agustsson等 机器之心编译 参与:白妤昕、刘晓坤 本文提出了一个基于生成对抗网络的极端学习图像压缩框架,能生成码率更低但视觉效果更好的图像。此外,该框架可
机器之心
2018/05/08
1.2K0
学界 | 极端图像压缩的生成对抗网络,可生成低码率的高质量图像
支持码控的学习型图像压缩
图像压缩是一种广泛使用的技术。在过去的几十年里,传统的图像压缩方法发挥了重要作用。JPEG 是一种基本的图像压缩方法,自20世纪90年代以来一直被使用,并且仍然是主流的压缩格式。JPEG 中应用了 DCT 变换和霍夫曼熵编码。后来,WEBP 、BPG 和 VVC 涉及更复杂的工具来增强速率失真性能。尽管这些强大的工具极大地提高了图像压缩性能,但手动设计的搜索空间和变换仍然可能限制性能。与传统的图像压缩方法相比,LIC是一种数据驱动的方法,不需要手动设计特定的规则。
用户1324186
2023/09/09
6300
支持码控的学习型图像压缩
部分图像压缩技术的优缺点以及应用
脑图地址 1. 分形图像压缩技术 作者 技术 功能 优点 缺点 应用 结果 Jeng et al. (2009) Huber 分形图像压缩 嵌入线性Huber回归编码 保持图像质量 高计算成本 适用于损坏的图像压缩 由于图像中的噪声HFIC对异常值具有较好的鲁棒性,PSNR为>26.42 dB Thomas and Deravi (1995) 使用启发式搜索分形图像压缩 通过自变换有效利用图像冗余 达到双倍压缩比率 编码排序长度比解码长 多媒体和图像归档 压缩比达到41:1 Kumar et al. (19
繁依Fanyi
2023/05/07
6790
CVPR 2019 | 图鸭科技 CLIC 图像压缩挑战赛冠军方案全解读
AI 科技评论按:在 CVPR 2019 CLIC 图像压缩挑战赛中,图鸭科技所提出的算法 TucodecSSIM 夺得了 MS-SSIM 和 MOS 两项指标的冠军,算法 TucodecPSNR 夺得了 PSNR 指标的冠军,算法 TucodecPSNR40dB 则夺得高码点图像压缩 Transparent Track 的冠军。以下为图鸭科技提供的技术解读。
AI科技评论
2019/07/05
8850
CVPR 2019 | 图鸭科技 CLIC 图像压缩挑战赛冠军方案全解读
ICCV 2023 | 基于模型的深度视频压缩
传统的混合视频编码框架和现有的基于深度学习的视频压缩(DLVC)方法都遵循相同的视频压缩方法,通过设计各种模块来减少空间和时间冗余。它们使用同一帧或相邻帧中的相邻像素作为参考来导出帧内或帧间预测值。由于视频序列是以高帧率(例如30fps或60fps)捕获的,因此同一场景可能出现在时域中高度相关的数百个帧中。然而,现有的压缩策略并不能很好地去除块级或帧级预测中的场景冗余。
用户1324186
2023/10/24
1.4K0
ICCV 2023 | 基于模型的深度视频压缩
论文笔记26 -- (视频压缩)【CVPR2020】M-LVC: Multiple Frames Prediction for Learned Video Compression
《M-LVC: Multiple Frames Prediction for Learned Video Compression 》
对角巷法师
2022/05/07
1.3K0
论文笔记26 -- (视频压缩)【CVPR2020】M-LVC: Multiple Frames Prediction for Learned Video Compression
学界 | MIT提出生成式压缩:使用生成式模型高效压缩图像与视频数据
选自arXiv 机器之心编译 参与:李亚洲 论文地址:https://arxiv.org/abs/1703.01467 摘要 传统的图像和视频压缩算法要依赖手动调整的编码器/解码器对(多媒体数字信号编
机器之心
2018/05/08
1.2K0
学界 | MIT提出生成式压缩:使用生成式模型高效压缩图像与视频数据
学界 | 纽约大学提出端到端优化图像压缩方法,全面超越JPEG 2000 | ICLR 2017
AI科技评论按:ICLR 2017 将于4月24-26日在法国土伦举行,届时AI科技评论的编辑们也将前往法国带来一线报道。在这个深度学习会议举办之前,AI科技评论也将围绕会议议程及论文介绍展开一系列的覆盖和专题报道,敬请期待。 数据压缩是一种基础工程问题,在数据存储和有限容量信道传输中有重要的应用。图像作为一种信息载体,数据量巨大,因此研究者们对图像压缩的研究从未停止过。在ICLR 2017会议上,来自纽约大学的Johannes Balle 等研究者提出了一种端到端优化的图像压缩方法,并发表了论文:《E
AI科技评论
2018/03/12
1.5K0
学界 | 纽约大学提出端到端优化图像压缩方法,全面超越JPEG 2000 | ICLR 2017
针对 YUV420 颜色空间的深度图像压缩研究
目前,大多数深度图像压缩方法被设计用来压缩 RGB 颜色空间的图像。然而传统的视频编码标准,则主要设计来压缩 YUV420 色彩空间的图像。在这个研究中,作者首先研究如何调整 RGB 图像的深度压缩框架,以压缩 YUV420 图像。然后研究了调整 YUV 通道的训练失真权重时对编码性能的影响,并将实验结果与 HEVC 和 VVC AI 配置进行比较。提出的方法适用于图像压缩和视频压缩的帧内编码。
用户1324186
2022/02/18
1.4K0
针对 YUV420 颜色空间的深度图像压缩研究
​十种常用的图像压缩算法。
数据压缩是保留相同或绝大部分数据前提下减小文件大小的过程。它的原理是消除不必要的数据或以更高效的格式重新组织数据。在进行数据压缩时,你可以选择使用有损方法或无损方法。有损方法会永久性地擦除掉一些数据,而无损方法则能保证持有全部的数据。使用哪类方法取决于你要让你的文件保持多大的精准度。本文会为你介绍6种不同的无损数据压缩算法,以及4种基于深度学习的图像/视频压缩算法。六款无损数据压缩算法无损压缩算法通常被用于归档或其他高保真目的。这些算法能够让你在确保文件可被完整恢复的同时减少文件大小。有很多种无损压缩算法供你选择。下面介绍6种常用的算法。1.LZ77LZ77算法发布于1977年。作为很多其他无损压缩算法的基础,它使用了“滑动窗口”的概念。在这个概念中,LZ77管理了一个字典。该字典使用三元组的方式:偏移量(Offset):短语起始处于文件开头之间的距离行程长度(Run length):组成短语的字符数偏离字符:表明新短语的标记符,匹配结束后,前向缓冲区中的第一个符号当文件被解析时,字典会被实时更新以反映最新的压缩数据和大小。举个例子,如果一个文件包含字符串"abbadabba",那么被压缩到字典中的项就是"abb(0,1,'d')(0,3,'a')"。你可以看下下表的拆解过程:这个例子中,被压缩后的数据并不比初始数据小多少。但一般情况下,当文件很长时,这种压缩效果就会显现出来。2. LZR LZR由Michael Rodeh于1981年提出,它是在LZ77的基础上发展而来。这个算法目标是成为LZ77的一个线性时间替换算法,但编码后Udell指针可能指向文件的任意偏移量,意味着需要耗费可观的内存,因此表现不如LZ77。3. LZSSLZSS,全称Lempel-Ziv-Storer-Szymanski,于1982年提出。它也是旨在提升LZ77的一个算法。它引入了一个方法能够检测是否真的减少了文件大小。如果未能起到压缩效果,就保持原来的输入格式。LZSS还移除了对偏离字符的使用,只使用<偏移量,长度>对。这个压缩算法广泛用于归档格式,如RAR以及网络数据的压缩。4. DEFLATEDEFLATE算法于1993年提出。作者是Phil Katz。该算法结合了LZ77或LZSS预处理器与霍夫曼编码。霍夫曼编码是1952年提出的诉法。它是一种熵编码,主要基于字符出现频度分配编码。5. LZMALZMA算法,全称是Lempel-Ziv Markov chain Algorithm(LZMA),于1998年提出,是LZ77的改进版,旨在实现.7z格式的7-ZIp文件归档。它使用链式压缩方法,在比特而非字节级别上应用修改后的LZ77算法。该压缩算法的输出稍后被算数编码进行处理以便后续进一步压缩。根据具体的实现不同,可能会引入其他的压缩步骤。6. LZMA2LZMA2算法于2009年提出,是LZMA的改良版。它提升了LZMA在多线程能力上的性能以及提升了处理不可压缩类型数据的表现。 四种基于深度学习的图像/视频压缩算法除了上面介绍的静态压缩算法,还有基于深度学习的压缩算法可供选择。1. 基于多层感知机的压缩算法多层感知机(Multi-Layer Perceptron,MLP)技术使用多层神经元来获取、处理以及输出数据。它能够被应用到数据降维任务和数据压缩。首个基于MLP的算法于1988年被提出,目前已经被应用到:二进制编码——标准的双符号编码量化——限制从连续集到离散集的输入特定领域内的转换——像素级的数据变更MLP算法利用分解神经网络上一步的输出来确定最佳的二进制码组合。后面,使用预测技术优化这个方法。预测技术能够通过反向传播基于相邻数据来提升数据准确度。 2. DeepCoder -- 基于视频压缩的深度神经网络DeepCoder是一个基于卷积神经网络(CNN)的框架,它是传统视频压缩技术的替代。该模型为预测信号和残留信号使用单独的CNN。它使用标量量化技术和一个传统的文件压缩算法——霍夫曼编码——将编码特征映射到一个二进制流中。一般认为,该模型的性能要优于著名的H.264/AVC视频编码规范。 3. 基于CNN的压缩算法CNN是分层的神经网络,通常用于图像识别和特征检测。当应用到压缩时,这些神经网络使用卷积操作来计算相邻像素点之间的相关性。CNN展示出了比基于MLP算法更好的压缩结果,提升了超分辨率下的性能以及减少了伪影。另外,基于CNN的压缩还提升了JPEG图像的品质,因为它减少了峰值信噪比(PSNR)和结构相似性(SSIM)。基于CNN的压缩通过使用熵估计法还实现了HEVC的性能。 4. 基于生成式对抗网络(GAN)的压缩算法GAN属于神经网络的一种,它使用两个神经网络彼此竞争的方式来产生更精确的分析和预测。最早基于GAN的压缩算法于2017年被提出。这些算法的文件压缩比例是其他常见方法(如JPEG、WebP等)的2.5倍。你可
小白学视觉
2024/12/05
3910
​十种常用的图像压缩算法。
TIP 2023 | 通过高斯-拉普拉斯-逻辑混合模型和串联残差模块学习的图像压缩
图像压缩是许多应用中的重要步骤。经典方法,例如JPEG、JPEG 2000和BPG(H.265/HEVC的帧内编码),主要使用线性变换、量化和熵编码等技术来去除减少输入的冗余并实现更好的率失真(R-D)性能,如图1所示。最近,人们研究了基于深度学习的方法,其中根据神经网络的特性重新设计了三个主要组件。该方法在 PSNR 和 MS-SSIM 指标方面逐渐优于传统方法,并显示出巨大的潜力。
用户1324186
2024/01/17
4460
TIP 2023 | 通过高斯-拉普拉斯-逻辑混合模型和串联残差模块学习的图像压缩
十款性能最佳的压缩算法
数据压缩是保留相同或绝大部分数据前提下减小文件大小的过程。它的原理是消除不必要的数据或以更高效的格式重新组织数据。在进行数据压缩时,你可以选择使用有损方法或无损方法。有损方法会永久性地擦除掉一些数据,而无损方法则能保证持有全部的数据。使用哪类方法取决于你要让你的文件保持多大的精准度。
Spark学习技巧
2021/03/05
8.1K0
十款性能最佳的压缩算法
关于使用深度学习进行三维点云几何压缩
近些年来,随着计算机软硬件等的不断发展,计算机视觉、现实增强等让那些我们觉得不会发生的事情发生了,不得不说,科技正在改变我们的生活,给我们的生活带来了更多的便利。
繁依Fanyi
2023/05/07
7900
关于使用深度学习进行三维点云几何压缩
压缩效率第一!CVPR图像压缩挑战赛腾讯音视频实验室胜出
CVPR 2018 图像压缩挑战赛结果已经出炉,腾讯音视频实验室和武汉大学陈震中教授联合团队于该项挑战赛上取得压缩性能第一。
腾讯多媒体实验室
2018/06/19
8.5K0
HybridFlow:将连续性融入掩码码本以实现极低比特率图像压缩
通过训练有素的神经网络,学习图像压缩(LIC)已被证明优于 VVC 或 JPEG2000 等传统方法。其整体思路是在编码器中将输入图像编码到潜空间中,压缩潜特征以减少传输比特,并在解码器中使用解压缩的潜特征重建输出图像。根据传输信息的类型,LIC 方法大致可分为两类。第一类已被广泛研究,其特点是传输连续的压缩特征图。原始潜特征经过经典的量化和熵编码,得到具有连续值的紧凑比特流,解码器恢复降级的潜特征进行重构。当比特率极低时,由于严重量化,恢复的潜特征质量很差,导致重建质量低,过于平滑,缺乏表现细节。
用户1324186
2024/05/20
5140
HybridFlow:将连续性融入掩码码本以实现极低比特率图像压缩
CVPR 2018 图像压缩挑战赛结果出炉,腾讯音视频实验室压缩性能第一
雷锋网 AI 研习社按,CVPR 2018 图像压缩挑战赛(CLIC)结果已经出炉,腾讯音视频实验室和武汉大学陈震中教授联合团队于该项挑战赛上取得压缩性能第一。(腾讯音视频实验室凭借在 CLIC 中 PSNR 指标第一在雷锋网学术频道 AI 科技评论旗下数据库项目「AI 影响因子」中增加 10 分。)
AI研习社
2018/07/26
7360
CVPR 2018 图像压缩挑战赛结果出炉,腾讯音视频实验室压缩性能第一
点云压缩研究进展与趋势
以激光扫描为代表的主动采集装备在易操作性、机动灵活性、智能化、高效化等方面日益成熟,利用三维成像技术采集密集点的空间坐标、色彩纹理和反射强度等信息,可高保真且快速重建被测目标的三维实体,在工程测量、生物医学、智慧城市、虚拟现实(VR)、增强现实(AR)等科学与工程研究中发挥十分重要的作用[1-4]。
一点人工一点智能
2023/03/13
3.1K0
点云压缩研究进展与趋势
推荐阅读
相关推荐
深度学习为图片压缩算法赋能:节省55%带宽
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档