```html Müəlliflər: Jun Gao, NVIDIA, Toronto Universiteti, Vektor İnstitutu (jung@nvidia.com) Tianchang Shen, NVIDIA, Toronto Universiteti, Vektor İnstitutu (frshen@nvidia.com) Zian Wang, NVIDIA, Toronto Universiteti, Vektor İnstitutu (zianw@nvidia.com) Wenzheng Chen, NVIDIA, Toronto Universiteti, Vektor İnstitutu (wenzchen@nvidia.com) Kangxue Yin, NVIDIA (kangxuey@nvidia.com) Daiqing Li, NVIDIA (daiqingl@nvidia.com) Or Litany, NVIDIA (olitany@nvidia.com) Zan Gojcic, NVIDIA (zgojcic@nvidia.com) Sanja Fidler, NVIDIA, Toronto Universiteti, Vektor İnstitutu (sfidler@nvidia.com) Abstrakt Bir neçə sənaye böyük 3D virtual dünyaların modelləşdirilməsinə doğru irəlilədikcə, 3D məzmunun miqdarı, keyfiyyəti və müxtəlifliyi baxımından miqyası genişləndirə bilən məzmun yaratma vasitələrinə olan ehtiyac aydın görünür. Bizim işimizdə, 3D render mühərrikləri tərəfindən birbaşa istifadə edilə bilən, beləliklə də sonrakı tətbiqlərdə dərhal istifadə edilə bilən teksturalı meshləri sintez edən performanslı 3D generativ modelləri təlim etməyi hədəfləyirik. 3D generativ modelləşdirmə sahəsindəki əvvəlki işlər ya həndəsi detallardan məhrumdur, ya da istehsal edə biləcəkləri mesh topologiyasında məhduddur, adətən teksturları dəstəkləmir və ya sintez prosesində neyron renderlərdən istifadə edir, bu da ümumi 3D proqram təminatında onların istifadəsini asanlaşdırmır. Bu işdə biz GET3D-ni təqdim edirik, bu enerativ modeldir ki, o, birbaşa explicit extured meshləri mürəkkəb topologiya, zəngin həndəsi detallar və yüksək dəqiqlikli teksturlarla istehsal edir. Biz 2D şəkil kolleksiyalarından modelimizi təlim etmək üçün diferensial səth modelləşdirmə, diferensial render etmə və 2D Generativ Adversarial Networks sahəsindəki son uğurları birləşdiririk. GET3D avtomobillər, stullar, heyvanlar, motosikletlər və insan personajlarından binalara qədər yüksək keyfiyyətli 3D teksturalı meshləri istehsal etmək iqtidarındadır, bu da əvvəlki üsullardan əhəmiyyətli irəliləyişlər əldə edir. Layihə səhifəmiz: G E T 3D https://nv-tlabs.github.io/GET3D 1 Giriş Müxtəlif, yüksək keyfiyyətli 3D məzmun, oyun, robot texnikası, memarlıq və sosial platformalar da daxil olmaqla bir sıra sənayelər üçün getdikcə daha vacib hala gəlir. Bununla belə, 3D aktivlərin əl ilə yaradılması çox vaxt aparır və xüsusi texniki bilikləri, həm də bədii modelləşdirmə bacarıqlarını tələb edir. Əsas çətinliklərdən biri miqyasdır – bir tərəfdən Turbosquid [ ] və ya Sketchfab [ ] kimi 3D marketplacələrdə 3D modellər tapa bilsəniz də, bir oyunu və ya filmi hər biri fərqli görünən personajlar izdihamı ilə doldurmaq üçün çox sayda 3D model yaratmaq hələ də əhəmiyyətli dərəcədə sənətkar vaxtı tələb edir. 4 3 Məzmun yaratma prosesini asanlaşdırmaq və onu müxtəlif (novic) istifadəçilər üçün əlçatan etmək məqsədi ilə, yüksək keyfiyyətli və müxtəlif 3D aktivləri istehsal edə bilən 3D generativ şəbəkələri bu yaxınlarda tədqiqatın aktiv sahəsinə çevrilmişdir [ , , , , , , , , , , ]. Bununla belə, cari real dünya tətbiqləri üçün praktiki olaraq faydalı olmaq üçün 3D generativ modelləri ideal olaraq aşağıdakı tələblərə cavab verməlidir: Onlar detallı həndəsə və hər cür topologiyaya malik formalara malik olmaq qabiliyyətinə malik olmalıdırlar, Çıxış teksturalı bir mesh olmalıdır ki, bu da Blender [ ] və Maya [ ] kimi standart qrafik proqram paketləri tərəfindən istifadə edilən əsas təmsildir, və Biz 2D şəkilləri nəzarət üçün istifadə edə bilməliyik, çünki onlar açıq 3D formalardan daha geniş mövcuddur. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) 3D generativ modelləşdirmə sahəsində əvvəlki işlər yuxarıdakı tələblərin alt dəstlərini əhatə etmişdir, lakin bu günə qədər heç bir üsul hamısını yerinə yetirmir (Cədvəl. ). Məsələn, 3D nöqtəli buludları [ , 68, 75] yaradan üsullar adətən teksturları yaratmır və sonrakı emalda meshə çevrilməli olur. 1 5 Voksel yaradan üsullar çox vaxt həndəsi detallardan məhrumdur və tekstur yaratmır [ , , , ]. Neyron sahələrə əsaslanan generativ modellər [ , ] həndəsə çıxarmağa diqqət yetirir, lakin teksturu nəzərdən kənarlaşdırır. Bunların əksəriyyəti açıq 3D nəzarəti də tələb edir. Nəhayət, birbaşa teksturalı 3D meshləri [ , ] çıxaran üsullar adətən əvvəlcədən təyin edilmiş forma şablonlarına ehtiyac duyur və mürəkkəb topologiyaya və dəyişkən genuslara malik formalara yarada bilmir. 66 20 27 40 43 14 54 53 Bu yaxınlarda, neyron həcmi render etmədəki [ ] sürətli irəliləyişlər və 2D Generativ Adversarial Networks (GANs) [ , , , , ] 3D-davamlı şəkil sintezinə yol açmışdır [ , , , , , ]. Bununla belə, bu iş xətti sintez prosesində neyron render etmədən istifadə edərək çoxgörünüşlü uyumlu şəkillər sintez etməyi hədəfləyir və mənalı 3D formalara malik formalara yarada biləcəyi zəmanət vermir. Bir mesh potensial olaraq, mart dairəsi algoritmi [ ] vasitəsilə əsas neyron sahə təmsilindən əldə edilə bilsə də, müvafiq teksturu çıxarmaq asan deyil. 45 34 35 33 29 52 7 57 8 49 51 25 39 Bu işdə, biz praktiki olaraq faydalı 3D generativ model üçün bütün tələbləri yerinə yetirməyi hədəfləyən yeni bir yanaşma təqdim edirik. Xüsusilə, biz GET3D-ni təqdim edirik, bu enerativ modeldir ki, o, yüksək həndəsi və tekstur təfərrüatlarına və hər cür mesh topologiyasına malik explicit extured meshləri birbaşa istehsal edir. Bizim yanaşmamızın mərkəzində diferensial səth çıxarma üsulu [ ] və diferensial render etmə texnikası [ , ] istifadə edən bir generativ proses dayanır. Birincisi, bizə hər cür topologiyaya malik açıq teksturalı 3D meshləri birbaşa optimallaşdırmağa və istehsal etməyə imkan verir, ikincisi isə bizə 2D şəkillərlə modelimizi təlim etməyə imkan verir, beləliklə də 2D şəkil sintezi üçün hazırlanmış güclü və yetkin diskriminatorlardan istifadə edirik. Modelimiz birbaşa meshləri istehsal etdiyinə və yüksək effektiv (diferensial) qrafik renderindən istifadə etdiyinə görə, biz modelimizi şəkil G E T 3D explicit 60 47 37 1024 × 1024-ə qədər yüksək rezolyusiyada təlim etmək üçün miqyası genişləndirə bilirik, bu da bizə yüksək keyfiyyətli həndəsi və tekstur detallarını öyrənməyə imkan verir. Biz ShapeNet [ ], Turbosquid [ ] və Renderpeople [ ] kateqoriyalarından avtomobillər, stullar, motosikletlər, insan personajları və binalar kimi mürəkkəb həndəsəyə malik avtomobillər, stullar, heyvanlar, motosikletlər və insan personajları üçün çoxsaylı kateqoriyalarda şərtlər qoyulmamış 3D forma generasiyası üçün dövlət-sənət performansını nümayiş etdiririk. Açıq mesh ilə çıxış təmsili olaraq, GET3D həm də çox çevikdir və digər məsələlərə asanlıqla uyğunlaşdırıla bilər, o cümlədən: əlavə diferensial render etmə [ ] istifadə edərək ayrılmış material və görünüşdən asılı işıqlandırma effektlərini yaratmağı öyrənmək, nəzarət olmadan, CLIP [ ] embeddingindən istifadə edərək mətnlə idarə olunan 3D forma generasiyası. 9 4 2 (a) 12 (b) 56 2 Əlaqəli İşlər Həndəsə və görünüş üçün 3D generativ modellərdə, eləcə də 3D-davamlı generativ şəkil sintezində son irəliləyişləri nəzərdən keçiririk. Son illərdə, 2D generativ modellər yüksək rezolyusiyalı şəkil sintezində fotoreal keyfiyyətə nail olmuşlar [ , , , , , , ]. Bu irəliləyiş 3D məzmun generasiyası sahəsində də tədqiqata ilham vermişdir. Erkən üsullar 2D CNN generatorlarını birbaşa 3D voksel şəbəkələrinə [ , , , , ] genişləndirməyi hədəfləyirdi, lakin 3D konvolüsiyaların yüksək yaddaş tələbatı və hesablama mürəkkəbliyi yüksək rezolyusiyada generasiya prosesini çətinləşdirir. Alternativ olaraq, digər işlər nöqtəli bulud [ , , , ], mənfi [ , ], və ya oktaedr [ ] təmsillərini araşdırmışlar. Bununla belə, bu işlər əsasən həndəsə yaratmağa diqqət yetirir və görünüşü nəzərdən kənarlaşdırır. Onların çıxış təmsilləri də standart qrafik mühərrikləri ilə uyğunlaşmaq üçün sonrakı emala ehtiyac duyur. 3D Generativ Modelləri 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Bizim işimizə daha yaxın olan, Texturized3DGAN [ , ] və DIBR [ ] teksturalı 3D meshləri istehsal edir, lakin onlar generasiyanı bir şablon meshin deformasiyası kimi formalaşdırırlar, bu da onları mürəkkəb topologiya və ya dəyişkən genuslara malik formalara yaratmaqdan məhrum edir, bizimsə üsul bunu edə bilir. PolyGen [ ] və SurfGen [ ] hər cür topologiyaya malik meshləri istehsal edə bilər, lakin teksturları sintez etmirlər. 54 53 11 48 41 Neyron həcmi render etmənin [ ] və mənfi təmsillərin [ , ] uğurlarından ilhamlanaraq, son işlər 3D-davamlı şəkil sintez problemi ilə məşğul olmağa başlamışdır [ , , , , , , , , , ]. Bununla belə, neyron həcmi render etmə şəbəkələri adətən sorğu üçün yavaşdır, bu da uzun təlim müddətlərinə [ , ] və məhdud rezolyusiyalı şəkillərin istehsalına səbəb olur. GIRAFFE [ ] və StyleNerf [ ] neyron render etməni aşağı rezolyusiyada aparmaqla və sonra nəticələri 2D CNN ilə yuxarı miqyaslamaqla təlim və render etmə effektivliyini artırır. Bununla belə, performans artımı çoxgörünüşlü uyumluluğun azalması bahasına gəlir. İkiqat diskriminatordan istifadə edərək, EG3D [ ] bu problemi qismən həll edə bilər. Bununla belə, neyron render etməyə əsaslanan üsullardan teksturalı səth çıxarmaq asan bir iş deyil. Bunun əksinə olaraq, GET3D birbaşa standart qrafik mühərriklərində dərhal istifadə edilə bilən teksturalı 3D meshləri istehsal edir. 3D-Davamlı Generativ Şəkil Sintezi 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Metod İndi biz teksturalı 3D formalara malik sintez üçün GET3D çərçivəsini təqdim edirik. Bizim generasiya prosesimiz iki hissəyə bölünür: hər cür topologiyaya malik səth meshini diferensial şəkildə istehsal edən bir həndəsə qolu və səth nöqtələrində sorğulanaraq rənglər istehsal edən bir tekstur sahəsi istehsal edən bir qol. İkincisi, digər səth xüsusiyyətlərinə, məsələn, materiallara (Bölmə ) qədər genişləndirilə bilər. Təlim zamanı, 2D yüksək rezolyusiyalı şəkillərə meshləri render etmək üçün effektiv bir diferensial rasterizator istifadə olunur. Bütün proses diferensialdır, bu da 2D diskriminatordan hər iki generator qoluna qradientləri yaymaqla şəkillərdən (bir obyektin maraq obyekti olduğunu göstərən maskalarla) bərabərlik təliminə imkan verir. Modelimiz Şəkil -də təsvir edilmişdir. Aşağıda, biz əvvəlcə 3D generatorumuzu Bölmə -də təqdim edəcəyik, sonra isə diferensial render etmə və itki funksiyaları ilə davam edəcəyik Bölmə -də. 4.3.1 2 3.1 3.2 3.1 3D Teksturalı Meshlərin Generativ Modeli Biz Gauss paylamasından bir nümunəni ∈ N (0*,* ) tekstura ilə bir meshə çevirən bir 3D generator = ( ) öyrənməyi hədəfləyirik. z I E M M, E G z Eyni həndəsənin fərqli teksturları ola biləcəyi və eyni teksturun fərqli həndəsələrə tətbiq oluna biləcəyi üçün, biz iki təsadüfi giriş vektoru 1 ∈ R512 və 2 ∈ R512 nümunəsi alırıq. StyleGAN [ , , ] ilə uyğun olaraq, biz sonra 1 və 2-ni orta latent vektorlara 1 = geo( 1) və 2 = tex( 2) çevirmək üçün qeyri-xətti xəritəçəkmə şəbəkələri geo və tex istifadə edirik. Bu vektorlar daha sonra 3D formalara və tekstura generasiyasına nəzarət edən istehsal etmək üçün istifadə olunur. Biz Bölmə -də həndəsə üçün generatoru və Bölmə -də tekstur generatorunu rəsmi olaraq təqdim edirik. z z 34 35 33 z z w f z w f z f f stylləri 3.1.1 3.1.2 3.1.1 Həndəsə Generatoru Bizim həndəsə generatorunu, son zamanlarda təklif edilmiş diferensial səth təmsili olan DMTet [ ]-i əhatə etmək üçün dizayn edirik. DMTet həndəsəni deformasiya olunan tetraqonal şəbəkədə [ , ] təyin edilmiş bir işarəli məsafə sahəsi (SDF) kimi təmsil edir, buradan səthi mart tetraedrləri vasitəsilə diferensial şəkildə bərpa etmək olar [ ]. Şəbəkəni onun təpələrini hərəkət etdirərək deformasiya etmək, onun rezolyusiyasından daha yaxşı istifadə etməyə imkan verir. Səth çıxarılması üçün DMTet-i qəbul etməklə, biz hər cür topologiya və genuslara malik açıq meshləri istehsal edə bilərik. Növbəti bölmədə DMTet-in qısa bir icmalını təqdim edirik və ətraflı məlumat üçün oxucunu orijinal məqaləyə yönləndiririk. 60 22 24 17 ( ) obyektin yerləşdiyi bütün 3D fəzanı təmsil etsin, burada tetraqonal şəbəkənin təpələridir. Hər bir tetraedr ∈ dörd təpə { } istifadə edərək təyin olunur, burada ∈ {1*, . . . , K*}, burada tetraedrlərin ümumi sayı, və ∈ ∈ R3. Başlanğıcən kanonik koordinatdan onun 3D koordinatlarına əlavə olaraq, hər bir təpə SDF dəyəri ∈ R və təpənin deformasiyası ∆ ∈ R3 saxlayır. Bu təmsil, deformasiya olunmuş təpələr ′ = + ∆ üzərindəki dəyərlərinin barysentrik interpolasiyası ilə hesablanaq davamlı fəzada SDF dəyərlərini istehsal edən diferensial mart tetraedrləri [ ] vasitəsilə açıq mesh bərpa etməyə imkan verir. VT , T VT T Tk T v ak , v bk , v ck , v dk k K v ik VT , v ik v i si v i v v i v i si 60 Biz 1 ∈ R512-ni hər bir təpə üçün SDF dəyərlərinə və deformasiyalara, bir sıra şərti 3D konvolüsyonel və tam əlaqəli təbəqələr vasitəsilə xəritələşdiririk. Xüsusilə, biz əvvəlcə 1-ə əsaslanan bir xüsusiyyət həcmi yaratmaq üçün 3D konvolüsyonel təbəqələrdən istifadə edirik. Sonra biz trilinear interpolasiyadan istifadə edərək təpə ∈ -də xüsusiyyəti sorğulayırıq və onu SDF dəyəri və deformasiya ∆ istehsal edən MLP-lərə daxil edirik. Yüksək rezolyusiyada modelləşdirmə tələb olunduğu hallarda (məsələn, təkərlərdə nazik strukturlara malik motosiklet), biz həmçinin [ ]-ə uyğun olaraq həcm altbölməsi istifadə edirik. Şəbəkə Arxitekturası w v i w v i VT si v i 60 Bütün təpələr üçün və ∆ əldə etdikdən sonra, açıq mesh çıxarmaq üçün diferensial mart tetraedrləri alqoritmini istifadə edirik. Mart tetraedrləri -nin işarələrinin əsasında hər bir tetraedr daxilindəki səthin topologiyasını müəyyən edir. Xüsusilə, tetraedrin kənarındakı təpə indekslərini göstərdikdə və bu üzün təpələri xətti interpolasiya kimi mi,j = v 0 i sj−v 0 j si sj−si olaraq təyin edildikdə, sign( ) /= sign( ) olduqda bir mesh üzü çıxarılır. Qeyd edək ki, yuxarıdakı tənlik yalnız si 6= sj olduqda qiymətləndirilir, beləliklə diferensialdır və mi,j qradienti SDF dəyərləri si və deformasiyalar ∆vi-ə geri yayılır. Bu təmsil ilə, si-nin fərqli işarələrini proqnozlaşdıraraq hər cür topologiyaya malik formalara asanlıqla yaradıla bilər. Diferensial Mesh Çıxarılması si v i si i, j m i,j si sj 3.1.2 Tekstur Generatoru Çıxış meshinə uyğun bir tekstur xəritəsini birbaşa yaratmaq asan deyil, çünki yaradılan formalarda hər cür genus və topologiya ola bilər. Beləliklə, biz teksturu bir tekstur sahəsi kimi parametrləşdiririk [ ]. 50 Xüsusilə, biz tekstur sahəsini tri-plane təmsilindən istifadə edərək modelləşdiririk, bu da 3D obyektlərin [ ] bərpası və 3D-davamlı şəkillərin [ ] yaradılmasında effektiv və ifadəlidir. Xüsusilə, biz 1 ⊕ 2 latent kodunu üç ox-aligned ortoqonal xüsusiyyət təyyarəsinə × × ( × 3) ölçüsündə (burada = 256 fəza rezolyusiyası, = 32 isə kanal sayı deməkdir) xəritələşdirmək üçün şərti bir 2D konvolüsyonel neyron şəbəkəsindən istifadə edirik. 55 8 w w N N C N C Xüsusiyyət təyyarələri verildikdə, bir səth nöqtəsi p üçün xüsusiyyət vektoru f t ∈ R 32, xüsusiyyət təyyarəsi e-yə p nöqtəsinin proqnozlaşdırılması πe(p) və xüsusiyyətlərin bilineyar interpolasiyası ρ(·) olaraq f t = P e ρ(πe(p)) kimi bərpa edilir. Sonra əlavə tam əlaqəli təbəqə, birləşdirilmiş xüsusiyyət vektoru f t -ni RGB rənginə c çevirmək üçün istifadə olunur. Qeyd edək ki, 3D-davamlı şəkil sintezi [8, 25, 7, 57] sahəsində neyron sahə təmsilindən istifadə edən digər işlərdən fərqli olaraq, biz yalnız səth nöqtələrinin yerlərində (şüa boyunca sıx nümunələrə qarşı) tekstur sahəsini nümunə olaraq götürməliyik. Bu, yüksək rezolyusiyalı şəkillərin render edilməsi üçün hesablama mürəkkəbliyini əhəmiyyətli dərəcədə azaldır və konstruksiya ilə çoxgörünüşlü uyumlu şəkillər yaradılmasını zəmanət edir. 3.2 Diferensial Render Etmə və Təlim Təlim zamanı modelimizi nəzarət etmək üçün, diferensial render edən vasitəsilə çoxgörünüşlü 3D obyekt bərpası həyata keçirən Nvdiffrec [ ] -dən ilham alırıq 47