1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        重用地圖的單目視覺(jué)慣導(dǎo)SLAM系統(tǒng)

        共 3764字,需瀏覽 8分鐘

         ·

        2021-02-02 03:59

        點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

        重磅干貨,第一時(shí)間送達(dá)

        本文轉(zhuǎn)自:3D視覺(jué)工坊

        Visual-Inertial Monocular SLAM with Map Reuse

        重用地圖的單目視覺(jué)慣導(dǎo)SLAM系統(tǒng)

        摘要

        近些年來(lái)有很多優(yōu)秀的視覺(jué)慣導(dǎo)融合的里程計(jì)系統(tǒng),計(jì)算高精度和魯棒性的傳感器的增量運(yùn)動(dòng)。但是這些系統(tǒng)都是沒(méi)有閉環(huán)的,所以導(dǎo)致系統(tǒng)即使回到觀測(cè)過(guò)的地方還是會(huì)有累計(jì)誤差。本文作者提出了一個(gè)新穎的基于緊耦合的帶有閉環(huán)檢測(cè)的視覺(jué)慣導(dǎo)SLAM系統(tǒng),他可以在已經(jīng)建圖的地方重用地圖達(dá)到0漂移的定位精度。這個(gè)系統(tǒng)可以用在所有的相機(jī)上,這里主要介紹存在尺度不確定性的單目相機(jī)。本文也提出了一個(gè)新穎的IMU初始化的方法可以在短時(shí)間內(nèi)計(jì)算很高精度的尺度,重力方向,速度,加速度計(jì)和陀螺儀的偏置。在11個(gè)序列的飛行數(shù)據(jù)集上進(jìn)行了測(cè)試,尺度誤差達(dá)到1%(厘米級(jí))精度。
        本文未開(kāi)源,但是有大佬復(fù)現(xiàn)的代碼:https://github.com/jingpang/LearnVIORB

        預(yù)備知識(shí)

        系統(tǒng)的輸入是IMU的測(cè)量和單目相機(jī)幀,利用針孔模型利用投影模型可以把相機(jī)坐標(biāo)系下的3D點(diǎn)投影到2D的圖像平面:

        需要注意的是這個(gè)投影方程并沒(méi)有考慮相機(jī)的畸變,當(dāng)我們檢測(cè)到了圖像中的特征點(diǎn)先要對(duì)他們?nèi)セ儭?/span>

        公式解釋?zhuān)篒MU的測(cè)量全部都在B系下,公式1IMU的角度測(cè)量減去偏置得到角速度真值,再和時(shí)間相乘得到時(shí)間間隔(K到K+1幀的)內(nèi)的角度變化量,再加一個(gè)Exp相當(dāng)于變換到了李群的空間,和上一幀的位姿相乘得到當(dāng)前幀在W系下的位姿。公式2利用當(dāng)前加速度的測(cè)量量減去當(dāng)前幀的偏置和時(shí)間相乘得到速度變換量再轉(zhuǎn)換到世界坐標(biāo)系下,再加上重力加速度引起的變化和上一幀的速度相加得到當(dāng)前幀的速度。公式3當(dāng)前幀的位置其實(shí)就是勻加速運(yùn)動(dòng)的位移方程。

        視覺(jué)慣導(dǎo)的ORB-SLAM

        這篇論文是基于ORB-SLAM做的,對(duì)于ORB-SLAM的介紹,可以參考解析ORB-SLAM3的文章。下邊主要介紹加上IMU后對(duì)ORB-SLAM框架中Tracking、Local Mapping和Loop Closing的影響。

        Tracking

        主要的變化是添加了相機(jī)頻率的IMU位置、速度和偏置的估計(jì)。這樣我們就可以得到比恒速模型準(zhǔn)的多的機(jī)器人當(dāng)前幀的初始狀態(tài)。一旦預(yù)測(cè)到了機(jī)器人的位置,局部地圖中的地圖點(diǎn)就投影到當(dāng)前幀和當(dāng)前幀的特征點(diǎn)匹配。然后優(yōu)化當(dāng)前幀中特征匹配的重投影誤差和IMU的誤差。這種優(yōu)化是不同的,取決于地圖是否被局部建圖或閉環(huán)線(xiàn)程更新,如圖2所示。

        當(dāng)Tracking在地圖更新后執(zhí)行的時(shí)候,IMU的誤差連接了當(dāng)前幀j和上一幀i:

        公式解釋?zhuān)哼@里就是重投影誤差的最小二乘的形式,利用IMU當(dāng)前幀的位姿得到世界坐標(biāo)系下地圖點(diǎn)在B系下的表示,然后利用外參可以得到地圖點(diǎn)在C系下的表示,最后利用針孔模型得到該地圖點(diǎn)在當(dāng)前幀像素坐標(biāo)系下的表示,得到和匹配點(diǎn)的誤差。

        B.局部建圖

        在一個(gè)新的關(guān)鍵幀插入的時(shí)候局部建圖線(xiàn)程進(jìn)行Local BA,他優(yōu)化最新的N幀(Local window)和所有被觀測(cè)到的地圖點(diǎn),其他共視圖中維護(hù)的不在局部滑窗中的關(guān)鍵幀雖然參與優(yōu)化但是不改變位姿。固定窗口中包含了N+1個(gè)和滑窗相連的最新的共視關(guān)鍵幀,他們可以約束IMU的狀態(tài)。


        上圖表示出了ORB-SLAM中的BA和ORB-SLAM-VI中BA的區(qū)別,這里的優(yōu)化函數(shù)是IMU的誤差和重投影誤差的和,和純視覺(jué)的方法相比每個(gè)關(guān)鍵幀多了九個(gè)狀態(tài)量(速度和偏置)需要優(yōu)化。所以要選擇一個(gè)合適的窗口的大小來(lái)實(shí)時(shí)的優(yōu)化。
        局部建圖線(xiàn)程還負(fù)責(zé)關(guān)鍵幀的管理。原始的ORB-SLAM策略中會(huì)丟棄冗余的關(guān)鍵幀,這樣就不會(huì)在已經(jīng)建圖很完善的地方增加很多的關(guān)鍵幀。但是這種方法與IMU約束連續(xù)關(guān)鍵幀的機(jī)制是不匹配的,兩個(gè)連續(xù)關(guān)鍵幀的時(shí)間相差越長(zhǎng),IMU提供的信息就越弱。因此如果局部窗口中的關(guān)鍵幀沒(méi)有差過(guò)0.5s的我們?cè)试S局部建圖線(xiàn)程丟棄冗余關(guān)鍵幀。為了能在閉環(huán)檢測(cè)或者其他時(shí)間優(yōu)化地圖,本文不允許兩個(gè)關(guān)鍵幀相差3s。如果關(guān)閉具有IMU約束的完整BA,只需要約束局部窗口中的時(shí)間偏移即可。

        C.閉環(huán)檢測(cè)

        閉環(huán)的主要作用是機(jī)器人又回到原來(lái)到過(guò)的地方的時(shí)候降低里程計(jì)帶來(lái)的累計(jì)誤差。場(chǎng)景充實(shí)別模塊匹配最近的關(guān)鍵幀和原來(lái)的一個(gè)關(guān)鍵幀。利用兩幀的詞袋匹配可以得到剛體變換,然后執(zhí)行優(yōu)化的過(guò)程來(lái)降低里程計(jì)帶來(lái)的累計(jì)誤差。這種優(yōu)化在大場(chǎng)景中很耗時(shí),所以執(zhí)行位姿圖優(yōu)化,==這樣就可以忽略結(jié)構(gòu)==,也可以很好的收斂。本文可以執(zhí)行六自由度的位姿圖優(yōu)化,因?yàn)槌叨仁强捎^的。這個(gè)系統(tǒng)忽略IMU信息不優(yōu)化速度和偏置。==速度利用把關(guān)聯(lián)的關(guān)鍵幀旋轉(zhuǎn)到正確的位姿上來(lái)修正。==同時(shí)并行的執(zhí)行一個(gè)全局的BA來(lái)優(yōu)化所有的狀態(tài),包括速度和偏置。

        IMU初始化

        根據(jù)由運(yùn)行一段時(shí)間的單目SLAM算法得到的若干關(guān)鍵幀來(lái)計(jì)算視覺(jué)-慣導(dǎo)的全局BA的尺度、重力方向、速度和IMU偏置的初始估計(jì)。運(yùn)行一段時(shí)間(幾秒鐘)的單目SLAM算法,假設(shè)傳感器運(yùn)動(dòng)后導(dǎo)致所有的狀態(tài)都可觀。
        初始化問(wèn)題可以分成小的子問(wèn)題
        • 陀螺儀偏置
        • 尺度和重力估值(假設(shè)沒(méi)加速度偏置)
        • 加速度偏置估計(jì),尺度和重力方向細(xì)化
        • 速度估計(jì)

        陀螺儀偏置估計(jì)

        可以利用兩個(gè)連續(xù)關(guān)鍵幀的orientation估計(jì)陀螺儀的偏置,假設(shè)偏差的變化忽略不計(jì)(bias是緩慢變化的量),可以直接對(duì)所有的連續(xù)關(guān)鍵幀優(yōu)化常數(shù)的bg(最小化陀螺儀的積分和ORB-SLAM計(jì)算出來(lái)的orientation):

        尺度和重力估計(jì)(沒(méi)有加速度的偏置)

        得到陀螺儀的偏置以后,可以利用預(yù)積分得到速度,位置,正確的旋轉(zhuǎn)加速度的測(cè)量來(lái)補(bǔ)償陀螺儀的bias。ORB-SLAM計(jì)算的相機(jī)軌跡具有尺度不確定性,所以在從相機(jī)坐標(biāo)系到IMU的機(jī)體坐標(biāo)系轉(zhuǎn)的時(shí)候需要加一個(gè)尺度因子:(imu的所有的狀態(tài)都是在B系下測(cè)量得到的)

        C.加速度偏置估計(jì),尺度和重力細(xì)化

        同樣可以整理為公式12的形式:

        D.速度估計(jì)

        在公式12和19中都是考慮三個(gè)連續(xù)的關(guān)鍵幀,所以線(xiàn)性的系統(tǒng)中就沒(méi)有3N個(gè)額外的未知的速度,現(xiàn)在所有的速度都可以用公式18在重力、尺度和偏置已知的情況下來(lái)計(jì)算。為了計(jì)算最近幾幀的速度,這里用公式3。

        E.重定位后的bias重新初始化

        當(dāng)系統(tǒng)重新初始化的時(shí)候,利用公式9重新初始化陀螺儀偏置,利用公式19重新初始化加速度計(jì)偏置,尺度和重力是已知的。利用二十個(gè)關(guān)鍵幀來(lái)初始化這兩個(gè)偏置。
        下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
        在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

        下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目31講
        小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目31講,即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線(xiàn)檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線(xiàn)、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

        下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
        小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。


        交流群


        歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


        瀏覽 59
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产传媒一区二区三区 | 尹人大香蕉手机网 | 亚洲AV永久无码乱码三区爱豆 | 日本一区二区三区在线视频 | 91丨豆花丨国产极品 | 亚洲无线观看 | 国产老师做www爽爽爽视频 | 操屄软件| 国产熟女一区 | 人人操人人舔人人摸 |