Novel View Synthesis (NVS)
Yeni bakış açısı sentezi, derinlik çarpıtma, NeRF'ler, Gauss benekleri veya difüzyon kullanarak daha önce fotoğraflanmamış kamera konumlarından bir sahnenin görüntülerini oluşturur.
Yeni bakış sentezi (NVS), bir veya daha fazla girdi görüntüsü verildiğinde, daha önce fotoğraflanmamış bir kamera konumundan sahnenin görüntüsünü üretme görevidir. Modelin yüzeylerin nerede olduğunu, yeni açıdan nasıl göründüklerini ve tüm girdi kameralarının görmediği bölgeleri neyin doldurduğunu çıkarsaması gerekir. NVS; serbest bakış açılı videolara, sanal turlara, 3D görüntülü görüşmelere ve kaydedilmiş sürüşleri yeni güzergâhlarda yeniden oynatan simülatörlere güç verir. Ayrıca 3D bilgisayarlı görü modelleri için standart bir testtir; çünkü test için ayrılmış fotoğraflar, sahne temsilinin yeni açılarda işe yarayıp yaramadığını doğrudan gösterir.
Yeni Bakış Sentezi Nasıl Çalışır?#
En basit yaklaşım pikselleri yeniden yansıtmaktır. Her piksel için bir derinlik değeri bulunduğunda her nokta, yeni kameranın onu göreceği konuma taşınabilir; bu tekniğe derinlik görüntüsü tabanlı işleme denir. Kameraya yakın noktalar uzaktakilerden daha fazla kayar; girdide gizli olup yeni konumdan görünen yüzeylerse doldurulması gereken, örtülme açılması adı verilen boşluklar bırakır. Bu örnek, Middlebury stereo çiftinin sol görüntüsü ve ters derinliğin bir türü olan eşitsizliğiyle sağ görünümü sentezler; ardından sonucu, çarpıtma işleminin hiç görmediği gerçek sağ fotoğrafla karşılaştırır:
import numpy as np
from skimage import data
from skimage.metrics import peak_signal_noise_ratio as psnr
# Left view, the real right view (held out), and per-pixel disparity (inverse depth) for the left view
left, right, disp = data.stereo_motorcycle()
ys, xs = np.nonzero(np.isfinite(disp))
xt = np.round(xs - disp[ys, xs]).astype(int) # column where the right camera, 0.19 m away, sees each pixel
# Paint far to near so the nearest surface wins where several pixels land on one spot
order = np.argsort(disp[ys, xs])
ys, xs, xt = ys[order], xs[order], xt[order]
keep = xt >= 0 # drop pixels that leave the frame
novel = np.zeros_like(left)
novel[ys[keep], xt[keep]] = left[ys[keep], xs[keep]]
# Holes are spots no left pixel reached, such as surfaces the left camera never saw
filled = novel.any(axis=2)
print(f"Holes: {1 - filled.mean():.1%} of the novel view")
print(f"PSNR, synthesized view: {psnr(right[filled], novel[filled]):.1f} dB")
print(f"PSNR, left view copied: {psnr(right[filled], left[filled]):.1f} dB")Sentezlenen görünüm, gerçek fotoğraf üzerinden ölçüldüğünde 26.9 dB tepe sinyal-gürültü oranına ulaşır; sol görüntüyü olduğu gibi kullanmaksa 12.9 dB verir. Yeni görünümün %17.0'ı boş kalır. Tek bir fotoğrafta eşitsizlik, tek görüntülü derinlik tahmininden elde edilebilir: Ultralytics YOLO26 derinlik modelleri, her pikselin derinliğini metre cinsinden tahmin eder; bu değer, istenen herhangi bir kamera kayması için eşitsizliğe dönüştürülebilir. Meng-Li Shih ve CVPR 2020'deki çalışma arkadaşlarının 3D fotoğraf yöntemi bu yaklaşımı izler ve boşlukları öğrenilmiş görüntü içi tamamlama ile doldurur.
Yoğun görüntü yakalamaları sahne başına optimizasyona olanak tanır. Genellikle hareketten yapı çıkarımıyla elde edilen kamera pozlarına sahip onlarca ila yüzlerce fotoğraf verildiğinde, 2020'de Ben Mildenhall ve çalışma arkadaşlarının tanıttığı sinirsel ışınım alanları, herhangi bir 3D noktadaki rengi ve yoğunluğu veren bir ağa uydurulur; her kamera ışını boyunca hacim işleme yapılarak yeni görünümler oluşturulur. Bernhard Kerbl ve çalışma arkadaşlarının 2023'te tanıttığı Gauss sıçratma ise ağ yerine gerçek zamanlı olarak rasterleştirilen milyonlarca 3D Gauss kullanır; 1080p çözünürlükte saniyede 30 veya daha fazla kareye ulaşır. Her iki yöntem de çıktıları girdi fotoğraflarıyla karşılaştıran türevlenebilir işleme ile eğitilir.
Bir veya birkaç girdi olduğunda, üretken modeller kameraların görmediği kısımları tamamlar. Girdi görüntüsü ve göreli kamera pozuyla koşullandırılan difüzyon modelleri, örneğin Columbia Üniversitesi'nin 2023'te geliştirdiği Zero-1-to-3, bir nesnenin arka tarafının makul görünümlerini üretir. Çoklu görünüm difüzyon yöntemleri ise birbiriyle tutarlı birkaç görünüm üretir ve ardından bunlara uyan bir 3D temsil oluşturur.
Kalite; NeRF makalesindeki sentetik Blender sahneleri ve Mip-NeRF 360'ın sınırsız gerçek sahneleri gibi kıyaslama kümelerindeki, eğitimde kullanılmamış fotoğraflarda PSNR, yapısal benzerlik indeksi (SSIM) ve öğrenilmiş algısal uzaklık LPIPS ile ölçülür.
İlgili Kavramlar#
Sinirsel işleme, NVS'nin yanı sıra yeniden aydınlatma, avatarlar ve görüntü düzenlemeyi de kapsayan, sinir ağlarına dayalı daha geniş bir grafik teknikleri ailesidir. 3D yeniden yapılandırma, ağlar gibi ölçülebilir geometrileri hedeflerken NVS yalnızca oluşturulan görüntülere göre değerlendirilir; bu nedenle bir ışınım alanı, geometrisi bulanık olsa da inandırıcı görüntüler oluşturabilir. Stereo görüş, işlemi ters yönde uygulayarak iki gerçek görünümden eşitsizliği ölçer. Kare enterpolasyonu, sabit bir bakış açısından zamanda yeni anlar oluşturur; kamera kontrollü video üretimi ise ikisini birleştirerek sanal kamerayı oluşturulmuş bir sahnede hareket ettirir. Dinamik sahneler, 4D Gauss sıçratma gibi yöntemlerle NVS'yi zamana genişletir.
Gerçek Dünya Uygulamaları#
- 3D görüntülü görüşmeler: Eskiden Project Starline olarak bilinen Google Beam, her katılımcıyı birden fazla kamerayla kaydeder ve ışık alanı ekranında görüntüleyenin göz konumundan görselleştirir.
- Sanal gerçeklik ve karma gerçeklik: Kaydedilen odalar, ürünler ve simge yapılar, başlığın her baş konumu için yeniden oluşturduğu keşfedilebilir sahnelere dönüşür.
- Sürüş simülasyonu: Kaydedilmiş sürüşlerin sinirsel yeniden yapılandırmaları, aracın hiç izlemediği güzergâhlardaki kamera görünümlerini oluşturarak algılama testleri için sentetik sensör verileri üretir. Waymo ve Google araştırmacıları, San Francisco'daki bir mahallenin tamamını görselleştirmek için 2.8 milyon görüntüden Block-NeRF'i oluşturdu.










