SLAM和SFM有什麼區別?

2021-01-18 計算機視覺life

點擊上方「計算機視覺life」,選擇「星標」

快速獲得最新乾貨

本文轉自3D視覺工坊

自古以來,人們惆悵千年要解決的問題: 定位、定向. 當然了還有我是誰?我在哪裡?

在這個時候, SLAM與SFM 橫空出世. 這兩兄弟叱吒乾坤,成為人們解決上述問題的得力幫手.

SFM

SFM即Structure From Motion.

它也稱之為傳統三維重建,這是一門計算機視覺學科的分支, 特點是把數據採集回來,然後離線處理.常見應用就是重建某建築物的3D地圖.

下面附上一些三維重建的效果圖:



SLAM

SLAM也被稱為Simultaneous Localization and Mapping,翻譯過來叫同時定位與建圖.

SALM是一個概念不是算法,SLAM包含多個模塊,每個模塊都有多種算法.每種算法很複雜的,此處還是保護好自己頭髮!

整個SLAM框架可以分為前端和後端.根據不同的前端需求,我們採用不同的後端策略,後端也提出了眾多的算法理論,這些基本都是關於優化方面的東西,還是要好好保護頭髮.

附上一些SLAM效果圖


區別

關於這兩者區別與聯繫,知乎已有前輩給出了很鮮明的解釋.

SFM和SLAM基本討論的是同一問題,不過SFM是vision方向的叫法,而SLAM是robotics方向的叫法.

SLAM所謂的Mapping,SFM叫structure;SLAM所謂的Location,SFM方向叫camera pose.

但是從出發點考慮的話,SFM主要是要完成3D reconstuction,而SLAM主要是要完成localization.這樣設計的優化目標就完全不同了.

從方法論的角度上考慮的話,傳統的SFM是不要求prediction的,real-time是不要求的.但是對於SLAM而言prediction是必須的,因為SLAM的終極目標是要real-time navigation.

而傳統的SLAM也把主要精力放在prediction上面,而且是藉助非camera的外界的手段來predict(運動模型?狀態方程?).例如acceleration sensor.

傳統SFM則把精力放在feature tracking上面了.

直到最近,SFM開始利用圖片間的optical flow做prediction,而SLAM則更加的注重了feature tracking.所以就目前而言兩個領域似有大融和趨勢.

SLAM要求實時,數據是線性有序的,無法一次獲得所有圖像,部分SLAM算法會丟失過去的部分信息;基於圖像的SFM不要求實時,數據是無序的,可以一次輸入所有圖像,利用所有信息.

SLAM是個動態問題,會涉及到濾波,運動學相關的知識,而SFM主要涉及的還是圖像處理的知識.

聯繫

基本理論是一致的,都是多視角幾何.

傳統方法都需要做特徵值提取與匹配.

都需要優化投影誤差.

迴環矯正和SfM的全局註冊方法是同一件事情.

更多精彩回答可參考如下連結:

https://www.zhihu.com/question/64011093/answer/971851111?utm_source=wechat_session

目前現狀

從最近幾年發展來看

SLAM: 以定位為主,以建圖為輔;且是朝輕量級,小型化方向發展,而且最近跟深度學習結合的語義SLAM也在慢慢火熱,這也跟這幾年深度學習火熱有關係,也許深度學習能解決一些SLAM的技術門檻吧.

三維重建: 以建圖為主,以定位為輔;朝大規模,大型動態場景的重建方向發展.

相關焦點

  • sfm動畫是什麼
    sfm動畫是什麼官方介紹:Source Filmmaker(SFM)是一款電影製作工具,我們 Valve 用它製作 Source 遊戲引擎的內置電影。因為 SFM 使用著和遊戲相同的資源,所以遊戲中任何存在的東西都可以被用在電影之中,反之亦然。
  • SLAM軌跡全局誤差計算
    ,我們對這兩條符合相似變換的軌跡建立平方根誤差: 首先我們計算均值: 然後我們再進行方差的計算: 協方差: 將其進行SVD分解,記作,並且有: 相似變換的自由度可以表示為: 以上就是相似變換的umeyama算法原理,讀者有對引理證明感興趣的,可以閱讀Shinji Umeyama的論文《Least-Squares Estimation of Transformation Parameters Between Two Point
  • SfM-Net: Learning Structure Motion from Video 視頻無監督學習 代碼
    segments the moving objects in the scene, even though such supervision is https://arxiv.org/abs/1704.07804https://github.com/waxz/sfm_net
  • 學習SLAM需要哪些預備知識?
    他包含了上述在視覺slam需要的所有基礎知識,真是造福大眾啊。詳細研讀此書,以後讀各種論文就不會顯得那麼吃力了吧。最後列舉一些玩slam的一些必備工具和相關資源。1. ubuntu,  cmake, bash, vim, qt(optional).2.
  • 清水泵和汙水泵有什麼區別?(離心泵和排汙泵有什麼區別?)
    最近有朋友在問清水泵和汙水泵有什麼區別,也有的朋友在問離心泵和排汙泵有什麼不一樣?清水≠乾淨;汙水≠髒水;舉例:農藥、洗潔精、硫酸,這些都是不能吃的,不能算是乾淨的吧,應該選什麼泵呢?,河水有時候也很髒,裡面有雜草,有石子,有生活垃圾;工廠生產用的廢水選什麼泵呢?這些水排出來,有些是清澈見底;有些是一半泥沙一半水;廠家有時候幫你選清水泵,有時候幫你選汙水泵,關鍵依據到底是什麼呢?秘訣是啥?簡單來說一句話——清水泵和汙水泵的本質區別——輸送的物料裡面有沒有顆粒!
  • 拉直和軟化有什麼區別 拉直和軟化的區別是什麼
    經常做造型的人應該都聽過拉直和軟化這兩個詞,你知道拉直和軟化有什麼區別嗎?今天就告訴大家。拉直和軟化有什麼區別首先效果不同,軟化沒有拉直看起來那麼直和順,但是軟化會比拉直自然一些,做了拉直頭髮是不自然的直順,而軟化就是把你的頭髮軟化掉,變得相對比較直
  • and和or的區別 and和or有什麼區別
    and和or都是連詞,都有「和」的意思,那麼and和or的區別? and和or的區別是:or用在否定句和疑問句中,而and用在肯定句中。1. or和and都有「和」的意思,但是在並列結構中,or通常用於否定句,and用於肯定句。但有時and 也可用於否定句。請注意其不同特點:There is no air or water in the moon.There is no air and no water on the moon.
  • 青蛙和癩蛤蟆有什麼區別?
    青蛙和癩蛤蟆有什麼區別?-20 17:45 來源:動物大觀察 原標題:青蛙和癩蛤蟆有什麼區別
  • 流量gb和g有什麼區別 流量gb和g的區別有什麼
    通常我們對這些數據都有特定的稱呼,比如G、GB,那麼數據流量G、GB是什麼意思?流量GB和G又有什麼區別呢?  在我們使用手機時,就必須要用到流量數據,那麼流量是用G、M、K、B來表示,其中流量的G和GB其實是同樣的意思,因為為了書寫簡單,所以我們常常把
  • 裙帶菜和海帶的區別 裙帶菜和海帶有什麼區別
    裙帶菜和海帶的區別是什麼呢?裙帶菜內部構造與海帶很相似。有很多人分不清楚裙帶菜和海帶,也不知道它們各自的功效是什麼。下面我們來看看裙帶菜和海帶的區別吧。  1.外形不同:裙帶菜的幼體與海帶的幼體很相似,但長大以後的外形則與海帶具有明顯的區別。海帶為帶狀體,分為固著器、柄和帶片三部分。
  • 橡木和橡膠木有什麼區別嗎?
    相信很多人都以為『橡木』和『橡膠木』是同一個品種吧?但其實這是兩個完全不同的品種喲,橡木和橡膠木有什麼區別嗎?它們之間的區別不但體現在生長區域那一塊,在價格方面的區別也是蠻大的,價值也不一樣,所以小夥伴們在選購類似這些品種的家具的時候,可不要將其搞混了,搞不好,就買到不是自己想要的產品了。
  • 平板和筆記本有什麼區別
    早前,大家主要以使用臺式和筆記本為主,要是圖方便的話就用筆記本,要是圖性能的話就用臺式。如今,筆記本已不再能滿足大眾對於電腦薄、小、快的要求,更受青睞的是平板電腦。但是,平板電腦和筆記本到底有些什麼區別呢?下面,小編給大家講解平板和筆記本的區別。
  • 勘查和勘察有什麼區別?
    前幾天勘察設計註冊工程師考試出成績了,讀者們都是從事巖土領域工作的人,勘查與勘察這兩個詞都很熟悉,工作中又經常用到,但他們有什麼區別,似乎說不太清楚。兩者的英文翻譯區別勘查的英文:exploration, prospecting,勘察的英文:reconnoiter,investigation 。兩者適用場合的區別首先,這兩個詞使用的場合,或者說用來描述的活動對象是不同的。
  • 烏賊和章魚的區別 烏賊和章魚有什麼區別
    在眾多小吃中,很多人都喜歡吃章魚腳或者章魚小丸子,但卻沒有真正看過章魚長什麼樣子。沒有見過章魚的,很可能以為烏賊就是章魚,但實際不是的。那麼,今天就和小編一起來看看烏賊和章魚到底有什麼區別吧!
  • 層理和片理有什麼區別?
    層理和片理有什麼區別?巖石的構造是指組成巖石的各種物質成分的空間分布和排列方式。層理是沉積巖的構造,片理是變質巖的構造。這是兩者成因上的區別。要想區分層理和片理,最重要的還要抓成因上的區別,之後再落實到外觀上。
  • 竹棉和純棉有什麼區別
    竹棉和純棉有什麼區別 2020-09-17 10:01:39 來源:全球紡織網 竹棉和純棉有什麼區別?
  • 聚酯纖維和pp棉有什麼區別
    聚酯纖維和pp棉有什麼區別 2017-12-13 11:19:27 來源:全球紡織網 聚酯纖維和pp棉有什麼區別PP棉:俗稱:公仔棉、中空棉
  • 潛水料和氯丁橡膠有什麼區別
    潛水料和氯丁橡膠有什麼區別 2017-12-01 10:09:27 來源:全球紡織網 潛水料和氯丁橡膠有什麼區別?
  • 無紡布和毛氈布有什麼區別?
    無紡布和毛氈布有什麼區別? 2017-08-31 14:51:26 來源:全球紡織網 無紡布和毛氈布有什麼區別?
  • 《CSGO》國服和steam有什麼區別?
    導 讀 CSGO已經推出國服,不少玩家都湧入到了國服之中,但是很多玩家非常好奇csgo國服和steam有什麼不一樣嗎?不同之處有哪些?當然國服和steam區別還是有的,只是差別不大,下面小編就為大家整理CSG...