視覺SLAM與定位之一前端特征點及匹配

視覺SLAM中的特征點及匹配

  • 參考文章或鏈接
  • 特征點性能的評估
  • 傳統特征點和描述子(僅特征點或者特征點+描述子)
    • 傳統描述子
  • 基于深度學習的特征點
  • 基于深度學習的描述子
  • 基于深度學習的特征點+描述子
  • 特征匹配

參考文章或鏈接

Image Matching from Handcrafted to Deep Features: A Survey
Image Matching across Wide Baselines: From Paper to Practice
Image Registration Techniques: A Survey
基于地圖的視覺定位

特征點性能的評估

參考論文:

  • A performance evaluation of local descriptors
  • SuperPoint附錄

重復率(repeatability)
角點檢測平均誤差
角點定位誤差

簡而言之, 一個好的特征點提取器, 在不同變化條件下(如視角、光照等)都能穩定準確地提取到同一空間3D點投影到圖片上形成的2D點。

傳統特征點和描述子(僅特征點或者特征點+描述子)

視覺特征點剛開始都是基于研究者思考而設計的,比如SIFT, SURF,ORB和Harris等,它們也被用于同一時期的視覺slam或定位中。
[Harris,1988] VINS
[Shi-Tomasi, 1994] MonoSLAM
[FAST,1998] ORB_SLAM, T265 VIO, MSCKF-VIO, OpenVSLAM, OKVIS, ROVIO, PTAM
[Blob and Corner] SOFT-SLAM
[SIFT, 1999] MSCKF
[FREAK,2012] Vision-Aided Localization For Ground Robots

傳統描述子

[BRIEF, 2010] 與fast角點配合使用比較多, 如ORB_SLAM,LDSO等
[BRISK, 2011]:BRIEF的改進,具有尺度和旋轉不變性

傳統描述子的局限性:從人的感覺出發設計的,對計算機而言特異性不足,如無法應對光照視角等變化。

基于深度學習的特征點

CovDet
Quad-networks
AffNet
KeyNet
MagicPoint

基于深度學習的描述子

L2Net: 新的采樣模式及誤差, CVPR2017
DeepCD:浮點描述子與二值描述子互補,ICCV2017
Spread-out:學習描述子的空間分布,ICCV2017
HardNet:基于L2Net的改進誤差, NIPS2017
SoSNet:基于二階相似性正則化的學習型描述子,CVPR2019
GIFT:采用群卷集學習具有一定尺度和旋轉不變性的描述子,NIPS2019
S2DNet:將描述子學習轉化為分類問題,并采用由稀疏到稠密的方式進行訓練,ECCV2020
CAPS:僅采用極線約束進行描述子學習。

基于深度學習的特征點+描述子

SuperPoint:自監督特征點與描述子學習,對光照具有一定魯棒性, DX-SLAM,CVPR2018
LIFT:基于學習的不變特征變換,2016:
DISK:采用強化學習中的策略梯度法學習特征提取和描述, 對弱文理區域具有一定魯棒性,NIPS2020
R2D2:針對特征點的可重復性和可靠性提出,NeurIPS2019
D2Net:局部特征共同檢測與描述可訓練的CNN,CVPR2019
ASLFeat:精確形狀與定位的局部描述子學習,CVPR2020

基于深度學習的特征點及描述子往往是針對傳統方法在實際應用中不足而提出的,其對光照、視角等的魯棒性更加。

特征匹配

最近鄰Knn匹配
FLANN匹配算法
GMS:利用運動平滑信息進行快速和魯棒的特征匹配,CVPR2017
AdaLAM:兼顧對應點分布和仿射一致性的錯誤匹配剔除算法,圖像分塊做基于仿射變換RANSAC
SGM-Nets:使用神經網絡進行半全局匹配,CVPR2017
PointCN:經過暴力匹配后,利用多層感知機提出錯誤匹配,CVPR2018
SuperGlue匹配:基于圖神經網絡和注意力機制的魯棒匹配,CVPR2020
LoFTR:利用Transformer進行無特征提取器的局部特征匹配,CVPR2021

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/45186.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45186.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45186.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WebGIS基礎原理

該部分內容與部分插圖、學習框架的主要參考的網站與博主如下(也趁機分享給大家): OSGeo開源WebGIS在線教程:http://webgis.cn/ OSGeo《地理信息系統原理》:https://www.osgeo.cn/gis-tutorial/index.html OSGeo《Pyth…

DSC主備歸檔報錯

先看一個報錯: 2024-07-10 22:12:21.725 [ERROR] database P0000003511 T0000000000000003696 rafil_list_overlap_consecutive_check failed, rfil(DMDATA/data/DSC02/arch/ARCHIVE_LOCAL1_0x57843343_EP1_2024-07-10_20-44-40.log)->next_seq(2901) > nex…

mysql 8.0.37 客戶端在centos7安裝順序

8.0.37安裝客戶端順序為 yum localinstall mysql-community-libs-compat-8.0.37-1.el7.x86_64.rpm #第二步要加 --nodeps --force 參數 rpm -ivh mysql-community-libs-8.0.37-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-client-plugins-8.0.37-1.el7.x8…

如何用CSS3畫一個三角形?

要用 CSS3 畫一個三角形,可以利用元素的邊框和透明邊框的特性來實現。以下是一個簡單的示例代碼: .triangle {width: 0;height: 0;border-left: 50px solid transparent; /* 左邊框為透明,控制三角形的左斜邊 */border-right: 50px solid tr…

部署Harbor倉庫

本章內容: 安裝docker-ce部署harbor倉庫上傳和拉取 1.安裝docker 1)拉取源碼 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2)安裝docker-ce yum -y install docker-ce 3&#…

【TS】Typescript 的類

TypeScript 是 JavaScript 的一個超集,它添加了可選的靜態類型和基于類的面向對象編程。在 TypeScript 中,類是一種模板,用于創建對象。通過類,你可以封裝對象的屬性(數據)和方法(函數&#xff…

C++入門到進階(圖文詳解,持續更新中)

C入門到進階(圖文詳解,持續更新中) 目錄 C入門到進階(圖文詳解,持續更新中) 數據 數據類型 基本數據類型/內置數據類型 C常用運算符 賦值運算符 關系運算符 邏輯運算符 雜項運算符 數據的本地化…

第二課:使用域名dns ping通www.baidu.com

需要一臺dns服務器,實現域名解析,把對應的網址變為Ip地址。 首先按照之前博客的配置,自動分配給PC1和PC2的IP地址等相關配置。 然后增加一臺server交換機連接到交換機上,配置好ip地址,192.168.1.100。在dnsServer中。…

7.11日學習打卡----初學Redis(六)

7.11日學習打卡 目錄: 7.11日學習打卡一. redis事務事務的概念與ACID特性Redis事務三大特性Redis事務執行的三個階段Redis事務基本操作 二. redis集群主從復制主從復制環境搭建主從復制原理剖析 哨兵監控哨兵監控環境搭建哨兵工作原理剖析 故障轉移Cluster模式Clust…

c++初階知識——類和對象(1)

目錄 1.類和對象 1.1 類的定義 1.2 訪問限定符 1.3 類域 2.實例化 2.1 實例化概念 2.2 對象大小 內存對齊規則 3.this指針 1.類和對象 1.1 類的定義 (1)class為定義類的關鍵字,Stack為類的名字,{}中為類的主體&#xf…

達夢數據庫中的線程和進程

達夢數據庫中的線程和進程 在達夢數據庫中,線程和進程的概念與操作系統中的定義類似,但有一些特定的實現細節和用途。以下是達夢數據庫中線程和進程的一些關鍵點: 進程(Process): 在達夢數據庫中&#x…

django的增刪改查,排序,分組等常用的ORM操作

Django 的 ORM(對象關系映射)提供了一種方便的方式來與數據庫進行交互。 1. Django模型 在 myapp/models.py 中定義一個示例模型:python from django.db import modelsclass Person(models.Model):name models.CharField(max_length100)age…

mysql數據庫被偷家,數據全部丟失。還勒索我給他比特幣

歹徒留下的勒索信息。 解決辦法: 1、設置ip白名單, 2、端口不要使用默認端口,隨便換個端口就行。 3、密碼設置復雜一點。

【Java16】多態

向上類型轉換 對于引用變量,在程序中有兩種形態:一種是編譯時類型,這種引用變量的類型在聲明它的時候就決定了;另一種則是運行時類型,這種變量的類型由實際賦給它的對象決定。 當一個引用變量的編譯時類型和運行時類…

【Pytorch】Conda環境pack打包遷移報錯處理

文章目錄 Anaconda虛擬環境打包一、源電腦的環境打包1.安裝conda-pack工具2.確定環境3.打包環境4.將打包環境拷貝到U盤 二、環境遷移到目標電腦上三、異常處理pip install -e. 導致無法pack→忽略管理的文件已經被刪除或者被覆蓋→壓縮成tar注意 重新激活環境 Anaconda虛擬環境…

14 - matlab m_map地學繪圖工具基礎函數 - 一些數據轉換函數(一)

14 - matlab m_map地學繪圖工具基礎函數 - 一些數據轉換函數(一) 0. 引言1. 關于m_ll2xy和m_xy2ll2. 關于m_lldist3. 關于m_xydist4 關于m_fdist5 關于m_idist6. 總結 0. 引言 通過前面篇節已經將m_map繪圖工具中大多繪圖有關的函數進行過介紹&#xff0…

Nuxt3封裝網絡請求 useFetch $fetch

前言: 剛接觸、搭建Nuxt3項目的過程還是有點懵的,有種摸石頭過河的感覺,對于網絡請求這塊,與之前的Vue3項目有所區別,在Vue項目通常使用axios這個庫進行網絡請求,但在Nuxt項目并不推薦,因為有內…

RK3568平臺(顯示篇)主屏副屏配置

一.主屏副屏配置 目前在RK3568平臺上有兩路HDMIOUT輸出,分別輸出到兩個屏幕上,一路配置為主屏,一路配置為副屏。 硬件原理圖: &hdmi0_in_vp2 {status "okay"; };&hdmi1_in_vp0 {status "okay"; }…

【JAVA入門】Day15 - 接口

【JAVA入門】Day15 - 接口 文章目錄 【JAVA入門】Day15 - 接口一、接口是對“行為”的抽象二、接口的定義和使用三、接口中成員的特點四、接口和類之間的關系五、接口中新增的方法5.1 JDK8開始接口中新增的方法5.1.1 接口中的默認方法5.1.2 接口中的靜態方法 5.2 JDK9 開始接口…

Pandas實戰指南:any()函數深度解析與高效應用

Pandas實戰指南:any()函數深度解析與高效應用 引言 在數據分析和處理過程中,經常需要快速檢查數據集中是否存在滿足特定條件的元素。Pandas庫中的any()函數正是這樣一個強大的工具,它可以幫助我們沿著指定的軸檢查是否至少有一個元素滿足某…