Scene Graph
Sahne grafiği; akıl yürütmeyi, görüntü aramayı ve robotik uygulamaları destekleyen nesnelerin, özniteliklerin ve ilişkilerin görsel bir temsilidir.
Sahne grafiği, düğümlerin nesneleri temsil ettiği, özniteliklerin bu nesnelerin özelliklerini tanımladığı ve etiketli kenarların nesneler arasındaki ilişkileri gösterdiği yapılandırılmış bir görsel sahne temsilidir. Görüntüyü bağlantılı olgulara dönüştürür: Hangi nesneler görünür, nasıl görünürler ve nasıl etkileşim kurarlar. Bilgisayarlı görü alanında bu yapı, tek tek nesneleri tanımanın ötesinde sahne hakkında akıl yürütmeyi destekler.
Justin Johnson, Ranjay Krishna ve çalışma arkadaşları, 2015'te sahne grafiklerini kullanarak görüntü erişimi üzerine yaptıkları çalışmada görüntüye dayalı modern formülasyonu ortaya koydu. Temsillerinde bir adam ve bir tekne gibi nesneler, teknenin beyaz rengi ve "adam teknenin üzerinde duruyor" ilişkisi yer alıyordu; böylece nesne kategorilerinin yanı sıra ilişkileri de belirten aramalar yapılabiliyordu.
Nesneler, Öznitelikler ve İlişkiler#
Her düğüm bir nesne örneğini tanımlar. Aynı görüntüdeki iki atın kategori etiketleri aynı olsa da ayrı kimlikleri olur. Sınırlayıcı kutu her örneğin konumunu belirler ve sembolik nesneyle görüntüdeki bölgesi arasında bağlantı kurarak eşleştirme sağlar. Öznitelikler, renk veya malzeme gibi özellikleri ilgili örneğe bağlar. İlişkiler, iki örneği bağlantılarını tanımlayan yüklem etiketi üzerinden birbirine bağlar. Ortaya çıkan özne-yüklem-nesne üçlüsü, ilişkisel bir olguyu ifade eder.
Ranjay Krishna ve çalışma arkadaşlarının geliştirdiği Visual Genome veri kümesi, yapılandırılmış görsel açıklamalar içeren 108.077 görüntüden oluşur. Sahne grafikleri, bir bilgi grafiğinin görüntüye özgü biçimleridir. Anlamsal ilişkileri nesneler arasında birden fazla bağlantıya ve bağlantısız bileşenlere izin verdiğinden, görüntü sahne grafiğinin belirli bir kök düğümü olması gerekmez.
Visual Genome Python sürücüsünün sahne grafiği örneğinde "at dizgin takıyor" ve "pencere kapının yanında" ilişkileri yer alır. Bu açıklamalar, pip install networkx ile yüklenen NetworkX kullanılarak yönlü bir grafik biçiminde gösterilebilir:
import networkx as nx
graph = nx.MultiDiGraph()
graph.add_node("horse", label="horse")
graph.add_node("bridle", label="bridle")
graph.add_node("window", label="window")
graph.add_node("door", label="door")
graph.add_edge("horse", "bridle", predicate="is wearing")
graph.add_edge("window", "door", predicate="is next to")
for subject, obj, relation in graph.edges(data=True):
print(f"{subject} -> {relation['predicate']} -> {obj}")Çıktı, her yüklemin yönlü kenarına bağlandığı ve sorgulanabilen iki ilişkisel olguyu ortaya koyar.
Sahne Grafiği Oluşturma Nasıl Çalışır#
Sahne grafiği oluşturma (SGG), bu temsili görsel girdiden tahmin eder. Tipik bir işlem hattı, nesne algılama, özellik çıkarımı ve ilişki sınıflandırmasını bir araya getirir. Nesne özellikleri tek tek bölgeleri, ikili özellikler ise olası etkileşimleri tanımlar. MotifNet gibi bağlam modelleri, ilişkileri tahmin etmeye yardımcı olmak için çevredeki nesneleri kullanır. Graf sinir ağları da bağlı nesneler arasında bilgi alışverişi yaparak ilişkisel bağlamı kodlayan gömme vektörleri oluşturabilir.
Ultralytics YOLO YOLO26, bu işlem hattı için nesne örneklerini algılama çıktıları aracılığıyla sağlar: kutular, sınıf etiketleri ve güven puanları. Sonraki aşamadaki ilişki modeli, bu örnekleri kullanarak "takıyor" veya "üzerinde duruyor" gibi kenarları tahmin eder.
Görsel Akıl Yürütme ve Robotikte Uygulamalar#
Açıkça belirtilen ilişkiler, nesnelerin birbiriyle nasıl bir araya geldiğini anlamayı gerektiren görevleri destekler:
- Görsel soru yanıtlama: GQA, sorular ve işlevsel akıl yürütme programları oluşturmak için Visual Genome'dan türetilen sahne grafiklerini kullanır. Nesne ilişkilerini izlemek, nesneleri öznitelikleri ve bağlantıları üzerinden belirleme de dahil olmak üzere görsel akıl yürütmeyi destekler.
- Robotik: Kimera, görsel-ataletsel girdilerden 3B dinamik sahne grafikleri oluşturur. Katmanlı temsili; nesneleri, insanları, odaları ve binaları birbirine bağlayarak anlamsal haritalamayı ve hiyerarşik yol planlamasını destekler. Uzamsal koordinatlar ve zaman, temsili tek bir görüntünün ötesine taşır.
- Görüntü oluşturma: Justin Johnson, Agrim Gupta ve Li Fei-Fei'nin sahne grafiklerinden görüntü oluşturma sistemi, grafikleri nesne düzenlerine dönüştürür, kutuları ve segmentasyon maskelerini tahmin eder ve bu düzenden bir görüntü oluşturur. Grafik, hem sahnenin içeriğini hem de ilişkileri belirtir.
Değerlendirme ve İlişki Hataları#
Sahne grafiği değerlendirmesi genellikle üç görevi birbirinden ayırır. Yüklem sınıflandırmasında nesne kutuları ve etiketleri verilir, tahmin edilen ilişkiler değerlendirilir. Sahne grafiği sınıflandırmasında kutular verilir ve nesne etiketleriyle ilişki etiketlerinin belirlenmesi beklenir. Sahne grafiği algılamasında görüntüden grafiğin tamamının çıkarılması gerekir. Bu ayrım, hataların konumlandırmadan, nesne tanımadan veya ilişki tahmininden kaynaklanıp kaynaklanmadığını belirler.
İlişki sıklıkları veri kümesi yanlılığına yol açar: sık görülen yüklemler tahminlere hâkim olurken nadir ve bilgi taşıyan ilişkiler gözden kaçar. Recall@K, en yüksek puanlı K tahmin arasında bulunan açıklamalı ilişkilerin oranını ölçer. Mean Recall@K, her yüklem kategorisi için duyarlılığı ayrı ayrı hesaplar ve bu değerlerin ortalamasını alır; böylece nadir yüklemler, kategori düzeyinde sık görülenlerle aynı ağırlığa sahip olur.










