catia怎么將特征參數化_VSLAM中特征點的參數化表示

VSLAM中特征點的參數化表示有很多,最直接的是用三維坐標XYZ來表示,但通常大家更喜歡用逆深度表示,因為逆深度優勢在于能夠建模無窮遠點。Open VINS文檔中給出了五種特征參數化表示:Global XYZ,Global Inverse Depth,Anchored XYZ,Anchored Inverse Depth,Anchored Inverse Depth (MSCKF Version),區別在于:

  • Global vs Anchored:特征點的表示是全局坐標系的坐標還是局部相機坐標系的坐標。
  • XYZ vs Inverse Depth:使用的XYZ還是逆深度
  • Two different Inverse Depth:兩種不同類型的逆深度參數

特征的參數化表示即以何種方式表示特征點的位置,在優化中它決定了特征以何種參數進行的迭代更新

,在EKF中它決定了以何種參數構建高斯模型
。不論在優化還是EKF中,我們關心的都是特征在圖像上的投影與特征參數之間的關系(Jacobian)。

本文理論推導全部參考Open VINS,感興趣的可以直接閱讀原版,鏈接如下:

Measurement Update Derivations " Camera Measurement Update?docs.openvins.com

1. 特征點重投影過程

設k時刻特征在圖像上的投影為

,特征參數為
,特征參數到圖像投影的轉換過程為:
  1. 特征參數轉換為特征點的全局坐標:
  2. 特征點的全局坐標轉到觀測相機坐標系:
  3. 相機坐標系投影到normalize平面:
  4. normalize平面轉到圖像平面:

根據鏈式法則有:

下面分別計算每一步的轉換關系及Jacobian。

a. normalize平面轉到圖像平面

對于Normalize平面上的觀測點

,先畸變得到畸變觀測點
,再通過內參矩陣轉成圖像平面上的觀測點

轉換關系:

  • 對于Radial畸變模型:

  • 對于Fisheye畸變模型:

Jacobian:

  • 對于Radial畸變模型:
  • 對于Fisheye畸變模型:

b. 透視投影

轉換關系:

Jacobian:

c. 剛性變換

轉換關系:

Jacobian:

2. 特征參數表示

針對不同的特征參數表示

,都先將其轉換成世界系下的XYZ,即
,再投影到圖像上。這樣做的好處在于
的轉換關系和Jacobian保持不變,只需要構造不同的
并推導
,就能很方便求得
的關系。

a. Global vs Anchored

Global XYZ表示為:

,很容易寫出Jacobian為:

Anchored XYZ表示選擇某個相機坐標系作為Anbchor坐標系

,用特征在
下的位置作為參數表示,Anchored XYZ的表示為:
,很容易寫出Jacobian為:

值得一提的是參考文檔中將世界系中的相機位姿拆分成了IMU位姿以及相機到IMU的外參,這樣是為了分別對IMU位姿和相機外參求Jacobian,這里只討論了對特征點的Jacobian,所以未進行拆分。

b. 球坐標逆深度 vs MSCKF逆深度

逆深度顧名思義是用

作為特征參數,根據逆深度
和一個單位方向向量(baering)
共同確定3D空間中的一個點:

逆深度的好處是能夠表示無窮遠點(

),當特征點較遠時,
數值比較大,直接估計
會存在數值問題,此外,有論文覺得將逆深度建模成高斯分布
比直接將深度建模成高斯分布
效果要更好。

單位方向向量

的構造有兩種,一種是《Inverse Depth Parametrization for Monocular SLAM》中提出的球坐標表示,另一種是《 A multi-state constraint kalman filter for vision-aided inertial navigation》(MSCKF)中提出的表示。
  • 球坐標表示:

  • MSCKF表示:

可以看到MSCKF的

表示比球坐標
表示要簡潔得多,但MSCKF逆深度有個缺點是當
時,
,存在數值奇異,所以只能用在相機坐標系,因為相機系下特征點的深度都大于0。而球坐標逆深度僅在
都趨近于0時才存在數值奇異,所以能用在全局坐標系。

將Achored和逆深度結合起來得到Anchored逆深度表示:

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

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

相關文章

【廣州】Web前端工程師

互聯網公司找人咯~ 我們公司:道樂科技(Dollar Tech)成立于2013年11月,是一家致力于為資產管理和財富管理行業提供技術、產品和運營服務的科技金融企業。三年來,道樂人始終堅持“以客戶為中心,為客戶提供高品…

Java 調用 Python 方法學習筆記---之---java調用python深度學習模型運算并返回運算結果給前端(2)

上一章寫到Java 調用 Python 方法學習的三種方法,這里強調第三種方法。第三種方法本質上和第二種方法是一樣的,都是應用到 Runtime.getRuntime().exec() 去執行文件。要深度理解這種方法,首先要先理解一下Runtime.getRuntime().exec() 。 R…

tbslog亂碼轉換_日文游戲亂碼怎么辦 亂碼轉換工具LocaleEmulator

by Nicho Feb.23,2017許多日文游戲有諸多地區限制,在 win7、win8、win10 上玩時候會經常遇到日文游戲亂碼的情況,這時候就得用到亂碼轉換工具了,下面我們就來詳細說明下使用方法。常用的有 microsoft locale、applocale、NTLEA 等&…

haarcascades---各種分類器xml文件下載地址

安裝好opencv想找個人臉識別的小實驗做做,后來發現沒有配置文件,于是乎就找到了這個,所以就轉載過來了。 下載地址:https://github.com/opencv/opencv/tree/master/data/haarcascades 轉載地址:https://blog.csdn.ne…

vue 組件屬性監聽_vuejs組件內的對象屬性監聽問題

跟數據類型是有關的。當你把一個普通的 JavaScript 對象傳給 Vue 實例的 data 選項,Vue 將遍歷此對象所有的屬性,并使用 Object.defineProperty 把這些屬性全部轉為 getter/setter。但是不是所有的變動都可以通過set/get捕捉到,比如一個數組l…

Part 2: Containers

要求 安裝了1.13或者更高版本的Docker閱讀了Part1中的定位(我沒寫)介紹 是時候用Docker構建一個app了。我們會從構建這樣一個app的最底層開始,容器——我們這節所介紹的內容。在這層之上是服務,服務定義了容器們的在生產中的行為&…

(論文)WS-DAN (弱監督數據增強)

背景 近期在做外賣分類的項目,外賣分類屬于細粒度圖像分類,在分類的過程中要從圖片的行人中和非機動車中區分出各類外賣(主要是美團、餓了嗎)。剛好近期發現了一片關于細粒度圖像分類較新的論文(See Better Before Lo…

羅馬音平假名片假名轉換器_關于五十音你所要知道的一切!文末附日網高清字帖...

今天開始,木子小花日本語教室將開始同時更新日語文法系列文章 和 日語真題詳解系列文章,從五十音圖的記憶方法到日語助詞的用法整理,從N5的簡單句子構成到N1復雜文法的接續記憶方法,力求做出全知乎(小聲:全…

django的web開發筆記1(智能診斷系統數據概覽記錄)

接于上一篇,這一篇主要記錄如何鏈接mysql數據庫以及從數據庫中調用數據信息到頁面,同時包含百度地圖api的一些使用。 其中包括模塊,echert圖表繪制數據調用,百度地圖數據信息調用以及一些單機效果,頁面數據調用等。 1…

Spring中應用反射機制淺析

我們知道,Spring中大量使用了反射機制,那么究竟是什么地方使用了呢?就從源頭說起吧。 一 反射源頭Class類 對類的概念我們已經非常熟悉了。比如可以有Student這個類,Person這個類。但是我們要知道,有一個叫Class的類,…

ios nslog 例子_iOS開發-使用宏自定義輸出(NSLog)

前言:1)輸出日志是會大量損耗系統性能2)輸出的信息很容易會被截取到,導致信息不安全。所以我們會在發行版(Release)取消所有的Log。如果一行一行地去注釋掉Log,顯然不是一個明確的選擇。因此我們可以使用宏去自定義Log輸出。最簡單的一個例子…

python小技巧積累--題庫(持續更新)

介紹 作為一名程序員,除了需要具備解決問題的思路以外,代碼的質量和簡潔性也很關鍵。 python內置庫中就有很多簡潔而又優雅的操作,這里的知識都來源于網絡積累, 閑暇時整理下來方便溫故。目錄 >選擇正確的內置功能 使用enum…

提高SQL執行性能方案:如何讓你的SQL運行得更快

---- 人們在使用SQL時往往會陷入一個誤區,即太關注于所得的結果是否正確,而忽略了不同的實現方法之間可能存在的性能差異,這種性能差異在大型的或是復雜的數據庫環境中(如聯機事務處理OLTP或決策支持系統DSS)中表現得尤…

休眠后gpio狀態_STM32中GPIO的8種工作模式總結

STM32中GPIO的8種工作模式總結一、推挽輸出:可以輸出高、低電平,連接數字器件;推挽結構一般是指兩個三極管分別受兩個互補信號的控制,總是在一個三極管導通的時候另一個截止。高低電平由IC的電源決定。形象點解釋:推挽&#xff0c…

Ubuntu16.04 下 tensorRT安裝

環境準備 主要是根據工程環境需要,參考trt文檔安裝trt 1.查看trt適配情況 :鏈接跳轉,注意,不同版本的trt有不同版本的文檔,請以最新文檔為準。 2.根據自己系統情況下載相關包 因為我自己拉的docker鏡像是ubuntu16.04…

左右xcode的重構選項的一些理解

Rename(重命名):對標示符進行重命名,以獲得更好的代碼可讀性,這些標示符包含類,方法或者函數的名稱. Extract(抽取):將你在XCode種選擇的代碼抽取到一個新的方法或函數中. Create SuperClass(創建父類):為Xcode中當前所選的類定義父類 Move Up(上移):將所選擇的方法,屬性,或實例…

window 如何查看tomcat 實時日志_如何處理生產環境Tomcat的catalina.out日志?

前語:不要為了讀文章而讀文章,一定要帶著問題來讀文章,勤思考。作者:jmcui 來源:http://1t.click/x4q# 前言隨著每天業務的增長,Tomcat 的catalina.out日志 變得越來越大,占用磁盤空間不說。要…

zabbix的agent端的主動模式關鍵三個參數

如多主機超過300和隊列內容過多,就采用主動模式. [rootweb03 zabbix]# egrep -v "^#|^$" zabbix_agentd.conf PidFile/var/run/zabbix/zabbix_agentd.pid LogFile/var/log/zabbix/zabbix_agentd.log LogFileSize0 StartAgents0 ServerActive172.16.1.8 Hostnameweb03…

opencv 繪制坐標曲線_OpenCV手工實現灰度及RGB直方圖

#include #include#include#include#include#include#include#include#includeusing namespacecv;using namespacestd;//單通道圖片直方圖繪制void drawHist(vectornums){Mat hist Mat::zeros(600, 800, CV_8UC3);auto Max max_element(nums.begin(), nums.end());//max迭代器類…

onnx 測試_用于ONNX的TensorRT后端

用于ONNX的TensorRT后端解析ONNX模型以使用TensorRT執行。另請參閱TensorRT文檔。有關最近更改的列表,請參見changelog。支持的TensorRT版本Master分支上的開發適用于具有完整維度和動態架構shape支持的TensorRT 7.2.1的最新版本。對于TensorRT的早期版本&#xff0…