```html Yazarlar: Jun Gao, NVIDIA, Toronto Üniversitesi, Vector Enstitüsü (jung@nvidia.com) Tianchang Shen, NVIDIA, Toronto Üniversitesi, Vector Enstitüsü (frshen@nvidia.com) Zian Wang, NVIDIA, Toronto Üniversitesi, Vector Enstitüsü (zianw@nvidia.com) Wenzheng Chen, NVIDIA, Toronto Üniversitesi, Vector Enstitüsü (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 Üniversitesi, Vector Enstitüsü (sfidler@nvidia.com) Özet Birkaç endüstri devasa 3B sanal dünyaları modellemeye doğru ilerlerken, 3B içerik miktarını, kalitesini ve çeşitliliğini ölçeklendirebilen içerik oluşturma araçlarına olan ihtiyaç belirgin hale gelmektedir. Çalışmamızda, doğrudan 3B işleme motorları tarafından tüketilebilen, böylece aşağı akış uygulamalarında anında kullanılabilen dokulu ağlar sentezleyen performanslı 3B üretken modelleri eğitmeyi amaçlıyoruz. 3B üretken modelleme üzerine yapılan önceki çalışmalar ya geometrik detaylardan yoksundur, üretebilecekleri ağ topolojileriyle sınırlıdır, tipik olarak dokuları desteklemez veya sentez sürecinde sinirsel oluşturucular kullanır, bu da yaygın 3B yazılımlarda kullanımlarını önemsiz hale getirir. Bu çalışmada, karmaşık topolojiye, zengin geometrik detaylara ve yüksek sadakatli dokulara sahip doğrudan Görünür Dokulu 3B Ağlar üreten bir model olan GET3D'yi tanıtıyoruz. 2B görüntü koleksiyonlarından modelimizi eğitmek için türevlenebilir yüzey modelleme, türevlenebilir işleme ve 2B Üretken Çekişmeli Ağlardaki son başarıları birleştiriyoruz. GET3D, arabalar, sandalyeler, hayvanlar, motosikletler ve insan karakterlerinden binalara kadar yüksek kaliteli 3B dokulu ağlar üretebilir ve önceki yöntemlere göre önemli gelişmeler elde eder. Proje sayfamız: https://nv-tlabs.github.io/GET3D 1 Giriş Oyun, robotik, mimari ve sosyal platformlar dahil olmak üzere çeşitli endüstriler için çeşitli, yüksek kaliteli 3B içerik giderek daha önemli hale gelmektedir. Ancak, 3B varlıkların manuel olarak oluşturulması çok zaman alır ve özel teknik bilgi ile sanatsal modelleme becerileri gerektirir. Ana zorluklardan biri ölçektir - Turbosquid [ ] veya Sketchfab [ ] gibi 3B pazaryerlerinde 3B modeller bulunsa da, örneğin bir oyunu veya filmi hepsi farklı görünen karakterlerden oluşan bir kalabalıkla doldurmak için birçok 3B model oluşturmak hala önemli miktarda sanatçı zamanı almaktadır. 4 3 İçerik oluşturma sürecini kolaylaştırmak ve çeşitli (amatör) kullanıcılar için erişilebilir hale getirmek için, yüksek kaliteli ve çeşitli 3B varlıklar üretebilen üretken 3B ağlar yakın zamanda aktif bir araştırma alanı haline gelmiştir [ , , , , , , , , , , ]. Ancak, mevcut gerçek dünya uygulamaları için pratik olarak kullanışlı olmak üzere, 3B üretken modellerin ideal olarak aşağıdaki gereksinimleri karşılaması gerekir: Ayrıntılı geometriye ve keyfi topolojiye sahip şekiller üretme kapasitesine sahip olmalıdırlar, Çıktı, Blender [ ] ve Maya [ ] gibi standart grafik yazılım paketleri tarafından kullanılan birincil bir temsil olan dokulu bir ağ olmalıdır ve Denetim için 2B görüntülerden yararlanabilmeliyiz, çünkü bunlar açık 3B şekillerden daha yaygın olarak mevcuttur. 5 14 43 46 53 68 75 60 59 69 23 (a) (b) 15 1 (c) 3B üretken modelleme üzerine yapılan önceki çalışmalar yukarıdaki gereksinimlerin alt kümelerine odaklanmıştır, ancak bugüne kadar hiçbir yöntem hepsini yerine getirmemiştir (Tablo ). Örneğin, 3B nokta bulutları üreten yöntemler [ , 68, 75] tipik olarak doku üretmez ve son işlemde bir ağa dönüştürülmesi gerekir. 1 5 Voksel üreten yöntemler genellikle geometrik detaylardan yoksundur ve doku üretmez [ , , , ]. Sinir alanlarına dayalı üretken modeller [ , ] geometri çıkarmaya odaklanır ancak dokuyu ihmal eder. Bunların çoğu ayrıca açık 3B denetimi gerektirir. Son olarak, doğrudan dokulu 3B ağlar üreten yöntemler [ , ] tipik olarak önceden tanımlanmış şekil şablonları gerektirir ve karmaşık topolojiye veya değişken cinse sahip şekilleri üretemez. 66 20 27 40 43 14 54 53 Son zamanlarda, sinir hacimsel işleme [ ] ve 2B Üretken Çekişmeli Ağlardaki (GAN'lar) [ , , , , ] hızlı ilerlemeler, 3B açısından bilinçli görüntü sentezinin [ , , , , , ] yükselişine yol açmıştır. Ancak, bu çalışma hattı, sentez sürecinde sinirsel işleme kullanarak çoklu görünüm tutarlı görüntüleri sentezlemeyi amaçlar ve anlamlı 3B şekillerin üretilebileceğini garanti etmez. Alt yatan sinir alan temsilinden marşing küp algoritması [ ] kullanılarak potansiyel olarak bir ağ elde edilebilse de, karşılık gelen dokuyu çıkarmak önemsiz bir çabadır. 45 34 35 33 29 52 7 57 8 49 51 25 39 Bu çalışmada, pratik olarak kullanışlı bir 3B üretken modelin tüm gereksinimlerini karşılamayı amaçlayan yeni bir yaklaşım sunuyoruz. Özellikle, yüksek geometrik ve doku detayına ve keyfi ağ topolojisine sahip Görünür Dokulu 3B Ağları doğrudan çıktı olarak veren 3B şekiller için bir Üretken model olan GET3D'yi tanıtıyoruz. Yaklaşımımızın kalbinde, türevlenebilir bir *açık* yüzey çıkarma yöntemi [ ] ve türevlenebilir bir işleme tekniği [ , ] kullanan bir üretken süreç yer almaktadır. İlki, keyfi topolojiye sahip dokulu 3B ağları doğrudan optimize etmemizi ve çıktı olarak vermemizi sağlarken, ikincisi 2B görüntüleri kullanarak modelimizi eğitmemize olanak tanır, böylece 2B görüntü sentezi için geliştirilmiş güçlü ve olgun ayrıştırıcıları kullanırız. Modelimiz doğrudan ağlar ürettiği ve yüksek verimli (türevlenebilir) bir grafik işleyici kullandığı için, modelimizi görüntüyle eğitmeyi ölçeklendirebiliriz 60 47 37 1024 × 1024'e kadar çözünürlük, yüksek kaliteli geometrik ve doku ayrıntılarını öğrenmemizi sağlar. Arabalar, sandalyeler, hayvanlar, motosikletler ve insan karakterlerinden binalara kadar ShapeNet [ ], Turbosquid [ ] ve Renderpeople [ ] kategorilerinde karmaşık geometriye sahip birden fazla kategoride son teknoloji durumunu gösteren yüksek kaliteli 3B dokulu ağlar üretiyoruz. Açık ağ çıktısı temsili ile GET3D ayrıca çok esnektir ve diğer görevlere kolayca uyarlanabilir, şunlar dahil: gelişmiş türevlenebilir işleme kullanarak ayrıştırılmış malzeme ve görünüm bağımlı aydınlatma efektleri üretmeyi öğrenme [ ], denetimsiz, CLIP [ ] gömme kullanarak metin güdümlü 3B şekil üretimi. 9 4 2 (a) 12 (b) 56 2 İlgili Çalışmalar Geometri ve görünüm için 3B üretken modellerdeki son gelişmelerin yanı sıra 3B açısından bilinçli üretken görüntü sentezini gözden geçiriyoruz. Son yıllarda, 2B üretken modeller yüksek çözünürlüklü görüntü sentezinde fotogerçekçi kalite elde etti [ , , , , , , ]. Bu ilerleme aynı zamanda 3B içerik üretimi alanında da ilham vermiştir. Erken yaklaşımlar, 2B CNN üretkenlerini doğrudan 3B voksel kılavuzlarına genişletmeyi amaçladı [ , , , , ], ancak 3B konvolüsyonlarının yüksek bellek ayak izi ve hesaplama karmaşıklığı yüksek çözünürlükte üretim sürecini engellemektedir. Alternatif olarak, diğer çalışmalar nokta bulutu [ , , , ], örtük [ , ] veya oktree [ ] temsillerini incelemiştir. Ancak, bu çalışmaların çoğu esas olarak geometri üretimine odaklanır ve görünümü ihmal eder. Çıktı temsilleri ayrıca standart grafik motorlarıyla uyumlu hale getirmek için son işlem görmesi gerekir. 3B Üretken Modeller 34 35 33 52 29 19 16 66 20 27 40 62 5 68 75 46 43 14 30 Çalışmamıza daha yakın olan Textured3DGAN [ , ] ve DIBR [ ] dokulu 3B ağlar üretir, ancak üretimi bir şablon ağın deformasyonu olarak formüle ederler, bu da onları karmaşık topoloji veya değişken cinse sahip şekilleri üretmekten alıkoyar, ki bu yöntemimiz bunu yapabilir. PolyGen [ ] ve SurfGen [ ] keyfi topolojiye sahip ağlar üretebilir, ancak doku sentezlemezler. 54 53 11 48 41 Sinir hacimsel işleme [ ] ve örtük temsillerdeki [ , ] başarıdan ilham alan son çalışmalar, 3B açısından bilinçli görüntü sentezi [ , , , , , , , , , ] sorununu ele almaya başlamıştır. Ancak, sinir hacimsel işleme ağları sorgulamak için genellikle yavaştır, bu da uzun eğitim sürelerine [ , ] yol açar ve sınırlı çözünürlüklü görüntüler üretir. GIRAFFE [ ] ve StyleNerf [ ] sinirsel işleme daha düşük bir çözünürlükte gerçekleştirip sonuçları bir 2B CNN ile ölçeklendirerek eğitim ve işleme verimliliğini artırır. Ancak, performans artışı azalmış çoklu görünüm tutarlılığı pahasına gelir. Çift bir ayrıştırıcı kullanarak, EG3D [ ] bu sorunu kısmen hafifletebilir. Bununla birlikte, sinirsel işlemeye dayalı yöntemlerden dokulu bir yüzey çıkarmak önemsiz bir çabadır. Buna karşılık, GET3D, standart grafik motorlarında kolayca kullanılabilecek dokulu 3B ağları doğrudan çıktı olarak verir. 3B Açısından Bilinçli Üretken Görüntü Sentezi 45 43 14 7 57 49 26 25 76 8 51 58 67 7 57 49 25 8 3 Yöntem Şimdi dokulu 3B şekilleri sentezlemek için GET3D çerçevemizi sunuyoruz. Üretim sürecimiz iki bölüme ayrılmıştır: keyfi topolojiye sahip bir yüzey ağı türevlenebilir olarak çıktı veren bir geometri dalı ve yüzey noktalarında renkleri üretmek için sorgulanabilen bir doku alanı üreten bir doku dalı. İkincisi, örneğin malzemeler için diğer yüzey özelliklerine genişletilebilir (Bölüm ). Eğitim sırasında, 2B yüksek çözünürlüklü görüntülere dönüştürmek için verimli bir türevlenebilir bir rasterizer kullanılır. Tüm süreç türevlenebilirdir ve 2B ayrıştırıcıdan hem üretici dallarına gradyanları yayarak görüntülerden (bir nesnenin ilgi odağı olduğunu belirten maskelerle) çekişmeli eğitim sağlar. Modelimiz Şekil 'de gösterilmiştir. Aşağıda, önce 3B üreticimizi Bölüm 'de tanıtacağız, ardından Bölüm 'deki türevlenebilir işleme ve kayıp fonksiyonlarına geçeceğiz. 4.3.1 2 3.1 3.2 3.1 3B Dokulu Ağların Üretken Modeli Bir Gauss dağılımından bir örneği ∈ N (0*,* ) bir ağ ile doku 'ye eşleyen bir 3B üretici = ( ) öğrenmeyi amaçlıyoruz. z I M E M, E G z Aynı geometrinin farklı dokuları olabilir ve aynı doku farklı geometrilere uygulanabilir olduğundan, iki rastgele giriş vektörü 1 ∈ R512 ve 2 ∈ R512 örnekleriz. StyleGAN [ , , ]'i takip ederek, 1 ve 2'yi sırasıyla 3B şekiller ve doku üretimi kontrol eden *stiller* üretmek için daha sonra kullanılan ara gizli vektörler 1 = geo( 1) ve 2 = tex( 2)'ye eşlemek için doğrusal olmayan eşleme ağları geo ve tex kullanırız. Geometri için üreticiyi Bölüm ve doku üreticisini Bölüm 'de resmi olarak tanıtıyoruz. z z 34 35 33 z z w f z w f z f f 3.1.1 3.1.2 3.1.1 Geometri Üreticisi Geometri üreticimizi, yakın zamanda önerilen türevlenebilir bir yüzey temsili olan DMTet [ ]'i dahil etmek için tasarlıyoruz. DMTet, geometriyi deforme olabilen bir tetrahedral kılavuz üzerinde tanımlanmış bir işaretli uzaklık alanı (SDF) olarak temsil eder [ , ], buradan yüzey, marşing tetrahedra [ ] aracılığıyla türevlenebilir olarak geri kazanılabilir. Kılavuzu köşelerini hareket ettirerek deforme etmek, çözünürlüğünün daha iyi kullanılmasını sağlar. Yüzey çıkarma için DMTet'i benimseyerek, keyfi topolojiye ve cinse sahip açık ağlar üretebiliriz. Daha sonra DMTet'in kısa bir özetini sunuyoruz ve daha fazla ayrıntı için okuyucuyu orijinal makaleye yönlendiriyoruz. 60 22 24 17 'nin, nesnenin bulunduğu tam 3B alanı temsil ettiğini varsayalım, burada tetrahedral kılavuz üzerindeki köşelerdir. Her tetrahedron ∈ dört köşe ile tanımlanır { }, ∈ {1*, . . . , K*}, burada toplam tetrahedron sayısıdır ve ∈ ∈ R3. 3D koordinatlarının yanı sıra, her köşe SDF değeri ∈ R ve orijinal kanonik koordinattan köşenin deformasyonu ∆ ∈ R3 içerir. Bu temsil, deforme edilmiş köşeler ′ = + ∆ üzerindeki değerlerinin 'nin ağırlıklı enterpolasyonunu hesaplayarak sürekli alanda SDF değerleri için işaretli tetrahedra [ ] türevlenebilirliğini geri kazanmayı sağlar. (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 1 ∈ R512'yi, koşullu 3B konvolüsyonel ve tam bağlı katmanlar dizisi aracılığıyla her köşe 'deki SDF değerlerine ve deformasyonlarına eşleriz. Spesifik olarak, önce 1'e koşullandırılmış bir özellik hacmi oluşturan 3B konvolüsyonel katmanlar kullanırız. Ardından, her köşe ∈ 'deki özelliği üçlü enterpolasyon kullanarak sorgularız ve SDF değeri ve deformasyon ∆ Ağ Mimarisi w v i w v i VT si v i'yi çıktı olarak veren MLPlere besleriz. Yüksek çözünürlükte modelleme gerektiğinde (örneğin, tekerleklerde ince yapılı motosiklet), [ ]'ü takip ederek hacim alt bölümlemesini daha da kullanırız. 60 Tüm köşeler için ve ∆ elde edildikten sonra, açık ağı çıkarmak için türevlenebilir marşing tetrahedra algoritmasını kullanırız. Marşing tetrahedra, 'nin işaretlerine göre her tetrahedron içindeki yüzey topolojisini belirler. Özellikle, bir ağ yüzü, tetrahedronun kenarındaki köşelerin indekslerini belirttiğinde, sign( ) /= sign( ) olduğunda çıkarılır ve o yüzeyin köşeleri doğrusal bir enterpolasyon olarak belirlenir mi,j = v 0 i sj−v 0 j si sj−si . Yukarıdaki denklemin yalnızca si 6= sj olduğunda değerlendirildiğini unutmayın, bu nedenle türevlenebilirdir ve mi,j'den gelen gradyan SDF değerlerine si ve deformasyonlara ∆vi geri yayılabilir. Bu temsil ile, si'nin farklı işaretlerini tahmin ederek keyfi topolojiye sahip şekiller kolayca üretilebilir. Türevlenebilir Ağ Çıkarma si v i si i, j si sj m i,j 3.1.2 Doku Üreticisi Çıktı ağıyla tutarlı bir doku haritasını doğrudan üretmek, üretilen şeklin keyfi bir cinsi ve topolojisi olabileceğinden önemsiz değildir. Bu nedenle, dokuyu bir doku alanı [ ] olarak parametrelendiriyoruz. 50 Özellikle, doku alanını, 2'ye koşullandırılmış bir yüzey noktasının 3D konumu ∈ R3'ü o konumdaki RGB rengine ∈ R3'e eşleyen bir fonksiyon ile modelleriz. Doku alanı geometriye bağlı olduğundan, bu eşlemeyi geometri gizli kodu 1'e koşullandırırız, böylece = ( *,* 1 ⊕ 2) olur, burada ⊕ birleştirmeyi belirtir. w p c ft w c ft p w w Dokumuz alanını, 3B nesneleri yeniden yapılandırmada [ ] ve 3B açısından bilinçli görüntüler üretmede [ ] verimli ve etkili olan bir üçlü düzlem temsili kullanarak modelleriz. Spesifik olarak, gizli kod 1 ⊕ 2'yi × × ( × 3) boyutlarında üç eksen hizalı dik özellik düzlemine eşlemek için koşullu bir 2B konvolüsyonel sinir ağı kullanırız, burada = 256 mekansal çözünürlüğü ve = 32 kanal sayısını temsil eder. Ağ Mimarisi 55 8 w w N N C N C Özellik düzlemleri verildiğinde, bir yüzey noktası p'nin özellik vektörü f t ∈ R 32, f t = P e ρ(πe(p)) olarak kurtarılabilir, burada πe(p), p noktasının özellik düzlemine e projeksiyonudur ve ρ(·) özelliklerin çift enterpolasyonunu belirtir. Ek bir tam bağlı katman daha sonra toplanan özellik vektörü f t'yi RGB rengine c eşlemek için kullanılır. 3B açısından bilinçli görüntü sentezi üzerine diğer çalışmalardan [8, 25, 7, 57] farklı olarak, sinir alanı temsilini kullanan, yalnızca yüzey noktalarının konumlarında doku alanını örneklememiz gerektiğini unutmayın (yoğun ray boyunca örneklemeye karşı). Bu, yüksek çözünürlüklü görüntüleri işleme hesaplama karmaşıklığını büyük ölçüde azaltır ve inşa yoluyla çoklu görünüm tutarlı görüntüler üretilmesini garanti eder. 3.2 Türevlenebilir İşleme ve Eğitim Modelimizi eğitim sırasında denetlemek için, çok görünümlü 3B nesne yeniden yapılandırması yapan ve türevlenebilir bir oluşturucu kullanan Nvdiffrec [ ]'den ilham alıyoruz. Spesifik olarak, çıkarılan 3B ağı ve doku alanını türevlenebilir bir oluşturucu [ ] kullanarak 2B görüntülere işliyoruz ve modeli, görüntüyü gerçek bir nesneden veya üretilen nesneden işlenmiş olup olmadığını ayırt etmeye çalışan 2B bir ayrıştırıcı ile denetliyoruz. 47 37 Veri setindeki görüntülerin alındığı kamera dağılımının C'nin bilindiğini varsayıyoruz. Üretilen şekilleri işlemek için, C'den rastgele bir kamera örnekleriz ve optimize edilmiş, yüksek verimli bir türevlenebilir rasterizer Nvdiffrast [ ] kullanarak 3B ağı 2B bir silüete ve her pikselin 3B noktasının koordinatlarını içeren bir görüntüye işleriz. Bu koordinatlar daha sonra RGB değerlerini elde etmek için doku alanını sorgulamak için kullanılır. Çıkarılan ağ üzerinde doğrudan çalıştığımız için, yüksek verimlilikle yüksek çözünürlüklü görüntüler işleyebiliriz, bu da modelimizin 1024×1024'e kadar görüntü çözünürlüğü ile eğitilmesini sağlar. Türevlenebilir İşleme c 37 Modelimizi çekişmeli bir amaç fonksiyonu kullanarak eğitiyoruz. StyleGAN [ ]'dan ayrıştırıcı mimarisini benimsiyoruz ve R1 düzenlemesi [ ] ile aynı doymayan GAN amacını kullanıyoruz. Her ikisi de üzerinde çalışan tek bir ayrıştırıcıdan daha iyi sonuçlar veren iki ayrı ayrıştırıcı kullanmanın daha iyi sonuçlar verdiğini deneysel olarak bulduk. 'in bir ayrıştırıcıyı temsil ettiğini ve 'in bir RGB görüntüsü veya bir silüet olabileceğini varsayalım. Çekişmeli amaç fonksiyonu o zaman şu şekilde tanımlanır: Ayrıştırıcı ve Amaç 34 42 Dx x burada ( ), ( ) = − log(1 +exp(− )) olarak tanımlanır, gerçek görüntülerin dağılımıdır, işlemeyi temsil eder ve bir hiper parametredir. türevlenebilir olduğundan, gradyanlar 2B görüntülerden 3B üreticilerimize geri yayılabilir. g u g u u px R λ R Herhangi bir görünümde görünmeyen iç yüzen yüzeyleri kaldırmak için, komşu köşelerin SDF değerleri arasındaki çapraz entropi kaybıyla geometri üreticisini daha da düzenleriz [ ]: Düzenleme 47 burada ikili çapraz entropi kaybını ve sigmoid fonksiyonunu temsil eder. Denklemdeki toplam , sign( ) /= sign( ) olduğunda tetrahedral kılavuzdaki benzersiz kenarlar S kümesi üzerinde tanımlanır. H σ 2 si sj e Genel kayıp fonksiyonu daha sonra şu şekilde tanımlanır: burada düzenleme seviyesini kontrol eden bir hiper parametredir. µ 4 Deneyler Modelimizi değerlendirmek için kapsamlı deneyler yapıyoruz. Öncelikle, ShapeNet [ ] ve Turbosquid [ ] veri kümelerini kullanarak GET3D tarafından üretilen 3B dokulu ağların kalitesini mevcut yöntemlerle karşılaştırıyoruz. Ardından, Bölüm 'de tasarım tercihlerimizi inceliyoruz. Son olarak, Bölüm 'te aşağı akış uygulamalarına uyarlayarak GET3D'nin esnekliğini gösteriyoruz. Ek deney sonuçları ve uygulama ayrıntıları Ek'te verilmiştir. 9 4 4.2 4.3 4.1 Sentetik Veri Kümeleri Üzerinde Deneyler ShapeNet [ ] üzerinde değerlendirme için, karmaşık geometriye sahip üç kategoriyi kullanıyoruz - *Araba*, *Sandalye* ve *Motosiklet*, sırasıyla 7497, 6778 ve 337 şekil içerir. Her kategoriyi rastgele eğitim (%70), doğrulama (%10) ve test (%20) olarak böleriz ve ayrıca Veri Kümeleri 9