看到orbslam2初始化裡的initializer::reconstructh和initializer::reconstructf兩個子函式裡用到了opencv::svd分解。這裡我將會詳細講解svd的分解理論!
奇異值分解(singular value decomposition)是線性代數中一種重要的矩陣分解
假設m是乙個m×n階矩陣,其中的元素全部屬於域 k,也就是 實數域或複數域。如此則存在乙個分解使得
m = uσv*,
其中u是m×m階酉矩陣;σ是半正定m×n階對角矩陣;而v*,即v的共軛轉置,是n×n階酉矩陣。這樣的分解就稱作m的奇異值分解。σ對角線上的元素σi,i即為m的奇異值。
常見的做法是為了奇異值由大而小排列。如此σ便能由m唯一確定了。(雖然u和v仍然不能確定。)
其中酉矩陣
定義為:
n階復方陣u的n個列向量是u空間的乙個標準正交基,則u是酉矩陣(unitary matrix)。顯然酉矩陣是正交矩陣往複數域上的推廣
矩陣σ的對角線上的元素等於m的奇異值. u和v的列分別是奇異值中的左、右奇異向量。因此,上述定理表明:
乙個m × n的矩陣至多有 p = min(m,n)個不同的奇異值。
總是可以找到在km 的乙個正交基u,組成m的左奇異向量。
總是可以找到和kn的乙個正交基v,組成m的右奇異向量。
u是m x m矩陣,其中u的列為mmt的正交特徵向量,v為n x n矩陣,其中v的列為m
tm的正交特徵向量,再假設r為m矩陣的秩,則存在奇異值分解:
m = uσv*(v*是v的共軛轉置)
其中mmt和m
tm的具有相同的奇異值(如果是實數,則是具有相同的特徵值)
Monocular slam 理論基礎(2)
在知道了相機的軌跡以後,使用三角法就能計算某個點的深度,在hartley的 multiple view geometry 一書中第10章 第12章都是講的這個,這裡只講解線性求解方法。對於三維空間中的一點 p 我們假設第乙個攝像機座標系c 1就是世界座標系,p在世界座標系下的表示為p x,y,z,1...
TCP IP理論基礎
一 tcp ip的分層模型 osi協議參考模型,它是基於國際標準化組織 iso 的建議發展起來的,它分為7個層次 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層及物理層。這個7層的協議模型雖然規定得非常細緻和完善,但在實際中卻得不到廣泛的應用,其重要的原因之一就在於它過於複雜。但它仍是此後很多協...
TCP IP理論基礎
linux中網路棧的介紹一般分為四層的internet模型。分別為應用層 傳輸層 網際層和網路介面。tcp ip實際上是乙個協同工作的通訊家族,為網路資料通訊提供通路。為方便將tcp ip協議族大致上分為三部分 1.internet協議 ip 這一部分也稱為網路層。主要包括ip icmp和arp。其...