999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GPU并行計算的快速視覺慣性里程計方法*

2022-10-11 12:33:38陳財富
傳感器與微系統(tǒng) 2022年10期
關(guān)鍵詞:特征系統(tǒng)設(shè)計

陳財富, 汪 雙, 陳 波, 張 華, 王 姮

(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621000; 2.西南科技大學(xué) 特殊環(huán)境機器人四川省重點實驗室,四川 綿陽 621010)

0 引 言

港科大開源的VINS-Mono[1]是視覺慣性里程計(visual inertial odometer,VIO)[2]系統(tǒng),它的前端主要包括均值化預(yù)處理[3]限制對比度的自適應(yīng)性直方圖均衡化(CLAHE)、Shi-Tomasi角點特征提取和光流跟蹤[4]。雖然VIO系統(tǒng)前端適用性強以及魯棒性高,但它計算成本較高且計算耗時不穩(wěn)定,在要求十分苛刻的虛擬現(xiàn)實(VR)/增強現(xiàn)實(AR)和無人機機器人平臺上實時運行困難。針對上述系統(tǒng)實時性的問題,考慮尺寸重量大小滿足應(yīng)用要求,本文選用較小的尺寸和重量中央處理器(CPU)-圖像處理器(GPU)組合的NVIDIA TX2處理器,TX2不僅在成本上有一定的經(jīng)濟>效益,而且在GPU加速處理非常出色[5,6]。同時本文改進VINS-Mono前端,提出了一種基于GPU并行加速VIO方法,采用FAST特征提取和特征點光流跟蹤進行并行加速,以獲得更高實時且耗時穩(wěn)定的VIO前端;并且對文獻[7]特征提取查表方式進行了改進,占用更少的內(nèi)存空間。本文方法還在特征提取之前通過GPU對CLAHE加速,在特征提取后采用非極大值抑制[8],消除周圍非極大值元素,使特征點分布相對均勻。最后,采用多層金字塔平均強度反向光流法進行角點跟蹤,求解特征點匹配。實驗部分,本文將改善后的前端系統(tǒng)與VINS-Mono后端結(jié)合,選用EuROC數(shù)據(jù)集[9],在嵌入式CPU-GPU異構(gòu)平臺TX2上進行了全方面的評估。

1 總體系統(tǒng)設(shè)計

本文提出的GPU并行加速VIO前端方法包括圖像灰度化、CLAHE、FAST特征點提取并進行非極大值抑制、FAST特征點光流跟蹤以及特征點跟蹤誤差剔除,再結(jié)合VINS-Mono中IMU處理部分和后端部分構(gòu)成一個完整的即時定位與地圖構(gòu)建(simultaneous localization and mapping,SLAM)系統(tǒng)。整個系統(tǒng)框圖如圖1所示。其中,自適應(yīng)直方圖均值化、特征點提取、特征點跟蹤都通過GPU進行并行加速運算,其他都將在CPU下進行處理。

圖1 總體系統(tǒng)框圖

2 方法設(shè)計

2.1 GPU并行處理

英偉達(dá)(NVIDIA)公司的GPU架構(gòu)是由可擴展的多線程多處理陣列構(gòu)建[10]。每一個多處理陣列又被劃分為若干個流處理器,每一個流處理器又包含若干個處理器。為了更容易進行GPU并行處理開發(fā),采用NVIDIA公司提供的CUDA并行計算框架,它包含重要的指令集架構(gòu)、層次化線性模型以及并行的計算引擎。CUDA編程模型包含以下層次結(jié)構(gòu):線程、線程塊、塊網(wǎng)格以及線程Kernel。一個并行計算有多個Kernel,一個Kernel處理一個塊網(wǎng)格,一個塊網(wǎng)格由若干個線程塊組成,一個線程塊又由若干個線程構(gòu)成,線程與線程之間并行運行[11]。整個系統(tǒng)的運行采用CPU與GPU串并結(jié)合協(xié)同工作、各司其職的工作方式,如圖2所示。

圖2 CPU-GPU異構(gòu)模型

2.2 CLAHE并行化設(shè)計

CLAHE的核心思想是先對圖像均勻分成等份矩形,再對每部分矩形區(qū)域求解累計分布直方圖并進行對比度限幅,最后求解每個區(qū)域塊的變換函數(shù)對每一個像素點進行像素值轉(zhuǎn)換,對于相鄰區(qū)域的像素值需進行插值操作,以消除塊狀效應(yīng)。并行化設(shè)計具體過程如下:

1)圖像分塊:將圖像劃分成等大小的矩形區(qū)域塊,本文劃分為8×8的區(qū)域塊。

2)計算每一個區(qū)域塊的分布直方圖

(1)

3)對每一個區(qū)域塊分布直方圖進行對比度限幅,并調(diào)整像素點

(2)

4)計算第i,j區(qū)域塊下直方圖累計變換函數(shù)

(3)

式中Wij,Hij為第i,j區(qū)域塊的寬度和長度。

5)根據(jù)整個圖像每一個像素點在不同區(qū)域的分布情況,執(zhí)行不同的像素點映射(直接映射,線性插值映射,雙線性插值映射),本文直接采用插值的方式,有效防止if else指令的發(fā)散,計算如下:

a.確定某個像素點(m,n)相鄰的4個映射函數(shù)si0j0,si0j1,si1j0,si1j1,如果在邊界不滿足映射函數(shù)則按照取最近的映射函數(shù)操作

(4)

b.確定不同映射函數(shù)的占比

(5)

c.對像素點進行映射

si1j0(Imn)×(1-α)×β+si1j1(Imn)×(1-α)×(1-β)

(6)

6)GPU加速設(shè)計:GPU加速過程采用兩個核Kernel進行,第一個Kernel_1處理上述過程(1)~(4),分為64個線程分別求解每一個區(qū)域塊的映射函數(shù);第二個Kernel_2處理上述過程(5),分別對圖像中每一個像素點進行映射插值操作,最后得到映射后的圖像。

2.3 FAST特征檢測并行化設(shè)計

FAST算法是一種檢測局部像素灰度變化明顯的特征檢測方法。本文在CPU-GPU異構(gòu)平臺上采用GPU并行設(shè)計實現(xiàn)FAST角點快速檢測,最后再通過GPU對檢出的角點進行非極大值抑制加速處理。FAST特征檢測核心思想是一個像素與領(lǐng)域像素的光度強度差別較多或較大時,該像素點即為FAST角點。

本文特征檢測并行化設(shè)計過程如下:

1)對圖像遍歷取像素點(不包括邊界為3的像素點),設(shè)第i行第j列的像素點灰度值為Iij。

3)設(shè)置閾值T,并將像素點與其周圍16個像素點進行比較,區(qū)分出更亮、更暗或者相似的像素點,并進行標(biāo)記

(7)

4)對上述計算出的16個像素點得出的標(biāo)簽進行分類,如果有連續(xù)的N個像素點的Ln=darker或者Ln=brighter,則像素點為Iij特征點。對于上述判斷連續(xù)N個點是更亮或者更暗的點,在CUDA編程處理的過程中if else指令將會頻繁調(diào)用,并且不同線程之間if else活動范圍不一致,會降低GPU并行處理吞吐量,效率會下降。文獻[7]先通過計算16個像素點更亮和更暗值,再通過01二進制的方式保存,第0個像素點對應(yīng)低位,第1個像素點對應(yīng)位加一,依此類推,將更亮和更暗的數(shù)據(jù)分別保存在216位并作為地址,最后,通過預(yù)先設(shè)計8 K字節(jié)查詢表,直接查詢是否是角點。而本文則是設(shè)計一個快速查詢角點的函數(shù),節(jié)約空間,并且這個函數(shù)具有少量運算指令、少量參數(shù)和無if else指令,通過輸入更亮和更暗的地址直接快速計算出是否為角點。計算更亮和更暗查詢地址(addr_brighter和addr_darker)

(8)

快速角點查詢函數(shù)設(shè)計

(9)

式中 Ξ&為連續(xù)求與符號,CN為連續(xù)N個角點查詢數(shù)據(jù)庫,共16個字節(jié)數(shù)據(jù)大小。如果F(Addr)=1,則為非角點;反之,F(Addr)=0,則為角點。最后,對每個像素點計算出角點得分,非角點為0,角點則根據(jù)像素差進行計算。

5)進行非極大值抑制,對圖像柵格化劃分為32×32等分進行非極大值抑制篩選。

6)GPU加速設(shè)計:特征檢測過程GPU設(shè)計上需要分為兩個Kernel。第一個Kernel處理上述過程(1)~(4) ,通過快速角點提取函數(shù)對角點判斷,并執(zhí)行計算得分角點響應(yīng)得分,整個過程分為128個線程并行運行,每一個線程平均處理圖像像素點。第二個Kernel處理上述過程(5)非線性抑制過程,先對圖片劃分32×32的單元格區(qū)域,線程分為32個,每一個線程處理一行單元格像素點,線程中并行執(zhí)行像素點抑制,并在全局共享內(nèi)存中保存在該單元格中響應(yīng)得分最大值。

2.4 光流跟蹤并行化設(shè)計

本文采用多層金字塔平均強度反向光流法作為特征跟蹤。多層光流有效克服局部最小值,同時平均強度能有效提高跟蹤效果,而反向光流則可以節(jié)省計算時間。本文光流跟蹤并行化設(shè)計過程如下:

1)設(shè)置金子塔層數(shù),并設(shè)定跟蹤規(guī)則:在計算光流時,先從頂層的圖像跟蹤計算,再把跟蹤結(jié)果作為下一層光流跟蹤的初始值,直到最底層。

2)建立光流跟蹤:光流跟蹤其實是解決以下最小二乘問題

(10)

(11)

式中I1(x),I2(x)分別為上幀圖片和當(dāng)前幀圖片某像素的光度強度。1,2分別為上一幀圖片和當(dāng)前幀圖片某像素在指定范圍內(nèi)像素點的平均光度強度

(12)

求解最小二乘問題,得雅可比

(13)

求解像素位移增量

(14)

其中,H為海森矩陣

(15)

最后,更新位移量。

3)GPU加速設(shè)計:在這一過程中GPU并行加速運行存在兩個主要的問題:內(nèi)存合并和運行發(fā)散。為了解決這些問題,本文采用一個FAST角點跟蹤占用一個線程,并設(shè)定迭代相同的迭代次數(shù)克服運行發(fā)散。整個并行過程只采用一個Kernel,并創(chuàng)建128的線程同時處理這些FAST角點,處理完成后將結(jié)果合并在一個內(nèi)存塊中,最后交給CPU處理。

3 實驗驗證分析

本文實驗硬件平臺為NVIDIA嵌入式處理器TX2。TX2的GPU采用NVIDIA Pascal架構(gòu),配有256個計算核心,算力高到6.2,它的CPU采用雙核Denver2 64位和4核ARM A57,內(nèi)存為8 GB 128位LPDDR4,TX2較小的尺寸和重量非常適用于無人機等輕負(fù)載機器人。本文實驗分為兩部分:1)系統(tǒng)耗時對比;2)系統(tǒng)精度對比。本文評估的數(shù)據(jù)選用數(shù)據(jù)集EuROC Machine Hall(MH)序列集,該數(shù)據(jù)序列集包括2 273幀圖片。

3.1 系統(tǒng)耗時實驗

圖3進行4組耗時統(tǒng)計實驗,選用MH—05數(shù)據(jù)集測試。圖3(a)~(c)分別表示CLAHE,FAST和光流跟蹤耗時對比曲線,每一個曲線分別進行OpenCV-CPU,OpenCV-GPU和本文GPU耗時對比實驗;圖(d)為本文前端與VINS-Mono前端耗時對比曲線。分析圖(a)~(c)可知,本文Clahe-GPU耗時與OpenCV-GPU耗時基本一致但更平穩(wěn),同時比CPU耗時更低;而本文FAST和光流跟蹤耗時明顯低于OpenCV-GPU和CPU;兩者都具有較高的運算速度。分析曲線圖(d)可知,VINS-Mono前端平均耗時為0.017 65 s,而本文前端平均耗時為0.005 62 s,具有更快的計算速度;曲線中VINS-Mono前端多幀耗時明顯大于0.035 s,而本文前端耗時比較平穩(wěn)。

3.2 系統(tǒng)精度實驗

本文以EuROC中MH_01,MH_02,MH_03,MH_04和MH_05作為實驗數(shù)據(jù)集,采用均方根誤差來評估本文前端結(jié)合VINS-Mono后端的里程計軌跡精度,并與VINS-Mono系統(tǒng)進行對比。誤差計算采用EVO評估工具[12],計算結(jié)果如表1所示。

表1 軌跡均方根誤差 m

根據(jù)表1所示,在MH—04和MH—05運動比較劇烈的數(shù)據(jù)集下本文精度略高于VINS-Mono,在其他數(shù)據(jù)集本文精度與VINS-Mono相近,平均均方根相差0.008 963 m。本文保持了較好的定位精度,與VINS-Mono相差很小。

4 結(jié) 論

本文設(shè)計了一種基于GPU并行加速視覺里程計前端方法,對系統(tǒng)中CLAHE、FAST角點提取和光流跟蹤進行GPU并行化設(shè)計。實驗結(jié)果表明:本文系統(tǒng)在不降低整體定位精度的情況下,明顯提高算法的實時性效率,能保證定位導(dǎo)航的實時性要求。雖然實現(xiàn)性能得到了提升,但精度卻保持了原來的精度。下一步工作將在本文的基礎(chǔ)上對VIO前端算法改進,提高系統(tǒng)的精度,最后在實際情況下進行定位測試。

猜你喜歡
特征系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
如何表達(dá)“特征”
不忠誠的四個特征
瞞天過海——仿生設(shè)計萌到家
抓住特征巧觀察
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 精品人妻一区二区三区蜜桃AⅤ | 香蕉国产精品视频| 国产在线视频福利资源站| 色综合久久综合网| 2020最新国产精品视频| 国产精品久线在线观看| 久久频这里精品99香蕉久网址| 亚洲区第一页| 欧美日韩在线亚洲国产人| 色综合中文综合网| 毛片久久网站小视频| 欧美在线导航| 亚洲毛片在线看| 成人免费一区二区三区| 亚洲成人精品| 在线观看av永久| 成年女人18毛片毛片免费| 免费jjzz在在线播放国产| 极品av一区二区| 日韩专区第一页| 亚洲AV无码精品无码久久蜜桃| 日本午夜精品一本在线观看| 欧美一区二区三区欧美日韩亚洲 | 久久香蕉国产线看观| 久久黄色免费电影| 亚洲不卡网| 欧美精品H在线播放| 在线精品自拍| 免费看久久精品99| 亚洲欧美人成电影在线观看| 精品国产免费观看| 国产男女XX00免费观看| 91精品国产自产91精品资源| 国产区人妖精品人妖精品视频| 久久久国产精品免费视频| AV在线天堂进入| 亚洲黄色高清| 午夜精品久久久久久久2023| 91成人试看福利体验区| 91啦中文字幕| 精品一区国产精品| 色偷偷一区二区三区| 成人免费黄色小视频| 国产高清免费午夜在线视频| 日本日韩欧美| 国产精品一区二区在线播放| 99色亚洲国产精品11p| 色精品视频| 青草精品视频| 不卡色老大久久综合网| 色悠久久久| 四虎AV麻豆| 国产亚洲精品97AA片在线播放| 黑人巨大精品欧美一区二区区| 国产成人调教在线视频| 精品夜恋影院亚洲欧洲| 欧美日韩一区二区在线免费观看| 亚洲欧美综合精品久久成人网| 波多野结衣视频一区二区| 欧美日韩国产在线人| 日韩国产 在线| 亚洲黄网在线| 日韩精品无码不卡无码| 日韩国产亚洲一区二区在线观看| 久久综合结合久久狠狠狠97色| 五月天丁香婷婷综合久久| 国产超薄肉色丝袜网站| 在线国产欧美| 亚洲成aⅴ人片在线影院八| 国产91无码福利在线| 日本午夜影院| 国产激情无码一区二区三区免费| 国产精品大白天新婚身材| 国产在线八区| a毛片基地免费大全| 久久综合伊人 六十路| 欧美视频在线不卡| 色综合中文| 日本www在线视频| 久久中文电影| av在线手机播放| 欧美成人手机在线视频|