Rozmyta rzeczywistość według SmartDeblur

Na linuksowej scenie programów do trikowej obróbki grafiki, pojawił się kolejny projekt który ma ambicje wyłuskać z rozmytych zdjęć więcej szczegółów i treści. Jednak nie należy zbyt pochopnie przypinać mu łatki kolejnego programu do wyostrzania. SmartDeblur ma bowiem ambicje rekonstrukcji lub przywracania prawidłowej ostrości na poruszonych lub rozmytych zdjęciach. Jeszcze bardziej abstrakcyjnie wygląda działanie programu, który z pięknej kolorowej papki potrafi wydobyć zarysy, szczegóły i ogólną treść zdjęcia.

Autor programu, Vladimir Yuzhikov, zjadł zęby na algorytmach analizy i przetwarzania obrazu. Nie dziwi zatem jego mocno naukowe podejście do tematu, jak i zaawansowanie zastosowanych rozwiązań. Za jego fachowym artykułem o ukrytych w rozmyciu treściach obrazu, ukazał się i projekt przekuwający teorię w praktykę, SmartDeblur.

SmartDeblur w akcji

Interfejs programu jak i liczba opcji wydaje się być zaskakująco uboga, dodatkowo powyższy zrzut ekranu nie do końca ujawnia o co tak naprawdę w tym programie chodzi. A cała magia kryje się w odpowiednim materiale wejściowym, czyli… niedoskonałym zdjęciu o określonym poruszeniu podczas jego wykonywania. Wtedy możliwe staje się zastosowanie algorytmów, które potrafią coś takiego:

Wygląda to wszystko dość efektownie, ale osiągnięcie odpowiednich wyników wymaga nieco wprawy, jak też fachowo zepsutych zdjęć. W zależności od tego jaki defekt na nim posiadamy (nietrafiona ostrość, poruszający się obiekt/apart, ogólne rozmycie), możemy zastosować odpowiedni algorytm, jak też regulować jego parametry. Podgląd jest tworzony niemal natychmiast, jednak obróbka wysokiej jakości zajmuje nieco czasu i aby nie zniechęcić się od razu prędkością działania programu, należy pamiętać o paru zasadach:

  • zmiana wartości suwaków za pomocą rolki w myszce nie wywołuje generowania obrazu wysokiej jakości, lecz tylko podglądu,
  • po załapaniu suwaka najlepiej po prostu jeździć nim po skali, obserwując jaki to daje efekt. Puszczenie – rozpoczyna generowania obrazu wysokiej jakości,
  • puszczenie suwaka zanim podgląd wygeneruje się kolorze, pozostawia na ekranie niekompletny obraz,
  • aby przyśpieszyć generowanie obrazu o wysokiej jakości, udajemy się do Settings i przestawiamy Iterations na 50 – 100

Program jest w dość wczesnej fazie rozwoju, dlatego zdarzają się mu potknięcia w postaci zniknięcia z ekranu (Segfault), czy niedoskonałości w interfejsie (projektowanym dla Windowsa i MacOSa). Samo zastosowanie programu jest różnorakie, od poprawienia rozmytego tekstu na źle zeskanowanym/sfotografowanym obrazie, po poprawki zdjęć np. makro, itp. Nie należy jednak liczyć, że program uczyni cuda z kiepskiej jakości fotografii. SmartDeblur nie tyle upiększa obraz, co czyni go bardziej czytelnym – coś za coś. W ostateczności można stosować go do precyzyjniejszego wyostrzania. Stąd też poniższe zestawienie obrazów wprost z wywoływaczki RAW’ów, po mocniejszym i lżejszym wyostrzeniu standardowymi algorytmami, oraz po obróbce w SmartDeblur. Dla dostrzeżenie efektu – trzeba na zdjęciach kliknąć (zabawa dla lubiących lustrować ilość oraz ułożenie pikseli na zdjęciu).

Oryginał
Oryginał z wyostrzeniem o dużym promieniu

Oryginał z wyostrzeniem o małym promieniu
Efekt pracy SmartDeblur

Program doczekał się debiutu w wersji dla Ubuntu 12.04-12.10/Mint 13-14 w moim repozytorium Highly Explosive. Dla tych, którzy nie mają jeszcze tego PPA dodanego do systemu:

sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install smartdeblur