亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于緊耦合的視覺慣性定位方法

        2021-03-26 14:19:28盧佳偉許哲
        全球定位系統(tǒng) 2021年1期
        關(guān)鍵詞:單目坐標(biāo)系軌跡

        盧佳偉,許哲

        (上海海洋大學(xué)工程學(xué)院,上海 201306)

        0 引言

        結(jié)合視覺和慣性測量進(jìn)行同步定位和地圖構(gòu)建,在智能機(jī)器人和計算機(jī)視覺領(lǐng)域已經(jīng)引起廣泛關(guān)注.通過引入慣性測量單元(IMU)的信息可以很好地彌補(bǔ)單目視覺即時定位與地圖構(gòu)建(SLAM)算法本身存在的一些缺陷.一方面將IMU和相機(jī)估計的位姿序列對齊可以得到相機(jī)軌跡的真實(shí)尺度,而且IMU可以很好地預(yù)測出圖像幀的位姿,提高特征跟蹤算法的匹配速度和應(yīng)對快速旋轉(zhuǎn)的算法魯棒性.另一方面IMU中加速度計提供的重力向量可以將估計的位姿轉(zhuǎn)化為實(shí)際導(dǎo)航需要的世界坐標(biāo)系中.

        根據(jù)相機(jī)和IMU數(shù)據(jù)融合框架的不同,視覺慣性里程計(VIO)可分為緊耦合和松耦合[1].松耦合直接將VIO和慣性導(dǎo)航的輸出結(jié)果進(jìn)行融合.典型的方法是S.Weiss等[2-3]提出的基于擴(kuò)展卡爾曼濾波的SSF、MSF算法,將視覺里程計(VO)處理完的數(shù)據(jù)與IMU數(shù)據(jù)進(jìn)行融合.這兩種算法雖然能實(shí)時獲得航行器的位姿,但是無法糾正視覺測量引入的漂移,所以定位精度沒有緊耦合框架的高.而在緊耦合中是使用兩個傳感器的原始數(shù)據(jù)共同估計一組變量,傳感器的噪聲也是相互影響的.雖然緊耦合的算法比較復(fù)雜,但充分利用了傳感器數(shù)據(jù),是目前研究的重點(diǎn).Mourikis等[4]于2007年提出了一種基于濾波的VIO算法模型多狀態(tài)約束卡爾曼濾波(MSCKF).MSCKF利用一個特征點(diǎn)同時約束多個相機(jī)位姿,進(jìn)行卡爾曼濾波更新,但是在跟蹤情況下沒有使用IMU的先驗(yàn)數(shù)據(jù),且無法用到全局的信息進(jìn)行全局優(yōu)化,因此系統(tǒng)極易不收斂,導(dǎo)致定位精度較差.Stefan Leutenegge等[5]于2015年提出基于雙目相機(jī)和IMU的OKVIS算法.該算法通過IMU測量值對當(dāng)前狀態(tài)做預(yù)測,根據(jù)預(yù)測進(jìn)行特征提取與匹配,并將優(yōu)化中的重投影和IMU的測量誤差放在一起做優(yōu)化.但是由于OKVIS不支持重定位,也沒有閉環(huán)檢測和校正方案,在機(jī)器人劇烈運(yùn)動時容易跟蹤失敗.香港科技大學(xué)沈劭劼團(tuán)隊(duì)[6]于2017年開源了一套Visual-Inertial融合定位算法VINS-MOMO,該算法以KTL光流跟蹤作為前端,而且具有比OKVIS更加完善和魯棒的初始化以及閉環(huán)檢測過程.但是該算法不容易構(gòu)建全局地圖,且視覺約束只靠滑動窗口里的關(guān)鍵幀.

        針對上述問題,本文采用將IMU與視覺SLAM兩種定位方案在基于非線性的緊耦合結(jié)構(gòu)下相互融合,構(gòu)建具有較高定位精度的定位系統(tǒng)[7-8].采用VINS-MONO算法,使用單目相機(jī)作為視覺傳感器與IMU進(jìn)行組合定位與建圖.但是在前端中選用快速特征點(diǎn)提取和描述的算法(ORB)[9]特征,保證了特征子具有旋轉(zhuǎn),尺度不變性的同時,提取特征點(diǎn)的速度與匹配效率明顯提升,從而能夠及時的擴(kuò)展場景,構(gòu)建全局地圖.

        1 視覺里程計

        在經(jīng)典的視覺SLAM框架中,VO是通過相鄰圖像之間匹配的特征點(diǎn)估算出相機(jī)的運(yùn)動并構(gòu)建局部場景的地圖.VO又稱前端(Front End),它通過匹配好的特征點(diǎn)計算出相鄰圖像之間的運(yùn)動,得到機(jī)器人的運(yùn)動軌跡,從而解決了定位問題.另一方面,根據(jù)每個時刻的相機(jī)位置,計算出各像素對應(yīng)空間點(diǎn)的位置,就得到了地圖.VO的算法流程如圖1所示.

        圖1 VO算法流程圖

        1.1 圖像特征點(diǎn)提取與匹配

        在圖像特征中,尺度不變特征轉(zhuǎn)換(SIFT)[10]是考慮得比較完善的一種.它能夠適應(yīng)機(jī)器人運(yùn)動過程中出現(xiàn)的光照及旋轉(zhuǎn)等變化,但是會增加大量的計算.另一些特征,考慮適當(dāng)?shù)亟档途群汪敯粜?,提升計算速?例如FAST關(guān)鍵點(diǎn)屬于計算特別快的一種特征點(diǎn).而ORB特征可以用來對圖像中的關(guān)鍵點(diǎn)快速創(chuàng)建特征向量,這些特征向量可以用來識別圖像中的對象.它在FAST檢測子不具有方向性的問題上做了改進(jìn),并采用速度極快的二進(jìn)制描述子二元魯棒獨(dú)立基本特征(BRIEF),使整個圖像特征提取環(huán)節(jié)大大加速.提取ORB特征分為兩個步驟:

        1)查找圖像中的關(guān)鍵點(diǎn),并使用FAST算法對關(guān)鍵點(diǎn)進(jìn)行檢測;

        2)使用BRIEF算法將關(guān)鍵點(diǎn)變成特征向量.

        特征匹配是通過計算特征向量之間的距離來確定路標(biāo)點(diǎn)前后時間的對應(yīng)關(guān)系.當(dāng)特征點(diǎn)數(shù)量較小時,可使用暴力匹配算法,它計算某一個特征點(diǎn)的特征向量與其他所有特征點(diǎn)的特征向量之間的距離,然后取向量距離最小的一個作為匹配點(diǎn).但特征點(diǎn)多時,暴力匹配的運(yùn)算量變大,會影響算法的實(shí)時性要求.因此,選用快速近似最近鄰(FLANN)算法[11]更加適合于匹配點(diǎn)數(shù)量極多的情況.該算法理論已集成到OpenCV,使用時可直接從中調(diào)用.

        1.2 單目相機(jī)運(yùn)動估計

        通過特征提取與匹配,可從兩張圖像中得到一對匹配好的特征點(diǎn),如圖2所示.相鄰的圖像存在很多對匹配點(diǎn),可通過它們之間的對應(yīng)關(guān)系得到相機(jī)的運(yùn)動.

        圖2 對極幾何約束

        在第一幀的坐標(biāo)系下,設(shè)P點(diǎn)的空間位置為:

        由針孔相機(jī)模型推出兩個像素點(diǎn)p1,p2的像素位置為:

        式中:K為相機(jī)內(nèi)參矩陣;R、t為兩個坐標(biāo)系下相機(jī)的旋轉(zhuǎn)與平移運(yùn)動.

        兩個像素點(diǎn)在歸一化平面上的坐標(biāo)x1,x2為:

        對式(3)進(jìn)行一系列變換并帶入p1,p2得:

        可將上式(4)中間部分記作兩個矩陣:基礎(chǔ)矩陣F和本質(zhì)矩陣E,帶入(4)式得:

        相機(jī)的位置估計問題變?yōu)橐韵聝刹剑?/p>

        1)根據(jù)配對點(diǎn)的像素位置,求出E或者F;

        2)根據(jù)E或者F,求出R、t.

        2 IMU傳感器模型構(gòu)建

        一般而言,IMU內(nèi)部包含加速度計和陀螺儀,分別測量機(jī)器人的加速度信息和角速度信息.

        忽略尺度因子的影響,只考慮白噪聲和隨機(jī)游走偏差,VIO中IMU模型為:

        式中:上標(biāo)b為IMU坐標(biāo)系,w為世界坐標(biāo)系world;上標(biāo)a為加速度計,g為陀螺儀;ωb和ab分別為IMU輸出的角速度和加速度;為IMU真實(shí)的角速度和加速度數(shù)據(jù);mg和ma為陀螺儀和加速度計的零偏;ng和na為陀螺儀和加速度計的高斯白噪聲;gw為世界坐標(biāo)系下的重力加速度;qbw為世界坐標(biāo)系向IMU坐標(biāo)系下的旋轉(zhuǎn)矩陣.

        IMU的位移,速度,旋轉(zhuǎn)對時間的導(dǎo)數(shù)為:

        根據(jù)式(10)、(11)、(12)導(dǎo)數(shù)關(guān)系,使用中值法得到運(yùn)動模型的離散積分,即兩個相鄰時刻k到k+1的位姿用兩個時刻的測量值ω,a的平均值來計算:

        其中:

        3 VIO緊耦合優(yōu)化器設(shè)計

        融合IMU是為了克服純視覺SLAM的一些缺點(diǎn).視覺受光線條件影響和限制,且在紋理豐富的場景中可以正常工作,然而遇到玻璃、白墻等特征稀少的場景時就無法正常工作.純視覺還難以處理動態(tài)場景,環(huán)境變化時,會誤認(rèn)為自己在運(yùn)動,而IMU能夠感受到自己的運(yùn)動,避免運(yùn)動誤判.純視覺也難以處理運(yùn)動過快的場景,兩幀圖像之間的重疊區(qū)域太少甚至沒有,造成無法基于兩幀圖像中相同點(diǎn)和不同點(diǎn)測算運(yùn)動,而IMU可以補(bǔ)充發(fā)揮作用,提供可靠的位姿估算.

        VINS系統(tǒng)主要包括3部分.如圖3所示:前端進(jìn)行數(shù)據(jù)預(yù)處理,包括特征提取匹配和IMU預(yù)積分;初始化是對系統(tǒng)初始狀態(tài)變量(重力方向、速度、尺度等等)進(jìn)行處理;后端通過滑動窗口算法得到最優(yōu)狀態(tài)估計.

        圖3 VINS系統(tǒng)框架

        3.1 測量數(shù)據(jù)預(yù)處理

        特征提取與跟蹤在視覺里程計部分已進(jìn)行詳細(xì)討論.接下來主要是對IMU數(shù)據(jù)進(jìn)行預(yù)積分.可對IMU數(shù)據(jù)進(jìn)行積分得到從i時刻到j(luò)時刻的位移、旋轉(zhuǎn)和速度.但是每次優(yōu)化更新后,都需要重新進(jìn)行積分,導(dǎo)致運(yùn)算量較大.此時,可用一個簡單的公式轉(zhuǎn)換,將積分模型轉(zhuǎn)化為預(yù)積分模型:

        通過式(18),位移、速度、旋轉(zhuǎn)積分公式中的積分項(xiàng)則變成相對于第i時刻的姿態(tài),而不是相對于世界坐標(biāo)系的姿態(tài).此時,位移、速度、旋轉(zhuǎn)積分公式為:

        式(19)、(20)、(21)中的積分項(xiàng)僅跟IMU測量值有關(guān),它將一段時間內(nèi)的IMU數(shù)據(jù)直接積分起來就得到了預(yù)積分量:

        3.2 VINS系統(tǒng)初始化

        單目緊耦合VIO是一個非線性的系統(tǒng).VIO無法直接觀測到尺度,如果沒有良好的初始值,很難直接將相機(jī)和IMU的數(shù)據(jù)融合在一起.可以假設(shè)一個靜止的初始條件來啟動單目VINS估計器.然而,這種假設(shè)是不合適的,因?yàn)樵趯?shí)際應(yīng)用中經(jīng)常會遇到運(yùn)動下的初始化.當(dāng)IMU測量結(jié)果被大偏置破壞時,情況就變得更加復(fù)雜了.事實(shí)上,初始化通常是單目VINS最脆弱的步驟.需要一個魯棒的初始化過程以確保系統(tǒng)的適用性.

        初始化過程中,首先要建立視覺坐標(biāo)系和IMU坐標(biāo)系的聯(lián)系.假設(shè)相機(jī)和IMU之間有粗略測量的外部參數(shù):旋轉(zhuǎn)qbc、位移pbc,我們可以將姿態(tài)從IMU坐標(biāo)系轉(zhuǎn)換到相機(jī)坐標(biāo)系:

        由于IMU采集數(shù)據(jù)的頻率大于相機(jī)的,所以初始化過程中需將IMU預(yù)積分?jǐn)?shù)據(jù)與相機(jī)的位姿數(shù)據(jù)對齊.具體過程如下:

        1)旋轉(zhuǎn)外參數(shù)qbc未知,則先估計旋轉(zhuǎn)外參數(shù).

        2)利用旋轉(zhuǎn)約束估計陀螺儀偏離.

        3)利用平移約束估計重力方向、速度、以及尺度初始值.

        5)求解相機(jī)坐標(biāo)系與世界坐標(biāo)系之間的旋轉(zhuǎn)矩陣,并將軌跡對齊到世界坐標(biāo)系.

        3.3 滑動窗口優(yōu)化

        初始化完成后,VINS系統(tǒng)采用基于滑動窗口的緊耦合單目VIO進(jìn)行高精度和魯棒的狀態(tài)估計.

        VINS系統(tǒng)優(yōu)化的狀態(tài)變量為:

        式中:xk表示第k幀圖像時的IMU的位姿;n是關(guān)鍵幀的總數(shù);m是滑動窗口中的特征總數(shù);λi為第一次觀測到第i個特征的逆深度.

        通過最小化滑動窗口中的殘差項(xiàng)來估計系統(tǒng)的狀態(tài)變量:

        式中:rB和rC分別是IMU和視覺測量的殘差;B是所有IMU數(shù)據(jù)的集合;C是在當(dāng)前滑動窗口中至少觀測到兩次的一組特征;(rP,JP)是來自邊緣化的先驗(yàn)信息;ρ為Huber范數(shù).

        4 實(shí)驗(yàn)驗(yàn)證與分析

        本文中實(shí)驗(yàn)所用電腦為Inter Core i5-4210記本,內(nèi)存12 GB,系統(tǒng)為Ubuntu16.04,ROS版本為kinetic.

        實(shí)驗(yàn)1的算法驗(yàn)證是基于圖3所示的VINS系統(tǒng)框架(無回環(huán)檢測).通過數(shù)據(jù)文本構(gòu)建仿真場景,如圖4所示該場景是由三個長方體堆疊組成,長、寬、高分別為:10×10×3、7×7×3、4×4×4.然后由仿真場景生成視覺特征的仿真數(shù)據(jù)集,采樣頻率為30 Hz,其中特征點(diǎn)的3D坐標(biāo)如圖4所示為長方體的頂點(diǎn)和附近的點(diǎn),共48個.IMU的仿真數(shù)據(jù)集是由在x、y平面內(nèi)做橢圓運(yùn)動,z軸做正弦運(yùn)動的曲線生成,采樣頻率為180Hz.最后通過配置不同陀螺儀和加速度計噪聲的大小,驗(yàn)證該算法的有效性,其中圖像的像素誤差給定為1.5.

        圖4 仿真場景

        將已經(jīng)準(zhǔn)備好的仿真數(shù)據(jù)集(視覺特征,IMU數(shù)據(jù))接入VINS代碼,并運(yùn)行出軌跡結(jié)果.具體實(shí)驗(yàn)步驟為:

        1)IMU仿真數(shù)據(jù)集無噪聲;

        2)IMU仿真數(shù)據(jù)集有噪聲,具體噪聲參數(shù)的設(shè)置如表1所示.表中g(shù)_bias、a_bias分別表示陀螺儀和加速度計的隨機(jī)游走偏差,g_noise、a_noise分別表示陀螺儀和加速度計的高斯白噪聲.

        表1 仿真數(shù)據(jù)集噪聲參數(shù)

        當(dāng)IMU仿真數(shù)據(jù)集無噪聲,如圖5所示,優(yōu)化軌跡imu_int和帶有噪聲的軌跡imu_int_noise重合,但由于存在像素誤差,它們與真實(shí)軌跡ground_truth并未重合.當(dāng)IMU仿真數(shù)據(jù)集有噪聲時,由表1所示,第三組數(shù)據(jù)各項(xiàng)參數(shù)大概是第二組的10倍,但如圖7所示,盡管imu_int_noise軌跡變化很大,最終優(yōu)化軌跡imu_int都能像圖6有有效的跟蹤真實(shí)軌跡ground_truth.

        圖5 第1組實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)2采用的是EuRoC提供的V1_01_easy數(shù)據(jù)集,將本文方案與ORB-SLAM 2單目作比較.圖8和圖9分別為兩種算法的V1_01_easy軌跡平面圖,圖中的虛線表示真實(shí)軌跡,彩色線表示算法的定位軌跡,從這兩幅幅圖中,可以看出VINS算法定位軌跡在V1_01_easy數(shù)據(jù)集下與真實(shí)軌跡更為穩(wěn)合.圖10表示兩種算法在V1_01_easy數(shù)據(jù)集下的軌跡誤差,圖中可以明顯看出VINS_result_no_loop_V1.csv的定位誤差在整體上要優(yōu)于ORB-SLAM 2_1.txt單目的定位誤差.表2顯示了定位誤差的狀態(tài)對比,VINS-MONO定位誤差的最大值、最小值、標(biāo)準(zhǔn)差、均方根誤差均小于ORB-SLAM 2單目的定位誤差.圖11是定位誤差的小提琴圖,主要統(tǒng)計和分析數(shù)據(jù)的離散程度和分布密度,兩圖中左邊表示VINS_result_no_loop_V1.csv,右邊表示ORB-SLAM 2_1.txt.圖中可以看出VINS_result_no_loop_V1.csv誤差的分布集中在0.2m附近,而ORB-SLAM 2_1.txt分布集中在1m附近且分布范圍較廣;圖中VINS_result_no_loop_V1.csv誤差的中位數(shù)和四分位數(shù)都優(yōu)于ORBSLAM 2_1.txt單目;VINS_result_no_loop_V1.csv誤差的上側(cè)和下側(cè)的離散情況也要優(yōu)于ORBSLAM 2_1.txt單目.

        圖6 第2組實(shí)驗(yàn)結(jié)果

        圖7 第3組實(shí)驗(yàn)結(jié)果

        圖8 VINS算法軌跡

        圖9 單目ORB-SLAM算法軌跡

        圖10 兩種算法軌跡誤差對比

        表2 兩種算法在V1_01_easy數(shù)據(jù)集下誤差狀態(tài)對比 m

        圖11 兩種算法定位誤差對比的小提琴圖

        5 結(jié)束語

        本文針對慣性傳感器積分時位姿容易發(fā)散,且機(jī)器人劇烈運(yùn)動時,VO定位容易失效等問題,提出了一種基于單目相機(jī)與IMU的機(jī)器人定位算法.該算法主要是利用VINS-MONO框架,但在前端進(jìn)行特征提取與匹配的時候,采用ORB特征,提高了新增關(guān)鍵點(diǎn)的特征匹配效率,更好地構(gòu)建場景地圖.在處理IMU數(shù)據(jù)時,利用中值法得到運(yùn)動模型的離散積分,能夠更加精確地定位機(jī)器人的位置.后端仍采用滑動窗口的非線性優(yōu)化得到機(jī)器人運(yùn)動的最優(yōu)狀態(tài)估計.

        實(shí)驗(yàn)一在IMU仿真數(shù)據(jù)中添加噪聲進(jìn)行試驗(yàn)驗(yàn)證,該算法能夠有效地減小慣性傳感器的累積誤差.實(shí)驗(yàn)二利用V1_01_easy數(shù)據(jù)集驗(yàn)證了該算法優(yōu)于單目ORB-SLAM算法.但本文算法沒有閉環(huán)檢測模塊,在機(jī)器人長時間、大范圍的導(dǎo)航和定位中,單純依靠VINS系統(tǒng)的狀態(tài)估計會出現(xiàn)嚴(yán)重偏差.且該算法處理的數(shù)據(jù)量很大,實(shí)時性問題還存在問題,現(xiàn)只適用于室內(nèi)小范圍場景.因此下一步會將閉環(huán)檢測添加到該算法框架,考慮進(jìn)一度簡化該算法框架,達(dá)到實(shí)時性的要求.

        猜你喜歡
        單目坐標(biāo)系軌跡
        軌跡
        軌跡
        一種單目相機(jī)/三軸陀螺儀/里程計緊組合導(dǎo)航算法
        解密坐標(biāo)系中的平移變換
        軌跡
        坐標(biāo)系背后的故事
        單目SLAM直線匹配增強(qiáng)平面發(fā)現(xiàn)方法
        進(jìn)化的軌跡(一)——進(jìn)化,無盡的適應(yīng)
        中國三峽(2017年2期)2017-06-09 08:15:29
        基于重心坐標(biāo)系的平面幾何證明的探討
        基于CAD模型的單目六自由度位姿測量
        日韩亚洲午夜精品一区二区三区 | 亚洲精品字幕| 国产成人一区二区三中文| 国产毛片三区二区一区| 成人久久久精品乱码一区二区三区| 一本大道无码人妻精品专区| 亚洲av无码专区亚洲av| 日韩精品久久久一区| 成人国产自拍在线播放| 中文字幕丰满人妻av| 成人综合网站| 国产一区二区精品在线观看| 手机av在线观看视频| 国产精品国产高清国产专区| 午夜成人鲁丝片午夜精品| 亚洲国产成人AV人片久久网站| 一本色道久久88综合亚精品| 国产精品视频亚洲二区| 午夜无码国产理论在线| 香蕉国产人午夜视频在线观看| 偷拍视频十八岁一区二区三区| 亚洲av熟女一区二区三区站| 国产精品爽爽v在线观看无码| 在线观看91精品国产免费免费| 久久99热精品免费观看麻豆| 女女同恋一区二区在线观看| 久久午夜夜伦鲁鲁片免费无码| 九九九精品成人免费视频小说| 人妻无码中文专区久久AV| 日本人妻系列中文字幕| 成人免费xxxxx在线观看| 日韩a毛片免费观看| 丁香九月综合激情| 午夜麻豆视频在线观看| 日韩av一区二区三区激情在线| 性饥渴的农村熟妇| chinese国产乱在线观看| 国产精东一区二区三区| 亚洲av日韩av激情亚洲| 最新国产av无码专区亚洲| 久久亚洲中文字幕精品一区四|