Bildkompression per Machine Learning

comp

Google hat eine neue Methode zur Bildkomprimierung per Machine Learning erfunden, die rund 25% kleinere Dateien erzeugt. Die JPG-Artefakte fallen dabei weg – JPG komprimiert über eine Farbreduzierung in 8x8-Pixelblöcken, wodurch die Kanten entstehen –, dafür wird das Bild allerdings weichgezeichnet und verliert Details. Im Bild oben habe ich einen Bildausschnitt vergrößert, um die Details zu zeigen.

comp2

Die Komprimierung funktioniert grob gesagt, indem eine AI das Ausgangsbild lernt und in mehreren Durchgängen durch die gelernten Pattern und anhand der Unterschiede zum Quellbild rekonstruiert. Sieht man im Bild oben: „Left: Original image, I = R[0]. Center: Reconstructed image, P[1]. Right: the residual, R[1], which represents the error introduced by compression.“ Das mittlere, erste Ergebnis wird nun so oft durch denselben Algorithmus gejagt, bis die Fehler weitgehend ausgeglichen sind und das Bild rekonstriert wurde.

Paper: Full Resolution Image Compression with Recurrent Neural Networks
Github: Image Compression with Neural Networks

comp3

Our system works by iteratively refining a reconstruction of the original image, with both the encoder and decoder using Residual GRU layers so that additional information can pass from one iteration to the next. Each iteration adds more bits to the encoding, which allows for a higher quality reconstruction. […]

The residual image represents how different the current version of the compressed image is from the original. This image is then given as input to the network with the goal of removing the compression errors from the next version of the compressed image. […] At each further iteration, the network gains more information about the errors introduced by compression (which is captured by the residual image). If it can use that information to predict the residuals even a little bit, the result is a better reconstruction. Our models are able to make use of the extra bits up to a point. We see diminishing returns, and at some point the representational power of the network is exhausted.

To demonstrate file size and quality differences, we can take a photo of Vash, a Japanese Chin, and generate two compressed images, one JPEG and one Residual GRU. Both images target a perceptual similarity of 0.9 MS-SSIM, a perceptual quality metric that reaches 1.0 for identical images. The image generated by our learned model results in an file 25% smaller than JPEG.