張 樂, 包廣斌, 郭 琳, 武 立
(1. 商洛學(xué)院 電子信息與電氣工程學(xué)院, 陜西 商洛 726000; 2. 蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院, 甘肅 蘭州 730050; 3. 陜西省商洛市體育運(yùn)動(dòng)中心, 陜西 商洛 726000)
近年來,隨著新型傳感器技術(shù)的不斷發(fā)展,如Leap Motion和Kinect的出現(xiàn),3D交互技術(shù)成為人機(jī)交互領(lǐng)域的熱點(diǎn)研究課題之一[1-2].然而,該類傳感器往往需要在特定的空間區(qū)域內(nèi)才能進(jìn)行人機(jī)交互,極易受到外部環(huán)境因素的干擾[3-4].基于慣性傳感器的3D交互技術(shù)因不受外部條件的限制,被廣泛地應(yīng)用于3D交互技術(shù)領(lǐng)域.此外,隨著微電子技術(shù)的日趨成熟,基于微機(jī)電系統(tǒng)(micro electro mechanical systems,MEMS)的新型傳感器因體積小、成本低廉和靈敏度高等優(yōu)點(diǎn),常被內(nèi)置到智能手機(jī)上[5],如主流的陀螺儀慣性傳感器和加速度傳感器.移動(dòng)智能手機(jī)因內(nèi)置如此多的傳感器,使得機(jī)器具備越來越強(qiáng)大的感知能力.因此,研究基于智能手機(jī)的3D空間手寫識(shí)別,對(duì)于促進(jìn)智能人機(jī)交互領(lǐng)域的發(fā)展具有重要的應(yīng)用價(jià)值.
基于加速度傳感器的3D空間手寫識(shí)別的關(guān)鍵在于特征提取,現(xiàn)有研究大多從加速度信號(hào)中提取關(guān)鍵特征,并根據(jù)獲取到的特征實(shí)現(xiàn)手寫識(shí)別.在特征角度視域下,現(xiàn)有研究主要包括時(shí)域特征和頻域特征[6-7].如Yao等[8]利用PCA技術(shù)將提取到的時(shí)域和頻域特征進(jìn)行融合,并用深度學(xué)習(xí)建模,實(shí)現(xiàn)了一種新型的基于智能手表的手寫感應(yīng)系統(tǒng)且準(zhǔn)確率高達(dá)92.42%.Du等[9]通過利用快速傅里葉(fast fourier transform,FFT)和離散余弦變換(discrete cosine transform,DCT)算法對(duì)基于智能手機(jī)的加速度傳感器采集到的加速度信號(hào)進(jìn)行頻域變換,實(shí)現(xiàn)了17類手勢(shì)的精準(zhǔn)識(shí)別.Patil等[10]提出一種基于無線慣性測(cè)量單元(WIMU)的手部運(yùn)動(dòng)分析技術(shù),融合磁性、角速率和重力傳感器(MARG)數(shù)據(jù),采用動(dòng)態(tài)時(shí)間規(guī)整算法(DTW)實(shí)現(xiàn)了3D空間中的手寫識(shí)別.Du等[11]提出一種基于時(shí)域和頻域融合的多特征分類方法,首先通過從加速度傳感器采集的數(shù)據(jù)中提取短時(shí)能量特征和低頻分量;然后利用快速傅里葉變換提取頻域特征,并在此基礎(chǔ)上利用特征融合算法將時(shí)域特征和頻域特征進(jìn)行尺度融合;最后采用支持向量機(jī)構(gòu)造分類模型,實(shí)現(xiàn)運(yùn)動(dòng)軌跡的精確識(shí)別.張平等[12]提出一種基于MPU6050慣性傳感器的3D手勢(shì)識(shí)別方法,通過提取加速度和姿態(tài)角信號(hào)在手勢(shì)上的關(guān)鍵特征信息,利用決策樹對(duì)手勢(shì)進(jìn)行預(yù)分類,結(jié)合加速度和姿態(tài)角的變化規(guī)律實(shí)現(xiàn)了手勢(shì)的具體識(shí)別.除提取時(shí)域和頻域特征外,薛洋等[13]從加速度傳感器中提取到了一種旋轉(zhuǎn)特征,比傳統(tǒng)的時(shí)域原始特征、峰值谷值特征和FFT特征的識(shí)別性能具有更高的有效性.
綜上,雖然傳統(tǒng)基于加速度傳感器的3D手寫識(shí)別方法取得了一定的成果,但大多數(shù)模型的分類性能主要依賴于人工提取的特征.近年來,深度學(xué)習(xí)方法在文本、圖像、音頻等領(lǐng)域取得了突破性進(jìn)展.為此,本文基于長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory,LSTM)構(gòu)建模型,實(shí)現(xiàn)基于智能手機(jī)的3D空間手寫識(shí)別.
目前,還沒有任何開源的基于加速度傳感器的3D空間手寫識(shí)別數(shù)據(jù)集,當(dāng)前大多數(shù)工作僅利用少量的數(shù)據(jù)來研究3D空間手寫識(shí)別.為此,本文首先制作了一個(gè)高質(zhì)量的3D空間手寫識(shí)別數(shù)據(jù)集,并對(duì)外開源.其次,利用LSTM構(gòu)建一個(gè)3D空間手寫識(shí)別模型.圖1給出了本文模型的處理流程.
圖1 3D空間手寫數(shù)字識(shí)別流程Fig.1 Process of 3D handwritten digit recognition
選擇55名年齡在18~30歲的青年男女,其中男性34人,女性21人,待采樣手機(jī)型號(hào)不一.首先,參與者通過手持移動(dòng)智能手機(jī),在空間中書寫數(shù)字0~9,每人每個(gè)數(shù)字書寫10遍,最終獲得5 500條數(shù)據(jù).每個(gè)手寫數(shù)字的書寫筆畫示意圖如圖2所示,圖中箭頭方向表示書寫數(shù)字時(shí)的手部運(yùn)動(dòng)軌跡.其中,數(shù)字“0”、“1”和“8”允許兩種書寫軌跡.特別地,所有的數(shù)字均采用一筆完成.
圖2 手寫數(shù)字的書寫筆畫示意圖Fig.2 Schematic diagram of strokes of handwritten digits
智能手機(jī)加速度傳感器的采集頻率越高,表明單位時(shí)間內(nèi)所采集的數(shù)據(jù)量越大.此外,考慮到移動(dòng)智能手機(jī)的計(jì)算能力,同時(shí)讓機(jī)器盡可能多地獲得數(shù)據(jù)點(diǎn).為了達(dá)到上述問題的平衡,本文模型選擇采集頻率為15 Hz,采集時(shí)間為3 s.
手寫數(shù)字的信號(hào)波形見圖3,其中,縱軸為軸加速度值,橫軸為采集時(shí)間.
圖3 手寫數(shù)字信號(hào)波形圖
基于3D加速度傳感器的手寫數(shù)字信號(hào)構(gòu)成復(fù)雜,除了現(xiàn)有主流工作考慮到的傳感器材料特性和制作工藝,還應(yīng)該考慮傳感器漂移、重力誤差、溫度、累計(jì)誤差和采樣者手抖動(dòng)等多種因素造成的干擾噪聲.為了盡可能降低噪聲數(shù)據(jù)的干擾,本文通過如下方法對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理.
1.2.1數(shù)據(jù)規(guī)整
所采集原始數(shù)據(jù)的列數(shù)為3列,分別對(duì)應(yīng)x軸、y軸和z軸.因手機(jī)品牌不同,相同條件下采集的數(shù)據(jù)長(zhǎng)度略有差別,此處選擇采集數(shù)據(jù)的行數(shù)不多于43行,43行表示所有參與者采用智能手機(jī)采集到的數(shù)據(jù)的最大長(zhǎng)度.通過將采集到的數(shù)據(jù)進(jìn)行可視化后,發(fā)現(xiàn)每條數(shù)據(jù)中的關(guān)鍵數(shù)據(jù)都均勻地分布在單位面積的中間部分.因此,為了實(shí)現(xiàn)數(shù)據(jù)的規(guī)整化,此處采用插值法在數(shù)據(jù)的開始或結(jié)尾進(jìn)行插值,本文選擇在數(shù)據(jù)的末尾進(jìn)行插值,即將最后一行數(shù)據(jù)作為插值數(shù)值.
1.2.2歸一化
由于在數(shù)據(jù)采集過程中,每個(gè)參與者因手部運(yùn)動(dòng)的速度和幅度不一,導(dǎo)致書寫的數(shù)字差異性較大.為了消除這些因素對(duì)模型整體識(shí)別的干擾,本文采用數(shù)值歸一化來預(yù)處理采集到的所有數(shù)據(jù).利用下式對(duì)任意取值范圍的特征值轉(zhuǎn)化為[0,1]的標(biāo)準(zhǔn)值:
(1)
其中:oldValue和newValue分別表示原始數(shù)據(jù)和歸一化處理后的數(shù)值;max和min表示x軸、y軸或z軸中的任意一軸采集的數(shù)據(jù)的最大值和最小值.原始數(shù)據(jù)歸一化前、后的效果對(duì)比如圖4所示.
1.2.3去除重力加速度分量
智能手機(jī)采集的加速度數(shù)據(jù)主要包括重力加速度分量和運(yùn)動(dòng)感應(yīng)加速度分量?jī)刹糠?重力分量由于不依賴用戶的手部運(yùn)動(dòng),被視為噪聲,進(jìn)行剔除.對(duì)于運(yùn)動(dòng)感應(yīng)加速度分量,利用下面的公式計(jì)算對(duì)應(yīng)的線性加速度,即去除重力分量干擾后的手部運(yùn)動(dòng)加速度:
gravity_x=alpha*gravity+
(1-alpha)*x_values
(2)
gravity_y=alpha*gravity+
(1-alpha)*y_values
(3)
gravity_z=alpha*gravity+
(1-alpha)*z_values
(4)
linear_(acceleration_x)=x_values-
gravity_x
(5)
linear_(acceleration_y)=y_values-gravity_y
(6)
linear_(acceleration_z)=z_values-gravity_z
(7)
其中:alpha=0.8;gravity=9.8 m2/s;*_values為原始數(shù)據(jù);gravity_*為重力分量;linear_acceleration_*線性加速度;*指x、y或z軸.
近年來,深度學(xué)習(xí)已經(jīng)在語音識(shí)別、運(yùn)動(dòng)軌跡識(shí)別和相關(guān)文本序列處理等方面取得了突破性的進(jìn)展.長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)作為一種時(shí)間遞歸神經(jīng)網(wǎng)絡(luò),非常適合本文研究的手寫數(shù)字識(shí)別的文本序列數(shù)據(jù)[14].特別地,與循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)相比,長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)將RNN的隱含層用記憶單元來代替,可以實(shí)現(xiàn)文本的長(zhǎng)距離依賴編碼,緩解了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)梯度消失的問題[15].循環(huán)神經(jīng)網(wǎng)絡(luò)與長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)的對(duì)應(yīng)關(guān)系如圖5所示.
圖5 RNN與LSTM的對(duì)應(yīng)關(guān)系Fig.5 Corresponding relationship between RNN and LSTM
在長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)的記憶塊中,僅有一個(gè)記憶細(xì)胞的單個(gè)記憶塊結(jié)構(gòu)如圖6所示.記憶細(xì)胞在記憶塊的中心,具有一條自連接的循環(huán)邊,并按恒等線性函數(shù)激活,即將前一時(shí)刻的記憶細(xì)胞內(nèi)部狀態(tài)st-1與ft直接逐點(diǎn)乘積而不采用非線性激活.記憶細(xì)胞的狀態(tài)稱為記憶塊的內(nèi)部狀態(tài),當(dāng)前時(shí)刻的更新表示為
圖6 記憶塊的結(jié)構(gòu)Fig.6 Structure of memory block
st=st-1°ft+it°gt
(8)
其中:“°”表示逐點(diǎn)乘積.輸出門模塊的功能是將xt和ht—1的加權(quán)和按照sigmoid函數(shù)進(jìn)行激活,產(chǎn)生值向量οt.輸出門擠壓模塊主要是對(duì)記憶細(xì)胞內(nèi)部狀態(tài)st按照tanh函數(shù)進(jìn)行激活,并產(chǎn)生值向量tanh(st).整個(gè)記憶塊的值向量計(jì)算是通過輸出門模塊的值向量οt和輸出擠壓模塊的值向量tanh(st)的逐點(diǎn)乘積.
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)包含多個(gè)隱含層,每個(gè)隱含層包含多個(gè)記憶塊,而每個(gè)記憶塊包含一個(gè)或多個(gè)記憶細(xì)胞.對(duì)于具有Elman結(jié)構(gòu)的長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),其中一個(gè)記憶塊在t時(shí)刻的計(jì)算過程可以表示為
其中:wxg表示xt與輸入擠壓模塊之間的權(quán)重矩陣;whg表示t-1時(shí)刻記憶塊的輸出ht-1與輸出擠壓模塊之間的權(quán)重矩陣;wxi表示xt與輸入門模塊之間的權(quán)重矩陣;whi表示ht-1與輸入門模塊之間的權(quán)重矩陣;wxf表示xt與遺忘門模塊之間的權(quán)重矩陣;whf表示ht-1與遺忘門模塊之間的權(quán)重矩陣;wxo表示xt與輸出門模塊之間的權(quán)重矩陣;who表示ht-1與輸出門模塊之間的權(quán)重矩陣;bg、bi、bf和bo分別表示記憶塊、輸入門模塊、遺忘門模塊和輸出門模塊的偏置;σ(·)為L(zhǎng)ogistic函數(shù).
本文基于LSTM建立的識(shí)別模型如圖7所示.在基于加速度傳感器的3D手寫識(shí)別任務(wù)中,采集到的加速度信號(hào)屬于典型的非平穩(wěn)信號(hào),該類信號(hào)的特征復(fù)雜、多樣,關(guān)鍵特征提取難度大,僅靠人工提取的特征往往難以對(duì)原始信號(hào)進(jìn)行充分的表達(dá).為此,本文通過將非平穩(wěn)信號(hào)轉(zhuǎn)換為常見易處理的時(shí)間序列信號(hào),利用長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)進(jìn)行關(guān)鍵特征提取.此處,試圖建立一個(gè)多隱含層、多節(jié)點(diǎn)的深度學(xué)習(xí)模型來提取手勢(shì)動(dòng)作加速度的關(guān)鍵特征,并且實(shí)現(xiàn)對(duì)手勢(shì)動(dòng)作的分類.
圖7 3D手寫識(shí)別模型
利用堆疊的LSTM特征提取層對(duì)輸入數(shù)據(jù)進(jìn)行深層特征提取后,在上述構(gòu)建的LSTM網(wǎng)絡(luò)架構(gòu)的后面再連接2層全連接網(wǎng)絡(luò)層(第2層全連接網(wǎng)絡(luò)層為輸出層),用于對(duì)提取的深層特征進(jìn)行分類,計(jì)算如下式:
oi=softmax(wihit+bi)
(15)
其中:oi為輸出手寫數(shù)字的類別;wi為最后一層特征提取層與第一層全連接層之間的權(quán)重矩陣;hit為t時(shí)刻最后一層特征提取層的輸出矩陣;bi為第一層全連接層偏置.
本文所用操作系統(tǒng)為Windows11,借助Anaconda搭建TensorFlow1.14運(yùn)行環(huán)境,使用Jupyter Notebook編寫代碼.計(jì)算機(jī)硬件配置為Intel i7處理器,NVIDIA RTX3060顯卡.
將采集的5 500條數(shù)據(jù)進(jìn)行人工標(biāo)注,其中訓(xùn)練集為3 850條,用于模型的訓(xùn)練;測(cè)試集為1 650條,用于模型的測(cè)試.
測(cè)試集上的評(píng)價(jià)指標(biāo)采用分類任務(wù)中常用的準(zhǔn)確率(Accuracy,A)、召回率(Recall,R)、精準(zhǔn)率(Precision,P)以及F1分?jǐn)?shù)(F1Score,F1)評(píng)分.相關(guān)評(píng)價(jià)指標(biāo)的計(jì)算如下式:
(16)
其中:FN、TP、FP和TN分別是假陰性(false negative)、真陽性(ture positive)、假陽性(false positive)和真陰性(ture negative).相應(yīng)的混淆矩陣如表1所列.
表1 混淆矩陣
為了獲取分類性能最佳的模型參數(shù),此處根據(jù)模型識(shí)別準(zhǔn)確率來確定LSTM模型隱含層層數(shù)和每一層隱含層的節(jié)點(diǎn)數(shù).模型參數(shù)對(duì)應(yīng)的識(shí)別準(zhǔn)確率見表2.
表2 特征提取層的參數(shù)和對(duì)應(yīng)的識(shí)別準(zhǔn)確率
由于決定模型性能的網(wǎng)絡(luò)層為特征提取層,因而可固定第一層全連接層的節(jié)點(diǎn)數(shù),然后搜索特征提取層網(wǎng)絡(luò)結(jié)構(gòu)參數(shù).用于分類的全連接層節(jié)點(diǎn)數(shù)只有在過小和過大時(shí)才會(huì)對(duì)分類結(jié)果產(chǎn)生一定的影響,因而本文設(shè)定的第一層全連接層網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)為200.輸出層的節(jié)點(diǎn)數(shù)由分類任務(wù)的類別數(shù)量決定,即為10.通過表2可知,當(dāng)LSTM模型的特征提取層數(shù)(Layers)為4,每一層特征提取的節(jié)點(diǎn)數(shù)(Nodes)為80時(shí),或者特征提取層數(shù)為4,每一層特征提取的節(jié)點(diǎn)數(shù)為90時(shí),或者特征提取層數(shù)為7,每一層特征提取的節(jié)點(diǎn)數(shù)為60時(shí),模型的分類準(zhǔn)確率最高,達(dá)到了87.0%.綜合智能手機(jī)的算力資源和模型識(shí)別穩(wěn)定性等因素的考慮,本文模型選擇特征提取層數(shù)Layers為4,每一層特征提取的節(jié)點(diǎn)數(shù)Nodes為80,并定義該模型為L(zhǎng)4-80.此外,可以發(fā)現(xiàn)更多的特征提取和特征提取節(jié)點(diǎn)數(shù)并不能獲得更高的準(zhǔn)確率,甚至當(dāng)特征提取和特征提取節(jié)點(diǎn)數(shù)增大到一定數(shù)量后準(zhǔn)確率反而呈現(xiàn)下降趨勢(shì),這主要是因?yàn)楫?dāng)特征提取層數(shù)和節(jié)點(diǎn)數(shù)較大時(shí)會(huì)導(dǎo)致過擬合問題;相反,較少的特征提取和特征提取節(jié)點(diǎn)數(shù)也因?yàn)榍窋M合而不能獲得較高的準(zhǔn)確率.
L4-80模型的訓(xùn)練過程如圖8所示,當(dāng)訓(xùn)練迭代次數(shù)到達(dá)1×106步時(shí),模型的測(cè)試損失值趨于平穩(wěn),測(cè)試準(zhǔn)確率達(dá)到最大值.
圖8 L4-80模型訓(xùn)練過程Fig.8 Training process of L4-80 model
圖9給出了本文模型在測(cè)試集上的混淆矩陣,其中,橫坐標(biāo)表示參與者手持智能手機(jī)在3D空間中的實(shí)際輸入數(shù)字,縱坐標(biāo)表示本文模型識(shí)別的數(shù)字.可以看出,本文模型的整體識(shí)別性能較好,但也存在一些識(shí)別錯(cuò)誤的結(jié)果,如數(shù)字1、4和7.也有一些手寫數(shù)字因?yàn)樵谌S空間中的運(yùn)動(dòng)軌跡很相似,導(dǎo)致識(shí)別出現(xiàn)混淆,如數(shù)字0和6.
圖9 測(cè)試集上的混淆矩陣Fig.9 Confusion matrix on test set
為進(jìn)一步探究模型的性能,利用測(cè)試集數(shù)據(jù)分別對(duì)10個(gè)手寫數(shù)字的各項(xiàng)評(píng)價(jià)指標(biāo)進(jìn)行了計(jì)算,圖10分別給出了準(zhǔn)確率、召回率、精準(zhǔn)率和F1分?jǐn)?shù).其中,數(shù)字9的準(zhǔn)確率超過90%;數(shù)字3、6和9的召回率超過90%;數(shù)字1、3、4、5、8和9的精準(zhǔn)率超過90%;數(shù)字3、5、8和9的F1分?jǐn)?shù)超過90%.整體的準(zhǔn)確率為86.4%,召回率為88.1%,精確度為88.3%,F1分?jǐn)?shù)為88.0%.
圖10 3D手寫數(shù)字的評(píng)價(jià)指標(biāo)Fig.10 Evaluation Index of 3D handwritten digits
本文利用LSTM深度學(xué)習(xí)模型實(shí)現(xiàn)了基于智能手機(jī)的3D空間手寫識(shí)別.首先,構(gòu)建了一套基于智能手機(jī)的3D空間手寫數(shù)字識(shí)別數(shù)據(jù)集,數(shù)據(jù)多達(dá)5 500條.并利用自建的數(shù)據(jù)集構(gòu)造了基于LSTM循環(huán)單元的深度神經(jīng)網(wǎng)絡(luò)模型.通過在自建數(shù)據(jù)集上進(jìn)行測(cè)試,本文模型在10個(gè)數(shù)字上取得了較好的分類效果,可以較好地提取手勢(shì)動(dòng)作信號(hào)中的關(guān)鍵特征.本文工作可以為研究智能手機(jī)內(nèi)置加速度傳感器的3D空間手寫識(shí)別提供一套開源數(shù)據(jù)集,為智能人機(jī)交互的發(fā)展提供參考.
本文當(dāng)前工作主要基于加速度傳感器的手勢(shì)數(shù)據(jù)來訓(xùn)練3D手寫識(shí)別模型,在未來工作中將嘗試引入三軸陀螺儀傳感器數(shù)據(jù),進(jìn)一步提升模型的訓(xùn)練性能.
致謝:本文得到商洛學(xué)院科研項(xiàng)目(21SKY003)的資助,在此表示感謝.