Bölüm 9 — SfM Arka Uçları


Camera-Alignment seçici, Inspector'ın „Cameras & Capture" bölümünde yer alır ve bir açılır menüdür, segmented control değildir (arka uç isimleri segmentler için fazla uzundur ve dar Inspector sütununu taşırır). Kaç girişi olduğu derlemeye bağlıdır: App Store sürümü tam olarak iki tanesini gösterir — Apple Photogrammetry (varsayılan) ve Native. COLMAP orada bir arka uç olarak tamamen eksiktir ve yalnızca Developer/DMG derlemelerinde üçüncü bir giriş olarak görünür (bkz. S2). Native girişin adı sadece „Native"dir; önceki „(experimental)" ya da „(Beta)" eki kaldırılmıştır — Native artık bir deneme yolu değil, kalite yoludur. Yere yakın orbit ve fotoğraf sahnelerinde güçlüdür, ancak şu anda hava/drone haritalamada zayıftır (nokta bulutu çok seyrek); Apple Photogrammetry güvenli varsayılan olarak kalır. Çekim türü olarak sırasız bir fotoğraf seti seçildiyse, uygulama seçicinin gösterdiğinden bağımsız olarak her zaman Native ile hizalar — seçicinin altındaki bir bilgi satırı bunu açıkça belirtir ve seçici kullanılabilir kalır, çünkü değeri kullanılamaz değil, sadece geçersiz kılınmıştır. Metashape, COLMAP veya başka bir fotogrametri yazılımından gelen dış SfM sonuçları ayrıca File menüsü üzerinden içe aktarılabilir (S3 COLMAP metin biçimi, S6 Workspace içe aktarma) — seçici değişmez, ancak içe aktarılan pozlar SfM sonucunun yerini alır. Bu içe aktarmanın COLMAP arka uç sorusuyla hiçbir ilgisi yoktur ve her derlemede çalışır.
SfM, Structure from Motion (hareketten yapı) anlamına gelir. Örtüşen bir grup fotoğraftan, yazılım her görüntü için kameranın konumunu ve bakış yönünü ortak bir 3B koordinat sisteminde yeniden oluşturur. Bunun için, Gaussian Splatting eğitimini başlatan kaba bir 3B nokta bulutu üretilir. SfM sonucu, asıl eğitimin girdisidir ve sonraki görüntü kalitesini büyük ölçüde belirler.
RadianceKit beş SfM yolu sunar: uygulamaya gömülü iki arka uç (S1 Apple Photogrammetry, S4/S5 Native), dış araçlardan iki içe aktarma yolu (S3 COLMAP metin biçimi, S6 ikili Workspace içe aktarma) ve yalnızca App Store dışındaki Developer derlemelerinde bulunan S2 COLMAP-Binary. Hangisinin doğru olduğu sahne türüne (bir nesne etrafında orbit, iç mekân, drone uçuşu) ve dış bir yazılımın zaten bir rekonstrüksiyon sağlayıp sağlamadığına bağlıdır.
S1 — Apple Photogrammetry
NEREDE
Uzman Görünümü → Inspector → „Cameras & Capture" bölümü → Camera-Alignment seçici, „Apple Photogrammetry" girişi. Her derlemede varsayılan.
TEKNİK
Apple'ın, aslen Object Capture için geliştirilmiş, uygulamaya gömülü Photogrammetry çerçevesini sarmalar. Apple, dahili olarak özel bir işlem hattıyla (adımlar kamuya açık belgelenmemiştir) özellikleri çıkarır, bunları çok görünümlü eşleştirme ile doğrular ve Bundle-Adjustment'ı Apple Silicon Neural Engine + GPU üzerinde çözer. Arka uç tamamen App Store uyumludur (dış ikili dosya yok, Sandbox=true, cihaz üzerinde), ancak yalnızca kamera pozları artı kaba bir nokta bulutu sağlar — iz uzunluğu veya yeniden yansıtma hatası gibi tanı metrikleri yoktur. Apple'ın önerisine göre birkaç yüz görüntüye kadar ölçeklenir. Doğrusal drone uçuşlarında veya büyük dış mekân sahnelerinde ~500 kareden fazlasında tekrarlanabilir çökmeler veya tek tek kameraların sessizce göz ardı edilmesi gözlemlenmiştir.
S3 — COLMAP Metin Biçimi (Metashape / ETH3D)
NEREDE
„File → Import COLMAP / Metashape Workspace…" menüsü (Cmd+⇧+I) VEYA sparse/0/cameras.txt içeren bir klasörün sürükle-bırak yoluyla eklenmesi.
TEKNİK
Standartlaştırılmış COLMAP metin dışa aktarımını okur — sparse/0/ alt klasöründeki üç metin dosyası cameras.txt, images.txt, points3D.txt — ve dahili SfM sonuç modeline dönüştürür. COLMAP'in ikili dışa aktarımıyla aynı biçim tanımı, sadece ikili yerine ASCII. Agisoft Metashape, RealityCapture, PolyCam ve ETH3D karşılaştırma testi tarafından tam olarak bu düzende çıktı verilir. Ayrıştırıcı, kamera modeli tanımayı ikili ayrıştırıcıyla paylaşır ve COLMAP'in on bir standart kamera modelinin tümünü tanır — SIMPLE_PINHOLE ve PINHOLE'dan SIMPLE_RADIAL'a (COLMAP'in kendi varsayılanı) ve OPENCV'ye, hatta fisheye varyantlarına kadar. Yorum satırlarına ve boş satırlara karşı dayanıklıdır. Testlerde ~1 400 kameraya kadar (ETH3D Tunnel) sorunsuz ölçeklenir.
S4 — Native SfM (artımlı)
NEREDE
Uzman Görünümü → Inspector → „Cameras & Capture" bölümü → Camera-Alignment seçici, „Native" girişi (eski „(experimental)" eki olmadan). Artımlı, bu arka ucun varsayılan modudur; Native için Mapper seçimi yoktur. Altındaki „Mapper" satırı yalnızca COLMAP'e aittir: Developer derlemelerinde, Native seçiliyken görünür ama gri kalır, App Store sürümünde ise tamamen yoktur. Gerçekten native olan satırlar — „FOV Override", „High-Quality" ve „Native SfM Recipe" — başka arka uçlar altında artık kaybolmaz, sadece gri kalır ve altındaki bir satırda tekrar etkinleştirmek için neyi değiştirmen gerektiğini belirtir. Artımlı ile global yöntem arasında kendin geçiş yapamazsın: Artımlı sabit varsayılandır ve global yönteme uygulama yalnızca kendiliğinden geçer (bkz. S5).
TEKNİK
Tüm SfM işlem hattının kendi GPU hızlandırmalı uygulaması: FAST+BRIEF özellikleri YA DA CoreML üzerinden SuperPoint+LightGlue („High-Quality" anahtarıyla açılır; sırasız fotoğraf setlerinde zaten aktiftir), ardından Hamming-KNN eşleştirme, RANSAC temel matrisi, iz oluşturma, başlangıç çifti seçimi, iki görünümlü önyükleme (F→E artı DLT), PnP kaydı ve çok görünümlü üçgenleme ile açgözlü artımlı Mapper, ve Huber kaybı ve analitik Jacobian'larla Cholesky çözümü üzerinden Schur-indirgenmiş Levenberg-Marquardt yoluyla nihai Bundle-Adjustment. Tamamen App Store uyumlu: dış ikili dosya yok, Sandbox=true. Gömülü çökme dedektörüyle birlikte: Giriş karelerinin %60'ından azı kaydedildiyse, kamera başına nokta oranı 13'ün altına düşerse veya nokta bulutu neredeyse düzse, bir sonucu yozlaşmış olarak sınıflandırır. Bunu hemen yöntem değişikliği izlemez — uygulama önce artımlı çalıştırmayı tekrarlar (ilk sorunsuz sonucu alır, yoksa denemelerin en iyisini) ve ancak en iyi deneme de yozlaşmış kalırsa global Mapper'a (S5) geçer. Deneysel olarak orbit/turntable sahnelerinde temizdir; daha genel hareketlerde (drone uçuşu, karmaşık geometrili iç mekânlar) başarı oranı daha düşüktür — ancak dedektör bu durumları yakalar. ~200 kameraya kadar güvenilir şekilde ölçeklenir, daha yükseğinde belirgin şekilde daha uzun çalışma süresiyle.
S5 — Native SfM (global)
NEREDE
Artımlı Mapper (S4) çökme dedektörünü tetiklediğinde otomatik olarak çağrılır (giriş karelerinin %60'ından azı kaydedildi, kamera başına nokta oranı 13'ün altında veya nokta bulutu neredeyse düz) — ve bu ancak artımlı çalıştırma tekrarlandıktan ve en iyi deneme de yozlaşmış kaldıktan sonra gerçekleşir. Elle çağrılamaz: Inspector'da bunun için ne bir seçici ne de başka bir anahtar vardır — uygulama ne zaman geçiş yapacağına kendisi karar verir.
TEKNİK
Native işlem hattının global varyantı. Önce S4'teki gibi özellik çıkarımı + eşleştirme, ardından tüm doğrulanmış çiftler için göreli poz kestirimi, sonrasında rotasyon ortalaması (tüm kamera rotasyonlarını dünya koordinat sisteminde senkronize eder) ve öteleme ortalaması (büyük kamera sayılarında tam sayı taşmasını önlemek için matris içermeyen seyrek bir formülasyon üzerinde LSQR tabanlı). İlkesel olarak ~5 000 kameraya kadar ölçeklenir, pratikte ise kalite birkaç yüz kameranın üzerinde belirgin şekilde düşer. Bir „yedek katman" olarak ele alınır: artımlı Mapper tekrardan sonra da yozlaşırsa devreye girer ve kendisi tekrar çökme dedektörüne tabi tutulmaz — sonucu seyrek kalırsa, bunun yerine işlem hattının genel kalite uyarısı devreye girer.
S6 — Metashape / COLMAP Metin Workspace İçe Aktarma
NEREDE
File menüsü → „Import COLMAP / Metashape Workspace…" (Cmd+⇧+I). sparse/0/cameras.{bin,txt} ve images/ içeren bir klasörün sürükle-bırak yoluyla eklenmesi.
TEKNİK
Sürükle-bırak veya Open panel ile seçilen bir klasörün, üç COLMAP Workspace düzeninden (sparse/0/, sparse/, veya kök) birine uyup uymadığını ve rekonstrüksiyonun ikili (cameras.bin) mi yoksa metin (cameras.txt) mi olarak mevcut olduğunu otomatik olarak algılar. İkili yol COLMAP ikili ayrıştırıcısını, metin yolu ise ETH3D yükleyicisini kullanır — ikisi de aynı SfM sonuç modelini üretir ve işlem hattının geri kalanı (görüntüleri içe aktarma, MCMC eğitimini başlatma) kaynağa karşı bağımsızdır. Görüntüler, App Store sürümünde bile içe aktarmanın çalışmasını sağlamak için uygulama korumalı alanı yer imi sistemi üzerinden güvenlik kapsamlı olarak açılır. Özellikle „Metashape dışa aktarımı — rekonstrüksiyonu yeniden hesaplama gerektirmeden" durumu için tasarlanmıştır. File menüsü girişinde belirtilen algılama, seçilen klasör tanınabilir bir Workspace değilse uygulama günlüğünde uyarır.
S7 — Native Tarifler (Standart / Professional / E3 High-Accuracy)
NEREDE
Uzman Görünümü → Inspector → „Cameras & Capture" bölümü → „Native SfM Recipe" satırı. Bu satır yalnızca Camera Alignment olarak „Native" seçili ve çekim türü olarak sırasız bir fotoğraf seti ayarlıysa kullanılabilir — aksi halde gri görünür ve altında neyin değiştirilmesi gerektiğini belirtir (kullanılabilirlik kuralları Bölüm 2'de yer alır).
TEKNİK
Aynı native arka ucun üç kademesi. Algoritmayı değil, ne kadar titiz çalıştığını değiştirirler:
Standart — ek aşama olmadan temel tarif.
Professional — ayrıca iki şey daha ekler: algılanan AprilTag işaretçileri, katı cisimler olarak Mapping ve Bundle-Adjustment'a dahil edilir, ve bitmiş pozlara yoğun bir yeniden üçgenleme uygulanır (daha yoğun başlangıç nokta bulutu). Çekim işaretçi içermiyorsa, dedektör hiçbir şey bulmaz ve yalnızca yoğun yeniden üçgenleme etkili kalır.
E3 High-Accuracy — Professional üzerine kurulur ve ayrıca HQ önyüzünü (3×3-SuperPoint döşemesi, 4096 anahtar noktalı LightGlue, Covisibility çiftleri) ve tüm kameralar için ortak odak uzaklığı inceltmeyi devreye sokar. Bu, en keskin kamera pozlarını ve en uzun eşleştirme süresini verir.
Hangi backend ne zaman kullanılmalı?
| Senaryo | Önerilen Backend |
|---|---|
| Düşünmeden ilk sonuç | Q1 Apple Photogrammetry (Varsayılan ayar) |
| Nesne taraması, 50–200 fotoğraf | Q1 Apple Photogrammetry |
| Aynı sahnede maksimum kalite | „Maximum Quality (Native)" ön ayarı — Q4 Native + Q7 Tarifi E3 |
| Basılı AprilTag işaretleyicilerle çekim | Q4 Native + Q7 Tarifi Professional |
| Büyük dış mekan / drone / >500 görüntü | Q6 Workspace İçe Aktarma (Metashape veya COLMAP'te hesaplayıp ardından yükleyin) |
| Metashape/RealityCapture dışa aktarımı mevcut | Q6 İçe Aktarma (SfM gerekmez) |
| ETH3D / akademik COLMAP metin seti | Q3 COLMAP Metin İçe Aktarma |
| Q4 çöktüğünde | Q5 Native global (otomatik olarak geçiş yapar) |
Hızlı Karşılaştırma
| Backend | App Store | Sandbox | Harici Binary | En İyi Kullanım | Maks ~Kamera |
|---|---|---|---|---|---|
| Q1 Apple PG | ✅ | ✅ | — | Yörünge-Nesne | ~300 |
| Q2 COLMAP Binary | ❌ (yalnızca Geliştirici Sürümü) | — | colmap/glomap | Dış mekân, geniş alan | ~5 000 |
| Q3 COLMAP Metin İçe Aktarma | ✅ | ✅ | — | Test düzenekleri | ~1 500 |
| Q4 Yerel artımlı (incremental) | ✅ | ✅ | — | Yörünge-Nesne | ~200 |
| Q5 Yerel global | ✅ | ✅ | — | Q4 Yedek Seçeneği | ~5 000 |
| Q6 Workspace İçe Aktarma | ✅ | ✅ | — | Metashape Yeniden Kullanımı | kaynak başına |