Modele și platforme AI

Paint3D: O Introducere

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Apariția modelelor generative de inteligență artificială a accelerat semnificativ dezvoltarea inteligenței artificiale cu capacități remarcabile în generarea limbajului natural, generarea 3D, generarea imaginilor și sinteza vorbirii. Modelele generative 3D au transformat numeroase industrii și aplicații, revoluționând peisajul actual al producției 3D. Cu toate acestea, multe dintre modelele generative actuale se confruntă cu o problemă comună: cablarea complexă și rețelele generate cu texturi de iluminare sunt adesea incompatibile cu conductele de renderizare tradiționale, cum ar fi PBR (Renderizarea Bazată pe Fizică). Modelele bazate pe difuzie, care generează active 3D fără texturi de iluminare, posedă capacități remarcabile pentru generarea de active 3D diverse, consolidând astfel cadrul existent 3D din industrii precum cinematografia, jocurile și realitatea augmentată/virtuală.

În acest articol, vom discuta despre Paint3D, un cadru nou, de la gros la fin, capabil să producă texturi diverse, de înaltă rezoluție, 2K UV, pentru rețele 3D netexturate, condiționate de intrări vizuale sau textuale. Principala provocare pe care Paint3D o abordează este generarea de texturi de înaltă calitate fără a încorpora informații de iluminare, permițând utilizatorilor să reediteze sau să rearanjeze iluminarea în conductele grafice moderne. Pentru a aborda această problemă, cadrul Paint3D utilizează un model de difuzie 2D preantrenat pentru a efectua fuziunea texturilor multi-vizuale și a genera imagini condiționate de vedere, producând inițial o hartă textură grosieră. Cu toate acestea, deoarece modelele 2D nu pot dezactiva complet efectele de iluminare sau reprezenta pe deplin formele 3D, harta textură poate prezenta artefacte de iluminare și zone incomplete.

În acest articol, vom explora cadrul Paint3D în profunzime, examinându-i funcționarea și arhitectura, și comparându-l cu cadrul generativ deep actual. Deci, să începem.

Paint3D: O Introducere

Modelele generative de inteligență artificială au demonstrat capacități excepționale în generarea limbajului natural, generarea 3D și sinteza imaginilor, și au fost implementate în aplicații practice, revoluționând industria generării 3D. Cu toate acestea, în ciuda capacităților lor remarcabile, cadrul actual de inteligență artificială generativă adesea produce rețele cu cablare complexă și texturi de iluminare haotice, incompatibile cu conductele de renderizare convenționale, inclusiv PBR. Similar, sinteza texturilor a evoluat rapid, în special cu utilizarea modelelor de difuzie 2D. Aceste modele utilizează eficient modelele de difuzie preantrenate și condițiile textuale pentru a genera texturi de înaltă calitate. Cu toate acestea, o provocare semnificativă rămâne: texturile preiluminate pot afecta negativ renderizările finale ale mediului 3D, introducând erori de iluminare atunci când lumina este ajustată în cadrul fluxurilor de lucru comune, așa cum se demonstrează în imaginea de mai jos.

După cum se observă, hărțile textură fără preiluminare funcționează fără probleme cu conductele de renderizare tradiționale, oferind rezultate precise. În contrast, hărțile textură cu preiluminare includ umbre inadecvate atunci când se aplică reluarea iluminării. Cadrurile de generare a texturilor antrenate pe date 3D oferă o abordare alternativă, generând texturi prin înțelegerea geometriei unui anumit obiect 3D. Deși aceste cadruri ar putea oferi rezultate mai bune, ele lipsesc de capacitățile de generalizare necesare pentru a aplica modelul la obiecte 3D din afara setului de date de antrenare.

Modelele actuale de generare a texturilor se confruntă cu două provocări critice: atingerea generalizării largi pe obiecte diferite utilizând îndrumarea imaginilor sau promturi diverse, și eliminarea iluminării cuplate din rezultatele preantrenării. Texturile preiluminate pot interfera cu rezultatele finale ale obiectelor texturate în cadrul motoarelor de renderizare. În plus, deoarece modelele de difuzie 2D preantrenate oferă doar rezultate 2D în domeniul vederii, ele lipsesc de o înțelegere cuprinzătoare a formelor, conducând la incoerențe în menținerea consistenței vederii pentru obiectele 3D.

Pentru a aborda aceste provocări, cadrul Paint3D dezvoltă un model de difuzie duală pentru obiecte 3D care generalizează pe diferite modele generative preantrenate și păstrează consistența vederii în timp ce generează texturi fără iluminare.

Paint3D este un model de generare a texturilor dual, de la gros la fin, care utilizează puternica îndrumare a promptului și capacitățile de generare a imaginilor ale modelelor generative preantrenate pentru a textura obiecte 3D. În prima etapă, Paint3D eșantionează imagini multi-vizuale dintr-un model de difuzie 2D preantrenat progresiv, permițând generalizarea rezultatelor textură de înaltă calitate și bogate din prompturi diverse. Modelul generează apoi o hartă textură inițială prin proiectarea acestor imagini pe suprafața rețelei 3D. În a doua etapă, modelul se concentrează pe generarea texturilor fără iluminare prin implementarea abordărilor utilizate de modelele de difuzie specializate în eliminarea influențelor de iluminare și rafinarea regiunilor incomplete conștiente de formă. Pe tot parcursul procesului, cadrul Paint3D generează în mod constant hărți textură de înaltă calitate, 2K, semantic, eliminând efectele intrinseci de iluminare.

În rezumat, Paint3D este un model generativ de inteligență artificială nou, de la gros la fin, proiectat pentru a produce hărți textură diverse, fără iluminare, de înaltă rezoluție, 2K UV, pentru rețele 3D netexturate. Acesta își propune să atingă performanțe de ultimă generație în texturarea obiectelor 3D cu intrări condiționale diferite, inclusiv text și imagini, oferind avantaje semnificative pentru sinteza și editarea grafică.

Metodologia și Arhitectura

Cadrul Paint3D generează și rafinează hărțile textură progresiv pentru a produce texturi diverse și de înaltă calitate pentru modele 3D utilizând intrări condiționale, cum ar fi imagini și prompturi, așa cum se demonstrează în imaginea de mai jos.

Etapa 1: Generarea Texturii Groase Progresive

În etapa inițială de generare a texturii groase, Paint3D utilizează modele de difuzie 2D preantrenate pentru a eșantiona imagini multi-vizuale, care sunt apoi proiectate pe suprafața rețelei pentru a crea hărțile textură inițiale. Această etapă începe cu generarea unei hărți de adâncime din diferite vederi cameră. Modelul utilizează condiții de adâncime pentru a eșantiona imagini din modelul de difuzie, care sunt apoi proiectate pe suprafața rețelei 3D. Acestă abordare de renderizare alternativă, eșantionare și proiectare pe rețea îmbunătățește consistența hărților textură și ajută la generarea progresivă a hărții texturii.

Procesul începe cu regiunile vizibile ale rețelei 3D, concentrându-se pe generarea texturii din prima vedere a camerei prin renderizarea rețelei 3D într-o hartă de adâncime. O imagine textură este apoi eșantionată pe baza aspectului și condițiilor de adâncime și proiectată pe rețea. Această metodă este repetată pentru puncte de vedere ulterioare, integrând texturile anterioare pentru a renderiza nu numai o imagine de adâncime, ci și o imagine RGB parțial colorată cu măști necolorate. Modelul utilizează un codator de îmbunătățire a imaginii conștient de adâncime pentru a umple zonele necolorate, generând o hartă textură grosieră completă prin proiectarea imaginilor îmbunătățite pe rețea.

Pentru scene sau obiecte mai complexe, modelul utilizează multiple vederi. Inițial, capturează două hărți de adâncime din puncte de vedere simetrice și le combină într-o grilă de adâncime, care înlocuiește o imagine de adâncime pentru eșantionarea texturii multi-vizuale conștientă de adâncime.

Etapa 2: Rafinarea Texturii în Spațiul UV

În ciuda generării de hărți textură logice groase, provocări precum găurile texturii din procesele de renderizare și umbrele de iluminare din modelele de difuzie 2D apar. Pentru a aborda acestea, Paint3D efectuează un proces de difuzie în spațiul UV pe baza hărții texturii groase, îmbunătățind aspectul vizual și rezolvând problemele.

În ciuda generării de hărți textură logice groase, provocări precum găurile texturii din procesele de renderizare și umbrele de iluminare din modelele de difuzie 2D apar. Pentru a aborda acestea, Paint3D efectuează un proces de difuzie în spațiul UV pe baza hărții texturii groase, îmbunătățind aspectul vizual și rezolvând problemele.

Rafinarea hărții texturii în spațiul UV poate introduce discontinuități datorită fragmentării texturilor continue în fragmente individuale. Pentru a mitiga acest lucru, Paint3D rafinează harta texturii utilizând informația de adiacență a fragmentelor texturii. În spațiul UV, harta poziției reprezintă informația de adiacență 3D a fragmentelor texturii, tratând fiecare element non-fundal ca o coordonată de punct 3D. Modelul utilizează un codator de poziție suplimentar, similar cu ControlNet, pentru a integra această informație de adiacență în timpul procesului de difuzie.

Modelul utilizează simultan poziția codatorului condițional și a altor codatori pentru a efectua sarcinile de rafinare în spațiul UV, oferind două capacități: UVHD (UV High Definition) și îmbunătățirea UV. UVHD îmbunătățește aspectul vizual și estetic, utilizând un codator de îmbunătățire a imaginii și un codator de poziție împreună cu modelul de difuzie. Îmbunătățirea UV umple găurile texturii, evitând problemele de auto-ocluzie din procesele de renderizare. Etapa de rafinare începe cu îmbunătățirea UV, urmată de UVHD pentru a produce o hartă textură rafinată finală.

Prin integrarea acestor metode de rafinare, cadrul Paint3D generează hărți textură complete, diverse, de înaltă rezoluție și fără iluminare, UV, făcându-l o soluție robustă pentru texturarea obiectelor 3D.

Paint3D: Experimente și Rezultate

Modelul Paint3D utilizează modelul Stable Diffusion text2image pentru a ajuta la sarcinile de generare a texturilor, în timp ce componenta codatorului de imagine gestionează condițiile de imagine. Pentru a-și îmbunătăți controlul asupra sarcinilor condiționale, cum ar fi îmbunătățirea imaginilor, gestionarea adâncimii și imagistica de înaltă definiție, cadrul Paint3D utilizează codatori de domeniu ControlNet. Modelul este implementat pe cadrul PyTorch, cu renderizarea și proiectarea texturilor executate pe Kaolin.

Compararea Texturilor pe baza Textului

Pentru a evalua performanța Paint3D, începem prin analizarea generării texturilor sale atunci când este condiționat cu prompturi textuale, comparându-l cu cadrurile de ultimă generație, cum ar fi Text2Tex, TEXTure și LatentPaint. Așa cum se arată în imaginea de mai jos, cadrul Paint3D nu numai că excelează în generarea de detalii textură de înaltă calitate, dar sintetizează și o hartă textură fără iluminare eficient.

Prin utilizarea capacităților robuste ale modelului Stable Diffusion și a codatorilor ControlNet, Paint3D oferă o calitate superioară a texturii și versatilitate. Compararea subliniază capacitatea Paint3D de a produce texturi detaliate, de înaltă rezoluție, fără iluminare încorporată, făcându-l o soluție de top pentru sarcinile de texturare 3D.

În comparație, cadrul Latent-Paint este predispus la generarea de texturi blurate care rezultă în efecte vizuale suboptimale. Pe de altă parte, deși cadrul TEXTure generează texturi clare, lipsește de netezime și prezintă splicing și cusături vizibile. În cele din urmă, cadrul Text2Tex generează texturi netede în mod remarcabil, dar nu reușește să replice performanța pentru generarea de texturi fine cu detalii intricate. Imaginea de mai jos compară cadrul Paint3D cu cadrurile de ultimă generație cantitativ.

Așa cum se observă, cadrul Paint3D depășește toate modelele existente și cu o marjă semnificativă, cu o îmbunătățire de aproximativ 30% în linia de bază FID și aproximativ 40% în linia de bază KID. Îmbunătățirea în scorurile liniilor de bază FID și KID demonstrează capacitatea Paint3D de a genera texturi de înaltă calitate pe diverse obiecte și categorii.

Compararea Imaginilor cu Texturile

Pentru a genera capacitățile generative ale Paint3D utilizând prompturi vizuale, utilizăm modelul TEXTure ca bază. Așa cum s-a menționat anterior, modelul Paint3D utilizează un codator de imagine din modelul text2image de la Stable Diffusion. Așa cum se poate vedea în imaginea de mai jos, cadrul Paint3D sintetizează texturi excepționale în mod remarcabil și este încă capabil să mențină fidelitate ridicată față de condiția de imagine.

Pe de altă parte, cadrul TEXTure este capabil să genereze o textură similară cu Paint3D, dar nu reușește să reprezinte detaliile texturii din condiția de imagine în mod precis. Mai mult, așa cum se demonstrează în imaginea de mai jos, cadrul Paint3D oferă scoruri FID și KID de bază mai bune atunci când este comparat cu cadrul TEXTure, cu prima scăzând de la 40,83 la 26,86, în timp ce a doua arată o scădere de la 9,76 la 4,94.

Gânduri Finale

În acest articol, am discutat despre Paint3D, un cadru nou, de la gros la fin, capabil să producă texturi fără iluminare, diverse și de înaltă rezoluție, 2K UV, pentru rețele 3D netexturate, condiționate de intrări vizuale sau textuale. Principala caracteristică a cadrului Paint3D este că este capabil să genereze texturi fără iluminare, de înaltă rezoluție, 2K UV, care sunt consistent semantic, fără a fi condiționate de intrări de imagine sau text. Datorită abordării sale de la gros la fin, cadrul Paint3D produce texturi fără iluminare, diverse și de înaltă rezoluție, și oferă o performanță mai bună decât cadrurile actuale de ultimă generație.

Kunal Kejriwal este un inginer backend specializat în Python, PostgreSQL, Redis și infrastructură cloud pe GCP și AWS. Cu trei ani de experiență în construirea și scalarea sistemelor de producție, el scrie despre infrastructura AI, sistemele distribuite și arhitectura din spatele implementării sarcinilor de învățare automată.