Czy można trenować sieć neuronową, aby rysować obraz w określonym stylu? (Więc pobiera obraz i przerysowuje w stylu, dla którego został wytrenowany).
Czy istnieje zatwierdzona technologia dla tego rodzaju rzeczy? Wiem o algorytmie DeepArt. Dobrze jest wypełnić główny obraz pewnym wzorem (na przykład obraz vangoghify), ale szukam czegoś innego - na przykład zrobienia kreskówki w pewnym stylu z portretu wejściowego.
Odpowiedzi:
Istnieje odpowiedni artykuł: LA Gatus, AS Ecker, M Bethge, 2015, A Neural Algorytm of Artistic Style . Cytowanie z streszczenia
Oto rysunek 2 z tego artykułu:
Istnieje również bardzo popularna implementacja typu open source oparta na latarce , która jest dość łatwa w użyciu. Zobacz link, aby uzyskać więcej przykładów.
Należy pamiętać, że obliczenia są ciężkie i dlatego przetwarzanie pojedynczych obrazów jest przedmiotem tej pracy.
Edycja: po sprawdzeniu wspomnianego projektu DeepArt wydaje się, że używa tych samych technik. Nie jestem pewien, dlaczego nie tego chcesz, ponieważ koncepcja przenoszenia stylu jest tak ogólna, jak to tylko możliwe.
źródło
Jest to dość trudny problem do rozwiązania. Możesz zobaczyć kilka przykładów, w jaki sposób styl kreskówkowy, np. Z Simpsona, został zastosowany do obrazu.
Obraz w kreskówce na ogół nie ma struktury, która daje ten efekt artystyczny . Najłatwiejszym sposobem na zastosowanie tego w jakiś sposób byłoby posiadanie narzędzia do śledzenia twarzy, a następnie próba wyrównania dwóch twarzy, np. Twarzy z kreskówki i ludzkiej, a następnie zastosowania. To może cię gdzieś zaprowadzić, ale może również wyglądać dziwnie. Następnie możesz dodać adnotacje do punktów orientacyjnych na obrazach, aby pomóc dalej i dokonać niesztywnej rejestracji przed tym. To nadal jest trochę gówniane rozwiązanie, ale najbliższe, jakie mogę sobie wyobrazić, może zadziałać dla twarzy.
Edytować:
Komentarz @TannerSwett coś do tego dodaje, potencjalnie można przejść na strony niektórych artystów i spróbować znaleźć ich ilustracje i nauczyć się „ich” stylu. Nadal nie uważam, że będzie to zadowalające lub przyniosło wystarczającą ilość danych, ale byłoby to interesujące przetestowanie. Obecnie nie ma ogólnie dostępnego rozwiązania, ale myślę, że zdecydowanie są ludzie, którzy nad tym pracują i wkrótce zobaczymy lepsze wyniki.
Myślę, że być może najlepszą drogą nie jest podejście do artystycznej sieci neuronowej. Być może lepiej jest mieć sieć, która może klasyfikować obiekty na obrazie, a następnie uczyć się zgodności między obiektami i ich odpowiednikami z kreskówek, a następnie mieszać wyniki w jakiś znaczący sposób.
źródło
Nie powinno to być zbyt skomplikowane. Nie przeczytałem wspomnianego artykułu, oto mój przepis:
Zasadniczo daje to sposób na sparametryzowanie „stylu” w twoim przypadku, na przykład powiedzmy, jak szeroki lub niewyraźny powinien być pociągnięcie pędzla. Rzeczy, które zależą od konkretnego stylu, który próbujesz naśladować.
W powyższym przykładzie różne „zmienione” lub „wyobrażone” twarze są funkcją parametrów w utajonej przestrzeni. Na poniższym obrazku byłoby to, co otrzymujesz, zmieniając rzeczy na poziomie „kodu”.
Oto podstawowa idea: oryginalny obraz po lewej, stylizowana wersja tego samego obrazu po prawej:
Teoretycznie, jeśli trenujesz taki model na normalnym obrazie i stylizowanym obrazie jako cel i dodajesz sploty, powinieneś być w stanie nauczyć się filtrów jądra, które odpowiadają rodzajowi „pociągnięć pędzla”, których używa artysta .
Oczywiście oznacza to, że musisz mieć kilka przykładów obrazów zarówno w oryginalnych, jak i stylizowanych wersjach. Taki zestaw danych byłby miły dla społeczności - jeśli to zrobisz, bardzo chętnie zobaczę tego rodzaju pracę.
Powodzenia!
Artykuł wiki na temat koderów automatycznych byłby dobrym punktem wyjścia: https://en.wikipedia.org/wiki/Autoencoder
źródło