全景視覺空間直線檢測 視覺SLAM深度解讀

2021-10-16 10:45:32 字數 3096 閱讀 9339

視覺slam是什麼?

視覺slam主要是基於相機來完成環境的感知工作,相對而言,相機成本較低,容易放到商品硬體上,且影象資訊豐富,因此視覺slam也備受關注。

目前,視覺slam可分為單目、雙目(多目)、rgbd這三類,另還有魚眼、全景等特殊相機,但目前在研究和產品中還屬於少數,此外,結合慣性測量器件(inertial measurement unit,imu)的視覺slam也是現在研究熱點之一。從實現難度上來說,大致將這三類方法排序為:單目視覺>雙目視覺>rgbd。

一方面是由於絕對深度未知,單目slam不能得到機械人運動軌跡及地圖的真實大小,如果把軌跡和房間同時放大兩倍,單目看到的像是一樣的,因此,單目slam只能估計乙個相對深度。另一方面,單目相機無法依靠一張影象獲得影象中物體離自己的相對距離。為了估計這個相對深度,單目slam要靠運動中的三角測量,來求解相機運動並估計畫素的空間位置。即是說,它的軌跡和地圖,只有在相機運動之後才能收斂,如果相機不進行運動時,就無法得知畫素的位置。同時,相機運動還不能是純粹的旋轉,這就給單目slam的應用帶來了一些麻煩。

而雙目相機與單目不同的是,立體視覺既可以在運動時估計深度,亦可在靜止時估計,消除了單目視覺的許多麻煩。不過,雙目或多目相機配置與標定均較為複雜,其深度量程也隨雙目的基線與解析度限制。通過雙目影象計算畫素距離,是一件非常消耗計算量的事情,現在多用fpga來完成。

rgbd相機是2023年左右開始興起的一種相機,它最大的特點是可以通過紅外結構光或tof原理,直接測出影象中各畫素離相機的距離。因此,它比傳統相機能夠提供更豐富的資訊,也不必像單目或雙目那樣費時費力地計算深度。

視覺slam框架解讀

在視覺slam中主要為相機影象資訊的讀取和預處理。如果在機械人中,還可能有碼盤,慣性感測器等資訊的讀取和同步。

2.視覺里程計

視覺里程計的主要任務是估算相鄰影象間相機運動以及區域性地圖的樣子,最簡單的是兩張影象之間的運動關係。計算機是如何通過影象確定相機的運動的。在影象上,我們只能看到乙個個的畫素,知道他們是某些空間點在相機的成像平面投影的結果。所以必須先了解相機跟空間點的幾何關係。

vo(又稱為前端)能夠通過相鄰幀間的影象估計相機運動,並恢復場景的空間結構,稱它為里程計。被稱為里程計是因為它只計算相鄰時刻的運動,而和再往前的過去資訊沒有關聯。相鄰時刻運動串聯起來,就構成了機械人的運動軌跡,從而解決了定位問題。另一方面,根據每一時刻的相機位置,計算出各畫素對應的空間點的位置,就得到了地圖。

3.後端優化

後端優化主要是處理slam過程中雜訊的問題。任何感測器都有雜訊,所以除了要處理「如何從影象中估計出相機運動」,還要關心這個估計帶有多大的雜訊。

前端給後端提供待優化的資料,以及這些資料的初始值,而後端負責整體的優化過程,它往往面對的只有資料,不必關係這些資料來自**。在視覺slam中,前端和計算接視覺研究領域更為相關,比如影象的特徵提取與匹配等,後端則主要是濾波和非線性優化演算法。

4.回環檢測

回環檢測也可以稱為閉環檢測,是指機械人識別曾到達場景的能力。如果檢測成功,可以顯著地減小累積誤差。回環檢測實質上是一種檢測觀測資料相似性的演算法。對於視覺slam,多數系統採用目前較為成熟的詞袋模型(bag-of-words, bow)。詞袋模型把影象中的視覺特徵(sift, surf等)聚類,然後建立詞典,進而尋找每個圖中含有哪些「單詞」(word)。也有研究者使用傳統模式識別的方法,把回環檢測建構成乙個分類問題,訓練分類器進行分類。

5.建圖

建圖主要是根據估計的軌跡建立與任務要求對應的地圖,在機械人學中,地圖的表示主要有柵格地圖、直接表徵法、拓撲地圖以及特徵點地圖這4種。而特徵點地圖是用有關的幾何特徵(如點、直線、面)表示環境,常見於視覺slam技術中。這種地圖一般通過如gps、uwb以及攝像頭配合稀疏方式的vslam演算法產生,優點是相對資料儲存量和運算量比較小,多見於最早的slam演算法中。

視覺slam工作原理

大多數視覺slam系統的工作方式是通過連續的相機幀,跟蹤設定關鍵點,以三角演算法定位其3d位置,同時使用此資訊來逼近推測相機自己的姿態。簡單來說,這些系統的目標是繪製與自身位置相關的環境地圖。這個地圖可以用於機械人系統在該環境中導航作用。與其他形式的slam技術不同,只需乙個3d視覺攝像頭,就可以做到這一點。

視覺slam與雷射slam有什麼區別?

在業內,視覺slam與雷射slam誰更勝一籌,誰將成為未來主流趨勢這一問題,成為大家關注的熱點,不同的人也有不同的看法及見解,以下將從成本、應用場景、地圖精度、易用性幾個方面來進行詳細闡述。

1.成本

從成本上來說,雷射雷達普遍**較高,但目前國內也有低成本的雷射雷達解決方案,而vslam主要是通過攝像頭來採集資料資訊,跟雷射雷達一對比,攝像頭的成本顯然要低很多。但雷射雷達能更高精度的測出障礙點的角度和距離,方便定位導航。

2.應用場景

從應用場景來說,vslam的應用場景要豐富很多。vslam在室內外環境下均能開展工作,但是對光的依賴程度高,在暗處或者一些無紋理區域是無法進行工作的。而雷射slam目前主要被應用在室內,用來進行地圖構建和導航工作。

3.地圖精度

雷射slam在構建地圖的時候,精度較高,思嵐科技的rplidar系列構建的地圖精度可達到2cm左右;vslam,比如常見的,大家也用的非常多的深度攝像機kinect,(測距範圍在3-12m之間),地圖構建精度約3cm;所以雷射slam構建的地圖精度一般來說比vslam高,且能直接用於定位導航。

4.易用性

雷射slam和基於深度相機的視覺slam均是通過直接獲取環境中的點雲資料,根據生成的點雲資料,測算**有障礙物以及障礙物的距離。但是基於單目、雙目、魚眼攝像機的視覺slam方案,則不能直接獲得環境中的點雲,而是形成灰色或彩色影象,需要通過不斷移動自身的位置,通過提取、匹配特徵點,利用三角測距的方法測算出障礙物的距離。

全景視覺空間直線檢測 計算機視覺 演算法與應用

2 塞利斯基,艾海舟.計算機視覺 演算法與應用 m 清華大學出版社,2012.作者給出的章節結構圖如下 從左至右分別是基於影象 2d 基於幾何形狀 3d 和基於光度學 表現 從上至下,建模和抽象的層次在增加,下層的方法基於上面所提的演算法基礎上發展。其中的處理和依賴關係不是嚴格有序的,還存在其它精細...

工業視覺檢測

工業視覺檢測 1 表面質量的檢測 主要是劃痕 髒汙 亮斑 缺角和凸起等。計算方法 2 視覺定位 雙目 多目定位 檢測物件 機械零部件等 計算方法 3 工業視覺主要組成部分 4 考慮的因素 檢測物件特徵 光源的照射角度 定製 相機景深 遠心鏡頭 檢測的實時性 對相機的幀率 光源亮度 其他 時間 運動模...

晶圓缺陷檢測裝置 機器視覺檢測 視覺缺陷檢測裝置

機器視覺是一種裝備感測視覺儀器的檢測裝置,其中光學檢測儀器的比例很高,可用於檢測各種產品中的缺陷,判別和選擇物體,或丈量尺寸。應用於自動化生產線對物料進行校準定位。計算機視覺是最工業化的部分,首要用於工廠自動化測驗和機械人工業。機器視覺系統主要由三個部分組成的,輸出或顯示的影象採集,處理和分析影象。...