kompresja

Kompresja obrazów – następne wyzwanie dla AI

Kompresja zdjęć i obrazów pozwala na szybkie ładowanie się stron internetowych, przeglądanie albumów na portalach społecznościowych, a przez to też – pobieranie mniejszych plików, co może zaoszczędzić nam miejsca na dysku. Jednakże tworzenie oraz ulepszanie algorytmów kompresji to duże wyzwanie dla specjalistów z działu IT. Czy może nam więc pomóc w tym Sztuczna Inteligencja?

Coraz więcej, coraz mniej

W obecnych czasach najczęściej wykorzystywanych jest kilka formatów cyfrowych obrazów:

  • JPEG – wysoka kompresja stratna, która pozwala jednak na uzyskanie bardzo niewielkich plików. Polecany jest głównie do zdjęć, nie do ilustracji. Stopień kompresji można regulować przed eksportem.
  • GIF – format, który, pomimo dość dużej kompresji, zachowa ostre krawędzie naszych ilustracji. Oczywiście, można zapisywać w nim też animacje.
  • PNG – najczęściej wykorzystywany format, jeśli potrzebujemy dobrego stosunku rozmiaru pliku do jego jakości. Kompresja jest mniejsza, przez co w PNG możemy spokojnie zapisać zarówno ilustracje, jak i zdjęcia. Stosowany algorytm kompresji nazywa się DEFLATE.

Stosunek kompresji formatu PNG to około 2,7:1, w porównaniu z 16:1, jaki produkuje format JPEG. Przez ciągłe ulepszanie algorytmów, mamy więc coraz więcej szczegółów i coraz mniejsze pliki. Mogłoby się więc wydawać, że osiągnęliśmy szczyt tej góry. Ale – czy na pewno?

AI w fotografii

Od kilku lat pojawiają się coraz to nowsze oprogramowania używające Sztucznej Inteligencji, kierowane w stronę profesjonalnych fotografów oraz filmowców, a także dla działu IT. Od rozpoznawania twarzy i używania biometrii w naszych smartfonach, przez odszumianie obrazu, aż po powiększanie zdjęć i ilustracji. Dobrym przykładem jest program Gigapixel AI, który może kilkukrotnie zwiększyć nasz obraz. Na przykład, jeżeli rozmiar 1024×1024 to dla nas za mało, oprogramowanie to jest w stanie rozszerzyć nasz plik nawet do wymiarów 4096×4096 – bez znaczącej utraty szczegółów i wielu artefaktów.

Kompresja obrazów - następne wyzwanie dla AI
Gigapixel AI (fot. Komputer Świat)

Istnieje również wiele darmowych programów oferujących takie funkcje (nawet online), lecz najlepsze efekty osiągniemy z płatnym serwisem. W każdym razie, bez Sztucznej Inteligencji, nie byłoby to możliwe.

Nowa kompresja – mały krok dla AI

Kilka tygodni temu, badacze na Uniwersytecie Teksańskim w Austin – Sheng Cao, Chao-Yuan Wu oraz Philipp Krahenbuhl, opublikowali opis nowego modelu AI, który, używając bezstratnej kompresji, może osiągnąć lepsze wyniki, niż format PNG. Model ten nazywa się SReC (Super-Resolution based Compression). 

Zasada jego działania opiera się na powyżej opisanym procesie powiększania obrazów. Na początku, algorytm zapisuje niewielki obraz bez żadnej kompresji. Jest to więc mały plik, lecz zdjęcie nie nadaje się do użytku.

Kompresja obrazów - następne wyzwanie dla AI
Jak działa ta kompresja (fot. SReC)

Następnie następuje kilka instancji powiększania obrazu z użyciem AI, a po każdej z nich nakładana jest bezstratna kompresja. Efekt? Gdy dojdziemy do rozmiaru podstawowego zdjęcia, model AI stworzy mniejszy plik, który nie powinien posiadać artefaktów kompresji, gdyż każda instancja procesu kładzie nacisk tylko na te elementy, które mają wiele detali (na przykład, niebo na wielu zdjęciach to zaledwie jeden kolor – nie potrzebuje wielu szczegółów).

I chociaż trudno jest jeszcze określić dokładne możliwości tego modelu, uzyskał on najlepszy wynik w teście bitów na subpiksel ze wszystkich popularnych formatów obrazów. Jednakże jego wynalazcy mówią wprost, że nie zastąpi on popularnych formatów, takich jak PNG. Powstał głównie z myślą o stronach internetowych, a jego zadaniem jest przyspieszenie wczytywania się dostępnych tam grafik.

Nadchodzi jednak wiele innych, równie ciekawych narzędzi i formatów obrazów, które będą wykorzystywały AI. Na razie, kod do modelu SReC można znaleźć za darmo – na GitHub.