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 sıra sənayelər nəhəng 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ə ehtiyac getdikcə aydınlaşır. Bizim işimizdə, biz birbaşa 3D render mühərrikləri tərəfindən istehlak edilə bilən, beləliklə də aşağı axın tətbiqlərində dərhal istifadə edilə bilən teksturalı meshləri sintez edən performanslı 3D generativ modellərini təlim etməyi hədəfləyirik. 3D generativ modelləşdirmə üzrə əvvəlki işlər ya həndəsi detallardan məhrumdur, ya istehsal edə biləcəkləri mesh topologiyası ilə məhdudlaşır, adətən teksturaları dəstəkləmir, ya da sintez prosesində neyron renderlərdən istifadə edir ki, bu da onların ümumi 3D proqram təminatında istifadəsini çətinləşdirir. Bu işdə biz GET3D-ni təqdim edirik, bu da mürəkkəb topologiya, zəngin həndəsi detallar və yüksək dəqiqlikli teksturalara malik birbaşa Eksplicit Teksturalı 3D Meshləri yaradan Generativ modeldir. Biz 2D şəkil kolleksiyalarından modelimizi təlim etmək üçün diferansial səth modelləşdirmə, diferansial renderləmə və 2D Generativ Müqavimət Şəbəkələrindəki son uğurları birləşdiririk. GET3D, avtomobillərdən, stullardan, heyvanlardan, motosikletlərdən və insan personajlarından binalara qədər yüksək keyfiyyətli 3D teksturalı meshləri yarada bilir və əvvəlki metodlara nisbətən əhəmiyyətli təkmilləşdirmələr əldə edir. Layihə səhifəmiz: 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 platformlar daxil olmaqla bir sıra sənayelər üçün getdikcə daha vacib hala gəlir. Lakin, 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 miqyasıdır – Turbosquid [ ] və ya Sketchfab [ ] kimi 3D marketplace-lərdə 3D modelləri tapsanız belə, fərqli görünən bir çox 3D model yaratmaq, deyək ki, bir oyun və ya filmi personajlar izdihamı ilə doldurmaq hələ də əhəmiyyətli dərəcədə sənətçi vaxtı tələb edir. 4 3 Məzmun yaratma prosesini asanlaşdırmaq və onu müxtəlif (novis) istifadəçilərə əlçatan etmək üçün, yüksək keyfiyyətli və müxtəlif 3D aktivləri yarada bilən generativ 3D şəbəkələri son vaxtlar tədqiqatın aktiv sahəsinə çevrilmişdir [ , , , , , , , , , , ]. Lakin, hazırkı real dünya tətbiqləri üçün praktik olaraq faydalı olmaq üçün, 3D generativ modelləri ideal olaraq aşağıdakı tələbləri yerinə yetirməlidir: Onlar detallı həndəsə və ya-bitib-istifadəsiz topologiyaya malik fiqurları yaratmaq qabiliyyətinə malik olmalıdırlar, Nəticə teksturalı bir mesh olmalıdır, bu da Blender [ ] və Maya [ ] kimi standart qrafika proqram təminatı paketləri tərəfindən istifadə edilən əsas təmsil növüdür, və Biz yalnız 3D fiqurlardan daha geniş mövcud olan 2D şəkillərdən istifadə etməliyik. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) 3D generativ modelləşdirmə üzrə əvvəlki işlər yuxarıdakı tələblərin alt dəstlərində cəmləşmişdir, lakin bu günə qədər heç bir metod onların hamısını yerinə yetirmir (Cədvəl. ). Məsələn, 3D nöqtə buludlarını yaradan metodlar [ , 68, 75] adətən teksturaları yaratmır və sonradan işlənmə zamanı meshə çevrilməli olurlar. 1 5 Voksel yaradan metodlar tez-tez həndəsi detallardan məhrumdur və tekstura yaratmır [ , , , ]. Neyron sahələrinə əsaslanan generativ modellər [ , ] həndəsəni çıxarmağa yönəlir, lakin teksturanı nəzərə almır. Bunların çoxu həmçinin açıq 3D nəzarəti tələb edir. Nəhayət, birbaşa teksturalı 3D meshləri çıxaran metodlar [ , ] adətən əvvəlcədən təyin edilmiş fiqur şablonlarını tələb edir və mürəkkəb topologiya və ya dəyişkən cinsə malik fiqurları yarada bilmirlər. 66 20 27 40 43 14 54 53 Son vaxtlar, neyron həcmi renderləmə [ ] və 2D Generativ Müqavimət Şəbəkələrindəki (GANs) [ , , , , ] sürətli irəliləyiş 3D-şüurlu şəkil sintezinin yaranmasına səbəb olmuşdur [ , , , , , ]. Lakin, bu işlərin məqsədi neyron renderləmənin sintez prosesində istifadəsi ilə çoxnəzər uyğun şəkilləri sintez etməkdir və mənalı 3D fiqurların yaradıla biləcəyinə zəmanət vermir. Hərçənd ki, neyron sahə təmsilindən marşirovan kub algoritmi [ ] istifadə edərək bir mesh əldə etmək mümkün olsa da, müvafiq teksturanı çıxarmaq çətin bir işdir. 45 34 35 33 29 52 7 57 8 49 51 25 39 Bu işdə, praktik olaraq faydalı 3D generativ modelin bütün tələblərini yerinə yetirməyi hədəfləyən yeni bir yanaşma təqdim edirik. Xüsusilə, biz GET3D-ni təqdim edirik, bu da yüksək həndəsi və tekstura detallarına və ya-bitib-istifadəsiz mesh topologiyasına malik Eksplicit Teksturalı 3D Meshləri birbaşa çıxaran 3D fiqurlar üçün bir Generativ modeldir. Bizim yanaşmamızın mərkəzində diferansial *eksplicit* səth çıxartma metodu [ ] və diferansial renderləmə texnikası [ , ] istifadə edən bir generativ proses dayanır. Birincisi, bizə ya-bitib-istifadəsiz topologiyaya malik eksplicit teksturalı 3D meshləri birbaşa optimallaşdırmağa və çıxarmağa imkan verir, ikincisi isə bizə 2D şəkillərlə modelimizi təlim etməyə imkan verir, bununla da 2D şəkil sintezi üçün hazırlanmış güclü və yetkin diskriminatorlardan istifadə edirik. Modelimiz birbaşa meshləri yaratdığı və yüksək səmərəli (diferansial) qrafika renderindən istifadə etdiyi üçün, biz modelimizi şəkil 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ə tekstura detallarını öyrənməyə imkan verir. 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 bir çox kateqoriyalarda qeyri-şərtsiz 3D fiqur generasiyası üçün ən müasir performans nümayiş etdiririk. Eksplicit mesh çıxış təmsil olaraq, GET3D həmçinin çox çevikdir və digər vəzifələrə asanlıqla uyğunlaşdırıla bilər, o cümlədən: təkmil diferansial renderləmədən istifadə edərək ayrılmış material və görünüşə bağ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 fiqur generasiyası. 9 4 2 (a) 12 (b) 56 2 Əlaqəli İşlər Həndəsə və görünüş üçün 3D generativ modellərində, həmçinin 3D-şüurlu 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ə fotorealistik keyfiyyətə nail olmuşdur [ , , , , , , ]. Bu irəliləyiş həm də 3D məzmun generasiyası sahəsində tədqiqatlara ilham vermişdir. Erkən yanaşmalar 2D CNN generatorlarını birbaşa 3D voksel gridlərinə genişləndirməyi hədəfləmişdir [ , , , , ], lakin 3D konvolyusiyaların yüksək yaddaş tələbi və hesablama mürəkkəbliyi yüksək rezolyusiyada generasiya prosesini çətinləşdirir. Alternativ olaraq, digər işlər nöqtə buludu [ , , , ], gizli [ , ], və ya oktaqrafik [ ] təmsillərini araşdırmışdır. Lakin, bu işlər əsasən həndəsə generasiyasına fokuslanır və görünüşü nəzərə almır. Onların çıxış təmsilləri də standart qrafika mühərrikləri ilə uyğunlaşdırılması üçün sonradan işlənməli olur. 3D Generativ Modelleri 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, Teksturalı3DGAN [ , ] və DIBR [ ] teksturalı 3D meshləri yaradır, lakin onlar generasiyanı bir şablon meshin deformasiyası kimi formalaşdırır, bu da onların mürəkkəb topologiya və ya müxtəlif cinsə malik fiqurları yaratmasını əngəlləyir, hansı ki bizim metodumuz bunu edə bilir. PolyGen [ ] və SurfGen [ ] ya-bitib-istifadəsiz topologiyaya malik meshləri yarada bilər, lakin teksturaları sintez etmirlər. 54 53 11 48 41 Neyron həcmi renderləmə [ ] və gizli təmsillərdəki [ , ] uğurlardan ilhamlanaraq, son vaxtlar 3D-şüurlu şəkil sintezinin [ , , , , , , , , , ] problemini həll etməyə başlayıb. Lakin, neyron həcmi renderləmə şəbəkələri adətən sorğulamaq üçün yavaşdır, uzun təlim müddətlərinə səbəb olur [ , ] və məhdud rezolyusiyalı şəkillər yaradır. GIRAFFE [ ] və StyleNerf [ ] neyron renderləməni daha aşağı rezolyusiyada həyata keçirərək və nəticələri 2D CNN ilə yuxarı nümunələyərək təlim və renderləmə səmərəliliyini artırır. Lakin, performans artımı azaldılmış çoxnəzər uyğunluğu bahasına başa gəlir. İkili diskriminatordan istifadə edərək, EG3D [ ] bu problemi qismən həll edə bilər. Bununla belə, neyron renderləmə əsaslı metodlardan teksturalı səthi çıxarmaq çətin bir işdir. Əksinə, GET3D birbaşa standart qrafika mühərriklərində dərhal istifadə edilə bilən teksturalı 3D meshləri çıxarır. 3D-şüurlu 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 fiqurları sintez etmək üçün GET3D çərçivəmizi təqdim edirik. Bizim generasiya prosesimiz iki hissəyə bölünür: ya-bitib-istifadəsiz topologiyaya malik bir səth meshini diferansial şəkildə çıxaran bir həndəsə qolu və səth nöqtələrində mənzil axtarmaq üçün rəngləri yaratmaq üçün bir tekstura sahəsini yaradan bir tekstura qolu. İkincisi, digər səth xüsusiyyətləri, məsələn, materiallar üçün genişləndirilə bilər (Bölmə. ). Təlim zamanı, 2D yüksək rezolyusiyalı şəkillərə render etmək üçün səmərəli bir diferansial rasterizator istifadə olunur. Bütün proses diferansialdır, bu da 2D diskriminatordan hər iki generator qoluna qədər qradientləri yaymaqla şəkillərdən (əşyanın maraq nöqtəsini göstərən maskalarla) müqavimətli təlimə imkan verir. Modelimiz Şəkil. -də təsvir edilmişdir. Aşağıdakılarda, biz əvvəlcə 3D generatorumuzu Bölmə. -də təqdim edirik, sonra isə Bölmə. -də diferansial renderləmə və itki funksiyalarına keçirik. 4.3.1 2 3.1 3.2 3.1 3D Teksturalı Meshlərin Generativ Modeli Biz bir Qausian paylamasından bir nümunəni = ( ) olaraq map edən bir 3D generatoru öyrənməyi hədəfləyirik M, E G z ∈ N (0*,* ) bir mesh -ə tekstura ilə. z I M E Eyni həndəsənin müxtəlif teksturalara, eyni teksturanın isə müxtəlif 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əsini götürürük. StyleGAN [ , , ] təqib edərək, biz 1 və 2-ni ara latent vektorlar 1 = geo( 1) və 2 = tex( 2)-yə map etmək üçün qeyri-xətti mapping şəbəkələrini geo və tex istifadə edirik, hansılar ki, müvafiq olaraq 3D fiqurların və teksturanın generasiyasını idarə edən *stilleri* yaratmaq üçün daha da istifadə olunur. Biz Bölmə. -də həndəsə üçün generatoru və Bölmə. -də tekstura generatorunu formal olaraq təqdim edirik. z z 34 35 33 z z w f z w f z f f 3.1.1 3.1.2 3.1.1 Həndəsə Generatoru Bizim həndəsə generatorumuzu DMTet [ ]ı daxil etmək üçün nəzərdə tutmuşuq, bu da son vaxtlar təklif edilmiş diferansial səth təmsilidir. DMTet, deformasiya oluna bilən tetraqonal grid üzərində müəyyən edilmiş bir işarəli məsafə sahəsi (SDF) olaraq həndəsəni təmsil edir [ , ], hansından ki, səth diferansial olaraq marş etməklə bərpa edilə bilər. tetraedrlər [ ]. Gridini onun təpələrini hərəkət etdirməklə deformasiya etmək onun rezolyusiyasından daha yaxşı istifadə edilməsini təmin edir. Səth çıxartmaq üçün DMTet-dən istifadə edərək, biz ya-bitib-istifadəsiz topologiya və cinsə malik eksplicit meshlər istehsal edə bilirik. Növbəti olaraq DMTet-in qısa icmalını təqdim edirik və ətraflı məlumat üçün orijinal məqaləyə istinad edirik. 60 22 24 17 ( ) obyektin yerləşdiyi tam 3D sahəsini təmsil etsin, burada tetraqonal grid -dəki təpələrdir. Hər bir tetraedr ∈ dörd təpədən { } istifadə edərək müəyyən edilir, burada ∈ {1*, . . . , K*}, burada tetraedrlərin ümumi sayı, və ∈ ∈ R3. Onun *i* 3D koordinatlarına əlavə olaraq, hər bir təpə nöqtəsi SDF dəyəri ∈ R və onun ilkin kanonik koordinatından 3D deformasiya ∆ ∈ R3-ü ehtiva edir. Bu təmsil diferansial marş etməklə eksplicit meshin bərpasına imkan verir. tetraedrlər [ ], burada davamlı sahədəki SDF dəyərləri deformasiya olunmuş təpələr ′ = + ∆ -də onların dəyərlərinin barysentrik interpolasiyası ilə hesablanır. 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 60 v v i v i si Biz 1 ∈ R512-ni hər bir təpə nöqtəsi üçün SDF dəyərlərinə və deformasiyalara bir sıra şərthi 3D konvolyusiya və tam əlaqəli qatlar vasitəsilə map edirik. Xüsusilə, biz əvvəlcə 1-ə şərtləşdirilmiş bir xüsusiyyət həcmi yaratmaq üçün 3D konvolyusiya qatlarından istifadə edirik. Sonra biz xüsusiyyəti ∈ -də trilinear interpolasyondan istifadə edərək sorğulayırıq və onu SDF dəyəri və deformasiya ∆ -ni verən MLP-lərə daxil edirik. Yüksək rezolyusiyada modelləşdirmə tələb olunan hallarda (məsələn, təkərlərdəki nazik strukturlara malik motosiklet), biz həmçinin [ ] təqib edərək həcmi bölmə 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, eksplicit mesh-i çıxarmaq üçün diferansial marş etmə tetraedrlər alqoritmini istifadə edirik. Marş etmə tetraedrlər hər bir tetraedr içindəki səthin topologiyasını -nin əlamətlərinə əsasən müəyyən edir. Xüsusilə, bir mesh üzü, əgər sign( ) /= sign( ) olarsa çıxarılır, burada tetraedrin kənarındakı təpələrin indekslərini göstərir, və həmin üzün təpələri xətti interpolasiya ilə müəyyən edilir: mi,j = v 0 i sj−v 0 j si sj−si . Qeyd edək ki, yuxarıdakı tənlik yalnız si 6= sj olduqda qiymətləndirilir, beləliklə diferansialdır və mi,j-dən qradient SDF dəyərlərinə si və deformasiyalara ∆vi geri yayılır. Bu təmsil ilə, si-nin fərqli əlamətlərini proqnozlaşdıraraq ya-bitib-istifadəsiz topologiyaya malik fiqurlar asanlıqla yaradıla bilər. Diferansial Mesh Çıxarılması si v i si si sj i, j m i,j 3.1.2 Tekstura Generatoru Çıxış meshinə uyğun bir tekstura xəritəsini birbaşa yaratmaq çətin deyil, çünki yaradılan fiqurun ya-bitib-istifadəsiz cinsi və topologiyası ola bilər. Beləliklə, biz teksturanı bir tekstura sahəsi olaraq parametrləşdiririk [ ]. 50 Xüsusilə, biz tekstura sahəsini tri-plan təmsili ilə modelləşdiririk, hansı ki 3D obyektlərin bərpası [ ] və 3D-şüurlu şəkillərin yaradılması [ ] üçün səmərəli və ifadəlidir. Xüsusilə, biz [ , ] təqib edirik və 1 ⊕ 2 latent kodundan × × ( × 3) ölçüsündə üç ox üzrə düzülmüş ortoqonal xüsusiyyət planına map etmək üçün bir şərthi 2D konvolyusiya neyron şəbəkəsi istifadə edirik, burada = 256 fəza rezolyusiyasını və = 32 kanal sayını göstərir. 55 8 8 35 w w N N C N C Xüsusiyyət planları verildikdə, bir səth nöqtəsi p üçün xüsusiyyət vektoru f t ∈ R 32, f t = P e ρ(πe(p)) olaraq əldə edilə bilər, burada πe(p) nöqtəsinin xüsusiyyət planına proqnozlaşdırılmasıdır e və ρ(·) xüsusiyyətlərin xətti interpolasiyasını göstərir. Əlavə bir tam əlaqəli qat sonra yığılmış xüsusiyyət vektorunu f t-dən RGB rənginə c-yə map etmək üçün istifadə olunur. Qeyd edək ki, 3D-şüurlu şəkil sintezi üzrə digər işlərdən fərqli olaraq, biz yalnız səth nöqtələrinin yerlərində tekstura sahəsini nümunələməliyik (şüa boyunca sıx nümunələrə qarşı). Bu, yüksək rezolyusiyalı şəkillərin renderlənməsi üçün hesablama mürəkkəbliyini böyük ölçüdə azaldır və tikinti ilə çoxnəzər uyğun şəkillərin yaradılmasına zəmanət verir. 3.2 Diferansial Renderləmə və Təlim Modelimizi təlim zamanı nəzarət etmək üçün, biz diferansial renderləyicidən istifadə edərək çoxnəzərli 3D obyekt bərpasını həyata keçirən Nvdiffrec [ ]-dən ilham alırıq. Xüsusilə, biz çıxar 47