谷歌开源图片压缩算法Guetzli实测体验报告

摘要:
以Ubuntu系统为例,我们将介绍如何安装guetzli。原始图像的平均大小为33KB。压缩的guetzli图像为23.4KB。平均压缩率为29%。每个图像的平均时间为7956ms。此外,利用外媒报道中使用的对比图片直观感受压缩效果:左边是原始图像,中间是libjpeg压缩图像,右边是guetzli压缩图像。盖兹利的资源消耗情况如何?你可以运行任意多的guetzli任务,只要你有内核。对于质量为90或更低的jpg图像,guetzli输出的新图像的质量不会降低。Guetzli处理类型限制,无法处理所有类型的图像。

谷歌大神又出开源新技术啦,这次是对JPEG格式的图片采用全新算法重新编码,输出的图片还是JPEG但是图片大小明显缩小,而质量不但没有损失,甚至还更加优化,速速来体验一把。

一、环境安装

下载谷歌开源软件,编译安装以后实际上是一个bin工具。输入图片,输出jpeg格式图片。

项目地址:https://github.com/google/guetzli

文档下面有写Ubuntu、Arch Linux、windows、macOS的安装方式。我们以 Ubuntu 系统为例,介绍如何安装 guetzli。

首先,克隆谷歌的项目文件:

git clone https://github.com/google/guetzli.git

然后,安装 libpng 软件包:

sudo apt-get install libpng-dev
cd guetzli

然后直接 make ,生成bin文件,强大的开源工具 ./bin/Release/guetzli 于是就生成了。

二、实战测试

guetzli的使用比较简单,参数很少。默认采用95的质量,也可以通过 -quality 来指定大于等于84的质量,如果要小于84,需要修改源码。输入必须是符合转换要求的图片,输出则是jpeg格式图片。

什么是符合要求的图片?

官方说明:

Only YUV color space input jpeg is supported

实测发现,使用透明通道的png图、非YUV的jpeg比如黑白图、gif图都是不能转换的。

guetzli效果如何?

批量实测1292张图片。使用默认参数,也就是原图的95%质量。

1185张转换成功,占比91.7%,其中3张png转换jpeg以后图片比原图更大,占比0.2%。107张无法转换,占比8.3%。

原图平均大小33KB,guetzli压缩后23.4KB,平均压缩率29%,平均每张耗时7956毫秒。

单张最大的图片3.76MB,guetzli压缩后2.55MB,压缩率31.5%,耗时976949毫秒(16分钟)。

单张最小的图片757B,guetzli压缩后603B,压缩率20%,耗时65毫秒。

另外借用国外媒体报道中使用的对比图片,直观地感受下压缩后的效果:

谷歌开源图片压缩算法Guetzli实测体验报告第1张

左边是原图,中间是 libjpeg 压缩后,右边是使用 guetzli 压缩后。

guetzli的资源消耗如何?

官方文档说,1MPIX的图片处理需要消耗300M内存。

实测一个1MB大小1920x2560的图片,有4.9MPIX。理论消耗内存1474MB,实际消耗1009MB内存,实际与理论基本相符。由此看出这个工具是个内存消耗大户,60G内存只够处理200MPIX,也就是同时处理40张左右的1920x2560图片。

CPU消耗则一直是100%单核占用。当然实际使用多核机器可以同时跑多个进程。有多少核就能跑多少个guetzli任务。

压缩图片耗时跟图片大小程离散相关,图片越大,耗时越久:

谷歌开源图片压缩算法Guetzli实测体验报告第2张

测试环境使用的是8核16G内存的机器。单核平均处理23KB的图片需要约8秒钟,这个耗时比较长,注定无法进行在线实时压缩。

三、优劣对比

guetzli的优势在哪?

实测对质量在90或以下的jpg图片,guetzli输出的新图质量不会降低。而实际压缩率能够达到平均压缩率29%。

兼容性比较好,输出的jpeg格式图片通用性非常高。没有webp、sharpp那种协议不兼容的困扰。

在客户端jpeg格式的图片编解码速度比其他私有协议快很多。

guetzli有哪些劣势?

guetzli处理类型局限性,并不能应对全部类型的图片。只能处理YUV颜色编码的图片。

时效性较差,图片越大处理越慢。1MB的图片处理需要291秒,本次测试平均23KB的图片需要8秒。

本文转载自腾云阁,已获得作者授权。

免责声明:文章转载自《谷歌开源图片压缩算法Guetzli实测体验报告》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PCA和LDA的对比你不知道的Console命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

谷歌Google Chrome浏览器打开新的标签页设置指定固定网址

谷歌Google Chrome浏览器打开新的标签页设置指定固定网址 一. 下载插件:     下载地址:https://files-cdn.cnblogs.com/files/hooly/newtabredirect.zip  二. 使用方法:   1. 首先用户点击谷歌浏览器右上角的自定义及控制按钮,在下拉框中选择设置:          2. 在打开的...

Chrome(谷歌浏览器)和Firefox浏览器flash的swf文件发黑不透明问题解决方法

一直以来看到各大网站的FLASH都是黑框框的,很好奇,难道他们不知道flash是可以设成透明的?于是用IE Tab插件浏览了下,发现人家的网页又正常,这样一来我就开始怀疑是我的Chrome有问题,于是在换了多台电脑,多种操作系统之后找到了治标治本的方法:在遇到这里网站时,尽量用IE,如果你的网站也在这类网站之中,那么你可能需要修改自己的网站代码这是一则fl...

去掉谷歌浏览器输入框的默认黄色背景

谷歌浏览器登录记住密码后  下次登录会自动填充,并且有黄色背景。 谷歌浏览器的设置如下: input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {  rgb(250, 255, 189);  background-image: none;  colo...

三项实测:7Zip与WinRAR哪个好

       今天找一个资料,在网上下载到了。是一个7Z的压缩包,70多M。我用WinRar解压后发现竟然有600多M,太惊讶了,压缩率竟然这么高。不行,我得了解一下7Z格式为什么压缩率那么高先。首先,我用WinRar压缩一下,110多M,看来7Z厉害,本人孤陋寡闻,只知WinRar,如今见识到7Z,开眼界了。网上搜索7Z相关资料,它还是个开源软件,这让我...

各大浏览器保存密码的文件

         很多浏览器都自带了一个功能,那就是自动保存密码,第一次输入密码之后会提示你保存密码(有的提示是“自动填写”),然后下次登录相同网站的时候不用再次麻烦地输入密码。虽然方便,不过不安全。因为这些数据都是保存在硬盘上的。我最开始想的是怎么查看到别人的星号密码,有的浏览器如搜狗有那种星号密码查看器可以查看星号密码,不过不是所有浏览器都有这个扩展,...

博客园 投放 谷歌广告(google adsense) 且不被屏蔽掉

今天测试在博客园上面投放google adsense广告,几次添加代码之后发现博客园的默认的编辑器会屏蔽掉引用的src地址   虽然好用 但是可能是安全考虑  屏蔽了引用到google的地址  当粘贴到博客园默认的TinyMce编辑器后  我的代码就变成如下了    解决方法:在博客园的后台设置中  将编辑器修改为CuteEditor  ,修改过后 成功...