原创 ORB_SLAM2的可視化是如何做到的?

算法解析 FrameDrawer::FrameDrawer() cv::Mat FrameDrawer::DrawFrame() void FrameDrawer::DrawTextInfo() void FrameDrawer:

原创 ORB_SLAM2局部建圖工作原理

算法原理 一、LocalMapping線程簡述 在ORB-SLAM2當中,LocalMapping作爲一個線程在系統啓動後就一直在運行,只是在Tracking線程“生產出”新的關鍵幀並插入到LocalMapping線程中的mlNe

原创 ORB_SLAM2的可視化是怎麼實現的?

源碼解讀 #include "Viewer.h" #include <pangolin/pangolin.h> #include <mutex> #include "FrameDrawer.h" #include "MapDraw

原创 ORB_SLAM2是如何生成地圖點的?

文章目錄算法解析源碼解讀MapPoint.cc 算法解析 地圖點 全局(黑色)與局部(紅色) 主要屬性:位姿、平均觀測方向、描述子 代表、觀測距離範圍等 添加到全局 局部地圖中的地圖點, 只在關鍵幀生成 源碼解讀 MapPoin

原创 ORB_SLAM2的迴環檢測是怎麼做的?

文章目錄算法原理解析源碼解讀LoopClosing.cc 算法原理解析 LoopClosing線程是對當前新到來的關鍵幀進行閉環檢測,看看之前的關鍵幀中哪個和當前關鍵幀形成閉環;另一個是糾正閉環,就是在檢測到閉環的時候要將當前關鍵

原创 深度學習公開數據集彙總

圖像分類公開數據集 yann.lecun.com/exdb/mnist/ https://www.cs.toronto.edu/~kriz/cifar.html http://image-net.org/about-overvie

原创 ORB_SLAM2是如何創建關鍵幀的?

文章目錄算法解析源碼解讀KeyFrame.cc源碼解讀KeyFrameDatabase.cc 算法解析 關鍵幀用於減少BA過程的計算量 代表了相機的“關鍵”運動 主要屬性:位姿、內參、特徵點數組以及 特徵點是否有關聯的地圖點 “寬

原创 ORB_SLAM2系統初始化和跟蹤之Tracking.cc

文章目錄算法原理解析Tracking.cc主要包括下面這些函數源碼解讀 算法原理解析 Tracking線程中首先加載圖片幀數據集,接着從圖片幀中提取ORB特徵點,後邊就是初始化部分,初始化完成後就是跟蹤部分。本篇筆記對初始化部分和

原创 ORB_SLAM2求解器Sim3Solver求解原理

源碼解讀Sim3Solver.cc #include <opencv2/opencv.hpp> #include <vector> #include "KeyFrame.h" #include "Sim3Solver.h"

原创 ORB_SLAM2創建一個幀都做了什麼?

算法解析 Frame::Frame() void Frame::AssignFeaturesToGrid() void Frame::ExtractORB() void Frame::SetPose() void Frame::U

原创 視覺SLAM十四講系列之第九講設計前端0.4版本

文章目錄前言編譯運行安裝依賴編譯文件0.4/CMakeLists.txt0.4/test/CMakeLists.txt0.4/src/CMakeLists.txt編譯步驟運行結果算法解析源碼解讀0.4/test/run_vo.cp

原创 曲線擬合自定義優化變量頂點和誤差項邊超詳細的源碼註釋一文學會圖優化g2o

文章目錄前言編譯運行安裝依賴安裝Sophus安裝g2o編譯文件編譯步驟運行結果算法解析圖優化原理優化變量舉例觀測方程舉例圖優化流程圖優化後端代碼實踐G20基礎知識講解G2O基本框架結構G2O圖優化的流程1、線性求解器LinearS

原创 ORB-SLAM2系統的是如何初始化的?

ORB-SLAM2系統初始化可以總結做了兩件事: 1、把讀取到的圖片數據給到跟蹤線程 2、把保存跟蹤生成的軌跡到文件(可視化軌跡看前面的文章) 源碼解讀 /** 定義ORB-SLAM2系統的主線程結構,其他各模塊都由這裏開始被調用

原创 ORB_SLAM2的SLAM.TrackRGBD(imRGB,imD,tframe)是如何實現的?

源碼解讀 SLAM.TrackRGBD(imRGB,imD,tframe); // 這是RGDB數據Examples裏面聲明的SLAM對象的Shutdown()函數; cv::Mat System::TrackRGBD(cons

原创 視覺SLAM十四講系列文章之第九講設計前端0.3版

文章目錄前言編譯運行安裝依賴編譯文件編譯步驟運行結果算法解析源碼解讀g2o_types.hg2o_types.cpp參考資料 前言 編譯運行 安裝依賴 編譯文件 編譯步驟 運行結果 算法解析 今天開始學習設計前端第三個版本代碼的學