單目視覺里程計算法深度資訊的提取?雙目的原理和單目的不同?

時間 2021-06-03 02:23:16

1樓:

單目視覺,通過對單一影象,所做出來的深度資訊,如果沒有一定引數進行限制,比如焦距,那麼永遠只是乙個預估量,不會是真實值。不過對於三維位置估測來說已經足夠了——因為有限空間中的各個位置都是相對的,只要這個相對關係是正確的,那就可以了。

總體來說,單目視覺有三種生成方式,一種是通過透視幾何來生成,參考消失點

一種是通過目標的位移來形成,這種生成的辦法是要有限制條件,比如相機固定,背景固定,人物的速度恆定,那麼目標的移動速度越快,他越接近相機。

還有一種是通過焦距。通過不同焦距對同乙個場景攝像的模糊效果來測定。這種方法對於生成的整幅影象來說效果還不是很好,但是數值卻比較準。

雙目視覺是依靠視差效果。這個效果是能夠形成三維立體感的主要原因。目前單目也主要是依靠通過尋找參照物,找到視差效果來生成三維深度資訊的

2樓:當頂

一般而言單目估算位姿是乙個structure from motion的問題,需要通過幀間移動來構成對應特徵點的三角幾何關係。三角幾何關係確立後,位姿和特徵點的三維座標是同時求解的,這個是經典的structue from motion問題。因此不存在先有雞還是先有蛋的問題。

sfm的解法有很多,最簡單可以通過估算essential matrix,然後分解得到相機的旋轉R和位移T。單目的侷限在於,首先,尺度是未知的,因此位移T和三維重建點座標是存在乙個尺度變化的。其次,兩幀之間如果位姿變化比較小,即基線較短時,所構成的三角幾何關係容易受雜訊影響,反推得到的資訊誤差較大。

基線太寬了又會導致匹配困難,連最魯棒的sift都會完敗。

另一方面,在雙目立體視覺中,由於基線是固定並已知的,因此是可以直接三角化得到特徵點三維座標的。然後幀間的運動資訊就是兩堆三維點之間的運動引數擬合。因此也可以理解為這是乙個先有了雞,再有了蛋的解法。

雙目的缺點是,由於基線是固定的,同時由於載體尺寸的限制,通常不會很寬。因此三角化重建的精度一般不太會很高。

用單目對雙目進行補充,我個人理解是,本身雙目是通過左、右檢視固定基線進行一次三角化。單目相當於用前、後兩幀的左圖對或者右圖對在前後兩幀移動構成的基線上再做一次三角化。假設誤差是均勻分布的,通過相互抵消來提高精度。

有哪些產品是基於單目視覺的 SLAM (即時定位和地圖構建)的?

包子0708 補充樓上答主迷路的回答,許多AR VR引擎在做,之前在孵化器過BP的時候發現過一家國內的初創公司英梅吉未來會做基於單目攝像頭的SLAM。他們現在做單目攝像頭的人機互動,HandCV 手勢識別互動。關於樓上monoSLAM目前確實沒有成熟可靠的民用產品,monoSLAM的識別率等確實不是...

做高精度雙目視覺測量選什麼攝像頭?

eros wade 感覺小覓這兩個月廣告打的很兇,好像還不怎麼樣。高精度雙目,用現成的可能都不行。因為某寶上那些的應用目的基本都是adas。你要做高精度三維重建,估計只能自己架。用工業相機。 lianchenghu 我團隊也做雙目空間定位,相機一般選德國basler工業相機,鏡頭選Schneider...

物體定位用2D影象的方法 雙目視覺 好還是三維點雲的方法好啊 kinect

冷水澡 Kinect由於自帶深度資訊,可以重建出稠密點雲,可以參考 inectFusion和 lasticFusion 用雙目視覺重建出來的點雲大都是稀疏點雲,可以參考 以上在 ithub均能找到原始碼 祝好 VitoRazor 我做的更多的是深度學習的方法,依照你的情況,我推薦直接採用Frustu...