Grupa badawcza z Uniwersytetu Technicznego w Szanghaju narzędzia , umożliwiający dzięki metodom uczenia maszynowego symulowanie ruchów ludzi na statycznych obrazach, a także wymianę ubrań, przenoszenie do innego otoczenia oraz zmianę kąta widzenia obiektu. Kod napisany jest w języku Python
z wykorzystaniem frameworka . Wymagana jest także i CUDA Toolkit.

Narzędzie otrzymuje dwuwymiarowy obraz i syntetyzuje zmieniony wynik na podstawie wybranego modelu. Obsługiwane są trzy warianty transformacji:
Tworzenie ruchomego obiektu, naśladującego ruchy, na których model został wytrenowany. Przeniesienie elementów wyglądu z modelu do obiektu (na przykład zmiana ubrania). Generacja nowego kąta widzenia (na przykład syntetyzowanie obrazu z profilu na podstawie zdjęcia frontalnego). Wszystkie trzy metody mogą być łączone, na przykład można generować wideo z zdjęcia, imitujące wykonanie skomplikowanego akrobatycznego triku w innych ubraniach.

Podczas syntezowania przeprowadzane są również operacje wyodrębniania obiektu na zdjęciu oraz formowania brakujących elementów tła przy przenoszeniu. Model dla sieci neuronowej może być wytrenowany raz i używany do różnych transformacji. Aby pobrać gotowe modele, które umożliwiają natychmiastowe wykorzystanie narzędzia bez przeprowadzania wstępnego treningu. Wymagany jest GPU o pamięci co najmniej 8GB.
W przeciwieństwie do metod transformacji opartych na przekształceniach za pomocą punktów kluczowych opisujących pozycję ciała w przestrzeni dwuwymiarowej, w Impersonator podjęto próbę syntezy trójwymiarowej siatki (mesh) z opisem ciała, wykorzystując metody uczenia maszynowego.
Proponowana metoda pozwala na przeprowadzanie manipulacji z uwzględnieniem zindywidualizowanej formy ciała i aktualnej pozy, modelując naturalne ruchy kończyn.
Aby zachować informacje o pierwotnych elementach, takich jak tekstury, styl, kolory i rozpoznawalność twarzy, podczas transformacji zastosowano (). Informacje o oryginalnym obiekcie oraz parametry dla jego dokładnej identyfikacji są wyodrębniane poprzez zastosowanie .

Źródło: opennet.ru
