stub Paint3D: Model rozpraszania światła bez oświetlenia do generowania obrazu — Unite.AI
Kontakt z nami

Artificial Intelligence

Paint3D: Model rozpraszania światła bez oświetlenia do generowania obrazu

mm
Zaktualizowano on

Szybki rozwój modeli generatywnych AI, szczególnie głębokich modeli generatywnych AI, znacznie zwiększył możliwości generowania języka naturalnego, generowania obrazów 3D, generowania obrazów i syntezy mowy. Modele te zrewolucjonizowały produkcję 3D w różnych branżach. Jednak wiele z nich stoi przed wyzwaniem: ich złożone okablowanie i wygenerowane siatki często nie są kompatybilne z tradycyjnymi potokami renderowania, takimi jak renderowanie oparte na fizyce (PBR). Modele oparte na dyfuzji, zwłaszcza bez tekstur oświetlenia, demonstrują imponujące generowanie różnorodnych zasobów 3D, ulepszając struktury 3D w tworzeniu filmów, grach i AR/VR.

W tym artykule przedstawiono Paint3D, nowatorską platformę do tworzenia różnorodnych map tekstur UV o wysokiej rozdzielczości 2K dla nieteksturowanych siatek 3D, uzależnionych od danych wejściowych wizualnych lub tekstowych. Głównym wyzwaniem Paint3D jest generowanie wysokiej jakości tekstur bez wbudowanego oświetlenia, umożliwiając użytkownikowi ponowną edycję lub ponowne oświetlenie w nowoczesnych potokach graficznych. Wykorzystuje wstępnie wytrenowany model dyfuzji 2D do łączenia tekstur w wielu widokach, generując początkowe mapy tekstur zgrubnych. Jednak mapy te często pokazują artefakty oświetlenia i niekompletne obszary ze względu na ograniczenia modelu 2D w zakresie wyłączania efektów świetlnych i pełnego przedstawiania kształtów 3D. Zagłębimy się w działanie, architekturę i porównania Paint3D z innymi głębokimi frameworkami generatywnymi. Zaczynajmy.

Paint3D: wprowadzenie

Możliwości modeli Deep Generative AI w generowaniu języka naturalnego, generowaniu 3D i syntezie obrazów są dobrze znane i wdrażane w rzeczywistych aplikacjach, rewolucjonizując branżę generowania 3D. Pomimo swoich niezwykłych możliwości, nowoczesne głębokie generatywna sztuczna inteligencja frameworki generują siatki charakteryzujące się złożonym okablowaniem i chaotycznymi teksturami oświetlenia, które często są niekompatybilne z konwencjonalnymi potokami renderowania, w tym PBR lub renderowaniem opartym na fizyce. Podobnie jak głębokie modele generatywne AI, synteza tekstur również szybko się rozwinęła, szczególnie w przypadku wykorzystania modeli dyfuzji 2D. Modele syntezy tekstur wykorzystują wstępnie wytrenowaną głębię obrazu modele dyfuzyjne efektywnie wykorzystywać warunki tekstowe do generowania wysokiej jakości tekstur. Jednakże podejścia te napotykają problemy związane z wstępnie oświetlonymi teksturami, które mogą znacząco wpłynąć na końcowe renderowanie środowiska 3D i powodować błędy oświetlenia, gdy światła są zmieniane w ramach typowych procesów roboczych, jak pokazano na poniższym obrazku. 

Jak można zaobserwować, mapa tekstur z wolnym oświetleniem działa zsynchronizowana z tradycyjnymi potokami renderowania, zapewniając dokładne wyniki, podczas gdy mapa tekstur ze wstępnym oświetleniem zawiera nieodpowiednie cienie po zastosowaniu ponownego oświetlenia. Z drugiej strony struktury generowania tekstur wyszkolone na danych 3D oferują alternatywne podejście, w którym struktura generuje tekstury, rozumiejąc całą geometrię określonego obiektu 3D. Chociaż platformy generowania tekstur wyszkolone na danych 3D mogą zapewniać lepsze wyniki, brakuje im możliwości uogólniania, co utrudnia ich zastosowanie modelu do obiektów 3D poza danymi szkoleniowymi. 

Obecne modele generowania tekstur stoją przed dwoma krytycznymi wyzwaniami: korzystaniem ze wskazówek dotyczących obrazu lub różnorodnych podpowiedzi w celu osiągnięcia szerszego stopnia uogólnienia dla różnych obiektów, a drugim wyzwaniem jest eliminacja sprzężonego oświetlenia na wynikach uzyskanych przed treningiem. Wstępnie oświetlone tekstury mogą potencjalnie zakłócać końcowe wyniki teksturowanych obiektów w silnikach renderujących, a ponieważ wstępnie wytrenowane modele dyfuzji 2D zapewniają wyniki 2D tylko w domenie widoku, brakuje im wszechstronnego zrozumienia kształtów, co prowadzi do ich niemożności aby zachować spójność widoku obiektów 3D. 

Ze względu na wyżej wymienione wyzwania framework Paint3D podejmuje próbę opracowania dwuetapowego modelu dyfuzji tekstur dla obiektów 3D, który generalizuje na różne wstępnie wytrenowane modele generatywne i zachowuje spójność widoku podczas uczenia się błyskawicznego generowania tekstur. 

Paint3D to dwuetapowy model generowania tekstur od grubej do drobnej, którego celem jest wykorzystanie silnych, szybkich wskazówek i możliwości generowania obrazów wstępnie wyszkolonych generatywna sztuczna inteligencja modele do teksturowania obiektów 3D. Na pierwszym etapie środowisko Paint3D najpierw próbkuje obrazy z wielu widoków ze wstępnie wytrenowanego modelu dyfuzji obrazu 2D uwzględniającego głębokość, aby umożliwić uogólnienie wysokiej jakości i bogatych wyników tekstur na podstawie różnych podpowiedzi. Następnie model generuje początkową mapę tekstury, rzutując te obrazy na powierzchnię siatki 3D. W drugim etapie model koncentruje się na generowaniu tekstur pozbawionych oświetlenia, wdrażając podejścia stosowane w modelach dyfuzyjnych specjalizujących się w usuwaniu wpływów oświetlenia i udoskonalaniu niekompletnych obszarów z uwzględnieniem kształtu. W trakcie całego procesu środowisko Paint3D jest w stanie konsekwentnie generować semantycznie wysokiej jakości tekstury 2K i eliminuje wewnętrzne efekty świetlne. 

Podsumowując, Paint3D to nowatorski model sztucznej inteligencji od grubej do drobnej, którego celem jest tworzenie różnorodnych, pozbawionych oświetlenia map tekstur UV o wysokiej rozdzielczości 2K dla nieteksturowanych siatek 3D w celu osiągnięcia najnowocześniejszej wydajności w teksturowaniu obiektów 3D z różnymi warunkami warunkowymi danych wejściowych, w tym tekstu i obrazów, i oferuje znaczną przewagę w zadaniach syntezy i edycji grafiki. 

Metodologia i architektura

Środowisko Paint3D generuje i udoskonala mapy tekstur stopniowo, aby wygenerować różnorodne i wysokiej jakości mapy tekstur dla modeli 3D przy użyciu pożądanych danych wejściowych warunkowych, w tym obrazów i podpowiedzi, jak pokazano na poniższej ilustracji. 

Na etapie zgrubnym model Paint3D wykorzystuje wstępnie wytrenowane modele dyfuzji obrazu 2D do próbkowania obrazów z wieloma widokami, a następnie tworzy początkowe mapy tekstur, wyświetlając te obrazy z powrotem na powierzchni siatki. W drugim etapie, tj. etapie udoskonalania, model Paint3D wykorzystuje proces dyfuzji w przestrzeni UV w celu ulepszenia map gruboziarnistych tekstur, uzyskując w ten sposób wysoką jakość, funkcję malowania i pozbawioną oświetlenia, która zapewnia atrakcyjność wizualną i kompletność ostatecznej tekstury . 

Etap 1: Stopniowe generowanie grubej tekstury

Na etapie generowania progresywnej tekstury grubej model Paint3D generuje mapę tekstury grubej UV dla siatek 3D, które wykorzystują wstępnie wytrenowany model dyfuzji 2D uwzględniający głębokość. Mówiąc dokładniej, model najpierw wykorzystuje różne widoki z kamer do renderowania mapy głębi, następnie wykorzystuje warunki głębokości do próbkowania obrazów z modelu dyfuzji obrazu, a następnie rzutuje te obrazy na powierzchnię siatki. Struktura wykonuje na przemian metody renderowania, próbkowania i projekcji wstecznej, aby poprawić spójność siatek tekstur, co ostatecznie pomaga w stopniowym generowaniu mapy tekstur. 

Model rozpoczyna generowanie tekstury widocznego obszaru z widokami kamery skupiającymi się na siatce 3D i renderuje siatkę 3D do mapy głębi z pierwszego widoku. Następnie model próbkuje obraz tekstury pod kątem warunku wyglądu i głębokości. Następnie model rzutuje obraz na siatkę 3D. W przypadku punktów widzenia model Paint3D stosuje podobne podejście, ale z niewielką zmianą, wykonując proces próbkowania tekstury przy użyciu podejścia do malowania obrazu. Co więcej, model uwzględnia teksturowane obszary z poprzednich punktów widzenia, dzięki czemu w bieżącym widoku w procesie renderowania nie tylko powstaje obraz głębi, ale także częściowo pokolorowany obraz RGB z bezbarwną maską. 

Następnie model wykorzystuje model obrazu świadomy głębi z koderem obrazu, aby wypełnić bezbarwny obszar obrazu RGB. Następnie model generuje mapę tekstur z widoku, rzutując od tyłu namalowany obraz na siatkę 3D w bieżącym widoku, co pozwala modelowi na stopniowe generowanie mapy tekstury i uzyskiwanie całej mapy struktury zgrubnej. Wreszcie model rozszerza proces próbkowania tekstury na scenę lub obiekt z wieloma widokami. Mówiąc dokładniej, model wykorzystuje parę kamer do przechwytywania dwóch map głębi podczas początkowego próbkowania tekstury z symetrycznych punktów widzenia. Następnie model łączy dwie mapy głębi i tworzy siatkę głębi. Model zastępuje obraz o pojedynczej głębi siatką głębi, aby wykonać próbkowanie tekstur z uwzględnieniem głębi w wielu widokach. 

Etap 2: Udoskonalanie tekstury w przestrzeni UV

Chociaż wygląd map z grubymi teksturami jest logiczny, wiąże się to z pewnymi wyzwaniami, takimi jak dziury w teksturach powstałe podczas procesu renderowania w wyniku samookluzji lub cienie błyskawic wynikające z wykorzystania modeli dyfuzji obrazu 2D. Model Paint3D ma na celu przeprowadzenie procesu dyfuzji w przestrzeni UV na podstawie mapy tekstury zgrubnej, próbując złagodzić problemy i jeszcze bardziej poprawić atrakcyjność wizualną mapy tekstury podczas udoskonalania tekstury. Jednakże udoskonalenie głównego modelu dyfuzji obrazu za pomocą map tekstur w przestrzeni UV wprowadza nieciągłość tekstury, ponieważ mapa tekstur jest generowana przez mapowanie UV tekstury powierzchni 3D, które przecina ciągłą teksturę na serię pojedynczych fragmentów w UV przestrzeń. W wyniku fragmentacji model ma trudności z nauką relacji przylegania 3D pomiędzy fragmentami, co prowadzi do problemów z nieciągłością tekstury. 

Model udoskonala mapę tekstury w przestrzeni UV, przeprowadzając proces dyfuzji pod kierunkiem informacji o przyleganiu fragmentów tekstury. Należy zauważyć, że w przestrzeni UV to mapa pozycji reprezentuje trójwymiarową informację o sąsiedztwie fragmentów tekstury, przy czym model traktuje każdy element niebędący tłem jako współrzędną punktu 3D. Podczas procesu dyfuzji model łączy informacje o sąsiedztwie 3D, dodając indywidualny koder mapy pozycji do wstępnie wyszkolonego modelu dyfuzji obrazu. Nowy koder przypomina konstrukcję frameworku ControlNet i ma tę samą architekturę, co koder zaimplementowany w modelu dyfuzji obrazu z łączącą je warstwą zerowego splotu. Co więcej, model dyfuzji tekstury jest szkolony na zbiorze danych zawierającym mapy tekstur i pozycji, a model uczy się przewidywać szum dodany do ukrytego szumu. Następnie model optymalizuje koder położenia i zamraża wytrenowany denoiser na potrzeby zadania dyfuzji obrazu. 

Następnie model jednocześnie wykorzystuje położenie kodera warunkowego i innych koderów do wykonywania zadań udoskonalających w przestrzeni UV. Pod tym względem model posiada dwie możliwości uszlachetniania: UVHD lub UV High Definition oraz malowanie UV. Metoda UVHD ma na celu poprawę atrakcyjności wizualnej i estetyki mapy tekstur. Aby osiągnąć UVHD, w modelu zastosowano koder poprawiający obraz i koder położenia z modelem dyfuzyjnym. W modelu zastosowano metodę malowania UV, aby wypełnić dziury tekstury w płaszczyźnie UV, co pozwala uniknąć problemów z samookluzją generowanych podczas renderowania. Na etapie udoskonalania model Paint3D najpierw wykonuje malowanie UV, a następnie wykonuje UVHD w celu wygenerowania ostatecznej, udoskonalonej mapy tekstur. Integrując dwie metody udoskonalania, środowisko Paint3D jest w stanie tworzyć kompletne, różnorodne mapy tekstur UV o wysokiej rozdzielczości i pozbawione oświetlenia. 

Paint3D: eksperymenty i wyniki

Model Paint3D wykorzystuje Stabilna dyfuzja model text2image, który pomaga mu w zadaniach związanych z generowaniem tekstur, podczas gdy wykorzystuje komponent kodera obrazu do obsługi warunków obrazu. Aby jeszcze bardziej poprawić kontrolę warunkową, taką jak malowanie obrazu, głębia i wysoka rozdzielczość obrazu, środowisko Paint3D wykorzystuje kodery domeny ControlNet. Model zaimplementowano w frameworku PyTorch, a renderowanie i projekcje tekstur zaimplementowano w Kaolin. 

Porównanie tekstu z teksturami

Aby przeanalizować jego wydajność, zaczynamy od oceny efektu generowania tekstur przez Paint3D po warunkowaniu za pomocą podpowiedzi tekstowych i porównujemy go z najnowocześniejszymi frameworkami, w tym Text2Tex, TEXTure i LatentPaint. Jak można zaobserwować na poniższym obrazku, środowisko Paint3D nie tylko przoduje w generowaniu wysokiej jakości szczegółów tekstur, ale także dość dobrze syntetyzuje mapę tekstur pozbawioną oświetlenia. 

Dla porównania, framework Latent-Paint ma skłonność do generowania rozmytych tekstur, co skutkuje suboptymalnymi efektami wizualnymi. Z drugiej strony, chociaż framework TEXTure generuje wyraźne tekstury, brakuje mu gładkości i wykazuje zauważalne sploty i szwy. Wreszcie framework Text2Tex generuje gładkie tekstury wyjątkowo dobrze, ale nie jest w stanie odtworzyć wydajności generowania delikatnych tekstur ze skomplikowanymi szczegółami. 

Poniższy obraz porównuje ilościowo framework Paint3D z najnowocześniejszymi frameworkami. 

Jak można zaobserwować, framework Paint3D przewyższa wszystkie istniejące modele i to ze znaczną przewagą, z prawie 30% poprawą w stosunku do linii bazowej FID i około 40% poprawą w linii bazowej KID. Poprawa podstawowych wyników FID i KID pokazuje zdolność Paint3D do generowania wysokiej jakości tekstur dla różnych obiektów i kategorii. 

Porównanie obrazu z teksturą

Aby wygenerować możliwości generatywne programu Paint3D za pomocą podpowiedzi wizualnych, jako linii bazowej używamy modelu TEXTure. Jak wspomniano wcześniej, model Paint3D wykorzystuje koder obrazu pochodzący z modelu text2image ze Stable Diffusion. Jak widać na poniższym obrazku, środowisko Paint3D wyjątkowo dobrze syntetyzuje znakomite tekstury i nadal jest w stanie zachować wysoką wierność w zależności od stanu obrazu. 

Z drugiej strony framework TEXTure jest w stanie wygenerować teksturę podobną do Paint3D, ale nie jest w stanie dokładnie przedstawić szczegółów tekstury w stanie obrazu. Co więcej, jak pokazano na poniższym obrazie, platforma Paint3D zapewnia lepsze wyniki bazowe FID i KID w porównaniu ze strukturą TEXTure, przy czym pierwsza z nich spadła z 40.83 do 26.86, podczas gdy druga wykazała spadek z 9.76 do 4.94. 

Final Thoughts

W tym artykule omawialiśmy Paint3D, nowatorski framework umożliwiający tworzenie pozbawionych oświetlenia, zróżnicowanych map tekstur UV o wysokiej rozdzielczości 2K dla nieteksturowanych siatek 3D, uzależnionych od danych wejściowych wizualnych lub tekstowych. Główną cechą środowiska Paint3D jest to, że jest w stanie generować tekstury 2K UV o wysokiej rozdzielczości i wysokiej rozdzielczości bez oświetlenia, które są semantycznie spójne i nie są uzależnione od wprowadzonych obrazów lub tekstu. Dzięki podejściu od zgrubnej do dokładnej środowisko Paint3D tworzy mapy tekstur pozbawione oświetlenia, zróżnicowane i o wysokiej rozdzielczości oraz zapewnia lepszą wydajność niż obecne najnowocześniejsze frameworki. 

„Inżynier z zawodu, pisarz z zamiłowania”. Kunal jest pisarzem technicznym, który głęboko kocha i rozumie sztuczną inteligencję i uczenie maszynowe, a którego celem jest upraszczanie złożonych koncepcji w tych dziedzinach poprzez swoją wciągającą i pouczającą dokumentację.