国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾

這篇具有很好參考價值的文章主要介紹了【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

為什么重要?我們是在做什么事?

  • 特征提取和匹配: 首先是兩幅圖像的特征提取,然后是對應特征點的匹配。接下來的工作是根據(jù)得到的匹配點對,估計相機的運動,具體根據(jù)相機分為三種方法:
    • 單目相機:2D-2D: 對極幾何 方法
    • 雙目或者RGBD相機: 3D-3D: ICP 方法
    • 一個3D點和它相機中的投影位置: 3D-2D : PnP 方法

0. 基礎知識

視覺SLAM兩階段:

  • 前端(VO) —> 粗略相機運動 ------> 提供給后端初始值
  • 后端 —> 優(yōu)化

VO的實現(xiàn)方法兩派:

  • 不提取特征點 ----> 直接法
  • 提取特征點 ------> 特征點法 ----> 成熟

1. 特征提取和匹配

注意:有些東西的作用你要明白:

  • 關鍵點: 是在一幅圖像中找到的點,作用是在一幅圖中找到路標點(有代表性的點)。
  • 描述子: 在兩個圖像的關鍵點找到的情況下,匹配兩個圖像中的對應關鍵點。 通常是向量
  • 特征點: 由關鍵點和描述子兩部分組成,任務是(提取XXX關鍵點,計算XXX描述子)
  • 尺度不變性: 為了確保從遠到近都能檢測出來關鍵點
  • 旋轉不變性: 為了確保圖像旋轉后還能檢測出來關鍵點
  • 特征提取的是關鍵點和描述子,特征匹配是根據(jù)描述子匹配的

幾種圖像特征:

  • SIFT特征:計算量太大,有些精確
  • FAST關鍵點:沒有描述子,最快,不準。
  • ORB特征:改進FAST關鍵點,采用BRIEF描述子

1.1 FAST關鍵點

    1. 比較周圍半徑圓范圍內的灰度情況,差別大就是角點。
    1. 設定一個數(shù)量,比如9,范圍內至少有連續(xù)9個點和選定點的亮度色差大于閾值T的時候,該點就稱為特征點。這種方法叫FAST-9。
    1. 檢測完角點扎堆,非極大值抑制

1.2 ORB的關鍵點–改進FAST

改進了FAST關鍵點法,克服了缺點:

    1. 可以指定提取數(shù)量: 對點分別計算Harris相應,取前N個響應最大的角點;
    1. 尺度不變性: 用圖像金字塔提取每一層的角點,均為角點才是角點;
    1. 旋轉不變性:灰度質心法,保證圖像旋轉后還能檢測到。最后得到的是角度,從圖像光度明指向光度暗的一側,具體實現(xiàn)如下:

【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾,# VSLAM,自動駕駛-SLAM,矩陣,計算機視覺,線性代數(shù),SLAM,算法

1.3 ORB的描述子–BRIEF

作用:為了保證兩個圖像中提取出的關鍵點能對應上各自匹配的點對。

  • BRIEF是二進制描述子,描述向量由0和1組成
  • 做法:選取關鍵點周圍的圖像塊,隨機選取像素點對(有很多選點方法),如128就是取128個點對,設兩個點像素分別為 p , q p, q p,q , 然后計算 p , q p, q p,q 的大小關系,按結果分別記為0,1, 最后得到128位的二進制數(shù)。匹配的時候在第二幅圖像中也用相同的選點方法,最后比較兩幅圖像中關鍵點描述子距離(二進制的字串衡量就是漢明距離)。

1.4 總結

通過圖像特征點的對應關系,解決了SLAM最重要的一步:同一個點在不同圖像中如何檢測出來。
特征匹配的方法有:

  • 暴力匹配(Brute-Force Matcher): 第二幅圖像中每個點都計算其在第一幅圖對應的特征點,運算量大;
  • 快速最近鄰(FLANN): 適用于匹配點數(shù)量多
  • 。。。

2. 對極幾何,對極約束

目的是求相機運動 R , t R, t R,t,內參一般知道

這是2D-2D的單目情形,假設相機經(jīng)過一次運動 R , t R, t R,t 后得到的兩幀圖如下:

【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾,# VSLAM,自動駕駛-SLAM,矩陣,計算機視覺,線性代數(shù),SLAM,算法
其中點和線定義如下:

  • p 1 , p 2 p_1,p_2 p1?,p2? : 分別同一個點在兩幀下的投影點
  • O 1 , O 2 O_1, O_2 O1?,O2? : 相機光心
  • P P P : 真實世界中的點
  • I 1 , I 2 I_1, I_2 I1?,I2? : 兩幀圖像
  • O 1 O 2 連線 O_1O_2連線 O1?O2?連線基線
  • e 1 , e 2 e_1, e_2 e1?,e2? : O 1 O 2 O_1O_2 O1?O2? I 1 , I 2 I_1,I_2 I1?,I2? 的交點,也叫極點
  • 極平面 O 1 , O 2 , P O_1,O_2,P O1?,O2?,P 所在平面
  • 極線 l 1 , l 2 l_1, l_2 l1?,l2? 。

如果沒有深度信息,則 O 1 P O_1P O1?P 直線上任一點投影都在 p 1 p_1 p1?,且他在第二幀圖像上的軌跡在 極線 p 2 e 2 p_2e_2 p2?e2? 上,所以有真確的匹配,就可以推斷 P P P 的位置,然后得到相機的運動。

2.1 本質矩陣(對極約束)

推理部分略,詳見《視覺SLAM十四講》第七章7.3節(jié),這里給出結果。
仍參考上圖,取兩個像素點歸一化平面上的點 x 1 , x 2 x_1,x_2 x1?,x2?
x 1 = K ? 1 p 1 , x 2 = K ? 1 p 2 x_1=K^{-1}p_1,\qquad\qquad x_2 = K^{-1}p_2 x1?=K?1p1?,x2?=K?1p2?
最終的對極約束 為:
p 2 T K ? T t \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad p_2^TK^{-T}t p2T?K?Tt^ R K ? 1 p 1 = 0 RK^{-1}p_1 = 0 RK?1p1?=0

它的含義是 O 1 , O 2 , P O_1,O_2,P O1?,O2?,P 三點共面。從式中心部分,記本質矩陣 E \boldsymbol E E基礎矩陣 F \boldsymbol F F 如下:

E = t \qquad\qquad\qquad\qquad\qquad\qquad\qquad E=t E=t^ R F = K ? T E K ? 1 x 2 T E x 1 = p 2 T F p 1 = 0 R\qquad\qquad F=K^{-T}EK^{-1}\qquad\qquad x_2^TEx_1=p_2^TFp_1=0 RF=K?TEK?1x2T?Ex1?=p2T?Fp1?=0

可以看出 E \boldsymbol E E F \boldsymbol F F 只差內參 K K K (已知),所以二者 求一即可。
不妨以 E = t E=t E=t^ R R R來求解。則后續(xù)工作如下:

  1. 根據(jù)已匹配點對,求出 E \boldsymbol E E F \boldsymbol F F
  2. 根據(jù) E \boldsymbol E E F \boldsymbol F F,求出相機運動 R , t \boldsymbol {R,t} R,t

2.1.1 求解本質矩陣

探究本質矩陣的特點:

    1. 由對極約束 x 2 T E x 1 = 0 x_2^TEx_1=0 x2T?Ex1?=0 , 所以它在不同尺度下等價,左右乘依舊滿足約束。又因為 E = t E=t E=t^ R R R, 原本有6個自由度,故去掉尺度,還有5個自由度
    1. E 的內在性質 E的內在性質 E的內在性質 : 它的奇異值必定是 [ δ , δ , 0 ] T [\delta ,\delta, 0]^T [δ,δ,0]T 的形式,非線性的性質。

求解依據(jù):
x 2 T E x 1 = 0 ( 1 ) x_2^TEx_1 = 0 \qquad\qquad\qquad\qquad (1) x2T?Ex1?=0(1)
理論上可以用5對點來求解,但是很麻煩。故用 八點法 求解(由于尺度不變性)。

1.首先考慮一對點(歸一化坐標 x 1 , x 2 x_1, x_2 x1?,x2? ): 將(1)式展開:
( u 1 , v 1 , 1 ) ( e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 ) ( u 2 v 2 1 ) = 0 ?? ?? ? 將 e 展開 ?? ?? e = [ e 1 , e 2 , e 3 , e 4 , e 5 , e 6 , e 7 , e 8 , e 9 ] ?? ?? ? 展開并重寫 ?? ?? [ u 1 u 2 , u 1 v 2 , u 1 , v 1 u 2 , v 1 v 2 , v 1 , u 2 , v 2 , 1 ] ? e = 0 ?? ? 考慮 8 對點的方程組 (u_1, v_1,1)\begin{pmatrix} e_1\quad e_2\quad e_3 \\e_4\quad e_5\quad e_6 \\e_7\quad e_8\quad e_9 \end{pmatrix}\begin{pmatrix} u_2\\v_2\\1 \end{pmatrix}=0 \quad\\\; \\\;\Downarrow 將e展開 \\\;\\\;e=[e_1,e_2,e_3,e_4,e_5,e_6,e_7,e_8,e_9]\\\;\\\; \Downarrow展開并重寫\\\;\\\; [u_1u_2,u_1v_2,u_1,v_1u_2,v_1v_2,v_1,u_2,v_2,1]\cdot e = 0 \\\;\\\Downarrow考慮8對點的方程組 (u1?,v1?,1) ?e1?e2?e3?e4?e5?e6?e7?e8?e9?? ? ?u2?v2?1? ?=0?e展開e=[e1?,e2?,e3?,e4?,e5?,e6?,e7?,e8?,e9?]?展開并重寫[u1?u2?,u1?v2?,u1?,v1?u2?,v1?v2?,v1?,u2?,v2?,1]?e=0?考慮8對點的方程組
【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾,# VSLAM,自動駕駛-SLAM,矩陣,計算機視覺,線性代數(shù),SLAM,算法
至此,本質矩陣的求解結束

2.1.2 恢復相機運動 R , t R,t R,t

  1. E \boldsymbol E E 做SVD分解
    E = U ∑ V T ( U , V 正交陣, ∑ 為奇異矩陣且 = d i a g ( δ , δ , 0 ) ) E=U\sum V_T\qquad\qquad (U,V正交陣,\sum 為奇異矩陣且=diag(\delta,\delta,0)) E=UVT?(U,V正交陣,為奇異矩陣且=diag(δ,δ,0))
  2. 求解較為復雜,這里給出結果
    【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾,# VSLAM,自動駕駛-SLAM,矩陣,計算機視覺,線性代數(shù),SLAM,算法一共存在4組解。如下:
    【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾,# VSLAM,自動駕駛-SLAM,矩陣,計算機視覺,線性代數(shù),SLAM,算法
    藍色橫線就是相機平面,紅色點為投影點。

有(1)滿足要求,因為只有這樣才符合投影模型,深度才為正。將解出來的解帶入驗算即可。


2.1.3 本質矩陣調整

5個自由度,用了8個點,上邊的方程求解出的 E E E 可能不滿足 E E E 的內在性質( ∑ = d i a g ( δ , δ , 0 ) \boldsymbol {\sum = diag(\delta,\delta,0)} =diag(δ,δ,0) ),因此要調整。做法如下:
在做SVD分解時,得到
∑ = d i a g ( δ 1 , δ 2 , δ 3 ) ?? ? 設 δ 1 ≥ δ 2 ≥ δ 3 ,則新的 ∑ 如下 ?? ∑ ′ = d i a g ( δ 1 + δ 2 2 , δ 1 + δ 2 2 , 0 ) ?? ? 帶入 S V D 分解式 ?? E = U d i a g ( δ 1 + δ 2 2 , δ 1 + δ 2 2 , 0 ) V T \sum = diag(\delta_1,\delta_2,\delta_3) \\\;\\\Downarrow 設\delta_1\ge\delta_2\ge\delta_3,則新的\sum如下\\\; \\\sum' = diag(\frac{\delta_1+\delta_2}{2}, \frac{\delta_1+\delta_2}{2},0)\\\; \\\Downarrow 帶入SVD分解式\\\; \\E=Udiag(\frac{\delta_1+\delta_2}{2}, \frac{\delta_1+\delta_2}{2},0)V^T =diag(δ1?,δ2?,δ3?)?δ1?δ2?δ3?,則新的如下?=diag(2δ1?+δ2??,2δ1?+δ2??,0)?帶入SVD分解式E=Udiag(2δ1?+δ2??,2δ1?+δ2??,0)VT

相當于把求出來的矩陣投影到了 E \boldsymbol E E 的流形上,也可以直接取 ∑ = ( 1 , 1 , 0 ) \sum = (1,1,0) =(1,1,0) (尺度不變性)

2.1.3 遺留問題
  1. E \boldsymbol E E 的尺度不確定性導致了 t \boldsymbol {t} t 的尺度不確定性。(由于 R \boldsymbol R R) 自身帶有約束。因此單目SLAM存在初始化: t \boldsymbol t t 的單位為固定尺度1的計算相機運動和特征點;
  2. 單目初始化不能只有純旋轉,必須要有一定的平移: 因為 t \boldsymbol t t 為0,所以 E \boldsymbol E E 最終也為0;
  3. 當點多于8對,此時構成超定方程,我們有兩種做法:
  • 3.1. 最小化一個二次型(最小二乘意義下的)
  • 3.2. 隨機采樣一致性(RANSAC),可以處理有錯誤匹配的情況,一般用這個。

2.2 單應矩陣(特別提一下)

為什么需要單應矩陣 H H H (Homography)?

  • 當特征點共面,相機純旋轉, F \boldsymbol F F 的自由度少了 t t t ,下降。這就是退化現(xiàn)象。
  • 如果這時仍用八點法求解,多出來的自由度是噪聲帶來的。
  • 為了避免退化,同時估計基礎矩陣 F \boldsymbol F F 和 單應矩陣 H \boldsymbol H H,選擇重投影誤差小的矩陣作為最終運動估計矩陣。

H H H 假設的所有特征點位于平面上。

詳細推導內容見SLAM十四講7.3.3 。根據(jù)法平面做的,求解與 E 和 F E和F EF 相似。只需要4對匹配點就可以算出。

2.3 三角測量(Triangulation)—深度信息

  • 計算深度:回想相機模型那一節(jié),這里的深度就是之前被我們固定為1的 s \boldsymbol s s 。以第一幀圖像為坐標原點,由以上對極約束內容有:
    s 1 x 1 = s 2 R x 2 + t ?? ? 分別單獨計算,左乘 x 1 的反對稱矩陣 s_1x_1 = s_2Rx_2+t \\\; \\\Downarrow 分別單獨計算,左乘x_1的反對稱矩陣 s1?x1?=s2?Rx2?+t?分別單獨計算,左乘x1?的反對稱矩陣
    s 1 ( x 1 \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad s_1(x_1 s1?(x1?^ ) x 1 = 0 = s 2 ( x 1 )x_1=0=s_2(x_1 )x1?=0=s2?(x1? ^ ) ?? R x 2 + ( x 1 )\;Rx_2+(x_1 )Rx2?+(x1? ^ ) t )t )t

  • 可以直接求得深度 s 1 , s 2 \boldsymbol {s_1,s_2} s1?,s2? 。但是由于噪聲的存在,我們一般是求最小二乘解,而不是零解。同樣由于尺度不確定性,我們只知道深度對于t的數(shù)量,而不知道具體究竟是多少米。

  • 三角化矛盾: 平移越大三角化越精確,但是視野越短,反之亦然。文章來源地址http://www.zghlxwxcb.cn/news/detail-684935.html

到了這里,關于【視覺SLAM入門】5.1. (基于特征點的視覺里程計)特征提取和匹配--FAST,ORB(關鍵點描述子),2D-2D對極幾何,本質矩陣,單應矩陣,三角測量,三角化矛盾的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 視覺里程計(1):什么是視覺里程計

    1.概念:什么是里程計? 在里程計問題中,我們希望測量一個運動物體的軌跡。這可以通過許多不同的手段來實現(xiàn)。例如,我們在汽車輪胎上安裝計數(shù)碼盤,就可以得到輪胎轉動的距離,從而得到汽車的估計。或者,也可以測量汽車的速度、加速度,通過時間積分來計算它的

    2024年02月07日
    瀏覽(22)
  • 機器人運動學——輪速里程計(SLAM)

    機器人運動學——輪速里程計(SLAM)

    目錄 一、機器人運動學分析 二、阿克曼小車 ?2.1運動學分析 ? 想要讓機器人運動, 除了提供目標速度還不夠, 需要將機器人的目標速度轉換每個電機實際的目標速度, 最終根據(jù)電機的目標速度對電機的控制實現(xiàn)對機器人的控制。 機器人的目標速度轉換成電機的目標速度這

    2024年02月16日
    瀏覽(25)
  • 視覺里程計學習筆記

    一、相機 1、雙目相機的 D、P、K、R矩陣 是相機標定時得到的一組重要參數(shù),它們分別代表以下含義: D矩陣 : 畸變矯正參數(shù)矩陣 。它包含了 相機圖像坐標系下的徑向畸變和切向畸變系數(shù),用于將畸變像素坐標轉化為無畸變的像素坐標 。對每個相機而言都有一個D矩陣。 P矩

    2024年02月03日
    瀏覽(19)
  • SLAM和里程計評估工具——evo使用方法全解

    SLAM和里程計評估工具——evo使用方法全解

    ??????? 本帖的主要內容是整理evo的使用方法及各種命令,不含安裝步驟及過程,還未安裝的請移步其他博主。 ??????? evo目前支持的公開數(shù)據(jù)集格式有: TUM、KITTI、EuRoC 以及 ROS bagfile 。如果使用的數(shù)據(jù)集格式為這些中的某一種,那么無須額外的數(shù)據(jù)格式處理,就可以

    2024年02月08日
    瀏覽(24)
  • 3D激光SLAM:LeGO-LOAM論文解讀---激光雷達里程計與建圖

    3D激光SLAM:LeGO-LOAM論文解讀---激光雷達里程計與建圖

    激光雷達里程計模塊的功能就是 :估計相鄰幀之間的位姿變換。 估計的方式 :在相鄰幀之間做點到線的約束和點到面的約束 具體的方式和LOAM一樣 針對LOAM的改進 1 基于標簽的匹配 在特征提取部分提取的特征點都會有個標簽(在點云分割時分配的) 因此在找對應點時,標簽

    2023年04月09日
    瀏覽(28)
  • 對于SLAM定位中各類坐標系的理解(坐標系,里程計坐標系,基座坐標系與雷達坐標系)

    對于SLAM定位中各類坐標系的理解(坐標系,里程計坐標系,基座坐標系與雷達坐標系)

    最近系統(tǒng)性學習了一遍LIO-SAM,開始的時候一直搞不懂里程計坐標系,經(jīng)過不斷學習才有了一點自己的拙見。 引言 :首先我們搞清楚SLAM算法主要是解決建圖與定位問題,其更 側重定位 ,即讓機器人知道自己在全局地圖的哪個位置,只有這樣才能繼續(xù)后續(xù)的預測、感知、控制

    2024年02月03日
    瀏覽(75)
  • 基于ROS發(fā)布里程計信息

    基于ROS發(fā)布里程計信息

    參考文檔: navigationTutorialsRobotSetupOdom 參考博客: (1)ROS機器人里程計模型 (2)ROS里程計消息nav_msgs/Odometry的可視化方法 1 常用坐標系系統(tǒng)模型 世界坐標系是描述機器人全局信息的坐標系;機器人坐標系是描述機器人自身信息的坐標系;傳感器坐標系是描述傳感器信息的坐

    2024年02月08日
    瀏覽(31)
  • IMU慣性里程計解算(附代碼實現(xiàn))

    IMU慣性里程計解算(附代碼實現(xiàn))

    一、系統(tǒng)概述 IMU是機器人常用的傳感器之一,IMU對機器人的定位功能實現(xiàn)非常重要,其優(yōu)點在于是內源傳感器對外部環(huán)境變化不明顯,輸出頻率高,缺點在于存在累積誤差。本文主要記錄一下在機器人定位中對IMU的使用和對慣性導航里程計的理解和實現(xiàn)。 本文代碼主要依賴

    2023年04月15日
    瀏覽(40)
  • 差速驅動機器人的車輪里程計模型

    ????????車輪測程法是指使用旋轉編碼器(即連接到車輪電機以測量旋轉的傳感器)的測程法(即估計運動和位置)。這是輪式機器人和自動駕駛汽車定位的有用技術。 ????????在本文中,我們將通過探索差速驅動機器人的

    2024年02月15日
    瀏覽(28)
  • 經(jīng)典文獻閱讀之--VoxelMap(體素激光里程計)

    經(jīng)典文獻閱讀之--VoxelMap(體素激光里程計)

    作為激光里程計,常用的方法一般是特征點法或者體素法,最近Mars實驗室發(fā)表了一篇文章《Efficient and Probabilistic Adaptive Voxel Mapping for Accurate Online LiDAR Odometry》,同時還開源了代碼在Github上。文中為雷達里程計提出了一種高效的概率自適應體素建圖方法。地圖是體素的集合,

    2024年02月16日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包