自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SLAM算法解析:抓住視覺(jué)SLAM難點(diǎn),了解技術(shù)發(fā)展大趨勢(shì)

移動(dòng)開發(fā) 開發(fā) 算法
SLAM(Simultaneous Localization and Mapping) 是業(yè)界公認(rèn)視覺(jué)領(lǐng)域空間定位技術(shù)的前沿方向,中文譯名為「同步定位與地圖構(gòu)建」,它主要用于解決機(jī)器人在未知環(huán)境運(yùn)動(dòng)時(shí)的定位和地圖構(gòu)建問(wèn)題。

 SLAM(Simultaneous Localization and Mapping) 是業(yè)界公認(rèn)視覺(jué)領(lǐng)域空間定位技術(shù)的前沿方向,中文譯名為「同步定位與地圖構(gòu)建」,它主要用于解決機(jī)器人在未知環(huán)境運(yùn)動(dòng)時(shí)的定位和地圖構(gòu)建問(wèn)題。本次閱面科技資深研究員趙季也將從 SLAM 方向著手,為大家展現(xiàn)更深層次的技術(shù)干貨。

趙季:閱面科技資深研究員。2012 年獲華中科技大學(xué)博士學(xué)位,2012 年至 2014 年在 CMU 機(jī)器人研究所做博士后。曾在三星研究院從事深度相機(jī)、SLAM、人機(jī)交互方面的研究。目前專注于空間感知技術(shù)的研發(fā)。

目前科技發(fā)展速度飛快,想讓用戶在 AR/VR、機(jī)器人、無(wú)人機(jī)、無(wú)人駕駛領(lǐng)域體驗(yàn)加強(qiáng),還是需要更多前沿技術(shù)做支持,SLAM 就是其中之一。實(shí)際上,有人就曾打比方,若是手機(jī)離開了 WIFI 和數(shù)據(jù)網(wǎng)絡(luò),就像無(wú)人車和機(jī)器人,離開了 SLAM 一樣。

SLAM 主要解決的是相機(jī)在空間中的定位、以及創(chuàng)建環(huán)境的地圖。在當(dāng)前比較熱門的一些創(chuàng)業(yè)方向中,都可以看到它的身影:

  • 在 VR/AR 方面,根據(jù) SLAM 得到地圖和當(dāng)前視角對(duì)疊加虛擬物體做相應(yīng)渲染,這樣做可以使得疊加的虛擬物體看起來(lái)比較真實(shí),沒(méi)有違和感。

  • 在無(wú)人機(jī)領(lǐng)域,可以使用 SLAM 構(gòu)建局部地圖,輔助無(wú)人機(jī)進(jìn)行自主避障、規(guī)劃路徑。

  • 在無(wú)人駕駛方面,可以使用 SLAM 技術(shù)提供視覺(jué)里程計(jì)功能,然后跟其他的定位方式融合。

  • 機(jī)器人定位導(dǎo)航方面,SLAM 可以用于生成環(huán)境的地圖?;谶@個(gè)地圖,機(jī)器人執(zhí)行路徑規(guī)劃、自主探索、導(dǎo)航等任務(wù)。

SLAM 技術(shù)的發(fā)展距今已有 30 余年的歷史,涉及的技術(shù)領(lǐng)域眾多。由于本身包含許多步驟,每一個(gè)步驟均可以使用不同算法實(shí)現(xiàn),SLAM 技術(shù)也是機(jī)器人和計(jì)算機(jī)視覺(jué)領(lǐng)域的熱門研究方向。

SLAM 技術(shù)大解析

SLAM 的英文全程是 Simultaneous Localization and Mapping,中文稱作「同時(shí)定位與地圖創(chuàng)建」。SLAM 試圖解決這樣的問(wèn)題:一個(gè)機(jī)器人在未知的環(huán)境中運(yùn)動(dòng),如何通過(guò)對(duì)環(huán)境的觀測(cè)確定自身的運(yùn)動(dòng)軌跡,同時(shí)構(gòu)建出環(huán)境的地圖。SLAM 技術(shù)正是為了實(shí)現(xiàn)這個(gè)目標(biāo)涉及到的諸多技術(shù)的總和。

SLAM 技術(shù)涵蓋的范圍非常廣,按照不同的傳感器、應(yīng)用場(chǎng)景、核心算法,SLAM 有很多種分類方法。按照傳感器的不同,可以分為基于激光雷達(dá)的 2D/3D SLAM、基于深度相機(jī)的 RGBD SLAM、基于視覺(jué)傳感器的 visual SLAM(以下簡(jiǎn)稱 vSLAM)、基于視覺(jué)傳感器和慣性單元的 visual inertial odometry(以下簡(jiǎn)稱 VIO)。

基于激光雷達(dá)的 2D SLAM 相對(duì)成熟,早在 2005 年,Sebastian Thrun 等人的經(jīng)典著作《概率機(jī)器人學(xué)》將 2D SLAM 研究和總結(jié)得非常透徹,基本確定了激光雷達(dá) SLAM 的框架。目前常用的 Grid Mapping 方法也已經(jīng)有 10 余年的歷史。2016 年,Google 開源了激光雷達(dá) SLAM 程序 Cartographer,可以融合 IMU 信息,統(tǒng)一處理 2D 與 3D SLAM 。目前 2D SLAM 已經(jīng)成功地應(yīng)用于掃地機(jī)器人中。

 

[[195879]]

基于深度相機(jī)的 RGBD SLAM 過(guò)去幾年也發(fā)展迅速。自微軟的 Kinect 推出以來(lái),掀起了一波 RGBD SLAM 的研究熱潮,短短幾年時(shí)間內(nèi)相繼出現(xiàn)了幾種重要算法,例如 KinectFusion、Kintinuous、Voxel Hashing、DynamicFusion 等。微軟的 Hololens 應(yīng)該集成了 RGBD SLAM,在深度傳感器可以工作的場(chǎng)合,它可以達(dá)到非常好的效果。

視覺(jué)傳感器包括單目相機(jī)、雙目相機(jī)、魚眼相機(jī)等。由于視覺(jué)傳感器價(jià)格便宜,在室內(nèi)室外均可以使用,因此 vSLAM 是研究的一大熱點(diǎn)。早期的 vSLAM 如 monoSLAM 更多的是延續(xù)機(jī)器人領(lǐng)域的濾波方法?,F(xiàn)在使用更多的是計(jì)算機(jī)視覺(jué)領(lǐng)域的優(yōu)化方法,具體來(lái)說(shuō),是運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(structure-from-motion)中的光束法平差(bundle adjustment)。在 vSLAM 中,按照視覺(jué)特征的提取方式,又可以分為特征法、直接法。當(dāng)前 vSLAM 的代表算法有 ORB-SLAM、SVO、DSO 等。

視覺(jué) SLAM

視覺(jué)傳感器對(duì)于無(wú)紋理的區(qū)域是沒(méi)有辦法工作的。慣性測(cè)量單元(IMU)通過(guò)內(nèi)置的陀螺儀和加速度計(jì)可以測(cè)量角速度和加速度,進(jìn)而推算相機(jī)的姿態(tài),不過(guò)推算的姿態(tài)存在累計(jì)誤差。視覺(jué)傳感器和 IMU 存在很大的互補(bǔ)性,因此將二者測(cè)量信息進(jìn)行融合的 VIO 也是一個(gè)研究熱點(diǎn)。按照信息融合方式的不同,VIO 又可以分為基于濾波的方法、基于優(yōu)化的方法。VIO 的代表算法有 EKF、MSCKF、preintegration、OKVIS 等。Google 的 Tango 平板就實(shí)現(xiàn)了效果不錯(cuò) VIO。

總的來(lái)說(shuō),相比于基于激光雷達(dá)和基于深度相機(jī)的 SLAM,基于視覺(jué)傳感器的 vSLAM 和 VIO 還不夠成熟,操作比較難,通常需要融合其他傳感器或者在一些受控的環(huán)境中使用。

Visual LAM 為什么比較難?

我們通過(guò)分析傳感器的測(cè)量信息做個(gè)定性的分析。激光雷達(dá)或者 RGBD 相機(jī)可以直接獲取環(huán)境的點(diǎn)云。對(duì)于點(diǎn)云中的一個(gè)點(diǎn),它告訴我們?cè)谀硞€(gè)方位和距離上存在一個(gè)障礙點(diǎn)。而視覺(jué)傳感器獲取的是灰度圖像或者彩色圖像。對(duì)于圖像中的一個(gè)像素,它只能告訴我們?cè)谀硞€(gè)方位有障礙點(diǎn)、障礙點(diǎn)周圍的表觀(local appearance)如何,但它不能告訴我們這個(gè)障礙點(diǎn)的距離。要想計(jì)算該點(diǎn)的距離,需要把相機(jī)挪動(dòng)一個(gè)位置再對(duì)它觀察一次,然后按照三角測(cè)量的原理進(jìn)行推算。

原理上很清晰,實(shí)際做起來(lái)并不簡(jiǎn)單。首先需要在兩幅圖像中尋找點(diǎn)的對(duì)應(yīng),這涉及到特征點(diǎn)的提取和匹配、或者準(zhǔn)稠密點(diǎn)之間的匹配。計(jì)算機(jī)視覺(jué)發(fā)展到今天,其實(shí)還不存在性能和速度上很好滿足 vSLAM 的特征提取和匹配算法。常見(jiàn)的特征點(diǎn)提取算法,性能上大致可以認(rèn)為 SIFT>SURF>ORB>FAST,效率上可以認(rèn)為 FAST>ORB>SURF>SIFT(大于號(hào)左邊代表更優(yōu)。性能主要包括匹配精度、特征點(diǎn)的數(shù)量和空間分布等)。為了在性能和效率上取得折中,通常采用 FAST 或者 ORB,只能舍棄性能更好的 SIFT、SURF 等。

其次,匹配點(diǎn)的圖像坐標(biāo)與空間坐標(biāo)之間的關(guān)系是非線性的,例如 2D-2D 點(diǎn)的對(duì)應(yīng)滿足對(duì)極幾何、2D-3D 點(diǎn)的對(duì)應(yīng)滿足 PnP 約束。這些匹配數(shù)量較多,前后兩幀圖像中一般有幾十至數(shù)百的匹配。這些匹配會(huì)引入眾多約束關(guān)系,使得待估計(jì)變量的關(guān)系錯(cuò)綜復(fù)雜。為了得到一個(gè)較優(yōu)的估計(jì),通常需要建立優(yōu)化問(wèn)題,整體優(yōu)化多個(gè)變量。說(shuō)起來(lái)這無(wú)非是一個(gè)非線性最小二乘優(yōu)化問(wèn)題,但實(shí)現(xiàn)起來(lái)并不簡(jiǎn)單,因?yàn)榇嬖诜蔷€性約束、約束數(shù)量很多、存在誤差和野值點(diǎn),并且要將計(jì)算時(shí)間控制在允許范圍。目前廣泛采用關(guān)鍵幀技術(shù),并且通過(guò)很多方法來(lái)控制問(wèn)題規(guī)模、保持問(wèn)題的稀疏性等。

 

非線性優(yōu)化問(wèn)題的形象圖示

圓餅代表待優(yōu)化的變量(相機(jī)姿態(tài)、特征點(diǎn)的空間坐標(biāo)),桿子代表約束(對(duì)線幾何、PnP 等)。圖片來(lái)源自 https://www.pinterest.com/81chevycowper/70s-80s-toys/

前面分析了 vSLAM 的兩個(gè)困難。前者導(dǎo)致了前端的特征跟蹤不易,后者導(dǎo)致了后端的優(yōu)化不易。想做出一個(gè)高效率、魯棒的 vSLAM 系統(tǒng)還是一個(gè)非常有挑戰(zhàn)的任務(wù)。效率方面,SLAM 必須是實(shí)時(shí)運(yùn)行的。如果不能做到實(shí)時(shí),就不能稱作 SLAM。不考慮實(shí)時(shí)性,采用從運(yùn)動(dòng)恢復(fù)結(jié)構(gòu)(structure-from-motion)效果會(huì)更好。魯棒性方面,一個(gè)脆弱的系統(tǒng)會(huì)導(dǎo)致用戶體驗(yàn)很差,功能有限。

 

使用 structure-from-motion 對(duì)玲瓏塔進(jìn)行三維重建

vSLAM 的核心算法

預(yù)備階段,包括傳感器的選型和各種標(biāo)定。Visual SLAM 自 PTAM 算法以來(lái),框架基本趨于固定。通常包括 3 個(gè)線程,前端 tracking 線程、后端 mapping 優(yōu)化線程、閉環(huán)檢測(cè)(loop closure)線程。

前端 tracking 線程主要涉及到:

  1. 特征的提取、特征的匹配;

  2. 多視圖幾何的知識(shí),包括對(duì)極幾何、PnP、剛體運(yùn)動(dòng)、李代數(shù)等。

后端優(yōu)化線程涉及到非線性最小二乘優(yōu)化,屬于數(shù)值優(yōu)化的內(nèi)容。閉環(huán)檢測(cè)線程涉及到地點(diǎn)識(shí)別,本質(zhì)上是圖像檢索問(wèn)題。對(duì)于 VIO,還涉及到濾波算法、狀態(tài)估計(jì)等內(nèi)容。

將 SLAM 算法拆解了看,用到的技術(shù)是偏傳統(tǒng)的。與當(dāng)前大熱的深度學(xué)習(xí)「黑箱模型」不同,SLAM 的各個(gè)環(huán)節(jié)基本都是白箱,能夠解釋得非常清楚。但 SLAM 算法并不是上述各種算法的簡(jiǎn)單疊加,而是一個(gè)系統(tǒng)工程,里面有很多 tradeoff。如果僅僅跑跑開源程序,沒(méi)有什么核心競(jìng)爭(zhēng)力。不論是做產(chǎn)品還是做學(xué)術(shù)研究,都應(yīng)當(dāng)熟悉各種技術(shù),才能有所創(chuàng)造。

SLAM 的未來(lái)發(fā)展趨勢(shì)

VSLAM 的發(fā)展感覺(jué)是中規(guī)中矩,各個(gè)環(huán)節(jié)在前人的基礎(chǔ)上一點(diǎn)點(diǎn)優(yōu)化,同時(shí)不斷吸收其他方向的最新成果。短期內(nèi)肯定會(huì)在現(xiàn)有框架下不停地改進(jìn)。至于長(zhǎng)遠(yuǎn)一些的趨勢(shì),IEEE TRO 2016 有一篇綜述文章 Past, present, and future of SLAM: towards the robust-perception age。幾位有聲望的學(xué)者在文中對(duì) SLAM 的趨勢(shì)做了非常好的總結(jié)。這里僅就自己感興趣的點(diǎn)提一些個(gè)人感想。

新型傳感器的出現(xiàn)會(huì)不停地為 SLAM 注入活力。如果我們能夠直接獲取高質(zhì)量的原始信息,SLAM 的運(yùn)算壓力就可以減輕很多。舉例來(lái)說(shuō),近幾年在 SLAM 中逐漸有使用低功耗、高幀率的 event camera(又稱 dynamic vision system, DVS)。如果這類傳感器的成本能降下來(lái),會(huì)給 SLAM 的技術(shù)格局帶來(lái)許多變化。

自從深度學(xué)習(xí)在諸多領(lǐng)域所向披靡,不少研究者試圖用深度學(xué)習(xí)中 end-to-end 的思想重構(gòu) SLAM 的流程。目前有些工作試圖把 SLAM 的某些環(huán)節(jié)用深度學(xué)習(xí)代替。不過(guò)這些方法沒(méi)有體現(xiàn)出壓倒性優(yōu)勢(shì),傳統(tǒng)的幾何方法依然是主流。在深度學(xué)習(xí)的熱潮之下,SLAM 涉及的各個(gè)環(huán)節(jié)應(yīng)該會(huì)逐漸吸收深度學(xué)習(xí)的成果,精度和魯棒性也會(huì)因此提升。也許將來(lái) SLAM 的某些環(huán)節(jié)會(huì)整體被深度學(xué)習(xí)取代,形成一個(gè)新的框架。

SLAM 原本只關(guān)注環(huán)境的幾何信息,未來(lái)跟語(yǔ)義信息應(yīng)該有更多的結(jié)合。借助于深度學(xué)習(xí)技術(shù),當(dāng)前的物體檢測(cè)、語(yǔ)義分割的技術(shù)發(fā)展很快,可以從圖像中可以獲得豐富的語(yǔ)義信息。這些語(yǔ)義信息是可以輔助推斷幾何信息的,例如已知物體的尺寸就是一個(gè)重要的幾何線索。

責(zé)任編輯:張子龍 來(lái)源: 閱面科技微信公號(hào)
相關(guān)推薦

2017-08-03 16:07:23

SLAM視覺(jué)傳感器

2020-03-05 18:32:52

NFV網(wǎng)絡(luò)5G

2022-02-22 11:35:13

身份管理安全管理

2018-07-12 16:03:26

SLAM技術(shù)定位

2015-09-09 15:31:34

2016-05-13 15:13:02

平安城市

2024-01-11 15:27:53

人工智能數(shù)字孿生量子計(jì)算

2023-09-14 11:47:05

2009-12-27 21:53:33

中國(guó)機(jī)柜技術(shù)發(fā)展趨勢(shì)

2020-08-25 10:11:04

云原生運(yùn)維容器

2020-06-28 10:26:38

網(wǎng)絡(luò)安全網(wǎng)絡(luò)犯罪安全技術(shù)

2015-05-22 16:01:11

傳送網(wǎng)傳送網(wǎng)技術(shù)

2018-05-10 16:24:45

數(shù)據(jù)庫(kù)發(fā)展趨勢(shì)

2017-11-02 13:13:45

2016-10-26 13:55:34

桌面云技術(shù)趨勢(shì)

2021-06-25 10:32:49

首席信息官技術(shù)發(fā)展人工智能

2019-12-12 08:26:34

技術(shù)網(wǎng)絡(luò)安全人工智能

2016-12-30 13:41:34

技術(shù)趨勢(shì)預(yù)測(cè)

2009-10-29 11:31:28

光纖接入技術(shù)

2021-01-21 10:59:40

智能家居人工智能物聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)