Zastosowanie AI w naprawie zdjęć

W tym tekście opiszę, jak wykorzystuję AI w naprawie zdjęć, łącząc algorytmy sztucznej inteligencji z ręczną obróbką. Połącznie obu metod spowodowane jest tym, że  użycie tylko sztucznej inteligencji, bez ręcznych poprawek nie daje dobrych rezultatów. Temat ten szybko się rozwija, a opisuję tutaj stan na koniec 2023 roku. 
Zdjęcie źródłowe, które wykorzystuję pochodzi ze strony https://www.flickr.com/photos/simpleinsomnia. Jest to portret dziewczyny, który to jak widać ma wiele defektów i braków. Najbardziej widoczne problemy to: uszkodzone oko oraz okolice nosa , brak detali, problemy z kontrastem.  Zadaniem AI jest pomóc w rekonstrukcji szczegółów i detali, które zostały utracone lub uszkodzone na źródłowym zdjęciu. Chociaż nie jest to szczególnie trudne do naprawy zdjęcie, to świetnie ilustruje ręczną rekonstrukcję wspieraną przez algorytmy sztucznej inteligencji.

Z lewej (mob. wyżej) strony znajduje się zdjęcie przed rekonstrukcją z prawej po rekonstrukcji.

Czas nie obszedł się ze zdjęciem łagodnie w konsekwencji czego na zdjęciu źródłowym postać zlewa się z tłem. Dlatego pierwszą czynnością jest ręczne poprawienie kontrastu i usunięcie kolorowej poświaty tak aby było więcej widać.

Po pierwszych korektach zdjęcie nie jest ani trochę lepsze, jednak widać więcej, także problemów. Powyższe zdjęcie będzie bazą do dalszych działań.

Próba rekonstrukcji "surowego" zdjęcia bez zastosowania ręcznych korekt

Testowo (raczej nigdy na tym etapie pracy tego nie robię), przedstawię sposób działania popularnych algorytmów do rekonstrukcji twarzy  Przykładem będzie powyższe praktycznie nieobrobione zdjęcie. 
Pierwszy algorytm to popularny i moim zdaniem najlepszy do rekonstrukcji twarzy: GFPGANPractical face restoration algorithm for old photos or AI-generated faces.

Twarz w jakiś sposób została zrekonstruowana, a raczej wygładzona, reszta … sami widzicie. Pomimo marnych efektów i tak uważam, że ten algorytm jest dobry.

Drugi algorytm to:  VQFR Blind Face Restoration with Vector-Quantized Dictionary and Parallel Decoder

Ten algorytm przeprowadził rekonstrukcję trochę inaczej, ale efekt jest bez wątpienia równie słaby jak poprzednio.

Trzecim algorytmem jakiego użyję jest:  Microsoft bringing old photos back to life

Sztuczna Inteligencja w naprawie i koloryzacji starych zdjęć. Koloryzacja zdjęć, baza czarno biała do koloryzacji.
Sztuczna Inteligencja w naprawie i koloryzacji starych zdjęć. Koloryzacja zdjęć, baza czarno biała do koloryzacji.

Jak widać ten algorytm jest wydaje się być najbardziej subtelny, może dlatego, że najmniej zrobił.

Kolejnym, czwartym algorytmem jest AI o nazwie: GPENBlind Face Restoration in the Wild 

W tym przypadku wyniki działania są trochę dziwne. Algorytm usiłował postarzyć dziewczynę (klik na zdjęciu, aby zobaczyć powiększenie). Niewątpliwie, ciekawe jest to, że wszystkie algorytmy (poza AI Microsoftu, który nie podjął się wykonania) uszkodzenie  okolic oczu potraktowały jak okulary tudzież monokl.

Pierwsze podsumowanie

Jak widać rezultat pierwszego podejścia do rekonstrukcji w przypadku wszystkich algorytmów był delikatnie rzecz ujmując słaby .
Można wysnuć wniosek, że AI w naprawie zdjęć ma jeszcze wiele nauki przed sobą. Należy jednak pamiętać, że wyniki działania algorytmów zależą od wielu czynników. Są to głownie jakość zdjęcia źródłowego i rodzaj uszkodzeń na fotografii. Wszystkie (lub prawie wszystkie) algorytmy mają w nazwie “Blind” co w tym przypadku oznacza, że działają “na ślepo” nie wiedząc kogo rekonstruują (nie znają kontekstu). W jakiś sposób to tłumaczy takie a nie inne działanieAlgorytmów do naprawy i rekonstrukcji zdjęć jest dużo więcej niż powyżej zaprezentowałem. Każdy z algorytmów sprawdza się lepiej lub gorzej przy różnych rodzajach fotografii i uszkodzeń na fotografiach. Ciężko było by opisać działanie wszystkich AI w naprawie zdjęć, należy sprawdzić je praktycznie.

Ręczne poprawki i działanie AI w naprawie zdjęć po zastosowaniu poprawek.

Na podstawie powyższych doświadczeń, można wysnuć wniosek, że sztuczna inteligencja nie radzi sobie z „surowymi” , słabej jakości zdjęciami.
Postanowiłem, więc ręcznie doprowadzić zdjęcie do sensowniejszego wyglądu. 
Z mojego doświadczenia wynika, że właśnie pierwszym etapem rekonstrukcji powinno być ręczne poprawienie największych defektów, a następnej kolejności można użyć AI. Choć AI w naprawie zdjęć zyskuje na popularności. to nie zastąpi pracy grafika.

Na powyższym zdjęciu zastosowałem kilka prostych zabiegów, aby poprawić jego jakość. Usunąłem „ręcznie” najbardziej widoczne uszkodzenia oraz pozbyłem się resztek koloru. Aby zredukować uszkodzoną teksturę z twarzy, zdjęcie zostało delikatnie rozmyte. Ostatecznie, planuję dodać sztuczną fakturę, aby uzyskać lepszy efekt. 

Dzięki temu, że usunąłem już najbardziej widoczne uszkodzenia i poprawiłem ogólną jakość zdjęcia, algorytm AI będzie miał łatwiejsze zadanie.

 Zdjęcie ponownie „przepuściłem” przez AI tym razem tylko przez : GFPGAN, ponieważ tak jak napisałem wyżej ten algorytm jest moim zdaniem najlepszy.

Jak widać, efekt (zdjęcie z lewej) jest bez wątpienia lepszy niż w przypadku pierwszego podejścia. Niemniej jednak, nadal nie jest idealny. Podczas ręcznych poprawek (celowo) nieco niedbale dosztukowałem oko, co zostało błędnie zinterpretowane przez algorytm AI jako monokl. Niestety, AI nie był w stanie zauważyć, że monokl nie pasuje do osoby na zdjęciu. Nie należy jednak wymagać zbyt wiele – niewątpliwie jest  postęp, zdjęcie wygląda lepiej. Nie pozostało nic innego, jak ręcznie poprawić efekty pracy AI, przede wszystkim usuwając ten nieszczęsny monokl (zdjęcie z prawej).  

Kolejnym etapem było nałożenie poprawionego efektu pracy AI na wcześniej obrabianą wersję zdjęcia. Chciałem zaznaczyć, że nie pracuję bezpośrednio na wersji wygenerowanej przez AI, ponieważ może ona wyglądać dość sztucznie.Nałożyłem warstwę z efektem pracy AI jako warstwę z kryciem 50%. Oprócz nałożenia warstwy z efektem AI, dokonałem także kilku poprawek w okolicy oczu, skóry i włosów. 

AI ponowne użycie

Po zastosowaniu powyższych poprawek „ponownie” przepuściłem zdjęcie przez GFPGAN, dzięki czemu jestem bliżej celu, jednak zdjęciu nadal sporo brakuje.

Sztuczna Inteligencja w naprawie i koloryzacji starych zdjęć. Koloryzacja zdjęć, baza czarno biała do koloryzacji.
Sztuczna Inteligencja w naprawie i koloryzacji starych zdjęć. Koloryzacja zdjęć, baza czarno biała do koloryzacji.

Tym razem żadnych ręcznych poprawek bezpośrednio  na wyniku pracy AI nie zrobiłem. Warstwę skopiowałem do poprzednio edytowanego pliku z kryciem 65%, częściowo maskując fragmenty które w poprzedniej wersji były przyzwoite. Na całości jednak wprowadziłem sporo korekt.

W finalnej wersji zdjęcia skupiłem się na poprawie detali, wykonując wiele poprawek. Starałem się dopasować usta i oczy do tego jak wyglądały na zdjęciu źródłowym. Na tego typu zdjęciach nie ma raczej mowy o współcześnie pojmowanym foto-realizmie. Dodałem, więc sporo kontrastu i zastosowałem sztuczną fakturę, która ma za zadanie zamaskować defekty i nadać klimatu zdjęciu. Sztuczna faktura jest widoczna tylko przy powiększeniu zdjęcia. Na zdjęcie dodałem również poświatę, która jest podobna do tego, jaka była na zdjęciu źródłowym.

Adobe Photoshop - filtry neuronowe

Z obowiązku muszę wspomnieć o filtrach neuronowych będących częścią Adobe Photoshop. W przypadku zdjęcia będącego ilustracją dla tej strony nie używałem ich, gdyż nie było takiej potrzeby i inne narzędzia są moim zdaniem lepsze. W przypadku naprawy starych zdjęć przydatny może być filtr Retusz Zdjęcia. Jednak uważam, że jeśli chodzi o poprawki na twarzy działa zdecydowanie gorzej niż algorytmy o których wyżej napisałem. Przy naprawie niektórych zdjęć używam tego filtru do ogólnych poprawek jakości zdjęcia i sprawdza to się w miarę dobrze. Przesuwam wtedy suwak „Ulepsz twarz” na zero po to aby filtr nie poprawiał twarzy i zdjęcia nie zepsuł. W chwili gdy piszę ten tekst (grudzień – 2023) filtr jest w wersji beta, więc nie należy mieć pretensji o sposób w jaki działa. W każdym razie filtr ma spory potencjał.  Jest on zintegrowany z Photoshop-em co jest bardzo wygodne. 
Drugim neuronowym filtrem, którego jednak  używam rzadziej jest filtr Gładka skóra. Zgodnie z nazwą filtr ten wygładza i rozmywa skórę na twarzy. Moim zdaniem jednak efekt działania tego filtru nie jest zbyt wyszukany. Ręczna korekta skóry na twarzy daje lepsze rezultaty, poza tym są lepsze narzędzia.
Ten filtr sprawdza się w specyficznych przypadkach, przy raczej nowszych zdjęciach i przy niewielkiej intensywności tego filtru.

AI w naprawie zdjęć - podsumowanie

Podsumowując, korzystając z AI w naprawie zdjęć, warto pamiętać o ograniczeniach, zwłaszcza w przypadku mocno uszkodzonych fotografii. Wyniki takiej naprawy mogą być odwrotne od zamierzonych, lub marne.
Jednak
połączenie ręcznej obróbki z naprawą proponowaną przez AI może prowadzić do bardzo dobrych rezultatów. Warto zauważyć, że im lepszy jest stan zdjęcia, tym lepszy będzie końcowy efekt po procesowaniu przez AI. Oznacza to, ze aby AI dobrze zadziałało musi mieć odpowiednio (ręcznie) przygotowany materiał wejściowy. 
Po tym co napisałem powyżej można by stwierdzić, że uważam AI za „ściemę” jednak w żadnym wypadku AI „ściemą dla mnie nie jest. Każdą z czynności którą wykonało AI jestem w stanie wykonać ręcznie, jednak zabrałoby to sporo czasu. Naprawy takie jak: dobranie oczu, poprawki na włosach, wyrównanie skóry, nawet jeśli rekonstrukcja AI nie do końca mi odpowiadała to stanowiła bazę do ręcznych poprawek. Dzięki temu zaoszczędziłem 50% – 60 % czasu. AI zrobiło za mnie “brudną robotę” i o to chyba w AI chodzi.

Zapraszam również z zapoznania się z krótkim opisem AI do koloryzacji zdjęć 

Jeśli jesteście Państwo zainteresowani zapraszam do obejrzenia przykładów, zapoznania się z zasadami współpracy i składania zleceńWięcej przykładów znajduje się w moim portfolio.

www.fotokrr.pl – Retusz i Szparowanie zdjęć. Tel. +48 519 323 891 mail: info@fotokrr.pl , krrgrafika@gmail.com    Z A P R A S Z A M