• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      改進ORB的輪式機器人視覺導航算法

      2019-11-01 03:31:48佟曉宇朱偉康
      天津工業(yè)大學學報 2019年5期
      關(guān)鍵詞:輪式角點方差

      成 怡,佟曉宇,朱偉康

      (1.天津工業(yè)大學 電氣工程與自動化學院,天津 300387;2.天津工業(yè)大學 天津市電工電能新技術(shù)重點實驗室,天津300387)

      輪式機器人自主導航的過程中,主要依賴自身攜帶的傳感器感知周圍環(huán)境,進行信息采集,完成目標任務[1-2]。通常,輪式機器人會工作在未知環(huán)境條件下,需要不斷進行自身定位和建立環(huán)境地圖,該過程被稱為 SLAM(simultaneous localization and mapping,同步定位與地圖創(chuàng)建)[3-4],是目前移動機器人在未知環(huán)境下實現(xiàn)自主導航的核心算法[5-6]。

      視覺傳感器與SLAM 相結(jié)合可以更好地發(fā)揮出SLAM 技術(shù)的作用,視覺SLAM 技術(shù)在移動機器人中的應用日趨普遍。視覺傳感器能夠獲取周圍場景中的顏色、紋理和形狀等環(huán)境信息,實現(xiàn)對周圍環(huán)境場景的直觀描述。特征提取算法的選擇是視覺SLAM 算法實現(xiàn)的關(guān)鍵步驟,會影響輪式機器人視覺導航系統(tǒng)的實時性。目前,在機器視覺導航方法中的視覺SLAM算法里應用最為普遍的特征點提取方法有尺度不變特征變換(scale-invariant feature transform,SIFT)[7-8]、加速穩(wěn)健特征(speeded up robust features,SURF)[9]和 ORB(oriented fast and rotated brief)[10]。但 SIFT 算法和 SURF算法在進行圖像特征點提取時均要求建立高維描述符,需要占用大量的內(nèi)存空間并耗費較長的運行時間[11]。因此,上述2 種算法不適合用于對系統(tǒng)耗時長短要求較高的視覺導航。

      為滿足輪式機器人視覺導航系統(tǒng)耗時長短的需求,本文運用圖像特征提取算法中計算速度較快的ORB 算法,該算法的運算時間大約是SIFT 的百分之一,是SURF 的十分之一[12]。但是,通過ORB 算法提取到的特征點存在分布均勻程度較差和特征點重疊較多的弊端。因此,本文針對傳統(tǒng)ORB 算法存在的上述缺點,提出一種改進ORB 算法,并設立基于區(qū)域統(tǒng)計方差數(shù)值的特征點分布評價方法,分析圖像中特征點的分布情況。

      1 基本原理

      1.1 視覺SLAM算法基本原理

      視覺SLAM 算法是實現(xiàn)輪式機器人機器視覺導航的核心。該算法的具體過程為:

      (1)視覺傳感器讀取周圍場景的環(huán)境信息,對獲得的信息進行預處理,得到相應的點云數(shù)據(jù)或激光數(shù)據(jù)。

      (2)利用視覺里程計部分估計相鄰時刻圖像間的位置關(guān)系,推算出當前時刻機器人的運動狀況,還原當前場景的空間結(jié)構(gòu)。在此過程中,會存在由估計形成的誤差積累,即漂移現(xiàn)象[13]。此時,需要借助后端優(yōu)化環(huán)節(jié)對此誤差進行處理,后端優(yōu)化可以對帶有誤差的數(shù)據(jù)進行整合,得到更為準確的數(shù)據(jù)結(jié)果。

      (3)通過回環(huán)檢測步驟識別機器人曾經(jīng)到達過的地方,從而在后期數(shù)據(jù)處理的過程中舍棄重復的圖像幀,減少計算量,消除累計誤差。

      (4)將移動機器人的運動軌跡和環(huán)境地圖描述出來,實現(xiàn)輪式機器人的自主導航。

      1.2 ORB算法的關(guān)鍵技術(shù)

      ORB 算法可實現(xiàn)快速的特征點提取與描述,提高了運算速度,具備旋轉(zhuǎn)不變性以及抗噪聲能力。該算法中特征點的提取采用改進FAST 算法,即oFAST(oriented FAST)。改進后的 FAST 與原 FAST 算法[14]相比其每個特征點都有主方向,為后續(xù)使用BRIEF[15]生成特征點描述子具有旋轉(zhuǎn)不變性提供了理論依據(jù)。特征點描述采用的是具有旋轉(zhuǎn)不變性的rBRIEF(rotated BRIEF)算法,rBRIEF 算法采用了隨機選點的機制,其主要思想是在特征點的周圍選取一定數(shù)量的像素點,并比較它們對應的灰度值,通過比較一定數(shù)量的像素點對對應的灰度值的方法,可以有效地減少計算量,提高算法的運行速度。

      1.3 ORB算法的特征點匹配

      當對圖像進行ORB 算法的特征點提取后,還需將提取到的特征點進行匹配,確定其對應的位置關(guān)系。

      假設通過ORB 算法提取到的兩幀圖像中二進制特征點描述子的表達形式如式(1)所示:

      利用式(2)對特征點描述子K1和K2進行異或處理:

      計算結(jié)果 d(K1,K2)的值越大,證明相似程度越低。將計算結(jié)果按照數(shù)值的大小進行排序,其中,數(shù)值最小的點即距離最近的點為最佳匹配點。通過異或方法計算特征點描述子的匹配結(jié)果具有很高的效率。實際運用中,暴力匹配[16]總是盡可能地完成所有匹配,從中找到最佳匹配對。但是,會存在一些誤匹配的情況,錯誤的特征點匹配會對輪式機器人的視覺導航產(chǎn)生干擾,得到的運動估計結(jié)果不準確。此時,需要使用RANSAC(random sample consensus,隨機抽樣一致)[17]算法對特征點做進一步的篩選。

      2 改進ORB算法

      在輪式機器人的機器視覺導航算法中,使用傳統(tǒng)ORB 算法對待處理圖像進行特征點檢測與提取時,實驗中提取到的特征點分布均勻程度較差,并且還會在圖像中的某區(qū)域內(nèi)發(fā)生特征點聚集的現(xiàn)象。為此,本文提出一種改進ORB 算法,建立尺度空間金字塔[18],對每層圖像的金字塔進行網(wǎng)格劃分,用以增加空間尺度信息,增設網(wǎng)格行限制和列限制;特征點檢測時,使用改進FAST 角點提取,設置感興趣區(qū)域[19],提高特征點提取精度;在計算Harris 角點響應部分時考慮角點鄰域梯度;剔除重疊特征點時,采用非極大值抑制[20]方法,抑制Harris 角點響應的低閾值特征點輸出。改進ORB 算法的流程圖如圖1 所示。

      圖1 改進ORB 算法的流程圖Fig.1 Flow chart for improved ORB algorithm

      2.1 改進FAST角點提取

      感興趣區(qū)域(region of interest,ROI)是圖像處理領域經(jīng)常用到的一個方法,它可以從圖像中選擇一個區(qū)域,使這個區(qū)域成為研究的重點。在改進的FAST 算法中,使用此方法,可以有效地減少系統(tǒng)處理的時間,提高特征點提取的精度。

      改進FAST 角點提取流程如圖2 所示。

      圖2 改進FAST 角點提取流程圖Fig.2 Flow chart for improved FAST corner extraction

      在改進的FAST 角點提取中,構(gòu)建圖像尺度金字塔,對該部分用到的所有參數(shù)進行初始化,并將高斯金字塔的每一層進行網(wǎng)格劃分。增設網(wǎng)格行限制和網(wǎng)格列限制。圖2 中:i 為行數(shù);j 為列數(shù);rows 和 cols 分別為每層金字塔分割的行數(shù)和列數(shù)。在FAST 角點提取過程中,需對圖像進行邊界處理,增設感興趣區(qū)域;使用初始閾值對感興趣區(qū)域內(nèi)的特征點進行提取,并對較難提取到的特征點所在的網(wǎng)格部分采用先降低閾值再檢測的方法,同時對特征點為空的情況設置了最小閾值,實現(xiàn)改進的FAST 角點提??;將所有提取到的特征點進行累積,并將已在感興趣區(qū)域提取到的特征點的位置還原至已劃分的網(wǎng)格區(qū)域中。

      2.2 剔除重疊特征點

      在特征點輸出時,本文采用非極大值抑制的方法,用以提高特征點輸出的質(zhì)量,減少特征點在某些區(qū)域內(nèi)出現(xiàn)的聚集重疊現(xiàn)象。該算法的本質(zhì)是當出現(xiàn)多個待選結(jié)果值時,依照設定的目標條件對數(shù)據(jù)進行過濾,選出最適合的實驗結(jié)果。以圖像建立的尺度空間金字塔頂層為第1 層,選取在每層金字塔上都出現(xiàn)的特征點ai,ai∈A,A={a1,a2,…,ai},ai=(xi,yi,εi)為已有特征點。對候選特征點bj(非每層均出現(xiàn)),bj∈B,B={b1,b2,…,bj},bj={xj,yj,εj}。剔除重疊特征點的流程為:

      Step1:特征點輸出時,計算圖像中現(xiàn)有的候選特征點bj所在的金字塔層上的某網(wǎng)格區(qū)域與已有特征點ai坐標之間的距離,并設置距離的臨界閾值為l;

      Step2:求解出候選特征點 bj={xj,yj,εj}與特征點A={a1,a2,…,ai}坐標之間的距離,選出距離≤l 的候選特征點 bj′={xj,yj,εj};

      Step3:計算Step2 中求出的距離值不超過l 的候選特征點 bj′={xj,yj,εj}的 Harris 角點響應閾值 εj′,根據(jù)候選特征點b={xj,yj,εj}響應閾值的激烈程度,即εj′數(shù)值的大小將這些候選特征點按照降序進行排列;

      Step4:根據(jù)非極大值抑制算法的原理,將Harris角點響應閾值 εj′極大值所在的候選特征點 bj′ = {xj,yj,εj}保留下來,剔除其中的低閾值鄰近候選特征點,得到特征點所在最佳位置的鄰近特征點,實現(xiàn)降低重疊特征點輸出的目的。

      3 基于區(qū)域統(tǒng)計方差的特征點分布評價

      圖像特征點分布均勻性的評價主要用來估計特征點的數(shù)目在不同區(qū)域的圖像內(nèi)是否相同。如果特征點數(shù)量相同或者數(shù)量相近,說明圖像中特征點分布的均勻程度較好;如果特征點的數(shù)量相差較多,說明圖像中特征點分布的均勻程度較差。

      鑒于上述評價方法,本文建立一個基于區(qū)域統(tǒng)計方差數(shù)值的特征點分布的均勻性評價方法。首先,將待檢測特征點的圖像按照垂直、水平、中心和四周、左上至右下、左下至右上的5 個方向?qū)υ搱D像進行區(qū)域劃分[21],得到上、下、左、右、左下、右上、左上、右下、中心和四周等10 個圖像區(qū)域的方向;接著,按照以上劃分方向?qū)Υ龣z測圖像內(nèi)每一個區(qū)域的特征點數(shù)量進行統(tǒng)計,得到特征點在10 個方向上的數(shù)據(jù)值;然后,計算待檢測圖像中已劃分的10 個區(qū)域中的特征點數(shù)量的平均值;計算待檢測圖像的特征點數(shù)量在已劃分的10 個區(qū)域內(nèi)的方差數(shù)值。從求得的特征點數(shù)量方差數(shù)值的大小關(guān)系可以推斷出,特征點數(shù)量的方差數(shù)值越大,證明數(shù)據(jù)的浮動越明顯,間接地反應圖像中特征點分布的均勻程度較差;特征點數(shù)量的方差數(shù)值越小,證明數(shù)據(jù)的浮動越小,間接地反應圖像中特征點分布的均勻程度較好。

      4 實驗結(jié)果與分析

      本實驗的操作平臺是一款實驗室自主研發(fā)的ROS[22]系統(tǒng)輪式移動機器人,其外觀形狀如圖3 所示。

      圖3 實驗室自主研發(fā)的移動輪式機器人Fig.3 Wheeled mobile robot independently developed by laboratory

      該輪式機器人包括:視覺導航模塊、上下位機通訊模塊、底盤驅(qū)動模塊、無線通訊模塊等。系統(tǒng)操作環(huán)境為一臺配置為i3 處理器、4.0 GB 內(nèi)存的Ubuntu14.04的LINUX PC。程序運行時,配有Kinect1.0 深度攝像機的輪式機器人會以0.02 m/s 線速度、0.01 m/s 角速度采集實驗室的全景圖,實現(xiàn)輪式機器人的視覺導航。

      4.1 圖像特征點提取實驗

      為驗證本文提出的改進ORB 算法的可行性,分別使用傳統(tǒng)ORB 算法和改進ORB 算法對ROS 系統(tǒng)輪式移動機器人獲得的彩色圖像數(shù)據(jù)執(zhí)行特征點提取環(huán)節(jié),得到的特征點提取結(jié)果如圖4 和圖5 所示。

      圖4 圖像特征點提取結(jié)果1Fig.4 Feature points extraction results 1

      圖5 圖像特征點提取結(jié)果2Fig.5 Feature points extraction results 2

      由圖4 和圖5 可知,經(jīng)傳統(tǒng)ORB 算法提取到的特征點分布效果不均勻,并且在某一區(qū)域特征點較為密集;而改進ORB 算法提取到的特征點分布整體較為均勻。實驗結(jié)果表明,改進ORB 算法可以有效地實現(xiàn)特征點在檢測圖像上的均勻分布。

      4.2 圖像特征點分布實驗

      為進一步驗證在對圖像進行特征點提取時,使用改進ORB 算法得到的特征點分布均勻程度優(yōu)于傳統(tǒng)ORB 算法,采用本文提出的基于區(qū)域統(tǒng)計方差的圖像特征點分布均勻性判別方法,求出特征點在圖像中10個區(qū)域分布的方差數(shù)值,以此評價圖4 的圖像特征點分布情況,結(jié)果如表1 所示。

      表1 不同算法中圖像特征點分布均勻程度比較Tab.1 Comparison of uniformity of image feature points distribution in different algorithms

      由表1 可以看出,隨著特征點期望數(shù)量的增加,圖像中特征點輸出數(shù)量的方差數(shù)值及方差數(shù)值的降低比率也在發(fā)生變化;當特征點期望數(shù)量相同時,改進ORB 算法比傳統(tǒng)ORB 算法的方差數(shù)值小,說明使用改進ORB 算法提取到的圖像特征點分布的均勻情況較好。

      4.3 圖像特征點匹配實驗

      將使用傳統(tǒng)ORB 算法與改進ORB 算法的特征點提取結(jié)果作為圖像待匹配點,進行基于特征點的匹配實驗。先使用暴力匹配結(jié)合hamming 距離的方法得到粗匹配,再使用RANSAC 算法消除粗匹配中的誤匹配得到精匹配,結(jié)果如圖6 所示。

      圖6 特征點匹配效果Fig.6 Feature points matching effects

      由圖6 可知,在進行特征點匹配時,由于改進ORB算法在特征點輸出時,使用了非極大值抑制的方法對重疊特征點的閾值進行了處理,使其只輸出某一范圍中具有極大值閾值的特征點。并且,使用改進ORB算法獲得的特征點分布情況較為均勻。因此,使用改進ORB 算法進行特征點匹配時,約束匹配點之間的線段分布較為稀疏,不會出現(xiàn)特別聚集的情況。

      4.4 算法實時性分析實驗

      由于輪式移動機器人在進行視覺導航時對算法執(zhí)行過程中消耗的時間長短有較為嚴格的要求,本文分別使用傳統(tǒng)ORB 算法與改進ORB 算法對圖4 在算法執(zhí)行步驟中的特征點提取與匹配環(huán)節(jié)所消耗的時間進行對比,實驗結(jié)果如表2 所示。

      由表2 可以看出,當設置的特征點期望數(shù)值越大時,算法執(zhí)行特征點提取與匹配消耗的時間就越長;當期望特征點的數(shù)量設置一致時,從算法執(zhí)行時間的角度來看,同一張圖像使用改進ORB 算法進行特征點提取與匹配時消耗的時間少于傳統(tǒng)ORB 算法,說明改進ORB 算法耗時較少、實時性較高。

      表2 ORB 算法的實時性分析Tab.2 Real-time analysis of ORB algorithm

      5 結(jié) 語

      針對傳統(tǒng)ORB 算法存在特征點分布均勻程度較差、耗時較長的缺點,提出一種改進ORB 算法,并將該算法應用于實驗室自主研發(fā)的輪式移動機器人進行機器視覺導航。對傳統(tǒng)ORB 算法中的FAST 角點提取環(huán)節(jié)使用改進的FAST 角點提取方法;在特征點輸出部分,采用非極大值抑制的方法有效地減少低閾值特征點的輸出數(shù)量,避免特征點在某一響應區(qū)域內(nèi)重疊地出現(xiàn)在檢測圖像上;為了便于解釋圖像中特征點的分布均勻程度,提出一種基于區(qū)域統(tǒng)計方差數(shù)值的圖像特征點分布均勻性的評價方法。實驗結(jié)果表明,當特征點期望數(shù)值設為3 000 時,與傳統(tǒng)ORB 算法相比,改進ORB 算法的圖像特征點分布均勻程度提高71.13%,耗時降低比率為69.52%,可以更好地應用于輪式機器人執(zhí)行視覺導航算法中。

      猜你喜歡
      輪式角點方差
      方差怎么算
      概率與統(tǒng)計(2)——離散型隨機變量的期望與方差
      輪式裝備搶救搶修車
      計算方差用哪個公式
      對輪式正面吊輪胎使用
      基于FAST角點檢測算法上對Y型與X型角點的檢測
      高通過性輪式無人機平臺誕生記
      方差生活秀
      基于邊緣的角點分類和描述算法
      電子科技(2016年12期)2016-12-26 02:25:49
      基于圓環(huán)模板的改進Harris角點檢測算法
      乌鲁木齐县| 永丰县| 黄石市| 永平县| 青田县| 教育| 东宁县| 琼海市| 汉源县| 米脂县| 肥城市| 台东市| 临汾市| 册亨县| 那曲县| 大埔区| 静安区| 焦作市| 巫溪县| 林州市| 班戈县| 尖扎县| 云和县| 洪江市| 梁山县| 宕昌县| 大城县| 南京市| 漳平市| 琼海市| 宜兴市| 秦安县| 调兵山市| 从化市| 宁阳县| 英吉沙县| 孙吴县| 美姑县| 苍溪县| 镇宁| 运城市|