由於顯示格式問題,建議閱讀原文:如何從零開始系統化學習視覺SLAM?
什么是SLAM?
SLAM是 Simultaneous Localization And Mapping的 英文首字母組合,一般翻譯為:同時定位與建圖、同時定位與地圖構建。雖然聽起來比較拗口,但SLAM卻是三維視覺的核心技術,廣泛應用於AR、自動駕駛、智能機器人、無人機等前沿熱門領域。可以說凡是具有一定行動能力的智能體都擁有某種形式的SLAM系統。關於SLAM的具體應用場景介紹可以看《SLAM有什么用?》
SLAM是計算機視覺技術的下一個風口
相比於計算機 視覺領域的另一個熱門:深度學習,SLAM技術尚處於技術爆發前期。這是因為:
在學術研究 方面:從最近幾年計算機視覺的三大頂級會議CVPR, ICCV, ECCV 錄用論文來看,以SLAM技術為核心的三維視覺論文正在快速增長;
在硬件設備方面:以雙目相機、深度相機為代表的消費級3D相機最近幾年發展迅猛,國內外已經形成了成熟的產業鏈。3D相機在智能手機、智能眼鏡等設備上應用越來越多,以手機為例,蘋果、華為、小米、OPPO、VIVO等手機大廠都在積極推動深度相機在手機上的普及。
在應用場景方面:最近幾年無人機,智能機器人,自動駕駛汽車,AR設備的快速發展也極大促進SLAM技術在現實場景中的應用。
雷軍說,站在時代的風口,豬都能飛起來。可以預見,SLAM技術是計算機視覺技術繼深度學習后的下一個爆發的風口,關於這方面詳情見《為什么要學SLAM?》。
學習SLAM如何入門?
那么,想要學習SLAM如何入門呢?
我們還是先拿深度學習做個對比。從研究角度出發,深度學習相對容易入門,這是由於深度學習本身黑盒子的特點,很多從業者不需要了解圖像處理、計算機視覺的基礎知識便可以得到一個相對較好的結果,因此入門門檻並不是很高。但事情都具有兩面性,門檻越低的行業,也容易被替代。
而學習SLAM則需要具備三維空間剛體變換、相機成像模型、特征點提取與匹配、多視角幾何、非線性優化等內容。這對於非該領域的從業者來說算是較高的門檻,也需要花費不少的時間來打基礎。這個過程可能比較痛苦,但是熬過了這個過程,你就擁有了自己獨有的核心競爭力,不用擔心輕易被取代,未來會有非常強的競爭力。
但是目前關於SLAM學習的資料不多,而且參差不齊,初學者推薦高翔的《視覺SLAM十四講》,該書也是本教程的必備參考書籍,雖然本書寫的已經比較基礎,但很多小伙伴在學習期間仍然會遇到很多困難:公式看不懂,代碼不會寫,不知道怎么入手等,白白浪費了時間和精力,甚至因此放棄了該方向的研究,白白錯過了時代的風口。
有沒有好的入門方法?
首先,我們來看看入門都需要哪些知識。這篇文章告訴你《學習SLAM到底需要學什么?》,以下是筆者所總結的SLAM學習的知識樹:
《從零開始學習SLAM》知識星球
掃碼即可加入學習!
支持三天內無條件退款(退款2次無法再加入)
有效期一年,平均每天不到0.3元,就能夠和一群優秀的SLAM從業者一起交流進步,甚至解決就業問題。AI時代,最好的投資就是投資自己的大腦。
《從零開始學習SLAM》知識星球
星主是中科院畢業博士,目前在某CV公司從事視覺SLAM相關研究工作。星球主要有以下幾個亮點:
1、技術介紹全面,不枯燥。該系列從最基礎的知識開始介紹,一次只介紹一個具體的知識點,以形象生動的公眾號圖文結合視頻課程,一點點深挖SLAM的各個重要技術點。有效期一年(從加入時間開始往后一年有效,到期仍可查看之前所有內容,查看新內容需續費),平時忙也沒關系,有空可以反復看。
2、有習題,重視實踐。筆者會根據不同知識點設計一些實用性的練習題(推導、編程等),俗話說,光看不做假把式,適當的練習能夠加深讀者的理解,把知識消化吸收為自己所用。
3、高質量的交流學習社區。練習題參考答案都會放到知識星球「從零開始一起學習SLAM」里,並會根據作業情況進行不定期講解。星球內所有成員都可以進行發布問題、分享知識、上傳資源、點贊、留言、贊賞、收藏等操作。而所有的交流討論、資源分享等都可以沉淀下來並方便日后查詢。遇到問題可以在星球里免費提問,星主看到后會及時答疑解惑 。
4、精選SLAM常見面試題,定期發布在星球里,引導大家討論,並提供參考答案,幫助找工作的同學從容面試。目前已經有幾十條SLAM常見面試題目和詳細解答。
SLAM學習大綱
工具類
1、 熟悉Linux指令及基本操作
2、 熟悉Cmake基本操作
3、 熟悉C++編程,能看懂會使用C++11新特性
4、 熟悉Clion集成開發環境
5、 熟練掌握計算機視覺庫OpenCV
6、 熟練掌握幾何庫Eigen
7、 熟練掌握李代數庫Sophus
8、 熟練掌握點雲庫PCL
9、熟練掌握圖優化庫G2o
10、 熟練掌握非線性優化庫Ceres
。。。
基礎知識
1、 SLAM發展概況,宏觀了解SLAM應用場景
2、 使用齊次坐標的原因及應用
3、 三維空間剛體旋轉的表示方法,重點是四元數、旋轉矩陣
4、 李群李代數在SLAM中的應用背景、推導關鍵公式
6、 雙目相機模型
7、 RGB-D相機成像原理
8、 點雲處理
9、 相機畸變模型及去畸變方法
10、對極幾何
11、單應矩陣
12、相機標定
13、特征點提取、匹配、篩選
14、視覺里程計
15、梯度下降、牛頓法、高斯牛頓、LM、圖優化方法
16、PNP、ICP、Bundle Adjustment
17、回環檢測
。。。
亮點
1、 優秀論文講解
2、 RGB-D稠密重建
3、 點雲網格化
4、 三維模型重建
5、 從零開始手寫一個完整SLAM
。。。
注:
1、 新進星球的同學可以關注 置頂的“內容快速導航”,盡早跟上節奏。
2、 一般隔一段時間會集中視頻講解一下作業,梳理一下常見問題和注意事項,所以大家沒提交作業的盡早提交哈。做的不好沒關系,關鍵要真的去做作業。
3、 本課程優勢:
會增加比較實用的知識(如點雲處理、三維重建等)和編程經驗(調試方法、容易出錯點講解)
練習題實用性強,所有提交的作業都會批改,及時指出錯誤,也可以從其他人的作業中發現不同的做法,快速提高
重點公式/代碼細致講解
循序漸進寫出一個完整SLAM
研究方向選擇、考研/考博、工作選擇等問題都可以免費提問
知識星球需付費加入,隨着人數增多,會適當調高價格,越早加入價格越優惠。此外,星球還會紅包獎勵積極分享、解答問題的成員,只要每天0.3元 ,就能夠把握時代的風口,和一群優秀的SLAM從業者一起交流進步,甚至解決就業問題。快用微信掃下面二維碼加入SLAM學習圈~
下面是星球里的部分討論交流截圖:
(由於顯示格式問題,圖片顯示有問題,建議閱讀原文:如何從零開始系統化學習視覺SLAM? )
如果沒有考慮好是否加入星球也沒關系。可以關注筆者公眾號:計算機視覺life
可以查看、學習以下筆者發布的SLAM學習系列文章,都是免費的哦~
把握時代風口,越早加入越有價值~
以下 是公眾號部分文章:
由於格式問題,部分鏈接顯示有問題,建議閱讀原文:如何從零開始系統化學習視覺SLAM?
從零開始一起學習SLAM | 為什么要學SLAM?
從零開始一起學習SLAM | 學習SLAM到底需要學什么?
從零開始一起學習SLAM | SLAM有什么用?
從零開始一起學習SLAM | C++新特性要不要學?
從零開始一起學習SLAM | 為什么要用齊次坐標?
從零開始一起學習SLAM | 三維空間剛體的旋轉
從零開始一起學習SLAM | 為啥需要李群與李代數?
從零開始一起學習SLAM | 相機成像模型
從零開始一起學習SLAM | 不推公式,如何真正理解對極約束?
從零開始一起學習SLAM | 神奇的單應矩陣
從零開始一起學習SLAM | 你好,點雲
從零開始一起學習SLAM | 給點雲加個濾網
從零開始一起學習SLAM | 點雲平滑法線估計
從零開始一起學習SLAM | 點雲到網格的進化
從零開始一起學習SLAM | 理解圖優化,一步步帶你看懂g2o代碼
從零開始一起學習SLAM | 掌握g2o頂點編程套路
零基礎小白,如何入門計算機視覺?
SLAM領域牛人、牛實驗室、牛研究成果梳理
我用MATLAB擼了一個2D LiDAR SLAM
可視化理解四元數,願你不再掉頭發
最近一年語義SLAM有哪些代表性工作?
視覺SLAM技術綜述
匯總 | VIO、激光SLAM相關論文分類集錦
研究SLAM,對編程的要求有多高?
2018年SLAM、三維視覺方向求職經驗分享
深度學習遇到SLAM | 如何評價基於深度學習的DeepVO,VINet,VidLoc?
IMU標定 | 工業界和學術界有什么不同?
研究SLAM,對編程的要求有多高?
新型相機DVS/Event-based camera的發展及應用
最近三年開源「語義SLAM/分割/建模」方案介紹
超詳細干貨 | 三維語義分割概述及總結