Developer Advocate
at @SchibstedSpain
#Web #CSS #Javascript
#Animation #SVG #PostCSS
#Optimization #Performance
Joan León
The advantages of Progressive JPEGs
The advantages of Progressive JPEGs
The disadvantages of Progressive JPEGs
Progressive JPEGs can be slower to decode than baseline JPEGs.
Progressive JPEGs are also not always smaller.
Some users may consider progressive loading to be a disadvantage.
Original | 766Kb
jpeg-recompress
Quality 80 | 550Kb | 1.619s
Quality 70 | 378Kb | 1.241s
Original | 766Kb
convert (ImageMagick)
Quality 80 | 712Kb | 0.342s
Quality 70 | 535Kb | 0.277s
Original | 766Kb
MozJPEG
Quality 80 | 633Kb | 1.215s
Quality 70 | 378Kb | 0.808s
Original | 766Kb
Guetzli
Quality 90 | 705Kb | 3m 58.52s
Quality 84 | 639Kb | 4m 3.33s
Imagemin + plugins
Imagemin + plugins
Imagemin + WebP
The Structural Similarity
Tools for measuring perceived differences between images
SSIM
Butteraugli
Original | 185Kb
4:2:1 | 183Kb
4:2:0 | 172Kb
Original | 171Kb
4:2:1 | 164Kb
4:2:0 | 156Kb
4:2:0 | blur 1x1 | 136Kb
4:2:0 | 156Kb
Im2Txt by Google.
Im2Txt or, the Show and Tell model, is a deep neural network that learns how to describe the content of images.
YOLO by Redmon, Joseph and Farhadi, Ali.
You only look once (YOLO) is a state-of-the-art, real-time object detection system that can run on images or videos.
$ ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
layer filters size input output
0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0.299 BFLOPs
1 conv 64 3 x 3 / 2 416 x 416 x 32 -> 208 x 208 x 64 1.595 BFLOPs
.......
105 conv 255 1 x 1 / 1 76 x 76 x 256 -> 76 x 76 x 255 0.754 BFLOPs
106 yolo
Loading weights from yolov3.weights...Done!
data/dog.jpg: Predicted in 17.682495 seconds.
bicycle: 99%
truck: 92%
dog: 100%
COCO: Common Objects in Context by Microsoft.
Original | 247Kb
4:2:0 | blur 0.5 | 104Kb
{
"format": "jpg",
"actions": [
{
"blur_areas": [
{
"width": 400,
"top": 100,
"height": 400,
"sigma": 10,
"left": 500
}
]
},
{
"resize": {
"width": 300,
"fit": {
"type": "clip"
}
}
}
],
"version": "2017-06",
"quality": 90
}
Chroma Subsampling
Using the <picture> Tagpicture
Follow José Manuel Perez
Engineer at @Spotify and Web Perf geek