Contents — find the section you need

Bir turistik mekanda çekilmiş, birbirini tanımayan yüzlerce kişinin aynı simge yapının fotoğraflarını toplayıp, her çekim pozisyonuyla birlikte o binanın 3 boyutlu modelini oluşturmak; işte bu Hareketten Yapı Oluşturma (SfM) yöntemidir. Çekim sırası, göreceli kamera pozisyonları ve hatta hangi lensin kullanıldığı önceden bilinmeyen bir dizi görüntüden, geometrik olarak tutarlı bir 3 boyutlu nokta bulutu ve kamera pozisyonları birlikte oluşturulur. Visual-SLAM ve VO/VIO bir robotun veya kameranın "mevcut" konumunu gerçek zamanlı olarak izlerken, SfM çoğunlukla çevrimdışı çalışır ve tüm bir sahneyi oluşturmak için doğruluğa öncelik verir. Bu makale, bu ayrıma odaklanarak, SfM'nin iç yapısını en temelden ele almaktadır.

0. 30 Saniyelik Özet

  • SfM, özellik noktası eşleştirme ve geometrik doğrulama yoluyla, bir sahnenin seyrek 3 boyutlu nokta bulutunu ve her kameranın içsel ve dışsal parametrelerini aynı anda birçok görüntüden kurtarma işlemidir.

  • Genel olarak iki yeniden yapılandırma stratejisi vardır: Kameraları sırayla birer birer ekleyen Artımlı SfM ve önce her çiftin göreceli pozunu bulan ve ardından küresel pozları bir kerede çözen Küresel SfM.

  • Artımlı SfM sağlamdır, ancak sıralı olduğu için kaymaya (birikmiş hata) eğilimlidir. Küresel SfM her şeyi bir kerede çözer ve bu nedenle kaymaya karşı dirençlidir, ancak birçok aykırı değere sahip göreceli pozlara karşı daha zayıftır.

  • Üçgenlemeden elde edilen 3 boyutlu noktalar ve kamera pozları, kendi başlarına, görüntü gürültüsünden etkilenen kaba tahminlerdir. Paket Ayarlaması'nın yeniden projeksiyon hatasının eş zamanlı olarak en aza indirilmesi, SfM'nin doğruluğunu nihayetinde belirleyen şeydir.

  • SfM ve Visual-SLAM aynı temel geometriyi paylaşır, ancak tasarım felsefeleri farklıdır: SfM, doğruluk ve eksiksizliği önceliklendiren çevrimdışı toplu işlemedir, SLAM ise anlık ve sürekliliği önceliklendiren çevrimiçi, gerçek zamanlı işlemedir.

1. SfM Ne Girdi Alır ve Ne Çıktı Üretir?

Girdi, çekim sırası ve göreceli konumları bilinmeyen bir dizi görüntüdür. Her görüntü farklı bir kamera, farklı bir lens ve farklı bir zamanda çekilmiş bile olabilir. Çıktı üç şeyden oluşur:

  • Her bir görüntünün i kamera pozisyonu P_i=K_i[R_i\mid\mathbf{t}_i] (içsel ve dışsal parametreler)
  • Sahnedeki bir dizi 3B nokta \{\mathbf{X}_j\} (çoğunlukla özellik noktalarına karşılık gelen seyrek bir nokta bulutu)
  • Hangi görüntülerin hangi 3B noktaları gözlemlediğinin eşleşmesi (izlenmesi)

Kamera Kalibrasyonu Temel Kılavuzu tek bir kameranın içsel parametrelerini sabit bir kalibrasyon modelinden kurtarırken, SfM daha büyük bir ters problemdir: birçok kalibre edilmemiş veya kısmen kalibre edilmiş kameranın içsel ve dışsal parametrelerini, sahne yapısıyla birlikte, yalnızca karşılık gelen noktalar arasındaki geometrik kısıtlamalardan eş zamanlı olarak kurtarmak. EXIF meta verileri bir odak uzaklığı içeriyorsa, bu başlangıç değeri olarak kullanılır, ancak nihai doğruluk, görüntülerin kendilerinden gelen geometrik kısıtlamalara bağlıdır.

Diagram 1 · Use the button to switch views
Beş kayıtlı görüntü ve bir kayıtsız görüntünün tahmini kamera pozisyonlarını, seyrek 3B noktalarını ve gözlem izlerini ürettiği şematik SfM sonucu
Şekil 1. Tipik SfM çıktıları. Bir yeniden yapılandırma yalnızca 3B nokta bulutunu değil, aynı zamanda görüntü kayıt durumunu, tahmini kamera pozisyonlarını ve hangi görüntülerin hangi 3B noktayı gözlemlediğini kaydeden izleri de içerir. Bu, ölçülen verilerden elde edilen bir doğruluk sonucu değil, yapısal bir şemadır.

Sonuç görüntüleyicisinde, öncelikle kameraların inanılmaz derecede küçük bir bölgeye çöküp çökmediğini, nokta bulutunun bölünüp bölünmediğini veya ikiye katlanıp katlanmadığını ve herhangi bir görüntünün kayıtta başarısız olup olmadığını kontrol edin. Yalnızca bina benzeri bir görünüm doğruluğu göstermez. Yeniden projeksiyon hatasını, iz uzunluğunu ve kayıtlı görüntü sayısını değerlendirin; ölçülmüş bir uzunluk veya GNSS mevcut olduğunda, ayrıca Bu harici ölçekle karşılaştırın. Monoküler SfM'nin keyfi bir küresel ölçeği vardır, bu nedenle nokta bulutu görüntüleyici tarafından gösterilen bir mesafe otomatik olarak metre cinsinden bir mesafe değildir.

2. Temel İşlem Hattı

Diagram 2 · Use the button to switch views
The basic SfM pipeline A diagram showing the flow from an unaligned set of images, through feature extraction, matching, and geometric verification, to recovering pose and structure via either Incremental SfM or Global SfM, and finally refining with Bundle Adjustment. Image set Feature extractionexhaustive/nearby matching Geometric verificationF/E/H + RANSAC Incremental SfMinitial pair → add via PnP→ triangulate Global SfMrotation averaging → translation averaging→ triangulate all points BundleAdjustment

Önceki adımlar — özellik çıkarma, eşleştirme ve geometrik doğrulama — Özellik Algılama Temel Kılavuzu ve Epipolar Geometri Temel Kılavuzu'nda ele alınan temel tekniklerle tamamen aynıdır. SfM'ye özgü tasarım kararları, her görüntü-çift ilişkisi bulunduktan sonraki aşamada devreye girer: her görüntüyü ve her noktayı, çelişkiler olmadan tutarlı bir koordinat çerçevesine nasıl birleştireceğimiz - ki bu, Artımlı SfM ve Küresel SfM stratejilerinin ayrıldığı noktadır.

3. Artımlı SfM: Kameraları Tek Tek Ekleme

Artımlı SfM, yeterli paralaks ve yeterli eşleşmeye sahip bir başlangıç görüntü çifti seçerek ve epipolar geometri'den Temel Matrisi tahmin ederek ilk iki görünüm yeniden yapılandırmasını oluşturarak başlar. Buradan itibaren, aşağıdakileri tekrarlar:

  1. Kayıtlı 3B noktalara zaten 2B eşleşmeleri olan yeni bir görüntü seçin ve PnP aracılığıyla bu görüntünün pozunu bulun.

  2. Yeni görüntü ile mevcut görüntüler arasındaki eşleşmelerden yola çıkarak, henüz 3 boyutlu olarak yeniden oluşturulmamış noktaları üçgenleştirin.

  3. Her birkaç görüntüde bir yerel veya küresel demet ayarlaması ile poz ve yapıyı iyileştirin.

  4. Her görüntü işlenene veya daha fazla görüntü eklenemeyene kadar 1. adıma geri dönün.

Snavely ve diğerlerinin Fotoğraf Turizmi (2006) çalışmasından beri yaygın olarak kullanılan bu yaklaşım, COLMAP'ın standart işlem hattında da Artımlı SfM olarak benimsenmiştir. Bir seferde yalnızca az sayıda bilinmeyeni ardışık olarak artırdığı için sağlam bir uygulamadır ve kötü bir görüntü çiftini tespit etmek ve dışlamak kolaydır. Öte yandan, pozlar birer birer görüntü olarak yığıldığı için, erken dönemdeki küçük hatalar daha sonraki görüntülere yayılır ve büyük döngüler (aynı yeri tekrar ziyaret eden bir grup görüntü) içeren veri kümeleri kayma biriktirme eğilimindedir. Periyodik paket ayarlaması, döngü kapanışı ile eşdeğer tekrar ziyaret tespiti ile birlikte, biriken bu hatayı kontrol altında tutmanın anahtarıdır.

4. Küresel SfM: Tüm İkili İlişkileri Bir Kerede Çözme

Küresel SfM, görüntüleri ardışık olarak kaydetmez; önce her (veya seçilen bir alt küme) görüntü çifti için göreceli pozu (R_{ij},\mathbf{t}_{ij}/\|\mathbf{t}_{ij}\|) bulur. Ardından, tüm grafiği iki aşamada birlikte tahmin eder.

Dönme ortalaması, ikili göreceli dönüşler kümesinden R_{ij} küresel olarak minimum düzeyde tutarsız bir kamera dönüşü kümesi \{R_i\} bulur. Yaygın olarak kullanılan bir hata ölçütü, Lie grubu SO(3) üzerindeki logaritma haritasını kullanır:

\min_{\{R_i\}}\sum_{(i,j)\in\mathcal E}\rho\left(\left\|\mathrm{Log}\left(R_{ij}^\mathsf{T}R_i^\mathsf{T}R_j\right)\right\|^2\right)

\rho, aykırı değerler olarak hareket eden yanlış göreceli pozisyonların etkisini bastıran sağlam bir kayıp fonksiyonudur.

Dönmeler sabitlendikten sonra, çeviri ortalaması, göreceli çeviri yönleri kümesinden \mathbf{t}_{ij} kamera pozisyonlarını \{\mathbf{t}_i\} bulur. Tek gözlü göreceli çeviri yalnızca bir yön verdiğinden (bkz. Epipolar Geometri Temel Kılavuzunda tartışılan ölçek belirsizliği), birçok ikili yönsel kısıtlamadan tutarlı bir konfigürasyon çözmeniz gerekir - aykırı değerlerin kaldırılmasını içeren 1DSfM gibi yaklaşımlar bunun için önerilmiştir.

Küresel SfM, her görüntüden aynı anda bilgi kullandığı için, prensip olarak, Artımlı SfM'nin karşılaştığı ardışık kaymaya daha az eğilimlidir ve hesaplama açısından paralelleştirilmesi de daha kolaydır. Ancak, aykırı değerler bireysel göreceli pozlara karışırsa, ortalama alma aşamasında tespit edilip dışlanmadıkları sürece tüm küresel çözüm bozulur. Moulon ve diğerlerinin çalışması (ICCV 2013), sağlam dönüş ortalamasını trifokal tensör kullanarak öteleme yönü tahminiyle birleştirerek Küresel SfM'nin pratikliğini büyük ölçüde geliştiren temsili bir örnektir.

Yön Artımlı SfM Küresel SfM
Yeniden yapılandırma nasıl ilerler Başlangıçtaki bir çift görüntüden birer birer ekler Önce tüm ikili ilişkileri çözer, sonra birlikte optimize eder
Kaymaya karşı direnç Ardışık yayılmaya ve birikmiş hataya eğilimli Küresel olarak en uygun olduğu için birikmiş hata azdır

Aykırı değerlere karşı direnç | Görüntü eklerken tek tek tespit edilmesi ve kaldırılması kolaydır | Ortalama almadan önce aykırı değerlerin kaldırılması doğruluğu belirler |

Hesaplama maliyeti | Görüntü sayısına göre sıralı, büyük ölçekte ağırlaşma eğilimindedir | Paralelleştirilebilir, ancak ortalama alma için küresel optimizasyon gerektirir |

Uygulama zorluğu | Çok sayıda uygulama örneği, sağlamlık için ayarlanması kolay | Döndürme/öteleme ortalamasının teorisi ve uygulaması daha zordur |

Temsili örnekler | Bundler, COLMAP (varsayılan), VisualSFM | openMVG (Küresel SfM işlem hattı), Theia |

Pratikte, ikisini kesin bir ya da diğerini seçme şeklinde ele almak yerine, hibrit tasarımlar da araştırılıyor - Küresel SfM ile kaba bir küresel poz oluşturmak ve ardından bunu artımlı olarak iyileştirmek veya yalnızca yüksek güvenilirlik çiftlerini Küresel bir şekilde kullanmak ve geri kalanını artımlı olarak eklemek.

5. Üçgenleme ve İz Yönetimi

Bir grup görüntü için pozisyonlar bulunduktan sonra, 3 boyutlu noktalar elde etmek için karşılık gelen noktaların üçgenlenmesi, temel iki görünüm geometrisi işleminin bir uzantısıdır. SfM'ye özgü olan şey, aynı fiziksel noktanın üç veya daha fazla görüntüde gözlemlendiği durumlarda "iz" olarak adlandırılan karşılıkların nasıl yönetileceğidir.

  • Özellik eşleştirmesi ikili olarak yapıldığından, A-B ve B-C görüntüleri arasındaki eşleşmeler ideal olarak A-C arasında da bir eşleşme anlamına gelmelidir, ancak pratikte, gerçek tanımlayıcı mesafeleri göz önüne alındığında bu her zaman geçerli değildir. Üçlü odak tutarlılık kontrolü, izlerin kalitesini korur.

  • Bir iz ne kadar çok gözlem içeriyorsa, üçgenleme o kadar kararlı hale gelir, ancak aralarında küçük paralaks bulunan görüntülerden oluşan bir iz yine de kararsız bir derinlikle sonuçlanır.

  • Bir parçaya karışan tek bir yanlış eşleşme bile, o noktanın 3B konumunu bozmakla kalmaz, aynı zamanda aşağı akış demet ayarlamasının kalıntılarını da bir bütün olarak etkiler. Her parça için RANSAC tarzı doğrulama ve büyük yeniden projeksiyon hatası olan parçaların reddedilmesi gereklidir.

6. Demet Ayarlamasına Köprü

Doğrusal üçgenleme veya sıralı PnP'den elde edilen poz ve yapı, en iyi ihtimalle başlangıç değerleridir. Tüm görüntülerde yeniden projeksiyon hatasını eş zamanlı olarak en aza indirmek —

\min_{\{K_i,R_i,\mathbf{t}_i,\mathbf{X}_j\}} \sum_{(i,j)\in\mathcal{O}}\rho\left(\left\|\pi\left(K_i(R_i\mathbf{X}_j+\mathbf{t}_i)\right)-\mathbf{u}_{ij}\right\|^2\right)

— Demet Ayarlamasıdır ve nihayetinde SfM'nin nihai doğruluğunu belirleyen şey budur. Bu optimizasyonun neden seyrek bir yapıya sahip olduğu ve Schur tamamlayıcısının neden büyük ölçekte bile çözülebilir hale getirdiği, Demet Ayarlaması Temel Kılavuzu'nda derinlemesine ele alınan hesaplama sorularıdır. Burada akılda tutulması gereken şey, kullanım biçimindeki farktır: Artımlı SfM, eklenen her birkaç görüntüde yerel demet ayarlamasını araya serpiştirirken, Küresel SfM, her küresel poz yerleştirildikten sonra tek bir tam demet ayarlaması çalıştırır.

7. Visual-SLAM ile Farklılıklar ve Ortak Noktalar

SfM ve Visual-SLAM aynı matematiksel araçları paylaşır: özellik eşleştirme, epipolar geometri, PnP ve demet ayarlaması. Fark, amaçlarında ve kısıtlamalarında yatmaktadır.

Yön Hareketten Yapı Oluşturma Visual-SLAM
İşleme stili Çoğunlukla çevrimdışı toplu işleme Çevrimiçi, gerçek zamanlı sıralı işleme
Giriş sıralaması Sırasız olabilir (herhangi bir sıra, birden fazla kamera karıştırılabilir) Kronolojik olarak sürekli kareler varsayar
Birincil amaç Yüksek kaliteli 3B rekonstrüksiyon, doğruluk ve eksiksizliği önceliklendiriyor Gerçek zamanlı olarak mevcut öz konumun korunması
Optimizasyon kapsamı Tüm görüntüler üzerinde küresel paket ayarlaması mümkün Yerel/küresel optimizasyon, güçlü hesaplama bütçesi kısıtlamaları altında, anahtar karelerle sınırlıdır
Tekrar ziyaretlerin ele alınması Her çift çevrimdışı olarak doğrulanabilir Döngü kapanması çevrimiçi olarak tespit edilmeli ve düzeltilmelidir
Temsili uygulamalar COLMAP, openMVG, Bundler ORB-SLAM ailesi, VINS ailesi

Pratikte, SfM tarafından oluşturulan yüksek hassasiyetli bir 3B haritanın SLAM'in başlangıç haritası veya ölçek referansı olarak kullanılması veya SLAM'in anahtar kare yörüngesinin çevrimdışı olarak SfM ile işlenmesi gibi kombinasyonlar da yaygındır. İki teknoloji rekabet halinde değildir - çevrimdışı/çevrimiçi zaman ekseni boyunca birbirlerini tamamlarlar.

8. Temsili Uygulamalar

  • COLMAP: Artımlı SfM'ye odaklanan bu uygulama, özellik çıkarımından, eşleştirmeye, geometrik doğrulamaya ve yeniden yapılandırmaya kadar tutarlı bir işlem hattı sağlayan, şu anda en yaygın olarak referans alınan araştırma ve üretim uygulamasıdır. Paket ayarlaması ve Çoklu Görünüm Stereo işlemlerini gerçekleştirir.

  • openMVG (Open Multiple View Geometry): Hem Artımlı hem de Küresel SfM işlem hatlarını uygulayan bir kütüphane. Genellikle yoğun yeniden yapılandırma için openMVS ile birlikte kullanılır.

  • Bundler: Fotoğraf Turizmi'nin sonuçlarını kamuya açık hale getiren ve birçok sonraki çalışma için bir karşılaştırma temeli oluşturan öncü Artımlı SfM uygulaması.

  • Meshroom (AliceVision): SfM'den MVS'ye ve dokulandırmaya kadar her şeyi tek geçişte ele alan, GUI'li açık kaynaklı bir fotogrametri aracı.

Bir kütüphane seçerken, "daha yeni daha doğru demektir" doğru kriter değildir; ele aldığınız görüntü sayısına, GPU/CPU kaynaklarına, EXIF odak uzaklığının güvenilirliğine, eşleştirme stratejisine (kapsamlı/sıralı/sözlük ağacı) ve MVS ve doku oluşturma boyunca tek ve tutarlı bir işlem hattı isteyip istemediğinize göre karar verin.

9. Zorlu Koşullar ve Yaygın Başarısızlık Durumları

  • Doku bakımından fakir veya çok tekrarlayan sahneler: Tekdüze duvarlar, karo yüzeyler ve bir tarladaki ekin sıraları ya hiç eşleşme vermez ya da sık sık uyumsuzluklara neden olur.

  • Son derece küçük paralaks içeren görüntü kümeleri: Telefoto lensle çekilen uzak bir sahnenin fotoğrafları, üçgenlemeyi kararsız hale getirerek büyük derinlik hatalarına yol açar.

  • Hareketli nesneler ve aydınlatma değişiklikleri: Turistik yer fotoğraf setleri, insanları, araçları ve mevsimsel veya günün saatine bağlı farklılıkları bir araya getirerek, statik sahne varsayımını ihlal eden eşleşmeler ortaya çıkarır.

  • İzole görüntü kümeleri: Çekimler, örtüşen görüş alanı olmayan iki gruba ayrılırsa, SfM bunları tutarlı bir koordinat çerçevesine birleştiremez ve yeniden yapılandırma birkaç bağlantısız parçaya bölünür.

  • Simetrik sahneler: Örneğin, simetrik bina cepheleri, geometrik olarak tutarlı ancak fiziksel olarak yanlış bir aynalı çözüme yakınsayabilir.

10. Pratik Seçenekler

  • Çekim tamamen sıralıysa (video veya bir robotun sürekli kareleri), Artımlı SfM'nin başlangıç çifti seçimi kolaylaşır ve COLMAP'ın varsayılan işlem hattı genellikle yeterlidir.

  • Çekim sırası ve örtüşmenin her ikisinin de bilinmediği internet turist fotoğrafları gibi büyük ölçekli görüntü koleksiyonları için, Küresel SfM'nin ölçeklenebilirliği genellikle avantajlıdır.

  • Gerçek zamanlı performans gerektiren uygulamalar (robotlar, artırılmış gerçeklik, otomotiv) için, SfM yerine Visual-SLAM veya VIO'yu düşünün. SfM'nin ana alanı çevrimdışı, yüksek hassasiyetli yeniden yapılandırmadır.

  • Yoğun bir 3B şekle (ağ veya dokulu model) ihtiyacınız varsa, SfM'nin seyrek nokta bulutu ve pozundan başlayın, ardından Çoklu Görünüm Stereo'a geçin.

11. Özet

Hareketten Yapı Oluşturma (Structure from Motion), artımlı SfM veya küresel SfM stratejisini kullanarak, sıralanmamış bir görüntü kümesinden özellik eşleştirme ve geometrik doğrulama yoluyla kamera pozlarını ve 3B yapıyı birlikte kurtaran bir teknolojidir. Artımlı sağlamdır ancak kaymaya eğilimlidir ve küresel kaymaya dirençlidir ancak aykırı değerlere duyarlıdır - simetrik bir denge. Her iki stratejide de nihai doğruluk, doğrudan farklı bir zaman ekseninde çalışan kardeş teknolojisi Visual-SLAM'e ve yoğun yeniden yapılandırma teknolojisi Multi-View Stereo'ya bağlanan paket ayarlamasıyla sağlanır.

Anlayışınızı kontrol edin
Yeniden yapılandırılmış SfM mesafeleri otomatik olarak metre cinsinden mi?

Tek gözlü yeniden yapılandırma, ölçek belirsizliğini korur.

Metrik ölçeği belirlemek için bilinen boyutları veya konumlandırma bilgilerini kullanın.

Referanslar

What to read next

Review the backgroundPnP Temel Bilgileri — Sadece 3B Noktalar ve Bir Görüntüden Kameranın Pozunu Geri KazanmaContinue the seriesPaket Ayarlaması Temel Bilgileri — Kamera Pozlarını ve 3B Noktaları Birlikte İyileştiren Doğrusal Olmayan En Küçük Kareler YöntemiExplore another aspect of this fieldGörüntü parlaklığı ve luminans Lab — pozlama, gama ve kırpma