主要目標:
slam系統分為前端和後端,前端也稱為視覺里程計。
視覺里程計根據相鄰影象的資訊估計出粗略的相機運動,給後端提供較好的初始值。
視覺里程計的演算法主要分為兩大類:特徵點法和直接法。
特徵點法的優點:穩定,對光照、動態物體不敏感。
視覺里程計的核心問題是如何根據影象估計相機運動。
影象本身是乙個由亮度和色彩組成的矩陣,如果直接從矩陣層面考慮運動估計,很困難。
比較好的做法:從影象中選取比較有代表性的點。這些點在相機視角發生少量變化後會保持不變,於是我們能在各個影象中找到相同的點。然後,在這些點的基礎上,討論相機位姿估計問題,以及這些點的定位問題。
這些點稱為路標,亦即視覺slam中的影象特徵。
特徵是影象資訊的另一種數字表達形式。(理解一下)
特徵點在相機運動之後保持穩定。
特徵點是影象裡一些特別的地方。我們可以把影象中的角點、邊緣和區塊都當成影象中有代表性的地方。
影象中的角點、邊緣相比於畫素塊而言更加"特別",在不同影象之間的辨識度更強。
所以,一種直觀的提取特徵的方式就是在不同影象間辨認角點,確定他們的對應關係。角點就是所謂的特徵。
2023年以前提出的演算法有:harris角點、fast角點、gftt角點。
存在的問題:大多數應用中,單純的角點依然不能滿足需求。例如,從遠處看上去是角點的地方,當相機離近以後可能就不顯示為角點了。或者,當旋轉相機時,角點的外觀會發生變化,我們就不容易辨認那是同乙個角點了。
所以,更優秀的(更穩定的)區域性影象特徵被設計出來了。
sift、surf、orb等。
它們擁有如下性質:
可重複性(repeatability):相同的特徵可以在不同的影象中找到。
可區別性(distinctiveness):不同的特徵有不同的表達。
高效率(efficiency):同一影象中,特徵點的數量應遠小於畫素的數量。
本地行(locality):特徵僅與一小片影象區域相關。
特徵點由關鍵點(key-point)和描述子(descriptor)兩部分組成。
提取關鍵點,計算描述子。
關鍵點是指該特徵在影象裡面的位置,有些特徵點還具有朝向、大小等資訊。
描述子通常是乙個向量,按照某種認為的設計方式,描述了該關鍵點周圍畫素的資訊。
描述子是按照「外觀相似的特徵應該有相似的描述子」的原則設計的。
因此,只要兩個特徵點的描述子在向量空間上的距離相近,就可認為它們時相同的特徵點。
以上大概說完了特徵點的特點,接下來詳細了解下。
sift(尺度不變特徵變換,scale-invariant feature transform)非常經典,充分考慮了在影象變換**現的光照、尺度、旋轉等變化,但是計算量比較大。
為了實時性,考慮降低精度和魯棒性。如fast關鍵點屬於計算特別快的一種關鍵點(其沒有描述子)。orb(oriented fast and rotated brief)特徵則是目前非常具有代表性的實時特徵。它改進了fast檢測子不具有方向性的問題,並採用速度極快的二進位制描述子brief(binary robust independent elementary feature),使特徵提取的環節大大加速。
orb特徵子在具有旋轉、尺度不變性的同時,速度上也不錯。
下面主要講一下orb特徵(再回憶下上面的內容)
所以在,第一遍檢測以後,還需要非極大值抑制,在一定區域內僅保留響應極大值的點,避免角點集中的問題。
什麼是非極大值抑制?理解下這個操作。
fast是真特麼快~
但是問題也很明顯。
可以這麼理解麼?orb再提取關鍵子這一步有兩個改進(相對fast 灰度值心法--旋轉不變性,構建影象金字塔--尺度不變性)。
暴力匹配、快速最近鄰匹配、knn匹配。回頭總結下。
視覺slam14講 第1234講總結
slam主要完成的兩個問題是 完成slam依賴sensor 機械人本體上的sensor 主流方向,限制少 完整的乙個slam流程圖 slam中的數學描述包括兩個方程 描述剛體在空間中的旋轉有如下幾種方式 可以使用eigen庫進行相互轉換 對於描述剛體的運動我們已經可以使用李群 lie group 來...
第十講複習 雲計算
一 雲計算簡介 1 雲計算相關定義 雲計算是基於網際網路的相關服務的增加 使用 交付模式,通常涉及通過網際網路來提供動態交易擴充套件且經常是虛擬化的資源。標準定義 雲計算是一種按照使用量付費的模式,這種模式提供可用的 便捷的 按需要的網路訪問,進入可配置的計算資源共享池,這些資源能夠快速提供,只需要...
C 1 4次課程複習
c 第一次課程 1.c語言是面向過程的程式設計模式,核心是以函式為模組.物件導向引入了新的概念,可以更好地模擬現實世界,從而提高構建複雜系統的能力.c 第二次課程 1.函式概念複習 函式定義,函式宣告,函式的呼叫,函式的引數 形參,實參 函式引數傳遞的重要原則 函式的引數傳遞是單向的,實參的值傳遞給...