0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深度学习为图片压缩算法,可以节省55%带宽

LiveVideoStack 作者:李建兵 2018-03-14 13:31 次阅读

随着互联网的发展,人们对高清图片的需求也在不断增加,在保证图像画质的情况下最大程度降低图像体积已成为行业发展趋势。

目前比较出名的图像压缩格式是:WebP与HEIF。

WebP:谷歌旗下的一款可以同时提供有损压缩和无损压缩的图片文件格式,其以VP8编码为内核,在2011年11月开始可以支持无损和透明色功能。目前facebook等网站都已采用这种图片格式。

BPG:知名程序员、ffmpeg和QEMU等项目作者Fabrice Bellard推出的图像格式,它以HEVC编码为内核,在相同体积下,BPG文件大小只有JPEG的一半。另外BPG还支持8位和16位通道等等。尽管BPG有很好的压缩效果,但是HEVC的专利费很高,所以目前的市场使用比较少。

这两大威廉希尔官方网站 都各有优劣,为了最大程度的应对市场需求采用深度学习威廉希尔官方网站 做图片压缩算法已受到业界越来越多的关注。

深度学习威廉希尔官方网站 设计图片压缩算法

通过深度学习威廉希尔官方网站 设计压缩算法不仅能在不借助HEVC的情况下设计出更适合商用的更高压缩比的图片压缩算法,还可以在保持图片画质同时,尽可能降低图片体积。

在图片压缩领域主要用到的深度学习威廉希尔官方网站 是卷积神经网络(CNN)。卷积神经网络就像搭积木一样,一个卷积神经网络由卷积、池化、非线性函数、归一化层等模块组成,最终的输出根据应用而定;如在人脸识别领域,我们可以用它来提取一串特征表示一幅人脸图片,然后通过比较特征的异同进行人脸识别。

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

如何利用卷积神经网络做压缩?

如图2所示,完整的框架包括CNN编码器、量化、反量化、CNN解码器、熵编码、码字估计和码率-失真优化等几个模块。编码器的作用是将图片转换为压缩特征,解码器就是从压缩特征恢复出原始图片。其中编码网络和解码器,可以用卷积、池化、非线性等模块进行设计和搭建。

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

如何评判压缩算法?

目前评判一个压缩算法的重要指标有三个:PSNR(Peak Signal to Noise Ratio)、BPP(bit per pixel)和MS-SSIM(multi-scaleSSIM index)。我们知道,任何数据在计算机内都是以比特形式存储,所需比特数越多则占据的存储空间越大。PSNR用来评估解码后图像恢复质量,BPP用于表示图像中每个像素所占据的比特数,MS-SSIM值用来衡量图片的主观质量,简单来说在同等的Rate/BPP下PSNR更高,压缩效果更好,MSSIM更高,主观感受更好。

下图为图鸭图片格式Tiny Network Graphics (TNG) 与其他图片格式在同一压缩比下的PSNR值与MS-SSIM值对比:

图3:图鸭TNG图片格式与其他图片格式在同一压缩比下的PSNR值与MS-SSIM值对比

从上图对比中可以看到,图鸭的TNG在MS-SSIM值上一直处于领先状态,其PSNR值也已超过WebP、JPEG2000等商用算法。

如何用深度学习做压缩?

谈到如何用深度学习做压缩,我们以图片来举例。将一张大小 768 * 512 的三通道图片送入编码网络,进行前向处理后,会得到占据 96 * 64 * 192 个数据单元的压缩特征。有计算机基础的读者可能会想到,这个数据单元中可放一个浮点数,整形数,或者是二进制数。那到底应该放入什么类型的数据呢?

从图像恢复角度和神经网络原理来讲,如果压缩特征数据都是浮点数,恢复图像质量是最高的。但一个浮点数占据32个比特位,图片的计算公式为( 96 * 64 * 192 * 32)/(768*512)=96,压缩后反而每个像素占据比特从24变到96!图片大小非但没有压缩,反而增加了,这是一个糟糕的结果,很显然浮点数不是好的选择。

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

即使压缩特征中每个数据占据1个比特位,可是压缩还是有可进步的空间。那如何进一步优化算法?再看下BPP的计算公式。

假设每个压缩特征数据单元占据1个比特,则公式可写成:(96*64*192*1)/(768*512)=3,计算结果是3 bit/pixel,从压缩的目的来看,BPP越小越好。在这个公式中,分母由图像决定,我们进行调整的只有分子:96、64、192,这三个数字与网络结构相关。所以,如果我们设计出更优的网络结构,这三个数字也会变小。

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

总结

总体而言,借助于深度学习设计视频和图像压缩算法是一项非常具有前景,但同时也非常有挑战性的威廉希尔官方网站 。

最后,大家可以点击阅读原文获取TNG测试链接(建议在PC端测试)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 带宽
    +关注

    关注

    3

    文章

    926

    浏览量

    40913
  • 图片压缩
    +关注

    关注

    0

    文章

    6

    浏览量

    5532

原文标题:深度学习为图片压缩算法赋能:节省55%带宽

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

      华为云深度学习服务,让企业智能从此不求人

    ,分布式训练线性加速比能达到0.8。这就意味着在亿级图片规模下的模型训练,华为深度学习的分布式模型训练时间可以从30天缩短至小时级。    不同GPU数量下模型训练收敛时间    神机
    发表于 08-02 20:44

    深度学习中的图片如何增强

    深度学习中的图片增强
    发表于 05-28 07:03

    啃论文俱乐部 | 压缩算法团队:我们是如何开展对压缩算法学习

    了啃论文俱乐部与在校学习的区别,大家可以参考下图,了解下 OpenHarmony 成长计划啃论文俱乐部的独特魅力。根据兴趣选择威廉希尔官方网站 方向团队啃论文俱乐部细分了 12 类方向:JSON、压缩算法
    发表于 06-21 11:05

    电脑上的图片怎么批量压缩

    :在页面上点击选择压缩图片可以压缩图片格式,或者是PNG格式,再或者是JPG格式的文件,点击到相应的选项即可。4:然后点击这里页面左下角
    发表于 09-21 17:59 629次阅读

    深度学习模型压缩与加速综述

    目前在深度学习领域分类两个派别,一派学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另一派工程派,旨在将算法更稳定、高效
    的头像 发表于 06-08 17:26 5218次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>模型<b class='flag-5'>压缩</b>与加速综述

    深度学习算法和应用涌现的背后,是各种各样的深度学习工具和框架

    回顾深度学习框架的演变,我们可以清楚地看到深度学习框架和深度
    的头像 发表于 01-21 13:46 2752次阅读

    基于MobileNet的多目标跟踪深度学习算法

    针对深度学习算法在多目标跟踪中的实时性问题, 提出一种基于MobileNet的多目标跟踪算法. 借助于MobileNet深度可分离卷积能够对
    的头像 发表于 11-09 10:23 1079次阅读
    基于MobileNet的多目标跟踪<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>算法</b>

    基于深度学习的图像/视频压缩算法

    无损压缩算法通常被用于归档或其他高保真目的。这些算法能够让你在确保文件可被完整恢复的同时减少文件大小。
    发表于 03-03 11:16 2029次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法作为其中的重要组成部分,不仅可以为诸如人工智能、图像识别以及自然语言处理等领域提供支持,同时也受到了越来越多的关注和研究。在本文中,我们将着重介绍
    的头像 发表于 08-17 16:02 8876次阅读

    深度学习算法工程师是做什么

    深度学习算法工程师是做什么 深度学习算法工程师是一种高级威廉希尔官方网站 人才,是数据科学中创新的推动者,也是
    的头像 发表于 08-17 16:03 1240次阅读

    什么是深度学习算法深度学习算法的应用

    什么是深度学习算法深度学习算法的应用 深度
    的头像 发表于 08-17 16:03 2145次阅读

    深度学习算法的选择建议

    深度学习算法的选择建议 随着深度学习威廉希尔官方网站 的普及,越来越多的开发者将它应用于各种领域,包括图像识别、自然语言处理、声音识别等等。对于刚开始
    的头像 发表于 08-17 16:11 672次阅读

    深度学习算法库框架学习

    深度学习算法库框架学习 深度学习是一种非常强大的机器学习
    的头像 发表于 08-17 16:11 691次阅读

    深度学习框架和深度学习算法教程

    基于神经网络的机器学习方法。 深度学习算法可以分为两大类:监督学习和无监督
    的头像 发表于 08-17 16:11 1074次阅读

    压缩算法的类型和应用

    压缩算法是一种通过减少数据量来节省存储空间或传输数据的威廉希尔官方网站 。压缩算法可以分为两种类型:有损
    的头像 发表于 10-21 13:50 259次阅读