Profesjonalny retusz zdjęć
FotoKRR – Baner promujący usługi: profesjonalny retusz zdjęć, renowacja starych fotografii oraz aranżacje AI.

Retusz zdjęć
Aranżacje AI
Renowacja starych fotografii
Przygotowanie fotografii produktowej

Algorytmy do rekonstrukcji twarzy – tekst archiwalny (2023)

Poniższy tekst powstał we wrześniu 2023 roku i opisuje ówczesny stan technologii i algorytmy do rekonstrukcji twarzy dostępne w tamtym okresie. Choć z perspektywy czasu część informacji jest już nieaktualna, to sam mechanizm powstawania błędów, jakie popełnia sztuczna inteligencja, pozostaje ten sam.

Publikuję ten materiał jako archiwum, które doskonale obrazuje, dlaczego nadzór grafika jest niezbędny. Choć opisane tu algorytmy wciąż pełnią rolę pomocniczą w moim procesie renowacji, to – jak zobaczysz poniżej – bez ręcznej korekty potrafią one błędnie zinterpretować uszkodzenia.

Oryginalny tekst z września 2023 roku

W tym tekście opiszę, jak profesjonalny retusz zdjęć może być wspomagany przez AI. Pokażę proces łączenia algorytmów sztucznej inteligencji z ręczną obróbką. Połączenie obu metod wynika z tego, że użycie wyłącznie 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.

Mocno zniszczone zdjęcie dziewczynki w sepii przed renowacją
Efekt końcowy – połączenie ręcznego retuszu oraz algorytmów do rekonstrukcji twarzy

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ć.

Zdjęcie po wstępnym usunięciu koloru i poprawie kontrastu

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 prac.

Próba rekonstrukcji pliku źródłowego bez wstępnych korekt

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

Wynik działania algorytmu GFPGAN na nieprzygotowanym zdjęciu

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

Próba naprawy zdjęcia algorytmem VQFR

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

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

Subtelny efekt naprawy przez narzędzie Microsoft

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

Kolejnym, czwartym algorytmem jest AI o nazwie: GPEN – Blind Face Restoration in the Wild

Błędna interpretacja uszkodzeń jako okularów przez algorytm GPEN

W tym przypadku wyniki działania są trochę dziwne. Algorytm usiłował postarzyć dziewczynę (widać na powiększeniu). Ciekawe jest to, że wszystkie algorytmy (poza AI Microsoftu, który nie podjął się wykonania) uszkodzenie okolic oczu potraktowały jak okulary lub monokl.

Pierwsze podsumowanie

Jak widać, rezultat pierwszego podejścia do rekonstrukcji we wszystkich przypadkach był, delikatnie mówią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łanie. Algorytmó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 po ich zastosowaniu.

Choć AI w naprawie zdjęć zyskuje na popularności, nie zastąpi pracy grafika. 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 w następnej kolejności można użyć AI.

Zdjęcie po ręcznym usunięciu defektów i rozmyciu twarzy

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. Na końcu 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.

Wynik działania GFPGAN na wstępnie naprawionym zdjęciu
Portret dziewczynki po ręcznym usunięciu błędu algorytmu przy oku

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).

Twarz po ponownym przetworzeniu przez algorytm GFPGAN

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 w Adobe Photoshop 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.

Proces łączenia warstwy AI z oryginałem przy kryciu 65%

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.

Portret po finalnym dopracowaniu kształtu ust i oczu

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.

Skończona renowacja zdjęcia z nałożoną fakturą i sepią

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.

Algorytmy do rekonstrukcji twarzy – 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 sensownych 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, że aby AI dobrze zadziałało, musi mieć odpowiednio (ręcznie) przygotowany materiał wejściowy.