Fotografia

Ten algorytm poprawiania jakości zdjęć jest niesamowity

Paweł Winiarski
Ten algorytm poprawiania jakości zdjęć jest niesamowity
5

Już dawno minęły czasy kiedy kiepskiej jakości zdjęcie w niskiej rozdzielczości nadawało się tylko by wyrzucić je do kosza. Dzisiejsze algorytmy są w stanie zrobić z nimi cuda.

Super-Resolution via Repeated Refinements (SR3) to bardzo ciekawy model syntezy obrazów dla modeli dyfuzyjnych. Łączy dwa najpopularniejsze znane już od jakiegoś czasu sposoby na ulepszanie fotografii. Pierwszy wykorzystywany jest najczęściej do przywracania starych portretów rodzinnych oraz ulepszania systemów obrazowania medycznego. Drugi, przedstawiony w 2015 roku to model dyfuzyjny działający na zasadzie uszkadzania danych przez stopniowe dodawanie szumu Gaussa i powolne usuwanie szczegółów danych obrazu aż całość stanie się czystym szumem. Następnie dzięki sieci neuronowej proces takiego "uszkodzenia" jest odwracany. W trakcie odszumiania algorytm uzyskuje czystą próbkę obrazu.

 

SR3 to model dyfuzji super-rozdzielczości, który jako dane wejściowe pobiera obraz o niskiej rozdzielczości i buduje odpowiedni obraz o wysokiej rozdzielczości z czystego szumu. Model ten jest szkolony pod kątem procesu uszkodzenia obrazu, w którym szum dodawany jest stopniowo do obrazu o wysokiej rozdzielczości do momentu, aż zostanie tylko czysty szum. Następnie algorytm uczy się odwracać ten proces zaczynając od czystego szumu i stopniowo usuwając szum bazując na wskazówkach wejściowego obrazu o niskiej rozdzielczośći.

Mówi się o dużej skali szkolenia algorytmu SR3, dzięki czemu osiąga on dobre wyniki porównawcze w obrabianiu zdjęć twarzy i naturalnych obrazów podczas skalowania do rozdzielczości 4x-8x w porównaniu z wejściowym obrazem o niskiej rozdzielczości. Te modele można również łączyć dalej kaskadowo w celu zwiększenia efektu współczynnika skalowania super-rozdzielczości, na przykład łącząc razem modele 64 x 64 do 256 x 256, następnie 256 x 256 do 1024 x 1024 osiągając finalnie rozdzielczość 1024 na 1024 pikseli, mówimy tu więc o szesnastokrotnym zwiększeniu rozdzielczości zdjęcia względem bazowego pliku.

Sam proces nie brzmi specjalnie fascynująco i zainteresuje raczej osoby siedzące głębiej w temacie, efekt jest jednak nie tyle imponujący, co wręcz niesamowity. Na zdjęciu w rozdzielczości 64 na 64 piksele widać na dobrą sprawę jakąś pikselową postać i takie obrazek nie zda się na nic innego niż mały poglądowy awatar. Algorytm jest w stanie stworzyć z niego normalną fotografię i to jest w tym wszystkim najbardziej niesamowite. Na dobrą sprawę tworzy bowiem przecież od nowa twarz, na oryginalnym obrazku jest na tyle mało detali, że większość obrazu wydaje się być stworzona właśnie przez program. To wręcz zaskakujące jak wiele informacji algorytm jest w stanie wyczytać z tak małego (objętościowo również) obrazka i na podstawie takiego "szkieletu" zbudować pełnoprawne zdjęcie w rozsądnej rozdzielczości, które na dobrą sprawę można śmiało wrzucić do serwisu społecznościowego.

Jestem bardzo ciekawy skuteczności tego systemu i faktycznego czasu jaki zajmuje algorytmowi ulepszenie jakości takiego zdjęcia. I ciekawe czy program trafi w jakiejś formie do konsumentów, bo w serwisach społecznościowych trend jest odwrotny - możecie to bez problemu sprawdzić sami. Znajdźcie bardzo dobrej jakości zdjęcie, najlepiej "ważące" kilka megabajtów, a później wrzućcie je na Facebooka - nie dość, że jakość zostanie znacząco obcięta, to dodatkowo pobrany z FB plik graficzny będzie wielokrotnie mniejszy jeśli chodzi o objętość. Kolory, detale gdzieś znikają, a czarne obszary zamieniają się w plamy lub piksele.

źródło

Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu