Modele i platformy AI
Paint3D: Bezświetlny Model Dyfuzji do Generacji Obrazów
Szybki rozwój modeli generatywnych AI, szczególnie głębokich modeli generatywnych AI, znacznie rozwinął możliwości w generowaniu języka naturalnego, generowaniu 3D, generowaniu obrazów i syntezie mowy. Modele te rewolucjonizują produkcję 3D w różnych branżach. Jednak wiele z nich stoi przed wyzwaniem: ich złożone połączenia i wygenerowane siatki często nie są kompatybilne z tradycyjnymi potokami renderowania, takimi jak Physically Based Rendering (PBR). Modele oparte na dyfuzji, szczególnie te bez tekstur oświetlenia, demonstrują imponującą generację zasobów 3D, poprawiając ramy 3D w filmach, grach i AR/VR.
Ten artykuł przedstawia Paint3D, nowatorską ramę do produkcji różnorodnych, wysokiej rozdzielczości map tekstur 2K UV dla nieutexturowanych siatek 3D, warunkowo na wejściach wizualnych lub tekstowych. Głównym wyzwaniem Paint3D jest generowanie wysokiej jakości tekstur bez wbudowanego oświetlenia, umożliwiając użytkownikom edycję lub ponowne oświetlenie w ramach nowoczesnych potoków graficznych. Wykorzystuje on wstępnie wytrenowany model dyfuzji 2D do fuzji wielowidokowej, generując początkowe gruboziarniste mapy tekstur. Jednak te mapy często wykazują artefakty oświetlenia i niepełne obszary ze względu na ograniczenia modelu 2D w wyłączaniu efektów oświetlenia i pełnym przedstawianiu kształtów 3D. Będziemy się zagłębiać w działanie Paint3D, architekturę i porównania z innymi głębokimi ramami generatywnymi. Zaczynajmy.
Paint3D: Wprowadzenie
Możliwości modeli generatywnych AI w generowaniu języka naturalnego, generowaniu 3D i syntezie obrazów są dobrze znane i wdrożone w aplikacjach rzeczywistych, rewolucjonizując przemysł generowania 3D. Pomimo ich imponujących możliwości, nowoczesne głębokie ramy generatywne AI generują siatki, które charakteryzują się złożonymi połączeniami i chaotycznymi teksturami oświetlenia, często niezgodnymi z konwencjonalnymi potokami renderowania, w tym PBR lub Physically Based Rendering. Podobnie jak głębokie modele generatywne AI, synteza tekstur również znacznie się rozwinęła, zwłaszcza w wykorzystaniu modeli dyfuzji 2D. Modele syntezy tekstur wykorzystują wstępnie wytrenowane modele dyfuzji głębokości do efektywnego wykorzystania warunków tekstowych do generowania wysokiej jakości tekstur. Jednak te podejścia napotykają trudności z pre-oznaczonymi teksturami, które mogą znacznie wpłynąć na finalne renderowania środowiska 3D i wprowadzić błędy oświetlenia, gdy światła są zmieniane w ramach typowych workflow, jak to pokazano na poniższym obrazie.

Jak można zaobserwować, mapa tekstury z wolnym oświetleniem działa w synchronizacji z tradycyjnymi potokami renderowania, dostarczając dokładne wyniki, podczas gdy mapa tekstury z pre-oświetleniem zawiera nieodpowiednie cienie, gdy jest stosowane ponowne oświetlenie. Z drugiej strony, ramy generowania tekstur wytrenowane na danych 3D oferują alternatywne podejście, w którym ramy generują tekstury, rozumiejąc geometrię określonego obiektu 3D. Chociaż mogą one dostarczyć lepsze wyniki, ramy generowania tekstur wytrenowane na danych 3D brakuje zdolności uogólniania, co utrudnia ich zastosowanie do obiektów 3D spoza ich danych szkoleniowych.
Bieżące modele generowania tekstur stają przed dwoma krytycznymi wyzwaniami: wykorzystaniem wskazówek obrazu lub różnorodnych podpowiedzi, aby osiągnąć szerszy stopień uogólnienia w różnych obiektach, oraz drugim wyzwaniem, jakim jest eliminacja sprzężonego oświetlenia w wynikach uzyskanych z wstępnego szkolenia. Pre-oznaczone tekstury mogą potencjalnie interferować z końcowymi wynikami obiektów tekstur w silnikach renderowania, a ponieważ wstępnie wytrenowane modele dyfuzji 2D dostarczają wyniki 2D tylko w dziedzinie widoku, brakuje im pełnego zrozumienia kształtów, co prowadzi do braku spójności widoku dla obiektów 3D.
Z powodu wymienionych wyżej wyzwań, ramy Paint3D próbują opracować dwuetapowy model dyfuzji tekstur dla obiektów 3D, który uogólnia się do różnych wstępnie wytrenowanych modeli generatywnych i zachowuje spójność widoku podczas nauki generowania tekstur bez oświetlenia.
Paint3D jest modelem generowania tekstur od gruboziarnistego do drobnego, który ma na celu wykorzystanie silnych wskazówek i zdolności generowania obrazów wstępnie wytrenowanych modeli generatywnych AI do tekstur obiektów 3D. W pierwszym etapie, ramy Paint3D najpierw próbkują obrazy wielowidokowe z wstępnie wytrenowanego modelu dyfuzji obrazu 2D, aby umożliwić uogólnienie wysokiej jakości i bogatych wyników tekstur z różnorodnych podpowiedzi. Model następnie generuje początkową mapę tekstury, projekując te obrazy na powierzchnię siatki. W drugim etapie, model koncentruje się na generowaniu tekstur bez oświetlenia, wdrażając podejścia zastosowane w modelach dyfuzji specjalizujących się w usuwaniu wpływów oświetlenia i ulepszaniu niepełnych obszarów. W trakcie całego procesu, ramy Paint3D są w stanie generować wysokiej jakości tekstury 2K semantycznie i eliminować wewnętrzne efekty oświetlenia.

Podsumowując, Paint3D jest nowatorskim modelem generatywnym AI, który ma na celu produkcję różnorodnych, bezświetlnych i wysokiej rozdzielczości map tekstur 2K UV dla nieutexturowanych siatek 3D, aby osiągnąć najwyższe wyniki w teksturach 3D z różnymi warunkami wejściowymi, w tym tekstami i obrazami, i oferuje znaczącą przewagę w syntezie i edycji grafiki.
Metodologia i Architektura
Ramy Paint3D generują i ulepszają mapy tekstur stopniowo, aby wygenerować różnorodne i wysokiej jakości mapy tekstur dla modeli 3D, używając pożądanych warunków wejściowych, w tym obrazów i podpowiedzi, jak to pokazano na poniższym obrazie.

W etapie gruboziarnistym, model Paint3D wykorzystuje wstępnie wytrenowane modele dyfuzji obrazu 2D do próbkowania obrazów wielowidokowych, a następnie tworzy początkowe mapy tekstur, projekując te obrazy na powierzchnię siatki. W drugim etapie, czyli etapie ulepszania, model Paint3D wykorzystuje proces dyfuzji w przestrzeni UV, aby ulepszyć mapy tekstur gruboziarnistych, osiągając wysokiej jakości, wypełnianie i funkcję bez oświetlenia, co gwarantuje wizualną atrakcyjność i kompletność końcowej tekstury.
Etap 1: Postępowe Generowanie Tekstur Gruboziarnistych
W etapie postępowego generowania tekstur gruboziarnistych, model Paint3D generuje mapę tekstury gruboziarnistą dla siatek 3D, wykorzystując wstępnie wytrenowany model dyfuzji głębokości 2D. Konkretnie, model najpierw wykorzystuje różne widoki kamery do renderowania mapy głębi, a następnie wykorzystuje warunki głębi do próbkowania obrazów z modelu dyfuzji obrazu, a następnie projekuje te obrazy na powierzchnię siatki. Ramy wykonują renderowanie, próbkowanie i projekcję podejść na przemian, aby poprawić spójność map tekstur, co ostatecznie pomaga w postępowym generowaniu mapy tekstury.
Model zaczyna generować teksturę widocznego obszaru z widokami kamery skupionymi na siatce 3D i renderuje siatkę 3D do mapy głębi z pierwszego widoku. Model następnie próbkuję obraz tekstury dla warunku wyglądu i warunku głębi. Model następnie projekuje obraz na siatkę 3D. Dla punktów widzenia, model Paint3D wykonuje podobne podejście, ale z niewielką zmianą, wykonywając proces próbkowania tekstury przy użyciu podejścia malowania obrazu. Ponadto, model bierze pod uwagę tekstury obszarów z poprzednich widoków, pozwalając procesowi renderowania nie tylko wyjść z obrazem głębi, ale także z częściowo zakolorowanym obrazem RGB z maską niekolorowaną w bieżącym widoku.
Model następnie wykorzystuje model wypełniania obrazu zgodnego z głębią z kodera wypełniania, aby wypełnić niekolorowany obszar w obrazie RGB. Model następnie generuje mapę tekstury z widoku, projekując wypełniony obraz na siatkę 3D pod bieżącym widokiem, pozwalając modelowi generować mapę tekstury postępowo i dochodząc do całej gruboziarnistej struktury mapy. Na koniec, model rozszerza proces próbkowania tekstury do sceny lub obiektu z wieloma widokami. Konkretnie, model wykorzystuje parę kamer do przechwycenia dwóch map głębi podczas początkowego próbkowania tekstury z symetrycznych widoków. Model następnie łączy dwie mapy głębi i tworzy siatkę głębi. Model zastępuje pojedynczy obraz głębi siatką głębi, aby wykonać wielowidokowe próbkowanie tekstury zgodne z głębią.
Etap 2: Ulepszanie Tekstury w Przestrzeni UV
Chociaż wygląd map tekstur gruboziarnistych jest logiczny, staje przed wyzwaniami, takimi jak dziury tekstury spowodowane podczas procesu renderowania przez samozacienienie lub cienie oświetlenia z powodu udziału modeli dyfuzji 2D. Model Paint3D ma na celu wykonywanie procesu dyfuzji w przestrzeni UV na podstawie mapy tekstury gruboziarnistej, próbując złagodzić problemy i poprawić wizualną atrakcyjność mapy tekstury podczas ulepszania tekstury. Jednak ulepszanie standardowego modelu dyfuzji obrazu z mapami tekstur w przestrzeni UV wprowadza nieciągłość tekstury, ponieważ mapa tekstury jest generowana przez mapowanie UV powierzchni 3D, które rozcinają ciągłą teksturę na serię oddzielnych fragmentów w przestrzeni UV. W wyniku fragmentacji, model ma trudności z nauką relacji sąsiedztwa 3D między fragmentami, co prowadzi do problemów nieciągłości tekstury.
Model ulepsza mapę tekstury w przestrzeni UV, wykonując proces dyfuzji pod kierunkiem informacji o sąsiedztwie fragmentów tekstury. Ważne jest, aby zauważyć, że w przestrzeni UV, mapa położenia reprezentuje informacje o sąsiedztwie 3D fragmentów tekstury, z modelem traktującym każdy nie-tło element jako współrzędną 3D. Podczas procesu dyfuzji, model łączy informacje o sąsiedztwie 3D, dodając indywidualny kodery mapy położenia do wstępnie wytrenowanego modelu dyfuzji obrazu. Nowy kodery przypomina projekt ramy ControlNet i ma taką samą architekturę, jak kodery wdrożone w modelu dyfuzji obrazu, z warstwą zero-convolution łączącą je. Ponadto, model dyfuzji tekstury jest szkolony na zbiorze danych składającym się z map tekstur i map położenia, a model uczy się przewidywać szum dodany do latentu. Model następnie optymalizuje kodery położenia i zamyka wytrenowany denoiser dla zadania dyfuzji obrazu.
Model następnie wykorzystuje położenie kodera warunkowego i innych koderów, aby wykonać zadania ulepszania w przestrzeni UV. W tym zakresie, model ma dwie możliwości ulepszania: UVHD lub UV High Definition i UV wypełnianie. Metoda UVHD jest zaprojektowana, aby poprawić wizualną atrakcyjność i estetykę mapy tekstury. Aby osiągnąć UVHD, model wykorzystuje kodery wzmocnienia obrazu i kodery położenia z modelem dyfuzji. Model wykorzystuje metodę wypełniania UV, aby wypełnić dziury tekstury w płaszczyźnie UV, co pozwala uniknąć problemów samozacienienia generowanych podczas renderowania. W etapie ulepszania, model Paint3D najpierw wykonuje wypełnianie UV, a następnie wykonuje UVHD, aby wygenerować ostateczną ulepszoną mapę tekstury. Poprzez integrowanie obu metod ulepszania, ramy Paint3D są w stanie produkować kompletne, różnorodne, wysokiej rozdzielczości i bezświetlne mapy tekstur UV.
Paint3D: Eksperymenty i Wyniki
Model Paint3D wykorzystuje model Stable Diffusion text2image, aby pomóc w zadaniach generowania tekstur, podczas gdy wykorzystuje składnik kodera obrazu, aby obsłużyć warunki obrazu. Aby dalej poprawić swoją kontrolę nad warunkami, takimi jak wypełnianie obrazu, głębokość i wysoka rozdzielczość obrazu, ramy Paint3D wykorzystują kodery domenowe ControlNet. Model jest wdrożony w ramach PyTorch, z renderowaniem i projekcją tekstury wdrożonymi w Kaolin.
Porównanie Tekstury z Teksturami
Aby przeanalizować swoje wyniki, zaczynamy od oceny efektu generowania tekstur Paint3D, gdy jest warunkowany przy użyciu podpowiedzi tekstowych, i porównujemy go z ramami stanu sztuki, w tym Text2Tex, TEXTure i LatentPaint. Jak można zaobserwować na poniższym obrazie, ramy Paint3D nie tylko wyróżniają się w generowaniu wysokiej jakości szczegółów tekstury, ale także syntetyzują rozsądną mapę tekstury bez oświetlenia.

W porównaniu, ramy Latent-Paint są skłonne do generowania rozmytych tekstur, co prowadzi do nieoptymalnych efektów wizualnych. Z drugiej strony, chociaż ramy TEXTure generują wyraźne tekstury, brakuje im gładkości i wykazują widoczne szwy i połączenia. Na koniec, ramy Text2Tex generują gładkie tekstury w sposób godny uwagi, ale nie są w stanie odtworzyć wyników w generowaniu drobnych tekstur z intratnymi detalami.
Poniższy obraz porównuje ramy Paint3D z ramami stanu sztuki ilościowo.

Jak można zaobserwować, ramy Paint3D przewyższają wszystkie istniejące modele, a to znaczną różnicą, z prawie 30% poprawą w bazie FID i około 40% poprawą w bazie KID. Poprawa w bazie FID i KID demonstruje zdolność Paint3D do generowania wysokiej jakości tekstur w różnych obiektach i kategoriach.
Porównanie Obrazu z Teksturą
Aby wygenerować możliwości generatywne Paint3D przy użyciu wizualnych podpowiedzi, wykorzystujemy model TEXTure jako bazę. Jak wcześniej wspomniano, model Paint3D wykorzystuje kodery obrazu z modelu text2image z Stable Diffusion. Jak można zobaczyć na poniższym obrazie, ramy Paint3D syntetyzują wyśmienite tekstury w sposób godny uwagi, a jednocześnie są w stanie utrzymać wysoką wierność w stosunku do warunku obrazu.

Z drugiej strony, ramy TEXTure są w stanie wygenerować teksturę podobną do Paint3D, ale nie są w stanie przedstawić szczegółów tekstury w warunku obrazu dokładnie. Ponadto, jak to pokazano na poniższym obrazie, ramy Paint3D dostarczają lepsze wyniki FID i KID w porównaniu z ramami TEXTure, z pierwszym spadającym z 40,83 do 26,86, a drugim spadającym z 9,76 do 4,94.

Końcowe Myśli
W tym artykule omówiliśmy Paint3D, nowatorską ramę, która jest w stanie produkować bezświetlne, różnorodne i wysokiej rozdzielczości mapy tekstur 2K UV dla nieutexturowanych siatek 3D, warunkowo na wejściach wizualnych lub tekstowych. Głównym punktem ram Paint3D jest to, że są one w stanie generować bezświetlne, wysokiej rozdzielczości tekstury 2K, które są semantycznie spójne, bez warunkowania na obrazie lub tekście. Dzięki swojemu podejściu od gruboziarnistego do drobnego, ramy Paint3D produkują bezświetlne, różnorodne i wysokiej rozdzielczości mapy tekstur, i dostarczają lepsze wyniki niż bieżące ramy stanu sztuki.












