1. 程式人生 > >LSD-SLAM深入學習(1)-基本介紹與ros下的安裝

LSD-SLAM深入學習(1)-基本介紹與ros下的安裝

前言

     借鑑來自RGB-D資料處理的兩種方法-基於特徵與基於整體的,同樣可以考慮整個圖片的匹配,而不是隻考慮特徵點的……

主要介紹

       主要參考一下幾篇文章,都是來自tum的。以後演算法與程式碼介紹都是基於這幾篇文章的,建議仔細研究,必定受益匪淺。

       在以上幾篇文章的基礎之上,有了完整的lsd-slam演算法。

       演算法的主頁如下

ros下的安裝

    博主的程式設計環境是Ubuntu14.04+Ros Indigo,為了方便記錄,採用的是虛擬機器環境,可能有點卡。關於ROS的基礎知識,請自行學習,在此不再贅述。

    首先安裝依賴項

  sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev
     然後git下面的內容
   git clone https://github.com/tum-vision/lsd_slam.git lsd_slam
      最後是rosmake
rosmake lsd_slam

執行lsd-slam

一個來自官方的範例,使用的dataset如下,400+M

解壓之

然後執行下面的3個命令,即可看到效果

rosrun lsd_slam_viewer viewer

rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info

rosbag play ./LSD_room.bag

另外可以網上另一位兄弟的文章,連結如下

相關推薦

LSD-SLAM深入學習1-基本介紹ros安裝

前言      借鑑來自RGB-D資料處理的兩種方法-基於特徵與基於整體的,同樣可以考慮整個圖片的匹配,而不是隻考慮特徵點的…… 主要介紹        主要參考一下幾篇文章,都是來自tum的。以後演算法與程式碼介紹都是基於這幾篇文章的,建議仔細研究,必定受益匪淺。  

LSD-SLAM深入學習3-程式碼解析

前言      在LSD-SLAM深入學習(2)中我們已經對演算法進行分析,此處假設讀者對於ros的基本操作都已經很熟悉,而且已經編寫了一定量的的程式碼,我們直接上乾貨。此處分析的程式如下 main_live_odometry.cpp,這個可以實時讀取視訊的主函式 主函式 XIni

LSD-SLAM深入學習2-演算法解析

前言      在LSD-SLAM深入學習(1)中我們已經完成基本的安裝與測試,在此我們繼續解析演算法與程式碼,由於lsd-slam本身利用了一部分李群與李代數的知識,需要一定的數學功底。 預備知識-李群與李代數 下面需要形成一個最基礎的概念,就是李群與對應的李代數的對映關係。不然很

LSD-SLAM深入學習4-非ROS改造

前言      沒錯,距離上一次部落格的釋出已經倆月了,今天是聖誕節,聖誕快樂。      在前幾篇中已經完成了ROS下面的一系列操作。如有任何問題,feel free to contact me at [email protected] 基本工作      主要的改造工作如

Ethereum學習1—— 基本介紹

1 開發環境安裝 安裝Ethereum 協議的Go語言的最新實現。 git clone https://github.com/ethereum/go-ethereum.git make all cd build/bin sudo cp * /usr/local/bin/ 2 Ethereum組成 Ethere

IDEA 學習筆記之 Java項目開發深入學習1

java項目 bsp 重構 str 代碼提示 log pan ora tro Java項目開發深入學習(1): 定義編譯輸出路徑: 繼承以上工程配置 重新定義新的項目編譯路徑 添加source目錄:點擊添加,再點擊移除: 編譯項目: 常用快捷鍵總結: Ctr

perl學習1基本語法

log 跳過 默認值 斜線 進位 字母 劃線 小寫 perl 一: 如何運行   在linux終端,直接輸入 perl filenaem.pl   Perl腳本在解釋執行時和shell腳本一樣,自頂向下,跳過sub定義部分依次執行。 二:標量 1:  標量     可以是數

linux學習1--基本知識

菜單 super 操作系統 roc ron 命令行模式 ram 開啟 掛載 1、關機 1)有桌面:系統->關機->關閉系統 2)無桌面:命令行關機: shutdown -h now--正常關機 halt --關閉內存 2、終端 類似於windows操作系統下的

Js學習1基本語法

變數: 用var宣告變數,如果只是宣告變數而不賦值,則變數的值是undefined,表示無定義 不寫·var也有效,但不建議 變數宣告兩次無效,但第二次宣告時賦值會覆蓋掉前面的值 變數提升: Js引擎工作方式是先解析程式碼,獲取所有被宣告的變數,然後再執行 所以: console.log(

Android開發學習1基本概念

移動裝置的火爆,不用過多筆墨,我們已經處於移動辦公的時代,未來pc生存的空間,可能越來越小,對於移動應用開發的學習,顯得越來越迫在眉睫,憑藉著這幾年的積累,經驗,預計應該容易理解和入門些。 入門一個語言,時刻不忘恩師的教誨,任何事情,在做之前,要想到,這不是一

Druid學習筆記1Druid介紹基本概念

概述 隨著網際網路快速發展,資料量增長快,達到TB、PB,以交通車流量為例,如湖南省每月的車輛流量至少達到4億,這個資料量遠不止如此。資料量如此大,如何滿足後期分析,傳統面向OLTP型資料庫(ORACLE、MYSQL等)無法要求,漸漸開始轉向OLAP,如Gre

ASP.NET Core on K8S深入學習1K8S基礎知識叢集搭建

在上一個小系列文章《ASP.NET Core on K8S學習初探》中,通過在Windows上通過Docker for Windows搭建了一個單節點的K8S環境,並初步嘗試將ASP.NET Core WebAPI專案部署到了K8S,把玩了一下快速部署和例項伸縮。這個系列開始,會繼續學習K8S以及在Linux

redis學習1--- NoSQL介紹

redis學習 模型 width 快速查詢 init 文件 borde 處理 only 一、NoSQL介紹 1、什麽是NoSQL NoSQL = Not Only SQL 非關系型數據庫 2、為什麽用NoSQL High performance - 高

Hibernate學習1簡單介紹

清理緩存 並發 connect upgrade 定義 之前 對象 value cat 1.什麽是Hibernate? ????????? 首先,Hibernat

TensorFlow 學習 基本介紹

主要應用於:影象識別、聊天對話系統、自然語言處理等。 機器學習:監督學習、無監督學習。演算法:分類、迴歸。線性等 深度學習:神經網路,卷積神經網路(主要影象),迴圈神經網路(主要自然語言處理)等 TensorFlow 是深度學習框架,其他的比如 caffe 、Pytorch等。 Go

《 常見演算法資料結構》符號表ST1——基本介紹

符號表(Symbol Table) 本系列文章主要介紹常用的演算法和資料結構的知識,記錄的是《Algorithms I/II》課程的內容,採用的是“演算法(第4版)”這本紅寶書作為學習教材的,語言是java。這本書的名氣我不用多說吧?豆瓣評分9.4,我自

Redis學習:Linux系統環境安裝及編譯Redis

一、簡介         Redis(Remote Dictionary Server)是由義大利人Salvatore Sanfilippo(網名:antirez)開發的一款記憶體快取記憶體資料庫。它是一個key-value儲存系統,它支援豐富的資料型別,如:String

SLAM學習筆記1基本概念

  SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 即時定位與地圖構建,或併發建圖與定位。 SLAM最早由Smith、Self和Cheeseman於1988年提出。   SL

吳恩達【深度學習工程師】 04.卷積神經網絡 第三周目標檢測 1基本的對象檢測算法

元素 需要 有關 卷積 訓練 特定 步長 來看 選擇 該筆記介紹的是《卷積神經網絡》系列第三周:目標檢測(1)基本的對象檢測算法 主要內容有: 1.目標定位 2.特征點檢測 3.目標檢測 目標定位 使用算法判斷圖片中是不是目標物體,如果是還要再圖片中標出其位置並

TCP/IP學習筆記1-----基本概念

使用 本機ip 分類 公司 idt intern xtend pen 不用 TCP/IP的起源   在全球各地,各種各樣的電腦運行著各自不同的操作系統一起為大家服務,這些電腦在表達同一種信息的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作