Zephyrnet Logosu

Intel'in görüntü iyileştirici yapay zekası, fotogerçekçi oyun motorları için ileriye doğru bir adımdır

Tarih:


Kurumsal veri teknolojinizi ve stratejinizi geliştirin 2021 Transform.


Intel geçtiğimiz günlerde bir derin öğrenme 3B işlenmiş grafikleri fotogerçekçi görüntülere dönüştüren sistem. Grand Theft Auto 5'te test edilen sinir ağı etkileyici sonuçlar gösterdi. Oyunun geliştiricileri, Los Angeles'ı ve Güney Kaliforniya'yı ayrıntılı bir şekilde yeniden yaratmak için şimdiden harika bir iş çıkardılar. Ancak Intel'in yeni makine öğrenimi sistemiyle, grafikler yüksek kaliteli sentetik 3D'den gerçek hayat tasvirlerine (çok küçük aksaklıklarla birlikte) dönüşür.

Ve daha da etkileyici olan şey, Intel'in yapay zekasının bunu, tek bir kare için dakikalar veya saatler sürebilen fotogerçekçi işleme motorlarının aksine nispeten yüksek bir kare hızında yapıyor olmasıdır. Ve bu sadece ön sonuçlar. Araştırmacılar, derin öğrenme modellerini çok daha hızlı çalışacak şekilde optimize edebileceklerini söylüyor.

Bu, bazı analistlerin öne sürdüğü gibi gerçek zamanlı fotogerçekçi oyun motorlarının ufukta göründüğü anlamına mı geliyor? Henüz üzerine bahse girmem, çünkü birkaç temel sorun çözülmemiş durumda.

Görüntü geliştirme için derin öğrenme

Gerçek zamanlı görüntü geliştirme çalıştırmanın fizibilitesini değerlendirmeden önce, Intel'in kullandığı derin öğrenme sistemine üst düzey bir göz atalım.

Intel'deki araştırmacılar, geliştirdikleri derin öğrenme sistemi hakkında tam uygulama ayrıntıları sağlamadılar. Ama yayınladılar arXiv ile ilgili bir makale ve YouTube'da, bu modeli çalıştırmak için ihtiyaç duyacağınız hesaplama gücü türü hakkında yararlı ipuçları sağlayan bir video yayınladı.

Aşağıda gösterilen tam sistem, birbirine bağlı birkaç bileşenden oluşur. nöral ağlar.

Intel derin öğrenme fotogerçekçi geliştirme tam mimarisi

G-arabelleği kodlayıcı, farklı oluşturma haritalarını (G-arabellekleri) bir dizi sayısal özelliğe dönüştürür. G-tamponları, yüzey normal bilgileri, derinlik, albedo, parlaklık, atmosfer ve nesne segmentasyonu için haritalardır. Sinir ağının kullandığı evrişim katmanları bu bilgiyi işlemek ve 128 özelliğin bir vektörünü çıkarmak için performansı iyileştir görüntü geliştirme ağının ve diğer benzer tekniklerin ürettiği eserlerden kaçının. G-tamponları doğrudan oyun motorundan alınır.

intel ai fotogerçekçi görüntü geliştirme g-arabellekleri

Görüntü geliştirme ağı, girdi olarak oyunun işlenen çerçevesini ve G-buffer kodlayıcının özelliklerini alır ve fotogerçekçi versiyon Resmin

Kalan bileşenler, ayrımcı ve LPIPS kayıp fonksiyonu, eğitim sırasında kullanılır. Geliştirme ağının çıktısını, oyunun oluşturduğu orijinal çerçeveyle tutarlılığını değerlendirerek ve fotogerçekçi kalitesini gerçek görüntülerle karşılaştırarak derecelendirirler.

Görüntü geliştirme için çıkarım maliyetleri

İlk olarak, teknoloji kullanılabilir hale gelirse, oyuncuların bilgisayarlarında çalıştırabileceklerini görelim. Bunun için çıkarım maliyetlerini veya eğitilmiş modeli çalıştırmak için ne kadar bellek ve bilgi işlem gücüne ihtiyacınız olduğunu hesaplamamız gerekiyor. Çıkarım için, yalnızca G-arabelleği kodlayıcıya ve görüntü geliştirme ağına ihtiyacınız olacak ve ayrımcı ağı kesebiliriz.

Intel derin öğrenme fotogerçekçi geliştirme çıkarım mimarisi

Geliştirme ağı, işin büyük kısmını oluşturur. Intel'in makalesine göre, bu sinir ağı HRNetV2, yüksek çözünürlüklü görüntüleri işlemeyi amaçlayan bir derin öğrenme mimarisi. Yüksek çözünürlüklü sinir ağları, görüntüleri alt-örnekleyen modellerden daha az görsel yapaylık üretir.

Intel'in makalesine göre, “HRNet, bir görüntüyü farklı çözünürlüklerde çalışan birden çok şube aracılığıyla işler. Daha da önemlisi, ince görüntü yapısını korumak için bir özellik akışı nispeten yüksek çözünürlükte (giriş çözünürlüğünün 1/4'ü) tutuluyor.”

Bu, oyunu tam HD'de (1920×1080) çalıştırıyorsanız, en üst sıradaki katmanların girişleri 480×270 piksel olarak işleyeceği anlamına gelir. Çözünürlük, alt sıraların her birinde yarıya iner. Araştırmacılar, sinir ağındaki her bloğun yapısını, G-buffer kodlayıcıdan (RAD katmanları) gelen girdileri de hesaplamak için değiştirdiler.

intel fotogerçekçi derin öğrenme görüntü geliştirme ağı

Intel'in makalesine göre, G-buffer'ın girdileri arasında "malzeme bilgileri için tek sıcak kodlamalar, normaller, derinlik ve renk için yoğun sürekli değerler ve çiçeklenme ve gökyüzü arabellekleri için seyrek sürekli bilgiler" bulunur.

Araştırmacılar, makalelerinin başka bir yerinde, derin öğrenme modelinin G-tamponlarının bir alt kümesiyle hala iyi performans gösterebileceğini belirtiyorlar.

Peki, modelin ne kadar belleğe ihtiyacı var? Intel'in makalesi bellek boyutunu belirtmiyor, ancak HRNetV2 belgesine göre, tam ağ 1.79×1024 giriş için 2048 gigabayt bellek gerektiriyor. Intel tarafından kullanılan görüntü geliştirme ağının girdi boyutu daha küçüktür, ancak RAD katmanları ve G-buffer kodlayıcı tarafından sunulan ekstra parametreleri de hesaba katmamız gerekir. Bu nedenle, tam HD oyunlar için derin öğrenmeye dayalı görüntü geliştirmeyi çalıştırmak için en az bir gigabayt video belleğine ve 4K çözünürlük istiyorsanız muhtemelen iki gigabayttan fazlasına ihtiyacınız olacağını varsaymak adil olur.

HRNet bellek gereksinimleri

Bir gigabayt bellek, oyun bilgisayarlarında genellikle 4-8 GB VRAM'e sahip grafik kartlarına sahip olduğu için fazla bir şey değildir. Ve GeForce RTX serisi gibi üst düzey grafik kartlarında 24 GB'a kadar VRAM olabilir.

Ancak 3D oyunların ekran kartı kaynaklarının çoğunu tükettiğini de belirtmekte fayda var. Oyunlar, oluşturma sürelerini hızlandırmak ve RAM ile VRAM arasında geçiş yapmaktan kaçınmak için video belleğinde mümkün olduğu kadar çok veri depolar; bu işlem, çok büyük bir hız cezası gerektiren bir işlemdir. Bir tahmine göre, GTA 5 tüketiyor 3.5 GB'a kadar VRAM tam HD çözünürlükte. Ve GTA 2013'te piyasaya sürüldü. Çok daha büyük 2077D dünyalara ve daha ayrıntılı nesnelere sahip Cyberpunk 3 gibi daha yeni oyunlar, 7-8 GB'a kadar VRAM'i kolayca silip süpürebilir. Ve yüksek çözünürlüklerde oynamak istiyorsanız, o zaman daha da fazla belleğe ihtiyacınız olacak.

Temel olarak, mevcut orta ve üst seviye grafik kartlarıyla, düşük çözünürlüklü fotogerçekçi kalite ile yüksek çözünürlüklü sentetik grafikler arasında seçim yapmanız gerekecek.

Ancak derin öğrenmeye dayalı görüntü geliştirmenin karşılaştığı tek sorun bellek kullanımı değildir.

Doğrusal olmayan işlemenin neden olduğu gecikmeler

Bence çok daha büyük bir sorun sıralı ve derin öğrenme işlemlerinin doğrusal olmayan doğası. Bu sorunu anlamak için önce karşılaştırmamız gerekir. 3D grafik derin öğrenme çıkarımı ile işleme.

Üç boyutlu grafikler, çok sayıda matris çarpımına dayanır. 3B grafiklerin işlenmiş bir çerçevesi, temel olarak bir 3B nesne üzerindeki noktaların özelliklerini (örneğin, koordinatlar, renk, malzeme, normal yön, vb.) temsil eden bir dizi sayı olan bir köşeler koleksiyonundan başlar. Her kare işlenmeden önce, tepe noktaları, yerel koordinatlarını dünya koordinatlarına, kamera alanı koordinatlarına ve görüntü çerçevesi koordinatlarına eşleyen bir dizi matris çarpımından geçmelidir. Bir dizin arabelleği, üçgenler oluşturmak için köşeleri üçlü gruplar halinde demetler. Bu üçgenler rasterleştirilir veya piksellere dönüştürülür ve daha sonra her piksel, malzeme rengine, dokulara, yansıma ve kırılma haritalarına, şeffaflık seviyelerine vb. dayalı olarak rengini belirlemek için kendi matris işlemlerinden geçer.

3B işleme ardışık düzeni

Üstte: 3D render ardışık düzeni (Kaynak: LearnEveryone)

Bu, özellikle günümüzün 3D oyunlarının milyonlarca çokgenden oluştuğunu düşündüğünüzde, kulağa pek çok işlem gibi geliyor. Ancak bilgisayarınızda oyun oynarken çok yüksek kare hızları almanızın iki nedeni vardır. İlk olarak, grafik kartları paralel matris çarpımları için özel olarak tasarlanmıştır. En fazla birkaç düzine bilgi işlem çekirdeğine sahip olan CPU'nun aksine, grafik işlemciler, her biri bağımsız olarak matris çarpımları gerçekleştirebilen binlerce çekirdeğe sahiptir.

İkincisi, grafik dönüşümleri çoğunlukla doğrusaldır. Ve lineer dönüşümler bir araya toplanabilir. Örneğin, dünya, görünüm ve izdüşüm dönüşümleri için ayrı matrisleriniz varsa, üç işlemi de gerçekleştiren tek bir matris oluşturmak için bunları birbiriyle çarpabilirsiniz. Bu, operasyonlarınızı üçte iki oranında azaltır. Grafik motorları ayrıca işlemleri daha da azaltmak için birçok numara kullanır. Örneğin, bir nesnenin sınırlayıcı kutusu frustum görünümünün (kameranın perspektifini temsil eden piramit) dışına düşerse, işleme boru hattından tamamen çıkarılacaktır. Ve diğerleri tarafından kapatılan üçgenler, piksel oluşturma sürecinden otomatik olarak kaldırılır.

Derin öğrenme aynı zamanda matris çarpımlarına da dayanır. Her sinir ağı, matris hesaplamalarının katmanları üzerine katmanlardan oluşur. Bu nedenle grafik kartları, son on yılda derin öğrenme topluluğu arasında çok popüler hale geldi.

Ancak 3B grafiklerin aksine, derin öğrenme işlemleri birleştirilemez. Sinir ağlarındaki katmanlar, karmaşık görevleri gerçekleştirmek için doğrusal olmayan aktivasyon işlevlerine güvenir. Temel olarak bu, birkaç katmanın dönüşümlerini tek bir işlemde sıkıştıramayacağınız anlamına gelir.

Örneğin, 100×100 piksel giriş görüntüsünü (10,000 özellik) alan ve onu yedi katmandan geçiren derin bir sinir ağınız olduğunu varsayalım. Birkaç bin çekirdeğe sahip bir grafik kartı, tüm pikselleri paralel olarak işleyebilir. Ancak yine de sinir ağı işlemlerinin yedi katmanını sırayla gerçekleştirmesi gerekecek, bu da özellikle düşük kaliteli grafik kartlarında gerçek zamanlı görüntü işleme sağlamayı zorlaştırabilir.

Bu nedenle, göz önünde bulundurmamız gereken bir başka darboğaz, gerçekleşmesi gereken ardışık işlemlerin sayısıdır. Görüntü geliştirme ağının en üst katmanını ele alırsak, sıralı olarak bağlantılı 16 artık blok vardır. Her artık blokta, sıralı olarak bağlantılı iki evrişim katmanı, RAD blokları ve ReLU işlemleri vardır. Bu, ardışık işlemlerin 96 katmanına karşılık gelir. Ve görüntü geliştirme ağı, G-arabelleği kodlayıcı özellik kodlamalarını çıkarmadan önce işlemlerine başlayamaz. Bu nedenle, ilk yüksek çözünürlüklü özellik setini işleyen en az iki artık bloğu eklemeliyiz. Bu, bizi görüntü geliştirme için en az 108 işlem katmanına götüren diziye sekiz katman daha eklendi.

Bu, tüm bu işlemleri zamanında gerçekleştirmek için belleğe ek olarak yüksek saat hızlarına ihtiyacınız olduğu anlamına gelir. İşte Intel'in makalesinden ilginç bir alıntı: "Mevcut optimize edilmemiş uygulamasındaki yaklaşımımızla çıkarım yapmak, GeForce RTX 3090 GPU'da yarım saniye sürüyor."

RTX 3090, 24 GB VRAM'e sahiptir; bu, yavaş, 2 FPS oluşturma hızının bellek sınırlamalarından değil, görüntü geliştirici ağının tüm katmanlarını sırayla işlemek için geçen süreden kaynaklandığı anlamına gelir. Ve bu, daha fazla bellek veya CUDA çekirdeği ekleyerek çözülecek bir sorun değil, daha hızlı işlemcilere sahip olarak çözülecek bir sorun.

Yine makaleden: "Giriş olarak kullanılan G arabellekleri doğal olarak GPU'da üretildiğinden, yöntemimiz oyun motorlarına daha derinlemesine entegre edilerek verimlilik artırılabilir ve muhtemelen gerçekçilik düzeyi daha da ilerletilebilir."

Görüntü geliştirici ağını oyun motoruna entegre etmek muhtemelen hızı iyi bir şekilde artırır, ancak oynanabilir kare hızlarıyla sonuçlanmaz.

Başvuru için HRNet makalesine geri dönebiliriz. Araştırmacılar, derin öğrenme çıkarımı için özel olarak tasarlanmış devasa ve son derece pahalı bir GPU olan özel bir Nvidia V100 kullandı. Bellek sınırlaması ve diğer oyun içi hesaplamalar tarafından engellenmeyen V100'ün çıkarım süresi giriş başına 150 milisaniyeydi, bu da ~7 fps'dir ve akıcı bir oyun oynamak için neredeyse yeterli değildir.

Sinir ağlarını geliştirme ve eğitme

Can sıkıcı bir başka sorun da, görüntü zenginleştirici sinir ağının geliştirme ve eğitim maliyetleridir. Intel'in derin öğrenme modellerini çoğaltmak isteyen herhangi bir şirketin üç şeye ihtiyacı olacaktır: veri, bilgi işlem kaynakları ve makine öğrenimi yeteneği.

Eğitim verilerinin toplanması çok sorunlu olabilir. Neyse ki Intel için birisi sorunu onlar için çözmüştü. onlar kullandı Şehir manzaraları veri kümesi, Almanya'daki 50 şehirden alınan açıklamalı görüntülerden oluşan zengin bir koleksiyon. Veri seti, 5,000 ince açıklamalı görüntü içerir. Göre veri kümesi pabaşına, açıklamalı görüntülerin her biri, görüntüde bulunan nesnelerin sınırlarını ve türlerini tam olarak belirlemek için ortalama 1.5 saatlik bir manuel çaba gerektirdi. Bu ince taneli ek açıklamalar, görüntü geliştiricinin doğru fotogerçekçi dokuları oyun grafiklerine eşlemesini sağlar. Şehir manzaraları, devlet hibeleri, ticari şirketler ve akademik kurumlar tarafından desteklenen büyük bir çabanın sonucuydu. Grand Theft Auto gibi kentsel ortamlarda geçen diğer oyunlar için faydalı olabilir.

şehir manzaraları görüntü segmentasyonu

Üstte: Kent Manzaraları veri kümesi, kentsel ortamların ayrıntılı açıklamalı görüntülerinden oluşan bir koleksiyondur

Peki ya aynı tekniği karşılık gelen bir veri setine sahip olmayan bir oyunda kullanmak isterseniz? Bu durumda, verileri toplamak ve gerekli ek açıklamaları eklemek oyun geliştiricilerine kalmış olacaktır (belki Rise of the Tomb Raider'ın fotogerçekçi bir versiyonu?).

Bilgi işlem kaynakları da zorluk teşkil edecektir. Aşağıdakiler gibi görevler için görüntü geliştirici boyutundaki bir ağı eğitmek: Resim parçalama birkaç bin dolarla mümkün olabilir - büyük oyun şirketleri için sorun değil. Ancak fotogerçekçi geliştirme gibi üretken bir görev yapmak istediğinizde, eğitim çok daha zorlayıcı hale gelir. Maliyetleri artırabilecek çok sayıda test ve hiperparametre ayarlaması ve daha birçok eğitim dönemi gerektirir. Intel, modelini özel olarak GTA 5 için ayarladı ve eğitti. GTA 5'e benzer oyunlar, Intel'in eğitimli modelinde yeni oyunda ince ayar yaparak eğitim maliyetlerini azaltabilir. Diğerlerinin tamamen yeni mimarilerle test etmesi gerekebilir. Intel'in derin öğrenme modeli, nesnelerin ve insanların kolayca ayrılabildiği kentsel ortamlarda iyi çalışır. Ancak ormanlar ve mağaralar gibi doğal ortamlarda nasıl performans göstereceği net değil.

Oyun şirketlerinin makine öğrenimi mühendisleri yoktur, bu nedenle işi dışarıdan yaptırmaları veya mühendisleri işe almaları gerekir ki bu da daha fazla maliyet getirir. Şirket, fotogerçekçi render eklemenin yüksek maliyetlerinin, eklenen oyun deneyimine değip değmeyeceğine karar vermek zorunda kalacak.

Intel'in fotogerçekçi görüntü geliştiricisi, makine öğrenimi algoritmalarını ilginç başarılar elde etmek için ne kadar ileri götürebileceğinizi gösterir. Ancak donanımın, şirketlerin ve pazarın gerçek zamanlı yapay zeka tabanlı fotogerçekçi işlemeye hazır hale gelmesi birkaç yıl daha alacak.

Ben Dickson bir yazılım mühendisi ve TechTalks'ın kurucusudur. Teknoloji, ticaret ve politika hakkında yazıyor.

Bu hikaye başlangıçta yayınlandı bdtechtalks.com. Telif Hakkı 2021

GamesBeat

GamesBeat'in oyun endüstrisini ele alırkenki inancı, "tutkunun işle buluştuğu yerdir." Ne anlama geliyor? Size haberlerin sizin için ne kadar önemli olduğunu anlatmak istiyoruz - sadece bir oyun stüdyosunda karar verici olarak değil, aynı zamanda bir oyun hayranı olarak. Makalelerimizi okuyun, podcast'lerimizi dinleyin veya videolarımızı izleyin, GamesBeat endüstri hakkında bilgi edinmenize ve onunla etkileşimde bulunmanın keyfini çıkarmanıza yardımcı olacaktır. Bunu nasıl yapacaksın? Üyelik şunlara erişimi içerir:

  • DeanBeat gibi haber bültenleri
  • Etkinliklerimizdeki harika, eğitici ve eğlenceli konuşmacılar
  • Ağ fırsatları
  • GamesBeat personeli ile üyelere özel röportajlar, sohbetler ve "açık ofis" etkinlikleri
  • Discord'umuzda topluluk üyeleri, GamesBeat personeli ve diğer konuklarla sohbet etmek
  • Ve belki bir veya iki eğlenceli ödül
  • Benzer düşünen partilere girişler

Üye ol

Coinsmart. Europa İçindeki En İyi Bitcoin-Börse
Kaynak: https://venturebeat.com/2021/05/31/intels-image-enhancing-ai-is-a-step-forward-for-photorealistic-game-engines/

spot_img

En Son İstihbarat

spot_img