Contents — find the section you need
Robot süpürgeler, dronlar, otonom araçlar ve artırılmış gerçeklik gözlükleri, hepsinin ortak bir gereksinimi var: "Şu anda neredeyim?" sorusunu yanıtlamak. GPS iç mekanlarda veya yoğun şehirlerde çalışmaz ve harita her zaman mevcut değildir. Görsel-SLAM, bu soruyu yalnızca kamera görüntülerini (bazen ucuz yardımcı sensörlerle birlikte) kullanarak yanıtlayan bir teknolojidir. Bu makale, bir robotun kendi konumunu neden kaybettiğinden başlayarak, özellik izleme, kamera geometrisinin matematiği, Görsel Odometri ve SLAM arasındaki fark, dönüm noktası algoritmalarının soy ağacı ve son olarak pratikte hangisinin seçileceği konularını ele almaktadır.
Visual-SLAM giriş kamerası
Araç kamerası örneğiGörseller: Intel RealSense derinlik kamerası D435 (Marc Auledas, CC BY-SA 4.0) / Car Mobileye sisteminin pencere kamerası (Ranbar, CC BY-SA 4.0), Wikimedia Commons. Temsili kameralar, gerekli bir Visual-SLAM donanım yapılandırması değildir.
0. Bu Makalenin Kapsamı
- Visual-SLAM nedir ve bir kamera tek başına kendi konumunu nasıl tahmin edebilir?
- Görsel Odometri (VO) ile SLAM arasındaki fark
- ORB-SLAM, LSD-SLAM, DSO, SVO ve DROID-SLAM'ın tasarım tercihleri olarak her birinin katkıları
- Özellik tabanlı, Doğrudan ve Öğrenme tabanlı yaklaşımlar arasındaki fark
- Visual-SLAM'ın zorlandığı noktalar ve nedenleri
- Bir robot, drone, AR/VR veya otonom araç için bir yöntemi nasıl seçeceğiniz
1. Visual-SLAM Gerçekte Ne Yapar?
Tek cümleyle: Visual-SLAM, kameranın kendi uzaydaki yörüngesini (Konumlandırma) ve çevresinin 3 boyutlu yapısını (Haritalama) yalnızca kameranın yakaladığı görüntü dizisini kullanarak eş zamanlı olarak tahmin eder.
İsmin kendisi - Eşzamanlı Konumlandırma ve Haritalama - en önemli şeye işaret ediyor: "Eş zamanlı" kelimesi. Eğer harita zaten biliniyor olsaydı, kendi konumunuzu bulmak nispeten kolay bir problem olurdu; eğer konumunuz zaten kesin olarak biliniyor olsaydı, haritayı oluşturmak da kolay olurdu. Visual-SLAM'in bu lükslerinden hiçbiri yok; haritayı oluşturmak konumunuzu bilmeyi gerektirir ve konumunuzu bilmek de haritayı gerektirir. Bu tavuk-yumurta bağımlılığı, aynı gözlem akışından, aynı anda çözülmelidir.
Girdi, bir kameradan (monoküler, stereo veya RGB-D) gelen bir zaman serisi görüntüsüdür ve çıktı iki şeydir: her zaman adımında kameranın 6 serbestlik dereceli pozisyonu (3 konum için, 3 yönelim için) ve çevreyi temsil eden bir harita (seyrek bir özellik noktaları kümesi veya yoğun bir 3B şekil). Temizlik yaparken odanın düzenini öğrenen bir robot süpürge, GPS'in asla ulaşamadığı iç mekanlarda veya yer altında havada sabit duran bir drone, sanal nesneleri gerçek dünyaya kayma olmadan yerleştiren bir AR başlığı - bu vakaların her birinde, Visual-SLAM altta çalışıyor.
2. Bir Robot Neden Nerede Olduğunu Bilmiyor?
Visual-SLAM'in aslında çözdüğü sorunu anlamak için somut olarak şu soruyu sormak faydalı olur: Bir robot neden öncelikle kendi konumunu kaybediyor?
Birincisi, GPS'in olmadığı veya güvenilir bir GPS'in olmadığı birçok ortam var. İç mekanlarda, yer altında, tünellerde, gökdelenler arasındaki kentsel kanyonlarda (çoklu yol yansımalarının konumlandırma hatasını artırdığı yerlerde) veya su altında ve uydu takımyıldızının bile bulunmadığı diğer gezegenlerde - bunların hiçbiri size doğrudan mutlak bir konum elde etme yolu sağlamaz.
İkincisi, haritanın basitçe mevcut olmaması sorunu var. Yeni inşa edilmiş bir yapı, bir afet bölgesi, keşfedilmemiş bir gezegen yüzeyi - önceden oluşturulmuş harita verileri her zaman mevcut değildir. Harita olmadan, "konumunuzu haritaya göre kontrol edin" seçeneği bile mümkün değildir.
Üçüncüsü - ve en temel olanı - tek bir sensör okuması, prensipte bile mutlak konumu belirleyemez. Bir kamera size yalnızca şu anda etrafında ne olduğunu söyler. Tek bir görüntüye bakmak size anında "bu, oturma odasındaki o duvardan 2,3 metre uzaklıkta" demez; o duvarı "o duvar" olarak tanımak, onu daha önce görmüş olmayı ve gördüğünüzde nerede olduğunuzu hatırlamayı gerektirir. Başka bir deyişle, mevcut bir gözlemi anlamlı konum bilgisine dönüştürmek, geçmiş gözlemlerle bir eşleşme gerektirir (şu anda nerede olduğunuz, nerede olduğunuza bağlıdır) ve bu eşleşme tam olarak bir haritanın sağladığı şeydir.
SLAM probleminin özü, "şu anda gördüğüm" ile "daha önce haritaladığım" arasında, yalnızca gözlem verilerinden, hiçbir dışsal mutlak konum bilgisi sağlanmadan, sürekli ve tutarlı bir şekilde bu eşleşmeyi kurmaktır. Tek bir hatalı eşleşme, hatasını takip eden her tahmine yayar ve bu birikmiş hatayı nasıl bastıracağımız ve sonradan nasıl düzelteceğimiz, her Görsel-SLAM algoritmasının arkasındaki temel tasarım sorusudur.
3. Kamera Görüntüsünde Neler Bulunmalı
Bir kameranın ham çıktısı, parlaklık, renk gibi piksel değerlerinin bir ızgarasından başka bir şey değildir. "Nasıl hareket ettim" sorusunun cevabını bulmanın ilk adımı, bu ızgara içinde izlenebilir ipuçları bulmaktır.
Özellik, çevresinden açıkça ayrılan ve bakış açısı değişse bile güvenilir bir şekilde yeniden tespit edilebilen görüntüdeki yerel bir noktadır; bir köşe, bir kenar kesişimi, parlaklık gradyanlarının birden fazla yönde keskin bir şekilde değiştiği bir yer. Komşularından ayırt edilemeyen tekdüze bir mavi gökyüzü parçası, özellik olarak hizmet edemez.
Özellik Tespiti, tek bir görüntü içinde aday özellik noktalarını bulur. ORB (Oriented FAST and Rotated BRIEF), SIFT ve FAST köşe dedektörü gibi algoritmalar, hangi piksellerin "özellik gibi göründüğüne" karar verir ve her birinin etrafındaki yerel görünümün sayısal bir özeti olan bir tanımlayıcı hesaplar.
Özellik Takibi, aynı özellikleri bir sonraki karede bulur ve eşleştirir. İki genel yaklaşım vardır: tespit edilen özellikleri tanımlayıcı benzerliğine göre eşleştirmek (Özellik Eşleştirme) ve bir özelliğin önceki karedeki konumundan başlayarak bir sonraki karedeki komşuluğunu aramak (Optik Akış, klasik olarak Lucas-Kanade yöntemiyle).
Bu ilişki — gerçek dünyadaki aynı noktanın farklı karelerde farklı konumlarda görünmesi — Eşleşme olarak adlandırılır. Görsel-SLAM'deki neredeyse her geometrik hesaplama, girdi olarak bir dizi eşleşme alır; tek bir eşleşme olmadan, prensip olarak, kameranın nasıl hareket ettiğine dair hiçbir ipucu yoktur.
Optik Akış, görüntüdeki her noktanın (veya seyrek bir nokta kümesinin) kareler arasında ne kadar ve hangi yönde hareket ettiğini tanımlayan bir vektör alanıdır — sadece özellikler değil. Özellik tabanlı takip yalnızca en belirgin noktaları izlerken, optik akış genellikle daha yüksek hesaplama maliyetiyle daha geniş bir alanda hareket bilgisini kullanabilir.
4. Kameranın Hareketinin Hesaplanması
Eşleşmeler elde edildikten sonra, bunlar geometrik olarak kameranın nasıl hareket ettiğinin bir tahminine dönüştürülebilir. Bu hesaplamanın temeli Epipolar Geometri'dir.
Şekil 1 — İki kamera bakış açısı O_1 ve O_2, uzayda bir nokta X ve bunun her bir görüntü düzlemine izdüşümleri x_1, x_2. Verilen x_1 için, karşılık gelen nokta x_2 her zaman ikinci görüntüde tek bir çizgi üzerinde (epipolar çizgi) yer almakla sınırlıdır.
Şekil: Epipolar geometrisi (Arne Nordmann, CC BY-SA 3.0 / GFDL), Wikimedia Commons. Orijinal SVG, güvenilir tarayıcı görüntülemesi için beyaz arka planlı bir PNG'ye dönüştürülmüştür.
Uzaydaki aynı nokta X iki farklı bakış açısından fotoğraflandığında, bir görüntüdeki karşılık gelen nokta \mathbf{x}_2, diğer görüntüdeki bir nokta \mathbf{x}_1 verildiğinde, görüntünün herhangi bir yerinde serbestçe bulunamaz; tek bir çizgi üzerinde (epipolar çizgi) yer almalıdır. Bu geometrik kısıtlamayı kodlayan matris, Temel Matris E'dır. Kameranın içsel parametreleri bilindiğinde, normalleştirilmiş kamera koordinatlarındaki karşılık gelen noktalar şu koşulu sağlar:
Burada R ve \mathbf{t}, kamera 1'den kamera 2'ye olan dönüş ve ötelemeyi temsil eder ve [\mathbf{t}]_{\times}, çapraz çarpımı matris çarpımı olarak temsil eden \mathbf{t}'den oluşturulan çarpık simetrik matristir. Bu denklem, bu kısıtlamanın her zaman bir karşılık \mathbf{x}_1, \mathbf{x}_2 ve kameranın göreceli dönüşü ve ötelemesi arasında geçerli olduğunu söyler. Gerekli karşılık sayısı tahminciye bağlıdır: kalibre edilmiş bir Temel Matris, 5 noktalı minimal bir çözücüye sahipken, doğrusal 8 noktalı tahmin en az 8 karşılık kullanır. Gerçek veriler aykırı değerler içerir, bu nedenle pratik sistemler daha fazla eşleşme toplar ve bunları RANSAC veya başka bir sağlam tahminci ile birleştirir. İçsel matrisler bilinmediğinde veya doğrudan piksel koordinatlarında çalışıldığında, içsel matris K'i içine katlayan Temel Matris F = K_2^{-\top} E K_1^{-1} aynı rolü oynar.
Temel Matristen elde edilen öteleme \mathbf{t} gerçek dünya birimi (örneğin metre) taşımaz; iki görüntü tek başına kameranın bir metre mi yoksa iki metre mi hareket ettiğini söyleyemez. Bu ölçek belirsizliği, özellikle monoküler konfigürasyonlar olmak üzere Görsel-SLAM'e özgü bir kısıtlamadır ve Bölüm 5'te tekrar ele alınmaktadır.
Bir eşleşmenin gerçek 3 boyutlu konumunun - uzaydaki X noktasının koordinatlarının - hesaplanmasına Üçgenleme denir. Her bakış açısından X'e doğru giden iki ışın uzatıldığında, bu iki ışın ideal olarak tam olarak X noktasında kesişmelidir; Kesişimin bulunması, eşleşmenin 3B konumunu geri kazandırır (pratikte, gözlem gürültüsü ışınların tam olarak kesişmediği anlamına gelir, bu nedenle en küçük kareler anlamında her ikisine de en yakın nokta bulunur).
3B konumu zaten bilinen bir referans noktası ile görüntüdeki konumu arasında bir eşleşme varsa, kameranın pozisyonu doğrudan bundan hesaplanabilir. Bu, PnP (Perspektif-n-Nokta) problemidir: n 3B noktası ve bunların görüntüdeki izdüşüm konumları verildiğinde, kameranın konumunu ve yönünü çözün. Bir harita zaten mevcut olduğunda, PnP her yeni karenin kamera pozisyonunu hesaplamak için merkezi araç haline gelir.
5. Görsel Odometri
"Kameranın hareketini eşleşmelerden hesapla" işlemini kare kare tekrarlamak, kameranın yörüngesini tahmin etmek için yeterlidir. Bu, Görsel Odometri (VO)'dir.
VO, kameranın yörüngesini oluşturmak için yalnızca mevcut kare ile önceki (veya son birkaç kare) kare arasındaki göreceli hareketi bir araya getirir. Genellikle kalıcı bir harita tutma veya daha önce ziyaret edilen bir yeri tanıma mekanizmasına sahip değildir; ruhu, sürekli olarak "şu andan beri ne kadar yol kat ettim" diye hesaplayan bir arabanın kilometre sayacına daha yakındır.
VO ve SLAM arasındaki fark tam olarak burada yatmaktadır: sistemin bir harita tutması ve geçmişle tutarlılığı geri kazanma mekanizmasına sahip olması. VO hafif ve uygulaması basittir, ancak her karenin tahmini her zaman bir öncekine bağlı olduğundan, küçük hatalar zamanla sınırsız bir şekilde birikir. Bu birikmiş hataya Sürüklenme denir. Bir robot başlangıç noktasına geri dönerse, VO tek başına "başladığım yere geri döndüm" diye tanımanın bir yoluna sahip değildir; tahmin edilen yörünge başlangıçtan sapmış kalır ve asla kapanmaz.
VO'ya, özellikle de tek gözlü VO'ya özgü, Bölüm 4'te zaten değinilen başka bir sorun daha var: Ölçek problemi. Tek gözlü bir kameradan alınan görüntüler, mutlak gerçek dünya uzunluk birimini geri kazanamaz; görüntünün görünümünde "2 metre hareket ettirildi, nesne iki kat daha büyük görünüyor" ile "4 metre hareket ettirildi, nesne dört kat daha büyük görünüyor" arasında hiçbir fark yoktur. Stereo bir kamera (iki lensi arasında ölçeği sabitlemek için bilinen bir temel mesafeye sahip), RGB-D bir kamera (derinlik sensörü gerçek dünya mesafelerini doğrudan verir) veya bir IMU ile eşleştirme (gerçek ölçekli ivmesi ölçeğin tahmin edilmesini sağlar) bu ölçek belirsizliğini çözebilir.
6. SLAM'in VO'ya Ekledikleri
SLAM'i VO artı aşağıdaki ek parçalar olarak düşünmek faydalı olacaktır.
Harita, şimdiye kadar gözlemlenen her özelliğin 3B konumunun birikmiş bir temsilidir (veya yoğun bir 3B şekil). VO'nun yaptığı gibi yalnızca hemen önceki kareyle karşılaştırmak yerine, sistem artık haritada biriken her şeyle eşleştirme yapabilir.
İşaret Noktası, bu haritanın bireysel bir öğesidir - genellikle 3 boyutlu konuma sahip bir özellik noktasıdır. Her yeni kare geldiğinde, bu karede görünen işaret noktalarıyla eşleştirme, sistemin kamera pozisyonunu yalnızca önceki kareyle değil, robotun geçmişi boyunca oluşturulan tüm haritayla tutarlı bir şekilde tahmin etmesini sağlar.
Döngü Kapatma, SLAM'in VO'ya göre en önemli avantajıdır. Bir robot daha önce ziyaret ettiği bir yere geri döndüğünde, bu gerçeği tespit etmek için görüntü benzerliği kullanılır ve haritaya "şu anda nerede olduğum" ile "bu yeri ilk ziyaret ettiğimde nerede olduğum" arasında bağlantı kuran yeni bir kısıtlama eklenir. Bu kısıtlamanın eklenmesi, sistemin tüm döngü boyunca biriken sapmayı yeniden dağıtmasına ve düzeltmesine olanak tanır.
Bu düzeltmenin sonucu Küresel Tutarlılık'tır. Döngü kapanmasından önce, biriken hata, haritada aslında aynı fiziksel yer olması gereken iki konumun biraz farklı konumlar olarak kaydedilmesi anlamına gelir. Döngü kapanma düzeltmesi bu tutarsızlığı tespit eder ve tüm haritayı kendi içinde tutarlı bir forma yeniden şekillendirir - bu döngü kapanma mekanizması, SLAM'in sadece "hareket kaydı" değil, "tutarlı bir harita" sunabilmesinin tam nedenidir.
7. Görsel-SLAM'in Temel Yapısı
Bu parçaları bir araya getirmek, genel hatlarıyla her büyük modern Görsel-SLAM sisteminin paylaştığı bir iş akışını ortaya koymaktadır.
Şekil 2 — Kameradan alınan görüntüler önceki kareyle eşleştirildi (Bölüm 3 ve 8'deki yaklaşımlardan birini kullanan Özellik/Doğrudan İzleme), Poz Tahmini'ni (Bölüm 4'teki epipolar geometri ve PnP) ve paralel olarak Yerel Haritalama'yı (son gözlemlenen alanda işaret noktaları ekleme ve güncelleme) yönlendirir. Bir döngü tespit edildiğinde, Döngü Kapatma tetiklenir ve Arka Uçtaki Optimizasyon katmanı (Bölüm 10) — Paket Ayarlaması veya Poz Grafiği optimizasyonu — birikmiş pozları düzeltir ve tutarlı bir bütüne dönüştürür.
Kameradan gelen görüntüler önce Özellik/Doğrudan İzleme'den (Bölüm 3 ve 8'de ele alınan yaklaşımlardan biri) geçerek önceki kareyle eşleşmeler kurar. Bu eşleşmelerden Poz Tahmini (Bölüm 4'teki epipolar geometri ve PnP kullanılarak) kamera pozunu hesaplarken, Yerel Haritalama (son gözlemlenen bölgede işaret noktaları ekleme ve güncelleme) paralel olarak devam eder. Bir döngü tespit edildiğinde, Döngü Kapatma tetiklenir ve Arka Uç'un (Bölüm 10) Optimizasyon aşaması, birikmiş pozları ve haritayı küresel olarak tutarlı bir bütüne düzeltir. Bu işlem hattının nihai sonucu, kameranın Pozu (yörünge) ve Haritası (çevresinin 3 boyutlu yapısı) olan son çıktıdır.
8. Önemli Algoritmalar
Görsel-SLAM'ın tarihini takip etmenin en kolay yolu, tek bir eksen boyunca ilerlemektir: ne kadarının açıkça tasarlandığı ve ne kadarının öğrenmeye bırakıldığı.
PTAM (Paralel İzleme ve Haritalama, Klein & Murray, 2007), İzleme (poz tahmini) ve Haritalama (harita oluşturma) işlemlerini ayrı paralel iş parçacıkları olarak çalıştıran öncü bir sistemdi. İzleme işlemi her karede hızlı bir şekilde çalışırken, hesaplama açısından maliyetli olan Haritalama için Paket Ayarlaması arka planda bir iş parçacığında daha fazla zaman kalacak şekilde çalışır; İzleme ve Haritalamanın ayrılması fikri, daha sonraki birçok Görsel-SLAM sistemi tarafından miras alınmıştır.
ORB-SLAM (Mur-Artal, Montiel & Tardós, 2015), ORB özelliklerini temel alarak, pratik monoküler performans elde etmek için üç iş parçacıklı bir yapıyı (İzleme, Yerel Haritalama, Döngü Kapatma) Yer Tanıma (Kelime Torbası aracılığıyla geçmiş karelerle eşleştirme) ile birleştirmiştir. ORB-SLAM2 (Mur-Artal & Tardós, 2017), bu çerçeveyi monoküler kameraların ötesine, stereo ve RGB-D kameralara genişletmiştir. ORB-SLAM3 (Campos, Elvira, Gómez Rodríguez, Montiel & Tardós, 2021), IMU ile sıkı bir bağlantı (Görsel-Ataletsel SLAM) ve birden fazla haritayı koruyan ve gerektiğinde birleştiren Çoklu Harita SLAM'ı ekledi ve günümüzde özellik tabanlı SLAM için fiili referans uygulama olmaya devam ediyor.
LSD-SLAM (Büyük Ölçekli Doğrudan Monoküler SLAM, Engel, Schöps & Cremers, 2014), Doğrudan yöntemin dönüm noktası niteliğinde bir örneğidir ve büyük ölçekte, özellik algılama adımı olmadan, doğrudan görüntü parlaklığı kullanılarak kamera pozisyonunun tahmin edilebileceğini göstermektedir. Özellik çıkarımını tamamen atlamak, özelliklerin seyrek olduğu yerlerde bile bilgiden yararlanmasını sağlar.
DSO (Doğrudan Seyrek Odometri, Engel, Koltun ve Cremers, ilk olarak 2016'da sunuldu, 2018'de yayınlandı) doğrudan kalır, ancak LSD-SLAM'in ürettiği yarı yoğun tahmin yerine, seyrek bir nokta kümesi üzerinde fotometrik hatayı en aza indirerek hem doğruluk hem de hesaplama verimliliği sağlar.
SVO (Hızlı Yarı Doğrudan Monoküler Görsel Odometri, Forster, Pizzoli ve Scaramuzza, 2014) özellik tespitini yarı doğrudan bir yaklaşımda doğrudan bir yöntemle birleştirir, tespit edilen özelliklerin etrafındaki yamalardaki parlaklığı izleyerek yüksek kare hızlarında hızlı çalışma sağlar - dronlar gibi kaynak kısıtlı platformlar düşünülerek tasarlanmıştır.
DROID-SLAM (Teed & Deng, 2021), açık özellik çıkarma ve eşleştirme adımını tamamen derin öğrenme ile değiştirerek, korelasyon hacmi, tekrarlayan güncelleme operatörü ve türevlenebilir bir Paket Ayarlama katmanı aracılığıyla kamera pozisyonunu ve piksel başına derinliği tahmin eder; bu, temsili Öğrenme tabanlı yaklaşımdır (iç mekaniği Visual-SLAM Trends'de daha ayrıntılı olarak ele alınmıştır).
9. Özellik Tabanlı vs. Doğrudan vs. Öğrenme Tabanlı
Özetle, bu algoritmalar üç tasarım felsefesinden birine girer.
| Yön | Özellik tabanlı (ör. ORB-SLAM3) | Doğrudan (ör. DSO/LSD-SLAM) | Öğrenme tabanlı (ör. DROID-SLAM) |
|---|---|---|---|
| Prensip | Özellikleri algılar ve tanımlar, eşleşmeler arasındaki geometrik ilişkiden pozu hesaplar | Özellikleri tamamen atlar, pozu bulmak için doğrudan görüntü parlaklığını en aza indirir | Bir sinir ağı, özellik çıkarımını, eşleşmeyi ve poz/derinlik tahminini değiştirmeyi öğrenir |
| Doğruluk | Özelliklerin bol olduğu yerlerde yüksek; seyrek bir harita üretme eğilimindedir | Parlaklık gradyanı olan her yerde çalışır; yarı yoğun ila yoğun haritalar üretebilir | Düşük dokulu ortamlarda bile oldukça sağlam; yoğun derinlik elde etmek kolaydır |
| Hesaplama maliyeti | Orta (özellik çıkarımı, tanımlayıcılar, eşleştirme) | Uygulamaya göre değişir, genellikle hafiftir (özellikle DSO verimlilik için optimize edilmiştir) | Yüksek (yalnızca çıkarım genellikle birkaç ila bir düzine GB'tan fazla GPU belleği gerektirir) |
| Sağlamlık | Düşük dokulu ortamlarda veya dinamik nesnelerle zayıf; aydınlatma değişimine karşı nispeten güçlü | Parlaklık değişikliklerine duyarlı (otomatik pozlama, aydınlatma) | Eğitim verilerinin aralığında güçlüdür, ancak görülmemiş ortamlara genelleme sınırlı olabilir |
| Uygulama zorluğu | Birçok olgun açık kaynaklı uygulama mevcut, benimsemesi kolay | Matematik (parlaklığın doğrusallaştırılması) biraz daha karmaşık | Önceden eğitilmiş bir model kullanmak kolay; yeniden eğitim veya iç mekanizmaların ayarlanması daha fazla uzmanlık gerektiriyor |
Özellik tabanlı yöntemler, birçok gömülü dağıtım da dahil olmak üzere en uzun geçmişe sahip; Doğrudan yöntemler, dokunun az olduğu yerlerde daha iyi performans gösteriyor; Öğrenme tabanlı yöntemler hızla gelişiyor ancak daha ağır hesaplama gerektiriyor - bu, 2026 itibariyle mevcut durumun kabaca özeti.
10. Arka Uç
Visual-SLAM'in doğruluğunu nihayetinde belirleyen şey sadece ön uç (özellik çıkarma, izleme, poz tahmini) değil, tüm birikmiş gözlem kümesini kendi içinde tutarlı bir şeye dönüştüren Arka Uç'tur.
Paket Ayarlaması, kamera pozlarını ve işaret noktalarının 3B konumlarını, her gözlemle maksimum düzeyde tutarlı olacak şekilde birlikte optimize eder. Bu, toplam yeniden projeksiyon hatasını en aza indirir; yani, bir işaret noktası \mathbf{X}_i'in kamera pozisyonu (R_j, \mathbf{t}_j) aracılığıyla bir görüntüye yansıtılması ile karşılık gelen özelliğin gerçekte gözlemlendiği yer \mathbf{u}_{ij} arasındaki tutarsızlığı azaltır.
\pi(\cdot), kameranın içsel parametrelerine dayalı olarak, 3 boyutlu bir noktadan görüntü düzlemine projeksiyon fonksiyonudur. Her kareyi ve her işaret noktasını aynı anda optimize eden Küresel Paket Ayarlaması, oldukça doğrudur ancak maliyetlidir; pratikte, hesaplamayı yönetilebilir tutmak için genellikle yalnızca en son birkaç kareyle sınırlı olan Yerel Paket Ayarlaması ile birlikte kullanılır.
Bir döngü kapanması tespit edildiğinde, Poz Grafiği optimizasyonu devreye girer. Her bir referans noktasını içeren Paket Ayarlaması'nın aksine, Poz Grafiği optimizasyonu, her zaman adımında yalnızca kameranın pozunu bir düğüm olarak ele alır ve kenarlar, kareler arasındaki göreceli poz kısıtlamalarını kodlar; böylece yalnızca pozu hızlı bir şekilde optimize eder. Döngü kapanışı ile eklenen yeni kısıtlama, biriken sapmayı tüm döngüye yeniden dağıtır.
Bunların her ikisi de Doğrusal Olmayan Optimizasyon çerçevesinde çözülür. Projeksiyon fonksiyonu \pi(\cdot) ve bir pozdaki dönüşlerin bileşimi doğası gereği doğrusal olmadığından, Gauss-Newton ve Levenberg-Marquardt gibi yinelemeli yöntemler kullanılır ve Visual-SLAM uygulamalarında g2o ve Ceres Solver gibi kütüphanelere yaygın olarak güvenilir.
11. Visual-SLAM'in Zorlandığı Noktalar
Visual-SLAM, pasif bir sensöre - bir kameraya - bağlı olduğundan, doğruluğu birkaç durumda sistematik olarak azalır.
-
Karanlık: Yeterli ışık olmadığında, görüntünün sinyal-gürültü oranı düşer ve bu da hem özellik tespitini hem de doğrudan yöntemlerin dayandığı parlaklık gradyanı hesaplamalarını istikrarsızlaştırır. Kızılötesi aydınlatmalı RGB-D kameralar bunu bir nebze telafi edebilir, ancak etkisi gece dış mekanlarda sınırlıdır.
-
Düşük doku: Beyaz duvarlar, düz zeminler, cam yüzeyler — parlaklık gradyanlarının az olduğu, özelliklerin bulunamadığı veya doğrudan yöntemin minimizasyonunun kötü tanımlı hale geldiği ve yerel minimumlara eğilimli olduğu her yerde.
-
Hızlı hareket: Hızlı kamera hareketi veya dönüşü, kareler arasında eşleşme bulmak için gereken arama aralığını genişletir ve hareket bulanıklığıyla (aşağıda) birleştiğinde, izleme kolayca bozulur. Bu zayıflığı telafi etmenin standart yolu bir IMU (VIO) ile eşleştirmektir.
-
Dinamik nesneler: Hareket eden bir yaya veya araba üzerindeki özellikleri statik ortama aitmiş gibi ele almak, kameranın kendi hareketinin tahminine hata katar. Bu, ya dinamik nesneleri tespit edip hariç tutmak için ön işleme ya da bunları açıkça modelleyen uzantılar gerektirir.
-
Hareket Bulanıklığı: Pozlama penceresi sırasında kamera veya nesne hareketinden kaynaklanan bulanıklık, özellik tanımlayıcılarını istikrarsızlaştırır ve eşleştirme doğruluğunu düşürür. Küresel deklanşörlü kameralar veya kısa pozlama sürelerine sahip yüksek ışıklı ortamlar etkiyi azaltır.
Bunların hepsinin ortak bir noktası var: kamera, çalışmak için yeterli görsel bilgi alamıyor. LiDAR gibi aktif bir mesafe sensörü (bkz. LiDAR-SLAM Teknoloji Trendleri) prensipte bu zayıflıkların çoğunu atlatır, ancak kendi zayıflıklarını da taşır (bkz. Bölüm 2) — hiçbir tek sensör evrensel olarak yeterli değildir ve bu tamamlayıcılık, Sensör Füzyonu'nun (bkz. Sensör Füzyonu Temel Bilgileri) neden önemli olduğunun tam nedenidir.
12. Uygulamada Bir Yöntem Seçmek
Görsel-SLAM yaklaşımının nasıl seçileceği, taşıyabileceğiniz sensörlere, mevcut işlem gücüne ve uygulamanın gerektirdiği doğruluk ve gerçek zamanlı performansa büyük ölçüde bağlıdır.
-
Robotlar (iç mekan servis robotları, temizlik robotları): Genellikle düşük maliyetli kamera kurulumlarıyla sınırlıdır; burada özellik tabanlı ORB-SLAM ailesi yöntemleri veya RGB-D kameralar aracılığıyla yoğun haritalama pratik seçeneklerdir. Koridor ağırlıklı, düşük dokulu ortamlarda, LiDAR ile eşleştirme dikkate alınmaya değerdir.
-
Dronlar: İşlem gücü ve yük ağırlığı üzerindeki ciddi kısıtlamalar, SVO gibi hafif yarı doğrudan yöntemlere veya bir IMU ile sıkıca bağlı VIO konfigürasyonlarına yönlendirir.
-
AR/VR: Gerçek zamanlı performans ve düşük gecikme en önemli önceliktir ve kulaklığın yerleşik IMU'su ile eşleştirilmiş Görsel-Ataletsel bir konfigürasyon fiili standart haline gelmiştir. Özellikle AR'da, Küresel Tutarlılık sanal nesnelerin kayıp kaymadığını doğrudan belirler, bu nedenle döngü kapatma doğruluğu da büyük önem taşır.
-
Otonom sürüş: Nadiren bağımsız Görsel-SLAM olarak kullanılır; kamera tabanlı görsel bilgiler tipik olarak LiDAR, radar ve GNSS ile birlikte çoklu sensör füzyon kurulumuna dahil edilir (bkz. Sensör Füzyonu Temel Bilgileri).
-
İç mekan vs. dış mekan: İç mekanlarda, aydınlatma değişiklikleri yumuşaktır ve bol miktarda yapı vardır, bu nedenle özellik tabanlı yöntemler genellikle iyi çalışır; dış mekanlarda, aydınlatma varyasyonu, dinamik nesneler ve geniş ölçek zorluklar yaratır ve döngü kapatmanın sağlamlığını çok daha önemli hale getirir.
2026 itibariyle, kabaca karar ekseni şöyle görünüyor: bol işlem gücü varsa ve en yüksek doğruluk hedef ise Öğrenme tabanlıyı, yerleşik geçmiş performans ve düşük kaynak kullanımı en önemliyse Özellik tabanlıyı ve doku açısından fakir ortamlarda dayanıklılık şartsa Doğrudan'ı seçin. En yeni araştırma yönleri — 3D Gaussian Splatting/NeRF ile harita gösteriminin yeniden şekillendirilmesi, ileri beslemeli 3D temel modeller ve daha fazlası — Visual-SLAM Trendleri bölümünde ele alınmıştır.
Uygulamadan Önce Beş Kontrol
Sadece algoritma adına göre seçim yapmak, sahadaki arızaların teşhisini zorlaştırır. Uygulamadan önce, bu beş maddenin kaydedilebildiğinden emin olun; izleme başarısız olduğunda, bir sensör sorununu bir tahminci sorunundan ayırabilirsiniz.
| Kontrol | Hazırlanacak Bilgiler | Eksik Kalırsa Neler Yanlış Gider |
|---|---|---|
| Kalibrasyon | İçsel K, lens bozulması ve varsa stereo taban çizgisi | Yeniden projeksiyon hatası poz hatası gibi görünüyor ve ölçek değerlendirilemiyor |
| Zaman Senkronizasyonu | Kare zaman damgaları, kamera-IMU ofseti ve düşen kareler | Hızlı hareket sırasında, görüntü ve atalet verileri farklı pozisyonları tanımlar |
| Deklanşör ve pozlama | Küresel/kayan deklanşör, pozlama süresi ve otomatik pozlama ayarları | Hareket bulanıklığı veya geometrik bozulma, algoritma hatası olarak yanlış yorumlanır |
| Dinamik nesneler | Maskelerin kullanılıp kullanılmadığı, hareket eden nesnelerin oranı ve reddedilen eşleşmeler | Yayalar veya araçlar statik haritaya dahil edilir |
| Değerlendirme kayıtları | Gerçek değer, ATE/RPE, iz kaybı süreleri ve döngü algılama sonuçları | Doğruluk, sapma veya kurtarmayı karşılaştırmak için "Hareket etti" yeterli değildir |
Bu tabloyu önce doldurmak, Özellik tabanlı yöntemlerden Doğrudan veya Öğrenme tabanlı yöntemlere geçerken neyin değişmesi gerektiğini ve neyin sabit kalabileceğini ayırmayı da kolaylaştırır. Visual-SLAM, tek başına bir algoritma olarak değil, bir sistem olarak (kamera, zamanlama, ön işleme, optimizasyon ve değerlendirme dahil) seçilmelidir.
13. Özet
Visual-SLAM, yalnızca kamera görüntülerinden eşleşmeleri izler, epipolar geometri ve PnP aracılığıyla kameranın hareketini geri kazanır ve bir harita ve döngü kapatma yoluyla biriken hatayı sürekli olarak düzeltir; böylece eş zamanlı konumlandırma ve haritalama sağlar. Üç tasarım felsefesi - Özellik tabanlı (ORB-SLAM ailesi), Doğrudan (DSO/LSD-SLAM) ve Öğrenme tabanlı (DROID-SLAM) - her biri farklı bir dengeye dayanır ve özelliklerin açıkça ele alınıp alınmadığı, parlaklığın doğrudan kullanılıp kullanılmadığı ve öğrenmeye ne kadarının devredildiği eksenleri boyunca anlaşılması en kolay olanlardır. Hangisinin seçileceği, mevcut sensörler, hesaplama gücü ve gerekli doğruluk ve gerçek zamanlı performansla dengelenmiş, uygulamaya özgü bir karar verme meselesidir.
14. Referanslar
Yukarıda tartışılan temsili yöntemler ve iki görünüm geometrisi için birincil makaleler ve araştırma sayfaları, uygulama ve daha fazla okuma için başlangıç noktaları olarak burada toplanmıştır. Bir makalenin iddiasını belirli bir ürün veya veri kümesindeki performansla karıştırmamak için, bağlantılı metni deneysel koşullarıyla birlikte okuyun.
-
ORB-SLAM3: Görsel, Görsel-Ataletsel ve Çoklu Harita SLAM için Doğru Açık Kaynaklı Bir Kütüphane — görsel, görsel-ataletsel ve çoklu harita tasarımlarını kapsayan bir kütüphane.
-
DROID-SLAM: Monoküler, Stereo ve RGB-D Kameralar için Derin Görsel SLAM — korelasyon hacimlerini türevlenebilir yoğun demet ayarlamasıyla birleştiren öğrenme tabanlı bir yöntem.
-
LSD-SLAM: Büyük Ölçekli Doğrudan Monoküler SLAM — doğrudan, yarı yoğun monoküler SLAM için resmi araştırma sayfası.
-
Doğrudan Seyrek Odometri — kayan pencere fotometrik hata optimizasyonu üzerine DSO makalesi.
-
Beş noktalı göreceli pozisyon problemine verimli bir çözüm — 5 noktalı Temel Matris çözücüsü üzerine orijinal makale.
Çekici bir harita doğru konumlandırmayı sağlar mı?
Harita görünümünü yörünge hatasından ayrı olarak değerlendirin. Ölçeği, hizalamayı, yerel hatayı ve uzun vadeli sapmayı kontrol edin.
Yorumlar
Lütfen önce giriş yapın.
Henüz veri yok.