国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于慣性傳感器的空中運動軌跡識別與實現(xiàn)

2020-11-10 01:33:52李忠虎狄慧敏王金明
科學(xué)技術(shù)與工程 2020年28期
關(guān)鍵詞:手寫原始數(shù)據(jù)卡爾曼濾波

李忠虎, 狄慧敏, 王金明

(內(nèi)蒙古科技大學(xué)信息工程學(xué)院, 包頭 014010)

隨著時代發(fā)展,數(shù)據(jù)捕捉系統(tǒng)已經(jīng)廣泛應(yīng)用諸如航天、航海以及工業(yè)等領(lǐng)域[1]。慣性動作捕捉技術(shù)應(yīng)用領(lǐng)域廣泛,在影視拍攝方面可以很好地彌補光學(xué)動作捕捉的缺點,在導(dǎo)航領(lǐng)域是解決室內(nèi)導(dǎo)航技術(shù)的主要方法,在交互領(lǐng)域可以實現(xiàn)更加直觀便捷的交互體驗[2-5]。手勢識別作為新型人機交互方式之一,已成為一項越來越重要的熱點研究內(nèi)容[6]。如劉磊[7]通過在人體上布設(shè)三軸陀螺儀、三軸加速度計和三軸地磁傳感器,對傳感器數(shù)據(jù)融合處理之后得出人體的位移和姿態(tài)角。

人體運動傳感器是運動捕捉的關(guān)鍵設(shè)備,主要分為慣性式、光學(xué)式、聲學(xué)式、電磁式、機械電動式等5種。傳統(tǒng)的動作捕捉系統(tǒng)使用外部傳感器如攝像頭等來捕捉人體動作,這種方法往往會受到場地、環(huán)境的限制。隨著微機械電子系統(tǒng)(MEMS)技術(shù)的發(fā)展,由MEMS器件構(gòu)成的微型人體運動傳感器顯示出了更加突出的優(yōu)點[8]。本文以微型運動傳感器為核心硬件,對空中手寫軌跡識別算法進行研究。

1 系統(tǒng)結(jié)構(gòu)及原理

圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure block diagram

系統(tǒng)結(jié)構(gòu)如圖1所示,主要由微機械電子系統(tǒng)(MEMS)、微控制單元(MCU)和計算機系統(tǒng)三部分組成,MEMS負(fù)責(zé)載體加速度、角速度和地磁數(shù)據(jù)的采集,MCU負(fù)責(zé)對采集到的數(shù)據(jù)進行融合計算,計算機中的MATLAB程序負(fù)責(zé)前期的算法仿真實驗以及后期的軌跡繪制及識別。

該系統(tǒng)可用于檢測傳感器在三維空間的運動軌跡,并通過三維空間的姿態(tài)角變換矩陣將傳感器動態(tài)信息投影到二維坐標(biāo)平面,經(jīng)過一系列積分運算最終重現(xiàn)軌跡信息。將軌跡傳送到計算機中,經(jīng)過神經(jīng)網(wǎng)絡(luò)分類來識別手寫軌跡。

2 卡爾曼濾波算法研究

對于物體運動軌跡檢測系統(tǒng),由于各種誤差源的存在,使得軌跡復(fù)原會帶來一定的誤差。因此,需要對誤差進行分析和建模,以降低誤差源對檢測系統(tǒng)的影響。

針對多慣性傳感器之間融合濾波估計姿態(tài)的問題,林森[9]采用基于加速度傳感器非線性特性的加速度數(shù)值修正算法;Madgwick[10]等使用梯度下降法優(yōu)化提出了固定增益互補濾波器。本系統(tǒng)的具體實現(xiàn)原理如圖2所示。首先對MEMS數(shù)據(jù)進行第一次卡爾曼濾波,然后對加速度和角速度數(shù)據(jù)進行姿態(tài)融合處理,并利用地磁數(shù)據(jù)對姿態(tài)角進行修正,得到載體的姿態(tài)數(shù)據(jù)。將姿態(tài)數(shù)據(jù)轉(zhuǎn)換為四元數(shù),結(jié)合MEMS采集到的加速度數(shù)據(jù)將載體坐標(biāo)系中的三軸加速度數(shù)據(jù)轉(zhuǎn)換為地理坐標(biāo)系中的三軸加速度數(shù)據(jù),然后去除重力加速度進行加速度二重積分得到位移數(shù)據(jù),最后對位移進行二次卡爾曼濾波并進行積分后得到軌跡。

圖2 卡爾曼濾波軌跡捕捉原理圖Fig.2 Kalman filter trajectory capture schematic diagram

本文使用卡爾曼濾波算法,針對原始三維加速度數(shù)據(jù)和三維軌跡數(shù)據(jù)分別設(shè)計濾波器??柭鼮V波分為兩個階段:狀態(tài)預(yù)測和狀態(tài)更新[11]。下面結(jié)合卡爾曼濾波的基本原理針對原始數(shù)據(jù)和軌跡預(yù)測兩個過程分別設(shè)計濾波器。

2.1 原始數(shù)據(jù)采集與濾波

采用MEMS并結(jié)合Arduino硬件平臺,將MEMS原始數(shù)據(jù)采集到MATLAB中進行仿真。首先用MEMS在空間中寫一個數(shù)字“8”,將采集到的原始數(shù)據(jù)進行卡爾曼濾波。

設(shè)每次采集的數(shù)據(jù)和上次最優(yōu)估計的數(shù)據(jù)相等,用上一周期得到的后驗估計量來估計下一周期的先驗估計量,于是可以設(shè)定狀態(tài)預(yù)測方程為

(1)

由上一時刻的后驗估計協(xié)方差估計當(dāng)前先驗協(xié)方差:

(2)

得到先驗協(xié)方差后,下一步求取卡爾曼增益:

(3)

式(3)中:Kt表示卡爾曼增益;R表示觀測噪聲。

卡爾曼增益由先驗協(xié)方差和觀測噪聲來決定,由卡爾曼增益來決定最優(yōu)值更相信預(yù)測還是更相信觀察。

得到了卡爾曼增益就可以計算當(dāng)前時刻的后驗估計值:

(4)

式(4)中:Zt表示測量值。

最后計算后驗方差,為下一次循環(huán)做準(zhǔn)備:

(5)

式(5)中:I表示單位矩陣。

對傳感器X、Y、Z軸的數(shù)據(jù)分別進行上述操作,可以分別得到X、Y、Z軸的加速度原始數(shù)據(jù)濾波后的效果圖,如圖3所示。

對X、Y、Z三軸加速度濾波前與濾波后的方差進行對比,見表1,濾波后演示數(shù)據(jù)方差明顯縮小。由方差的定義可知,方差是度量變量和其數(shù)學(xué)期望之間的偏離程度。所以由表1可知,經(jīng)過濾波之后,X軸和Y軸的穩(wěn)定性改善后約為50%,Z軸的穩(wěn)定性改善后約為30%。

2.2 坐標(biāo)系轉(zhuǎn)換

進行坐標(biāo)系轉(zhuǎn)換主要有歐拉角和四元數(shù)兩種方式,采用四元數(shù)法進行坐標(biāo)系轉(zhuǎn)換有顯著優(yōu)勢,該方法轉(zhuǎn)換計算簡單且能避免萬向節(jié)死鎖的發(fā)生[12]。但MEMS并不能直接得到四元數(shù),需要將歐拉角轉(zhuǎn)換為四元數(shù)。其轉(zhuǎn)換方法如下:

圖3 原始數(shù)據(jù)濾波Fig.3 Raw data filter

表1 濾波前后原始數(shù)據(jù)方差對比

(6)

MEMS采集到的數(shù)據(jù)以16位有符號二進制數(shù)存放在相應(yīng)的寄存器中,將原始數(shù)據(jù)轉(zhuǎn)換為標(biāo)準(zhǔn)加速度單位,公式如下:

(7)

式(7)中:a表示轉(zhuǎn)換后的標(biāo)準(zhǔn)加速度單位值;x表示原始數(shù)據(jù),16位有符號二進制,最高位表示符號,剩余15位是215=32 768;2表示JY901傳感器的測量最大值設(shè)定為2g(g為重力加速度)。

這樣分別將X、Y、Z軸的原始數(shù)據(jù)進行轉(zhuǎn)換得到當(dāng)前載體歐拉角?、φ、ψ,并將其轉(zhuǎn)換為四元數(shù)q后,將該載體的三軸加速度向量ax、ay、az從載體坐標(biāo)系轉(zhuǎn)換到地理坐標(biāo)系。設(shè)三軸加速度向量為ax、ay、az,用三軸加速度向量構(gòu)造一個四元數(shù),令p=[0axayaz],轉(zhuǎn)換后的三軸加速度向量p′與轉(zhuǎn)換前三軸加速度向量p和載體姿態(tài)信息四元數(shù)的關(guān)系如下:

p′=qpq-1

(8)

坐標(biāo)轉(zhuǎn)換過程中涉及四元數(shù)的兩種運算,即四元數(shù)乘法和四元數(shù)求逆。四元數(shù)乘法運算規(guī)則是設(shè)p、q是兩個四元數(shù),其中:

p=[w1x1y1z1]

(9)

q=[w2x2y2z2]

(10)

它們相乘的關(guān)系如下:

(11)

四元數(shù)求逆的運算如下:

(12)

式(12)中:q*表示四元數(shù)q的共軛。

假設(shè):

q=[wxyz]

(13)

那么q的共軛為

q*=[w-x-y-z]

(14)

|q|表示四元數(shù)的模:

(15)

加速度坐標(biāo)系轉(zhuǎn)換分別如圖4~圖6所示,將MEMS在原地進行任意旋轉(zhuǎn)操作,同時采集傳感器的數(shù)據(jù)進行上述坐標(biāo)轉(zhuǎn)換處理。因為載體在原地進行旋轉(zhuǎn),地球重力始終豎直向下,所以隨著載體的旋轉(zhuǎn),重力分量會在載體坐標(biāo)系的三個軸向發(fā)生變化,但是在將載體坐標(biāo)系的三個軸向加速度結(jié)合載體自身姿態(tài)信息進行坐標(biāo)系轉(zhuǎn)換后,重力分量應(yīng)始終在地理坐標(biāo)系的Z軸上。

圖4 X軸加速度轉(zhuǎn)換效果Fig.4 X-axis acceleration conversion effect

圖5 Y軸加速度轉(zhuǎn)換效果Fig.5 Y-axis acceleration conversion effect

圖6 Z軸加速度轉(zhuǎn)換效果Fig.6 Z-axis acceleration conversion effect

圖4(a)、圖5(a)、圖6(a)表示未進行坐標(biāo)轉(zhuǎn)換時載體坐標(biāo)系下的加速度信息,可以看到重力分量隨著載體的旋轉(zhuǎn)在載體坐標(biāo)系下的三個軸向的變化情況。圖4(b)、圖5(b)、圖6(b)是根據(jù)四元數(shù)坐標(biāo)轉(zhuǎn)換將加速度數(shù)據(jù)轉(zhuǎn)換為地理坐標(biāo)系下的值,可以直觀地看到重力分量全在Z軸上,表明此算法可以成功將加速度從載體坐標(biāo)系轉(zhuǎn)換為地理坐標(biāo)系,可以很容易地將重力加速度對積分的影響消除,作為接下來積分求取運動軌跡的基礎(chǔ)。

2.3 軌跡獲取

設(shè)載體t時刻的狀態(tài)S是由三維位置Px、Py、Pz和Vx、Vy、Vz組成,則載體狀態(tài)S可表示為

(16)

任一當(dāng)前位置P可表示為

(17)

式(17)中:P-表示上一時刻位置;V-表示上一時刻速度;t表示兩時間點之間的時間間隔;a表示兩時間間隔過程中的加速度。

當(dāng)前時刻的速度V可以表示為

V=V-+at

(18)

將式(18)擴展為三維矩陣形式,令狀態(tài)轉(zhuǎn)移矩陣F為

(19)

控制矩陣B為

(20)

則系統(tǒng)的狀態(tài)預(yù)測方程可表示為

(21)

(22)

根據(jù)狀態(tài)轉(zhuǎn)移矩陣估計先驗估計協(xié)方差表示為

(23)

卡爾曼增益為

(24)

式(24)中:H為觀測矩陣:

(25)

然后計算后驗估計值:

(26)

最后計算后驗估計協(xié)方差,準(zhǔn)備下一次循環(huán):

(27)

2.4 軌跡識別

遷移學(xué)習(xí)能夠利用已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型對事物的理解能力快速學(xué)習(xí)新的任務(wù)。AlexNet網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。

圖7 AlexNet網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Alexnet network structure

后來也被很多的研究改進應(yīng)用,例如戎輝等[13]研究將其應(yīng)用于駕駛員行為狀態(tài)識別,在交通安全方面有很高的推廣和應(yīng)用價值。AlexNet輸入為227×227×3,其中3代表彩色圖像RGB,但原始圖像尺寸有可能不是227×227×3,有的過大,有的過小。因此需要進行圖像的尺寸變換將圖像大小轉(zhuǎn)換為227×227×3。

因為本設(shè)計的分類數(shù)為10類,需要將AlexNet的最后三層FullyConnectedLayer、SoftmaxLayer、ClassificationOutputLayer結(jié)合實驗進行重新配置并替換為10分類。

3 實驗分析

3.1 實驗系統(tǒng)設(shè)計

實驗系統(tǒng)如圖8所示,系統(tǒng)包括Arduino開發(fā)板、JY901傳感器和計算機。Arduino開發(fā)板的時鐘頻率為32 MHz,F(xiàn)lash為196 kB,SRAME為24 kB。

圖8 實驗設(shè)備Fig.8 Experimental equipment

本文中采用Arduino硬件平臺,通過IIC查詢JY901中的原始數(shù)據(jù)并對其進行第一重的卡爾曼濾波,結(jié)合四元數(shù)坐標(biāo)系轉(zhuǎn)換方法將載體坐標(biāo)系的三軸加速度信息轉(zhuǎn)換到地理坐標(biāo)系中,并去除了重力加速度在積分獲取軌跡中的影響。結(jié)合三重積分對載體的運動軌跡進行計算,然后將坐標(biāo)值通過串口發(fā)送到MATLAB中進行繪圖。最后結(jié)合手寫數(shù)字進行了驗證,此方法能較為準(zhǔn)確地得到載體的運動軌跡,采用AlexNet神經(jīng)網(wǎng)絡(luò)的遷移學(xué)習(xí)進行了手寫數(shù)字識別,驗證了本算法的有效性和可行性。

3.2 實驗結(jié)果及分析

進行上述處理后的結(jié)果如圖9所示。圖10中,以手寫數(shù)字“8”為例,以上算法得到明顯的驗證,將不成形的軌跡進行校正,數(shù)字“8”的軌跡清晰的表現(xiàn)出來。

圖9 獲取軌跡Fig.9 Acquisition trajectory

圖10 單級卡爾曼濾波手寫數(shù)字識別效果Fig10 Recognition effect of handwritten digits with single Kalman filter

如圖11所示是利用單級卡爾曼濾波的方法在小范圍內(nèi)所做的手寫數(shù)字軌跡捕捉,與本文提出的方法作為對比,本文方法在精度上有了提升。雖然單級卡爾曼濾波的方法也能在一定程度上反應(yīng)載體的實際趨勢,但是因為在一定的空間范圍內(nèi)無法達到預(yù)想的實際效果,試驗效果不理想。

沿用此方法繼續(xù)采集手寫數(shù)字,每個數(shù)字采集一百張樣本圖片,構(gòu)造數(shù)據(jù)集進行分類訓(xùn)練,訓(xùn)練結(jié)果準(zhǔn)確率為87.3%。重新采集測試數(shù)據(jù)集進行驗證,識別結(jié)果如圖11所示。數(shù)字0~9的識別置信率見表2。

從圖11所示的手寫數(shù)字0~9的識別效果可以看出,手寫軌跡順滑、清楚,容易識別,同時,由表2可知,數(shù)字0~9的識別置信率最高為98.6%,最低為80.7%,平均為91.7%,達到了預(yù)期效果。

橫縱坐標(biāo)表示像素圖11 手寫數(shù)字識別效果Fig.11 Recognition effect of handwritten numbers

表2 數(shù)字0~9的識別置信率

4 結(jié)論

本文設(shè)計了基于慣性傳感器的空中運動軌跡識別系統(tǒng),使用卡爾曼濾波算法對信號進行濾波處理,采用AlexNet神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)進行了手寫數(shù)字識別。實驗結(jié)果表明,該方法可清晰捕捉載體的運動軌跡,以空中手寫數(shù)字項目得到了驗證。本算法可在較小的空間區(qū)域內(nèi)實現(xiàn)對軌跡的清晰重現(xiàn),捕捉軌跡識別度較高,達到了預(yù)期效果。

猜你喜歡
手寫原始數(shù)據(jù)卡爾曼濾波
手寫比敲鍵盤更有助于學(xué)習(xí)和記憶
GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
我手寫我心
受特定變化趨勢限制的傳感器數(shù)據(jù)處理方法研究
抓住身邊事吾手寫吾心
基于集成學(xué)習(xí)的MINIST手寫數(shù)字識別
電子制作(2018年18期)2018-11-14 01:48:08
基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
全新Mentor DRS360 平臺借助集中式原始數(shù)據(jù)融合及直接實時傳感技術(shù)實現(xiàn)5 級自動駕駛
汽車零部件(2017年4期)2017-07-12 17:05:53
基于模糊卡爾曼濾波算法的動力電池SOC估計
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
广宁县| 五峰| 富锦市| 泗阳县| 刚察县| 吴川市| 威信县| 乌兰浩特市| 通海县| 康保县| 乌海市| 浦东新区| 内乡县| 南部县| 清远市| 北碚区| 刚察县| 永平县| 永福县| 长宁区| 博乐市| 来宾市| 逊克县| 元阳县| 广东省| 定襄县| 云龙县| 萝北县| 安多县| 太仆寺旗| 连平县| 亚东县| 新竹县| 和顺县| 沅陵县| 古浪县| 黑河市| 龙游县| 邳州市| 宜兰市| 永川市|