Neural Radiance Fields (NeRF) teknolojisinin 2D görüntülerden 3D sahneleri nasıl sentezlediğini keşfedin. Hassas segmentasyon için Ultralytics kullanarak NeRF eğitimini nasıl geliştirebileceğinizi öğrenin.
Neural Radiance Fields (NeRF), bilgisayar görme (CV) ve üretken yapay zeka alanında çığır açan bir gelişmedir ve seyrek bir 2D görüntü kümesinden fotogerçekçi 3D sahneler sentezlemek için tasarlanmıştır. Poligonlar, ağlar veya nokta bulutları gibi açık geometrik yapılara dayanan geleneksel 3D modelleme yaklaşımlarından farklı olarak, NeRF bir sinir ağı (NN) kullanarak bir sahnenin "örtük" temsilini öğrenmek için bir sinir ağı (NN) kullanır. Uzamsal koordinatları ve görüntüleme yönlerini renk ve yoğunluk değerlerine eşleyerek, NeRF'ler olağanüstü bir doğrulukla yeni bakış açıları oluşturabilir ve yansımalar, şeffaflık ve değişken aydınlatma gibi karmaşık görsel efektleri, standart fotogrametri ile çoğu zaman yeniden üretilmesi zor olan bir şekilde doğru bir şekilde yakalayabilir.
NeRF, temel olarak bir sahneyi sürekli bir hacimsel fonksiyon olarak modeller. Bu fonksiyon genellikle tamamen bağlantılı bir derin öğrenme (DL) ağı tarafından parametrelendirilir. Süreç, ışınların sanal bir kameradan istenen görüntü düzleminin her pikselinden 3D uzaya yansıtıldığı ışın yürüyüşü ile başlar.
Her ışın boyunca örneklenen noktalar için, ağ 3D uzamsal konum ($x, y, z$) ve 2D görüntüleme yönü ($\theta, \phi$) içeren 5D bir girdi alır ve o noktada yayılan rengi ve hacim yoğunluğunu (opasite) çıkarır. Hacimsel görüntüleme teknikleri kullanılarak, bu örneklemlenen değerler biriktirilerek pikselin nihai rengi hesaplanır. Ağ, görüntülenen pikseller ile orijinal eğitim verilerindeki gerçek pikseller arasındaki farkı en aza indirerek eğitilir ve böylece model ağırlıkları, sahnenin görsel özelliklerini ezberlemek için etkili bir şekilde optimize edilir .
NeRF teknolojisi, akademik araştırmalardan pratik araçlara hızla geçiş yaparak, statik fotoğrafçılık ile etkileşimli 3D ortamlar arasındaki boşluğu doldurarak çeşitli endüstrileri etkilemiştir.
NeRF'nin diğer 3D ve görüntü teknolojilerinden ayırt edilmesi, onun özel kullanım alanlarını anlamak açısından yararlıdır.
Yüksek kaliteli bir NeRF'yi eğitmek için genellikle temiz veriler gerekir. Arka plan gürültüsü veya hareketli nesneler, son renderda "gölgelenme" artefaktlarına neden olabilir. Bunu azaltmak için, geliştiriciler genellikle NeRF'yi eğitmeden önce ilgilenilen nesneyi otomatik olarak maskelemek için örnek segmentasyon modelleri kullanır.
Ultralytics ve Python , segmentasyonun bu ön işleme iş akışına sorunsuz bir şekilde entegre edilmesini sağlar. Aşağıdaki örnek, YOLO26'yı kullanarak bir dizi görüntü için maskeler oluşturmayı ve bunları 3D rekonstrüksiyon için hazırlamayı göstermektedir.
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference to detect and segment objects
# Saving results creates masks useful for NeRF preprocessing
results = model("scene_image.jpg", save=True)
# Access the binary masks for the detected objects
masks = results[0].masks.data
print(f"Generated {len(masks)} masks for NeRF training.")
Segmentasyonun hassasiyetini NeRF'lerin üretken gücüyle birleştirerek, mühendisler sentetik veri üretimi için sağlam boru hatları oluşturabilir ve diğer aşağı akış görevleri için sınırsız eğitim örnekleri oluşturulmasını sağlayabilir.