陶 濤 孫玉娥 陳冬梅 楊文建 黃 河,3 羅永龍
1(蘇州大學計算機科學與技術(shù)學院 江蘇蘇州 215006)2(蘇州大學軌道交通學院 江蘇蘇州 215131)3(中國科學技術(shù)大學蘇州研究院 江蘇蘇州 215123)4(安徽師范大學計算機與信息學院 安徽蕪湖 241002)5(網(wǎng)絡與信息安全安徽省重點實驗室(安徽師范大學) 安徽蕪湖 241002)
在智慧生活的背景下,智慧城市、智能交通受到了政府工作者和各領(lǐng)域科研學者的廣泛關(guān)注.其中,地圖信息發(fā)揮著重要的作用[1-2].例如餐飲實體店位置信息獲取的準確性決定了顧客的數(shù)量;外賣、快遞等服務完成的時效性取決于服務過程的路線規(guī)劃(依賴起訖點之間的地圖數(shù)據(jù))情況;城鄉(xiāng)布局的調(diào)整(例如大型商業(yè)中心或者停車場的建立、道路的擴建、鄉(xiāng)村的改建等)以及旅游景區(qū)的規(guī)劃對目標周邊的地形地圖等信息也具有很強的依賴性.目前,國內(nèi)外比較領(lǐng)先的地圖平臺主要有高德地圖、百度地圖以及Google地圖等,這些平臺雖然擁有海量的地理信息,但它們無法實時地監(jiān)控局部區(qū)域的整改擴建情況,導致其數(shù)據(jù)庫中存在大量不完整的路網(wǎng)信息.而且這些情況往往會造成累積趨勢,需要較長的時間才會得到更新,因此容易引發(fā)地圖數(shù)據(jù)更新慢與智慧生活要求快2方面的矛盾,所以一種能夠?qū)崟r生成局部地圖的方法極為重要[3-4].通過對以往經(jīng)典地圖生成工作的調(diào)研發(fā)現(xiàn),目前常見的地圖生成方法可分為基于車載GPS經(jīng)緯度數(shù)據(jù)的構(gòu)建方法和基于視頻圖像數(shù)據(jù)的構(gòu)建方法.而考慮地圖的時效性要求,本文提出了一種基于便攜智能手機傳感器數(shù)據(jù)的地圖生成方法.通過對經(jīng)典傳感器[5-7]工作的研究,本文分析了基于傳感器數(shù)據(jù)工作的主要模式,并利用大量智能手機傳感器采集的數(shù)據(jù),進行了地圖輪廓的構(gòu)建.近年來,基于智能手機傳感器的工作越來越得到研究學者的重視,其中也存在一些基于傳感器構(gòu)建環(huán)境地圖的工作,例如文獻[5]采用分布式結(jié)構(gòu),提出利用多機器人進行地圖的構(gòu)建,建立了不精確傳感器的混合模型,但該工作對設備要求較高,從而無法廣泛應用.本文工作致力于對經(jīng)典的地圖生成方法無法監(jiān)測到的區(qū)域進行地圖輪廓數(shù)據(jù)的生成.相對于已有的地圖生成方法,本文利用智能手機的便攜性,通過對行人步行產(chǎn)生的持續(xù)傳感器數(shù)據(jù)進行挖掘與重組,從而彌補地圖上缺失路段的輪廓數(shù)據(jù).
首先,本文通過對傳感器數(shù)據(jù)的預處理,提取常見步行的轉(zhuǎn)向數(shù)據(jù)段,并通過對常見轉(zhuǎn)向情況的分析,對提取的數(shù)據(jù)段進行篩選,將其處理成方向轉(zhuǎn)變的參考模板;通過真實環(huán)境下采集得到的數(shù)據(jù)集,利用信號處理方法進行特征的計算,然后利用機器學習的方法進行特征的篩選、訓練數(shù)據(jù)的生成以及分類模型的構(gòu)建.接著,結(jié)合動態(tài)時間歸整(dynamic time warping, DTW)算法及隨機森林(random forest algorithm)分類算法從傳感器數(shù)據(jù)中識別出表征有效地圖數(shù)據(jù)的分段,最后利用步數(shù)檢測方法以及時域積分方法——辛普森法則(Simpson’s rule)進行數(shù)值計算,并以二元組序列形式將生成的地圖輪廓數(shù)據(jù)進行記錄.本文的工作在證明所提方法有效性的同時,也證明了基于智能手機傳感器數(shù)據(jù)的深入挖掘工作的可行性,為后續(xù)的基于智能手機傳感器的工作提供了系統(tǒng)的分析步驟和處理方法.
相關(guān)的工作主要可以分為3類:經(jīng)典室外地圖生成工作、室內(nèi)地圖生成工作以及基于智能手機傳感器的工作.
早期的室外地圖生成工作主要以測繪為主,通過實地的測量進行數(shù)據(jù)的記錄與地圖的繪制.但這種方法由于周期長、速度慢而逐漸被淘汰,后續(xù)的地圖生成工作主要包括對圖像數(shù)據(jù)進行挖掘提取路網(wǎng)信息以及利用GPS,WiFi或全球移動通信系統(tǒng)(global system for mobile communications, GSM)等設備進行數(shù)據(jù)的采集和地圖的繪制.
在基于圖像數(shù)據(jù)的地圖生成工作中,攝像設備普遍存在成本高、延時長等缺點,而且設備的部署以及數(shù)據(jù)的存儲均需消耗大量資源,例如文獻[8]利用移動車輛結(jié)合圖像信息進行拓撲圖構(gòu)建,其中數(shù)據(jù)的采集極易受到設備的影響,具有較大的局限性.除此之外,基于數(shù)字圖像數(shù)據(jù)的地圖生成工作還存在3個問題:1)數(shù)據(jù)涵蓋的實際路網(wǎng)信息占比較少,利用率較低;2)數(shù)據(jù)涵蓋的額外信息量大,可能具有隱私泄露的風險;3)數(shù)據(jù)的采集容易受到外部環(huán)境的影響,例如在光線昏暗的時空下進行數(shù)據(jù)采集容易導致錯誤成像,無法保證生成地圖的精度.
室內(nèi)地圖生成工作一般用于室內(nèi)定位,而室內(nèi)定位的工作可以大致分為2種.
2) 室內(nèi)定位方法,通過利用智能手機傳感器設備進行室內(nèi)輪廓數(shù)據(jù)的生成從而對目標進行定位.然而,由于室內(nèi)建筑具有占地面積小、整改頻率低等特點,所以室內(nèi)輪廓數(shù)據(jù)的處理工作中往往采用較為復雜耗時的算法以提高室內(nèi)輪廓的生成精度[13-14],然而盡管如此,很多工作在以步長計算距離的過程中累積誤差對精度的影響依然較大.而另一些工作,例如文獻[15]利用iBeacon技術(shù)結(jié)合傳感器數(shù)據(jù)進行室內(nèi)輪廓的生成工作,雖然精度比僅僅使用傳感器數(shù)據(jù)有所提高,但是這類工作在室外地圖的構(gòu)建過程中依然面臨設備部署時效性差等限制.
綜上所述,室內(nèi)定位處理過程中采用的技術(shù)在室外地圖生成工作方面的實用性較差,其處理方法無法在實時性、高效性、經(jīng)濟性以及部署的簡便性方面同時滿足室外地圖的輪廓生成要求,導致這類工作無法在大范圍的室外范圍進行推廣普及.
在智慧生活的背景下,基于智能手機的內(nèi)置傳感器的工作越來越多,其原因主要可歸結(jié)于2方面:1)智能手機用戶群體大,數(shù)據(jù)來源廣;2)智能手機具有較高的計算能力和存儲能力,可以進行實時的數(shù)據(jù)采集和處理.目前廣泛利用智能手機傳感器的工作主要有動作識別、環(huán)境感知、情緒檢測、醫(yī)療保健等方面.文獻[16]通過將智能手機結(jié)合“眾包”技術(shù),利用汽車進行了城市道路坑洞檢測方面的研究;文獻[17]利用智能手機傳感器中的溫度、濕度等傳感器進行環(huán)境檢測以監(jiān)控某區(qū)域的溫度狀況防止中暑現(xiàn)象的發(fā)生,該方法可以構(gòu)建部分區(qū)域的環(huán)境溫度圖,但該圖無法代表該區(qū)域的路網(wǎng)圖;文獻[18]利用智能手機傳感器數(shù)據(jù)開發(fā)了一款檢測跑者呼吸節(jié)奏的應用程序用來協(xié)調(diào)跑者的呼吸速率和步伐大小;文獻[19]利用智能手機程序結(jié)合傳感器數(shù)據(jù)幫助病人維持健康;文獻[20]利用智能手機傳感器通過檢測用戶睡覺過程產(chǎn)生的聲音和動作來測評記錄用戶的睡眠質(zhì)量.
通過對以上相關(guān)工作的學習研究和總結(jié),本文所提地圖輪廓生成模式主要有4點改進和貢獻:
1) 提出并驗證了深入挖掘傳感器數(shù)據(jù)的可行性.通過對實際路段上持續(xù)采集得到的傳感器數(shù)據(jù)的處理和挖掘,驗證了本文所提方法的有效性以及提高傳感器數(shù)據(jù)利用率的可行性,為后續(xù)的工作奠定了基礎.
2) 利用信號處理方法和機器學習技術(shù),提出了一種基于狀態(tài)識別的數(shù)據(jù)融合算法,該方法可以檢測出表征有效地圖輪廓數(shù)據(jù)的分段,并將分段的數(shù)值和方向信息進行融合,生成對應的輪廓序列.
3) 在轉(zhuǎn)向情況的處理中,結(jié)合動態(tài)時間規(guī)整方法提出了轉(zhuǎn)向模板的概念,使得轉(zhuǎn)向情況的處理較以往工作更貼近實際情況.在數(shù)值計算過程中采用了時域積分方法進行有效分段的數(shù)值計算,并且采用了分段計算機制,減少了經(jīng)典步長的計算方法中普遍存在的累積誤差現(xiàn)象,保證了計算的速度和精度.
4) 本文的工作是目前第一份僅利用傳感器數(shù)據(jù)進行室外地圖生成的工作.相比經(jīng)典的地圖輪廓生成方法,本文的方法具有更好的普適性和抗干擾性,在對數(shù)據(jù)的挖掘深度方面,本文的工作較以往基于傳感器的工作具有更好的數(shù)據(jù)利用率.
本文使用的數(shù)據(jù)來自智能手機內(nèi)置傳感器生成的實時數(shù)據(jù).不同的傳感器數(shù)據(jù)具有不同的形式,圖1展示了手持智能手機步行60 s產(chǎn)生的數(shù)據(jù).常用傳感器的數(shù)據(jù)一般以三元組的形式進行表示,例如,加速度傳感器(accelerometer, acc)、陀螺儀(gyroscope, gyr)等,而線性加速度傳感器(linear accelerometer, lacc)的數(shù)據(jù)相對加速度傳感器而言,去除了由地球重力產(chǎn)生的加速度數(shù)據(jù)(gravity),可以描述為Vacc=Vgravity+Vlacc.本文工作主要采用了加速度傳感器、陀螺儀傳感器、線性加速度傳感器以及表示智能手機所處方向的方位傳感器(orienta-tion sensor, ori),其中,方位傳感器的數(shù)據(jù)包括偏航角(yaw)、俯仰角(pitch)以及滾轉(zhuǎn)角(roll).偏航角指示從某點的指北方向線起,以順時針方向到目標方向線之間的水平夾角;而俯仰角和滾轉(zhuǎn)角則分別刻畫了智能手機的x軸與y軸相對于水平面的俯仰程度.
Fig. 1 The sensor data generated by walking 60 s圖1 步行60 s產(chǎn)生的傳感器數(shù)據(jù)
在所有基于傳感器的工作中,數(shù)據(jù)的完整性是工作質(zhì)量的重要保障之一.經(jīng)典的傳感器主要以定點部署為主,其生成的數(shù)據(jù)通過不同的傳輸渠道發(fā)送到終端進行處理.而這一過程普遍具有2個問題:1)設備依賴性較大,即傳感器的部署、數(shù)據(jù)的發(fā)送對設備所處環(huán)境以及本身性能依賴較大,例如磁力計等傳感器無法在磁場較強的環(huán)境下進行數(shù)據(jù)采集;2)實時性較差、數(shù)據(jù)易缺失,例如在數(shù)據(jù)包的發(fā)送過程中,容易受到外部的干擾而導致數(shù)據(jù)的成段缺失,這類情況雖然在日常的動作識別工作中影響較弱,但在持續(xù)利用傳感器數(shù)據(jù)的工作中具有較大影響,這也是導致基于傳感器數(shù)據(jù)的工作中數(shù)據(jù)利用率低的主要原因.由于傳感器數(shù)據(jù)反映的動作種類較多,導致采集的數(shù)據(jù)波動也較大.所以不同的動作引起的數(shù)據(jù)無法通過插值等方法進行補充,數(shù)據(jù)在時序上的缺失會降低實驗的可信度,甚至導致整個實驗無法正常進行.本文利用智能手機在應用程序開發(fā)和測試方面的便攜性,以安卓系統(tǒng)為平臺開發(fā)了一款普適的傳感器數(shù)據(jù)采集軟件.該軟件可以同時進行數(shù)據(jù)的采集、存儲以及分析,在傳感器種類的選擇和采樣頻率等參數(shù)的設定方面具有很強的自主性,保證了整個實驗數(shù)據(jù)的實時性以及完整性.
本文的工作主要在于提出一種地圖輪廓原型的構(gòu)建方法以彌補傳統(tǒng)的地圖生成方法無法構(gòu)建的路段數(shù)據(jù),根據(jù)智能手機內(nèi)置傳感器的分析及本課題研究目標的綜合考慮,本文首先利用方位傳感器數(shù)據(jù)中的偏航角數(shù)據(jù)進行轉(zhuǎn)向模板的提取,然后利用加速度傳感器數(shù)據(jù)結(jié)合陀螺儀傳感器數(shù)據(jù)進行有效路段的識別,最后利用線性加速度傳感器數(shù)據(jù)和方位傳感器數(shù)據(jù)計算表征有效地圖輪廓的數(shù)據(jù)段的數(shù)值.通過在真實環(huán)境下采集的路段數(shù)據(jù)上的測試,驗證本文方法的可行性和有效性,主要的處理流程如圖2所示:
Fig. 2 Overview of processing sensor data圖2 數(shù)據(jù)處理工作流程
基于本文的研究目標,數(shù)據(jù)采集的方式主要為行人手持智能手機行走在待構(gòu)建路段上進行數(shù)據(jù)采集,并且采集過程中遵從3個合理的假設:
1) 行人將手機持在手中,手機朝向行進方向;
2) 行人行走步伐正常,假設不會出現(xiàn)左右不規(guī)則晃動、搖擺等動作;
3) 行人行進過程正常,假設行走方向不會頻繁改變,不會倒著走.
參考文獻[21]實驗設置,本文將采集數(shù)據(jù)的頻率設定為50 Hz,并且在數(shù)據(jù)處理過程中使用50%的重疊率.本課題的研究目標主要為地圖原型輪廓數(shù)據(jù)的生成,為方便地圖數(shù)據(jù)的表述和存儲,本文將地圖數(shù)據(jù)以二元組序列形式進行表示,其中,單個的序列元素以二元組r,s表示,符號s表示距離長度(單位為m);符號r數(shù)據(jù)則指示轉(zhuǎn)向情況,根據(jù)不同情況主要用2種數(shù)據(jù)表示:1)當行進方向不變時,該數(shù)值為一固定角度值,指示手機方向與正北方向偏離的程度;2)當行進方向處于轉(zhuǎn)變過程時,該值為序列模板的指示符號,指示當前轉(zhuǎn)變過程對應的模板序號.為簡化問題描述,本文將行進過程中的轉(zhuǎn)向情況綜合表述為表1所示的f1與f2共2種情況.
通過表1所述的轉(zhuǎn)向情況的表示可以發(fā)現(xiàn),通過細化偏轉(zhuǎn)角度以增加轉(zhuǎn)向模板的數(shù)量可以達到提高轉(zhuǎn)向情況處理精度的目的.本文的工作主要致力于提供一種地圖輪廓構(gòu)建方法的原型及其探究過程,為驗證所提方法的有效性,本文將利用方向傳感器數(shù)據(jù)分析結(jié)果進行常見轉(zhuǎn)向模板的提取.
Table 1 Simplified Representation of the Steering表1 轉(zhuǎn)向情況簡化表述
根據(jù)數(shù)據(jù)分析的過程描述以及定義的地圖數(shù)據(jù)的表述形式,本文將地圖輪廓生成問題分解為轉(zhuǎn)向情況的處理、數(shù)據(jù)分段的識別以及有效段的數(shù)值計算3個子問題,然后提出了一種數(shù)據(jù)融合算法將上述子問題的處理結(jié)果進行結(jié)合,以達到生成最終地圖輪廓數(shù)據(jù)的目的.其中,轉(zhuǎn)向情況的處理主要包括對方向數(shù)據(jù)中偏航角的跳變現(xiàn)象的處理以及轉(zhuǎn)向模板段的提取;有效段的識別主要用機器學習的方法對加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)進行分析,從而達到分類識別的目的,主要過程包括特征的計算、篩選、訓練集的生成以及分類模型的建立,分段數(shù)值的計算主要指結(jié)合方向傳感器中的角度信息以及線性加速度傳感器數(shù)據(jù)進行相關(guān)的數(shù)值計算.
本節(jié)主要描述傳感器數(shù)據(jù)具體的處理過程及其對應的方法.主要包括對方位傳感器數(shù)據(jù)進行處理,提取轉(zhuǎn)向模板;對加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)進行處理,訓練用于識別有效段的分類模型;利用方位傳感器數(shù)據(jù)和線性加速度傳感器數(shù)據(jù)進行有效數(shù)值的計算.
通過第2節(jié)的課題目標的分析及問題的分解,本節(jié)主要致力于地圖輪廓構(gòu)建過程中方向數(shù)據(jù)的處理過程.
在方向傳感器所測得的3個數(shù)據(jù)分量中,偏航角數(shù)值的取值范圍為[0°,360°],俯仰角數(shù)值的取值范圍為[-180°,180°],滾轉(zhuǎn)角數(shù)值的波動范圍為[-90°,90°].圖3所示為一段正常行走過程采集得到的偏航角數(shù)據(jù),為方便觀察,所測數(shù)據(jù)分別以離散點型和連續(xù)線型進行繪制和展示,通過繪制的2幅圖可以清晰地看出偏航角在整個過程中會出現(xiàn)跳變現(xiàn)象.
Fig. 3 The fluctuations in yaw data圖3 yaw的連續(xù)跳變現(xiàn)象
由實際采集情況和觀測分析可得,偏航角的連續(xù)跳變現(xiàn)象產(chǎn)生的原因主要在于偏航角的數(shù)據(jù)具有固定的范圍.即由于偏航角表征手機正向偏離正北方向的水平夾角,當手持手機以任意方向開始持續(xù)旋轉(zhuǎn)一周以上便會產(chǎn)生一次跳變的數(shù)據(jù).若恰好手機持向沿正北方向行進,則由于步行運動的不規(guī)則性以及身體的抖動會導致采樣數(shù)據(jù)頻繁介于0°和360°這2個數(shù)據(jù)點附近跳躍,最終導致如圖3所示的跳變現(xiàn)象的產(chǎn)生.在傳感器數(shù)據(jù)的處理工作中,通常需要將離散數(shù)據(jù)在時域上進行連續(xù)表示以簡化問題的處理,而上述的跳變情況會增加問題分析的難度.據(jù)此,本文提出了一種針對此現(xiàn)象的跳變消除方法,并基于該算法進行了轉(zhuǎn)向模板的提取操作,具體步驟為:
1) 從采集得到的方向傳感器中獲取偏航角數(shù)據(jù),并且刪去由操作采集軟件生成的無效數(shù)據(jù);
2) 由原始范圍內(nèi)的偏航角數(shù)據(jù)分別向上、向下構(gòu)造2個具有相同走勢的數(shù)據(jù)段,用越界數(shù)據(jù)補充跳變數(shù)據(jù);
3) 選取原始數(shù)據(jù)中的第1個數(shù)據(jù)點作為新序列的初始數(shù)據(jù)點,然后以數(shù)據(jù)跳變閾值為界限,利用數(shù)據(jù)點密度間距進行傳遞,順序鏈接當前數(shù)據(jù)的下一個數(shù)據(jù)點,直至獲取與原始數(shù)據(jù)長度相等的新數(shù)據(jù),即為跳變消除后的數(shù)據(jù);
4) 利用平滑樣條插值方法(smoothing spline)對消除跳變后的數(shù)據(jù)進行平滑操作,并對平滑后的數(shù)據(jù)進行分段,分段過程保證段與段之間具有一定的重疊率,以保證分段數(shù)據(jù)能夠完整覆蓋轉(zhuǎn)向過程;
5) 從所有分段數(shù)據(jù)中提取間距最接近常見轉(zhuǎn)向數(shù)據(jù)跨度的段作為轉(zhuǎn)向模板段,保存模板段的數(shù)據(jù)并加以編號.
上述方法主要包括跳變數(shù)據(jù)的消除和轉(zhuǎn)向模板的提取2個階段,在數(shù)據(jù)平滑之前的操作不僅消除了跳變現(xiàn)象,同時也維持了原始數(shù)據(jù)的波動走勢.在轉(zhuǎn)向模板的處理中,為簡化問題描述,本文主要考慮常見的轉(zhuǎn)向角度跨度值作為轉(zhuǎn)向模板的閾值,例如常見的轉(zhuǎn)向有直角轉(zhuǎn)彎,對應的跨度值為90°.上述過程對應的偽代碼可描述如下:
算法1.結(jié)合跳變消除方法的轉(zhuǎn)向模板提取算法.
輸出:轉(zhuǎn)向數(shù)據(jù)模板段T.
階段Ⅰ. 消除原始偏航角數(shù)據(jù)中的跳變現(xiàn)象:
⑦ end for
階段Ⅱ.提取轉(zhuǎn)向模板:
⑩ fori=1 tolength(S)
算法1首先將偏航角范圍內(nèi)發(fā)生跳變的數(shù)據(jù)段用范圍外的數(shù)據(jù)進行替換,保護了數(shù)據(jù)的整體走勢及其完整性,然后將處理后的偏航角數(shù)據(jù)進行分段,并提取出段內(nèi)間距接近既定閾值的數(shù)據(jù)段作為轉(zhuǎn)向模板.由處理過程可以發(fā)現(xiàn),本文提出的跳變消除算法在原始時間序列不變的情況下保存了數(shù)據(jù)的基本走勢,在后續(xù)的工作中,本文將利用該數(shù)據(jù)走勢結(jié)合DTW方法將待計算的轉(zhuǎn)向數(shù)據(jù)段與已提取的模板段進行比對,從而判別當前狀態(tài)下的轉(zhuǎn)向情況.
此外,雖然第2節(jié)所提假設可以排除行進過程手機異常偏離水平面的情況,但由于步行過程產(chǎn)生的震蕩依然會對每一步的行進數(shù)據(jù)造成一定程度的影響.針對該問題,本文主要通過分析方向傳感器數(shù)據(jù)中表征智能手機偏離水平面程度的俯仰角分量進行行進方向上的速度合成,該部分的處理將在數(shù)值計算部分進行敘述.
本節(jié)主要分析加速度傳感器數(shù)據(jù)以及陀螺儀數(shù)據(jù)的處理過程.主要內(nèi)容包括訓練數(shù)據(jù)的生成以及識別模型的構(gòu)建2部分.由于文獻[21]中的工作已被證實在狀態(tài)識別方面具有一定的效用,所以在對本節(jié)數(shù)據(jù)的處理過程中,本文參考了文獻[21]工作的數(shù)據(jù)處理方法和參數(shù)的設定.
3.2.1 相關(guān)定義
在手持智能手機行進過程中,行人會做出不同的動作,在傳感器上則體現(xiàn)為不同的狀態(tài).通過分析數(shù)據(jù)采集過程中的實際運動情況,本文將主要出現(xiàn)的狀態(tài)分為3類:行進狀態(tài)、靜止狀態(tài)以及上下樓梯狀態(tài).其中,對最終地圖輪廓數(shù)據(jù)具有構(gòu)建作用的主要狀態(tài)包括行進狀態(tài)和上下樓梯狀態(tài),然而,在室外局部地圖輪廓的構(gòu)建過程中,上下樓梯的情況相對少很多,基于以上分析,本文進行了相關(guān)概念的定義:
定義1.有效狀態(tài).本文所述有效狀態(tài)的處理主要為行進狀態(tài)的識別與提取,關(guān)于上下樓梯狀態(tài)僅以識別為主,在最終生成的輪廓數(shù)據(jù)中進行簡單標識.
定義2.有效段.基于有效狀態(tài)的定義,本文將使用機器學習的方法對已分段的數(shù)據(jù)進行狀態(tài)識別,滿足有效狀態(tài)的數(shù)據(jù)段視為有效段.
3.2.2 訓練數(shù)據(jù)的生成及識別模型的構(gòu)建
本文首先利用5種不同型號的安卓手機進行了大量的數(shù)據(jù)采集,然后提取其中的加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)進行分析.處理步驟可簡化為圖4的4步.其中分類模型的建立部分,本文選取了Random Forest算法進行識別模型的構(gòu)建.在文獻[21]的工作中,Random Forest算法的性能已經(jīng)與其他常用的7種分類算法:Naive Bayes,Logistic,Simple Logistic,SMO,AdaBoostM1,J48,RandomTree進行了對比.8種常見分類算法的性能在多種不同分類指標下均進行了詳細地分析,實驗結(jié)果表明在綜合考慮加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)進行動作識別工作中,Random Forest算法較其他7種算法性能更加突出.
Fig. 4 The workflow to build classification model圖4 模型的構(gòu)建流程
1) 數(shù)據(jù)的分段及特征的計算
從圖4所述模型的構(gòu)建過程可以發(fā)現(xiàn),進行模型構(gòu)建之前首先需要進行分段段長的確定.關(guān)于數(shù)據(jù)分段長度的選取在基于傳感器的工作中已經(jīng)被許多學者進行了深入的研究[22],結(jié)果表明段長的選取主要根據(jù)待監(jiān)測的目標動作的特性而定.本文在轉(zhuǎn)向數(shù)據(jù)段的提取、識別模型的構(gòu)建中均需要進行數(shù)據(jù)的分段操作.對于本文研究目標而言,數(shù)據(jù)段長如果太短,容易導致數(shù)據(jù)的過度截取,會嚴重影響數(shù)據(jù)處理的速度;數(shù)據(jù)段長如果過長則容易導致轉(zhuǎn)向過程的錯誤識別,從而影響構(gòu)建的地圖性能.通過對前人工作基礎以及實際采集數(shù)據(jù)過程的分析,在50 Hz的數(shù)據(jù)采集頻率下,本文將分段段長設定為12 s.關(guān)于分段方法,本文選用End-Point Detection方法[23]進行分段.對于數(shù)據(jù)分段特征的計算,本文分別從時域、頻域以及統(tǒng)計域3個方面進行了綜合刻畫.
① 時域信號特征
時域信號特征的特點主要是能夠直觀、清晰地刻畫采樣數(shù)據(jù)近似的形狀,而且對信號數(shù)據(jù)進行時域方面的特征計算時通常具有較低的時空復雜度.本文則主要選取能夠直觀度量各個數(shù)據(jù)分量及數(shù)據(jù)合成加速度的最大值(max)、最小值(min)以及平均值(average)這3種常見特征來表述不同狀態(tài)下的加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)在時域方面的特點.其中,時刻t對應的合成加速度以及分量加速度分別以符號a(t),ax(t),ay(t),az(t)進行簡單表示,a(t)的計算為
(1)
② 頻域信號特征
頻域信號特征的優(yōu)勢主要在于其能夠刻畫待處理數(shù)據(jù)中無法通過直接觀測得到的一些周期性特點.在頻域特征的計算中,考慮信號的自然特性,本文將對時間序列上采集所得的數(shù)據(jù)進行快速傅里葉變換(fast Fourier transform, FFT),以方便進一步分析待處理數(shù)據(jù)的頻域特點.本文選取的頻域特征主要采用了傅里葉變換后的直流分量(DC component)、峰值幅度(peakAmp)以及峰值頻率(peakFreq)這3個特征.DC component主要用來反映當前數(shù)據(jù)段的平均能量信息,peakAmp特征主要用來反映數(shù)據(jù)段中主要重復分量的能量,peakFreq特征主要用來反映數(shù)據(jù)段中最大譜幅出現(xiàn)的頻率,計算過程為:
首先對待處理的數(shù)據(jù)進行分段,每段共有n條記錄,然后進行快速傅里葉變換,并用Fj(ai)表示第i個分段的第j個頻率分量的幅度;用fij′表示第i個分段的第j′個頻率分量,即第i個分段的最大譜幅,其計算為
(2)
③ 統(tǒng)計域信號特征
由于人類活動較為復雜,所以當人類的行為作用在傳感器上時,經(jīng)常容易產(chǎn)生常規(guī)的時域特征和頻域特征無法刻畫的特殊效應,所以本文對待處理數(shù)據(jù)段在統(tǒng)計域方面的特征也進行了計算,主要選取的特征包括跨度范圍(range)和峰度(kurtosis)這2個特征.range主要用以表征數(shù)據(jù)段中最大幅值和最小幅值之間的跨度范圍,kurtosis表示的是數(shù)據(jù)段中均值附近峰值高低分布的平面度,其計算過程為:
(3)
2) 訓練集的生成及模型的構(gòu)建
通過匹配已分割的數(shù)據(jù)段特征及其對應的狀態(tài),本文進行了訓練數(shù)據(jù)集的生成工作.并基于該訓練集以及10倍交叉驗證方法,本文進行了識別模型的訓練工作,其主要步驟可描述為:
① 針對既定的有效狀態(tài)進行數(shù)據(jù)采集,并標記每份數(shù)據(jù)所屬狀態(tài).步行標記為walk,上下樓梯標記為stairs,靜止標記為static;
② 刪減掉由于操作采集軟件而產(chǎn)生的無效數(shù)據(jù),然后根據(jù)既定的分段長度進行數(shù)據(jù)分段.與方向傳感器數(shù)據(jù)保持一致,本節(jié)處理的傳感器數(shù)據(jù)分段的重疊率也設定為50%;
③ 對分段后的數(shù)據(jù)進行特征提取,主要包括時域方面的特征:max,min,average;頻域方面的特征:DC component,peakAmp,peakFreq以及統(tǒng)計域方面的特征:range,kurtosis;
④ 根據(jù)計算得到的特征向量匹配對應的狀態(tài),生成訓練數(shù)據(jù)集,然后基于10倍交叉驗證方法利用Random Forest算法建立分類模型.
根據(jù)上述步驟進行操作即可得到全特征集下的分類模型,然而結(jié)合實際情況考慮發(fā)現(xiàn),在訓練集的生成過程中,往往因較多冗余特征的存在而導致訓練模型的構(gòu)建速度以及分類模型的識別精度大幅度受損.為了避免這類情況的產(chǎn)生,本文同時進行了冗余特征的篩選工作.目前對于冗余特征的篩選方法大致分為2種:1)通過對初始特征集的所有子集進行評估,得到一個對分類精度貢獻最大的特征子集作為最終篩選后的特征集;2)通過逐個評估初始提取的特征集合中的單個特征對最終正確分類率所作的貢獻,將所有特征進行排名,然后再根據(jù)問題需求選取Top-k個特征組合為特征集作為最終篩選后的結(jié)果.由集合論以及冪集概念可知,第1種方法在求解子集方面具有不可忽視的時空復雜度,尤其在待處理特征較多的情況下,子集的計算時間開銷不容忽視,甚至可能造成整個模型構(gòu)建速度的嚴重下降.綜合考慮本課題的研究目標以及待識別狀態(tài)的復雜性,本文選用第2種特征篩選方法,并利用信息增益InfoGain(information gain)的概念進行特征集的評估,其評估的原理可描述為
InfoGain(Class,Attribute)=
H(Class)-H(Class|Attribute).
(4)
至此,基于加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)的模型構(gòu)建過程描述完畢,對應的偽代碼如算法2所述,其中數(shù)據(jù)的分段操作與前述的轉(zhuǎn)向模板的提取類似.
算法2.訓練集的生成及分類模型的構(gòu)建算法.
輸入:已完成分段操作的具有標簽的原始數(shù)據(jù)Rdata={Si},i∈[1,n];
輸出:分類模型Model.
① 定義矩陣Qdata,用于存放提取的加速度傳感器和陀螺儀各維度數(shù)據(jù),以及2個傳感器基于各自的3維數(shù)據(jù)計算得到的合成加速度數(shù)據(jù),初始時Qdata為null;
② for eachSi∈Rdata
③ 提取Si中的加速度傳感器和陀螺儀對應的每一維數(shù)據(jù)分別存入Qdata中對應位置;
④ forj=1 tolength(Si) do
⑤ 計算加速度傳感器的合成數(shù)值a(Sij(1),Sij(2),Sij(3))以及陀螺儀的合成加速度數(shù)值a(Sij(4),Sij(5),Sij(6))并將結(jié)果追加到Qdata對應的列中;
⑥ end for
⑦ 利用得到的Qdata數(shù)據(jù)計算時域特征和統(tǒng)計域特征;
⑧ 對Qdata執(zhí)行快速傅里葉變換后,進行頻域特征的計算;
⑨ end for
⑩C{Si}={Qdata中所有不同維度上的特征值};
算法2主要對已分段數(shù)據(jù)進行特征的計算操作.段內(nèi)數(shù)據(jù)主要包括4種不同傳感器在3個維度方面的數(shù)據(jù),在計算特征時,通過向量操作,每個維度的特征均可在O(N)時間內(nèi)完成對應的特征計算.所以,特征計算的時間復雜度為O(s×N),其中s為總的分段數(shù)目,計算過程不需要額外消耗存儲空間.
根據(jù)3.2.1節(jié)對有效段概念的定義,本文將有效段的數(shù)值計算主要分為統(tǒng)計步數(shù)以及計算步長2部分.
3.3.1 步數(shù)的統(tǒng)計
通過對經(jīng)典的步數(shù)檢測工作的學習研究,步數(shù)檢測的方法大致可以分為2種:1)利用GPS數(shù)據(jù)計算出既定路段的長度,然后利用個人的步長數(shù)據(jù)和整個路段的時間消耗綜合判斷個人的步數(shù);2)檢測傳感器數(shù)據(jù)在步行過程中產(chǎn)生的波峰、波谷等信息,利用信號處理技術(shù)去除噪聲后進一步計數(shù).第1種方法主要應用于一些健身運動應用程序的工作中,例如一些應用程序會根據(jù)用戶沿著某路段的行進距離以及時間生成一份包含各項運動信息的報表.第2種經(jīng)常用于基于傳感器的工作中.根據(jù)本課題的研究目標,本文提出了一種交點檢測法進行步數(shù)的統(tǒng)計.具體操作步驟可描述為:
1) 利用平滑樣條插值法對刪除無效段后的加速度數(shù)據(jù)進行噪聲去除處理;
2) 結(jié)合線性加速度傳感器的數(shù)據(jù)特性以及方向傳感器的角度信息,將加速度數(shù)據(jù)進行合成,得到行進方向的加速度數(shù)據(jù)值;
3) 利用所得數(shù)據(jù)計算消除噪聲后的數(shù)據(jù)平均值,將該值作為加速度數(shù)據(jù)浮動的基準數(shù)值,即加速度數(shù)據(jù)的波動現(xiàn)象產(chǎn)生在該基準數(shù)值附近;
4) 計算線性加速度數(shù)據(jù)與基線之間的交點(point of intersection, PI)個數(shù),再由交點個數(shù)計算得到基本步數(shù).
本文定義在行進方向上正常行走1步產(chǎn)生的加速度數(shù)據(jù)如圖5標記點所示.經(jīng)典的工作中將單步定義在相鄰波峰或者相鄰波谷之間.根據(jù)上述的步數(shù)統(tǒng)計過程,本文將相鄰波峰向前推進14周期段定義為正常的單步數(shù)據(jù),以此為單步的原因主要有2點:1)交點穩(wěn)定,不會因為一步多峰或者一步多谷的現(xiàn)象影響計數(shù);2)加速度數(shù)據(jù)走勢保持先增后減趨勢,有利于后續(xù)單步步長的計算.
Fig. 5 The definition of single step圖5 單步定義
Fig. 6 The calculation of synthetic acceleration圖6 加速度數(shù)據(jù)合成示意圖
關(guān)于行進方向上加速度數(shù)據(jù)的合成如圖6所示,由于手持手機處于向前行進的過程,本文將加速度在x軸方向的行進距離進行忽略,所以行進方向的加速度主要分布在y軸、z軸2個方向上,圖6中所示γpitch為俯仰角pitch的數(shù)據(jù)讀數(shù),字母p指示行進方向.將最終沿行進方向的加速度分量用placc表示,其數(shù)值結(jié)果計算為
placc=ylacc×cosγpitch-zlacc×cos(90°-γpitch).
(5)
3.3.2 步長的計算
根據(jù)對經(jīng)典步長計算方法的學習和總結(jié),以往的步長計算工作往往具有時效差、累積誤差大等缺陷,其主要原因在于數(shù)據(jù)處理過程復雜、計算過程繁瑣、缺乏校準工作等.例如有一些工作在計算步長時,僅僅通過用戶輸入個人信息進行理論的計算,而忽略了人類活動的多變性和復雜性.考慮實際情況下的行走過程,因為運動具有慣性,所以行人在固定的路段會傾向于維持一個均勻的速度前進,但每步的步長又可能因為外界環(huán)境發(fā)生改變,這些改變主要體現(xiàn)在每步對應的加速度數(shù)據(jù)上.根據(jù)3.3.1節(jié)單步的定義以及實際情況的考慮,本文引入慣性初速度(v0)的概念,用來表示行人普遍維持的速度,該值的確定因個人不同而有輕微區(qū)別,可以通過對個人進行平均行進速度的訓練得到.基于該值的引入,本文利用時域積分方法進行行進方向上加速度數(shù)據(jù)的處理,并且在檢測到轉(zhuǎn)向段或狀態(tài)的改變時,會用v0重置下一個狀態(tài)對應路段的初始速度,該過程的處理能夠在一定程度上緩解以往工作中普遍出現(xiàn)的累積誤差現(xiàn)象.其具體步驟可表述為
1) 基于數(shù)據(jù)預處理與識別操作(包括數(shù)據(jù)的分段、平滑、有效段的識別等工作)以及前述關(guān)于單步的定義,對已識別的待處理數(shù)據(jù)段進行步數(shù)統(tǒng)計;
2) 由于平滑處理可能使數(shù)據(jù)段中的數(shù)據(jù)點減少,因此本文將待處理數(shù)據(jù)段分別進行單步提取,并對提取的單步數(shù)據(jù)中的離散點進行擬合,獲得原始時間序列上等量的數(shù)據(jù)點;
3) 利用辛普森法則結(jié)合慣性初速度在時域上對單步數(shù)據(jù)段中的數(shù)據(jù)點進行數(shù)值積分獲取每個單步的步長;
4) 將單步計算方法擴展到每個分段數(shù)據(jù)上,繼而獲取待處理數(shù)據(jù)段(已被截取并識別為有效行進狀態(tài)的數(shù)據(jù)分段)的總長度.
通過上述分析,本文將步數(shù)的統(tǒng)計過程和步長的計算過程進行了結(jié)合,其偽代碼可表述如下:
算法3.基于辛普森法則的有效段數(shù)值計算方法.
輸入:有效狀態(tài)對應的數(shù)據(jù)段Dv(包括線性加速度傳感器數(shù)據(jù)、方向傳感器的俯仰角數(shù)值等)、訓練得到的慣性初速度v0、采樣頻率f;
輸出:路段長度segDistance.
① 使用式(5)計算Dv中每條記錄對應的placc值,并將得到的整列數(shù)據(jù)進行平滑處理得到新的單列數(shù)據(jù)Dc,初始化segDistance=0;
②baseValue=mean(Dc);*計算Dc的平均值作為baseValue*
③ 將Dc中每條數(shù)據(jù)減去baseValue得到新的差值數(shù)據(jù)列dif,定義Prod=[];
④ fori=2 tolength(dif) do
⑤ 計算dif(i)×dif(i-1)并將值追加到Prod中;
⑥ end for
⑦ 把Prod中正值置為 0,負值置為1;
⑧sumPI=sum(Prod);*獲取交點個數(shù)*
⑨ 找到Prod中值為1對應的下標值存入IntSeq;
⑩ ifDc(IntSeq[1]-1) IntSeq[startSeq+2]); Simpson(Segi,ti); disi=Simpson(veli,ti); disi[length(disi)]; 利用算法3的步驟即可進行有效段的數(shù)值計算,通過將轉(zhuǎn)向情況與數(shù)值計算結(jié)果進行結(jié)合即可生成對應路段的輪廓數(shù)據(jù).對此,本文提出一種基于狀態(tài)識別的數(shù)據(jù)融合算法(state-recognition based data fusion algorithm, SrcDFA),該算法的功能包括識別數(shù)據(jù)分段的狀態(tài),以及將已識別為有效狀態(tài)的數(shù)據(jù)分段的方向數(shù)據(jù)與距離數(shù)據(jù)進行融合,生成最終地圖輪廓數(shù)據(jù)序列,其主要思想可描述為: 1) 通過數(shù)據(jù)的預處理操作進行數(shù)據(jù)的噪聲去除處理并截斷無效數(shù)據(jù); 2) 將用于計算行進數(shù)據(jù)的線性加速度傳感器數(shù)據(jù)結(jié)合方向傳感器的俯仰角數(shù)據(jù)進行行進方向的數(shù)據(jù)合成; 3) 對整個數(shù)據(jù)進行分段,獲取總段數(shù); 4) 分別識別每個數(shù)據(jù)分段對應狀態(tài)的有效性; 5) 利用DTW方法將有效數(shù)據(jù)段與已提取的轉(zhuǎn)向模板庫中的模板進行對比,同時利用辛普森法則計算有效段的行進距離; 6) 將有效段的轉(zhuǎn)向情況和行進距離進行數(shù)據(jù)融合,并追加到地圖輪廓數(shù)據(jù)序列中; 7) 最終生成地圖輪廓數(shù)據(jù)序列. 上述過程的細節(jié)處理和實現(xiàn)已經(jīng)在3.1~3.3節(jié)中進行了詳盡的闡述和說明,下面給出上述過程的偽代碼: 算法4.一種基于狀態(tài)識別的數(shù)據(jù)融合算法(SrcDFA). 輸入:原始數(shù)據(jù)Dr; 輸出:地圖輪廓數(shù)據(jù)序列Seqoutline. ① 對原始數(shù)據(jù)Dr進行預處理操作; ⑤ for eachSiinSegtotal ⑥State←Model(Si); ⑦ ifisValid(State) ⑨s←Simpson(Si); 利用本節(jié)提出的SrcDFA算法思想,結(jié)合算法1、算法2以及算法3的具體操作步驟即可進行最終的地圖輪廓數(shù)據(jù)序列的生成工作.下面本文將給出具體的實驗過程闡述本文所提模型以及采用方法的有效性. 本文所用數(shù)據(jù)主要包括2部分:1)數(shù)據(jù)用來提取轉(zhuǎn)向模板以及構(gòu)建有效段的分類模型;2)數(shù)據(jù)主要用于驗證本文所提地圖輪廓生成方法的有效性,這部分數(shù)據(jù)無存儲限制,即該數(shù)據(jù)可以是移動端實時采集得到的數(shù)據(jù),也可以是已經(jīng)采集并存儲到移動端用于線下生成地圖輪廓的數(shù)據(jù),為了方便觀察處理過程并展示處理結(jié)果,本文選擇使用采集后存儲的數(shù)據(jù)驗證本文方法的有效性.以動作出現(xiàn)的大致頻率為參考,采集的數(shù)據(jù)中包括305 390條walk數(shù)據(jù)、33 000條stairs數(shù)據(jù)、88 975條static數(shù)據(jù).在采樣頻率為50 Hz、分段段長為12 s的情況下,上述數(shù)據(jù)對應的分段數(shù)量分別為897,96,269段. 本課題研究的目標是以提高傳感器數(shù)據(jù)的利用率為目標,深入挖掘傳感器數(shù)據(jù)信息進行地圖輪廓的構(gòu)建.因為所有的傳感器數(shù)據(jù)均對應于同一時間序列,所以本文將基本的數(shù)據(jù)處理過程的參數(shù)進行了統(tǒng)一設定,主要的基本操作包括無效數(shù)據(jù)段的刪除、轉(zhuǎn)向數(shù)據(jù)以及用于構(gòu)建識別模型數(shù)據(jù)的分段、噪聲的去除等.相同參數(shù)的數(shù)值設定如表2所示: Table 2 Settings for Basic Parameters表2 基本操作過程對應的參數(shù)設置 4.2.1 方向數(shù)據(jù)的處理及轉(zhuǎn)向模板的提取 對于原始采集得到的數(shù)據(jù),本文首先以既定的無效段長的截斷閾值將原始數(shù)據(jù)前1 s的數(shù)據(jù)進行刪除;然后將方向數(shù)據(jù)進行單獨提取.通過對實際路況轉(zhuǎn)向情況的分析發(fā)現(xiàn),常見轉(zhuǎn)向數(shù)據(jù)段的形成一般可以由如圖7中3條路線對應的6段數(shù)據(jù)生成(每段路線均包含順時針與逆時針2個方向的數(shù)據(jù)). Fig. 7 Display of the actual roads圖7 實際路況示意圖 圖7路段對應的實際偏航角序列如圖8(a)所示,其中,右向箭頭指示方向為順時針(clockwise)方向,標記為C,左向箭頭指示逆時針(anticlockwise)方向,標記為A.則R.C表示順時針沿路線R步行采集得到的數(shù)據(jù),R.A表示逆時針沿路線R采集得到的數(shù)據(jù),其他4幅類似.由圖8(a)可以發(fā)現(xiàn),當行人沿北向行進時,方向傳感器數(shù)據(jù)都有大量跳變數(shù)據(jù)產(chǎn)生(無論順時針、逆時針),基于合理的假設以及實際情況可知,路段的拐彎角度一般設計為直角或鈍角.在本文中,密度傳遞的閾值可設為(90°,360°)范圍內(nèi)任一數(shù)值(本文選取為300°).根據(jù)算法1,本文首先消除方向傳感器中偏航角的跳變現(xiàn)象,然后進行了數(shù)據(jù)的平滑處理,得到如圖8(b)所示結(jié)果.然后基于消除跳變后的數(shù)據(jù)進行了轉(zhuǎn)向段跨度的計算,并提取了常見跨度下的順時針、逆時針模板,本文將模板跨度閾值分布設定為±45°與±90°,其中,順時針轉(zhuǎn)向為正,逆時針轉(zhuǎn)向為負.跨度計算結(jié)果如表3所示,其中,Maximum表示每個模板序列中的最大值,Minimum表示每個模板序列中的最小值,Span表示該模板的數(shù)據(jù)跨度值. 根據(jù)計算所得跨度以及行進的方向,本文將轉(zhuǎn)向情況進行了簡化以及編號,最終形成了如圖9所示的4個轉(zhuǎn)向模板.圖9中數(shù)據(jù)已進行處理,原始模板中的絕對數(shù)值被簡化為相對數(shù)值. Table 3 Span Calculation Results for Common Steering Conditions Fig. 9 The steering templates after simplifying圖9 簡化后的轉(zhuǎn)向模板 4.2.2 分類模型的構(gòu)建 在構(gòu)建分類模型之前,本文先進行了訓練集的生成工作.根據(jù)表2擬定的處理參數(shù)和算法2的構(gòu)建過程,本文首先將加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)進行了分段操作,然后根據(jù)前文所述分類特征,本文計算了每段數(shù)據(jù)對應的特征值,所計算的特征值如表4所示. 通過對表4所述特征集的計算,本文根據(jù)算法2生成了全特征集下的訓練數(shù)據(jù)集,繼而利用10倍交叉驗證方法,本文進行了分類模型的構(gòu)建.根據(jù)前文所述,本文同時利用信息增益思想對上述特征進行了篩選并基于篩選后的特征集進行了分類模型的構(gòu)建.其中,篩選后的特征集如表5所示.表6和圖10分別給出了特征篩選前后所構(gòu)建的分類模型的性能. Table 4 Different Features on Accelerometer & Gyroscope表4 基于加速度傳感器數(shù)據(jù)和陀螺儀數(shù)據(jù)計算的特征集 Table 5 Selected Features After Attribute Selection表5 經(jīng)過特征篩選后的特征集 Table 6 Comparison of Basic Information About the Model Before and After Attribute Selection 4.2.3 地圖輪廓序列的生成 基于4.2.1節(jié)與4.2.2節(jié)所述操作過程獲取的轉(zhuǎn)向模板庫以及建立的識別模型,利用SrcDFA算法,本文進行了地圖輪廓序列的生成.為了驗證本文所提方法的性能,方便對比輪廓數(shù)據(jù)序列的生成效果,本文選取了已在地圖上標識出的路段作為該部分的實驗區(qū)域.為了降低算法SrcDFA在匹配路段方面的時間消耗,本文在匹配路段的過程中,引入了分類比較的方法進行代碼優(yōu)化,以降低算法的時間復雜度.即在分段操作時,首先計算出每個方向數(shù)據(jù)分段的跨度絕對值,然后以該值為依據(jù),依次對比模板段數(shù)據(jù)的閾值.具體操作如下. 由于轉(zhuǎn)向段的隨機性使得轉(zhuǎn)向模板的期望值能接近既定閾值,而無法嚴格生成與既定跨度值一致的模板.例如,當轉(zhuǎn)向模板閾值定為45°時,只能產(chǎn)生接近45°的模板段,而無法嚴格生成一個跨度恰好為45°的模板段.所以本文將模板跨度中接近45°的轉(zhuǎn)向數(shù)據(jù)段組合為一閾值[α1,α2],即圖9所示的Temp2與Temp1對應的跨度值;轉(zhuǎn)向模板段中接近90°的轉(zhuǎn)向數(shù)據(jù)閾值為[α3,α4],即圖9所示的Temp3與Temp4對應的數(shù)值;則,對于跨度絕對值為β的數(shù)據(jù)段進行3種情況判定:1)當β<α1,判定當前狀態(tài)為直行,直接計算該段數(shù)值;2)當α1≤β<(α2+α3)2,對比模板1與模板2,選取DTW結(jié)果最相似的模板作為該段數(shù)據(jù)的轉(zhuǎn)向情況,然后將其與該分段的數(shù)值組合為二元組,追加到輪廓序列中;3)當(α2+α3)2≤β,對比模板3與模板4,選取DTW結(jié)果最相似的模板作為該段數(shù)據(jù)的轉(zhuǎn)向情況,然后將其與該分段的數(shù)值組合為二元組,追加到輪廓序列中. 通過引入分類比較的思想,轉(zhuǎn)向識別過程的判定操作可由循環(huán)比較減至常數(shù)比較,時間復雜度由理論的O(N)降到O(1),這在后期的轉(zhuǎn)向模板增加的過程中,將能夠節(jié)省大量的時間消耗. 本文在該部分的實驗區(qū)域主要包括2段(截選至百度地圖,并且路段信息已經(jīng)隱匿),分別表示在圖11與圖12中,其中,圖11(a)、圖12(a)、為路段對應的實際地圖,圖11(b)、圖12(b)為路段對應的數(shù)據(jù)圖,序列Ⅰ與序列Ⅱ分別為利用本文所提方法生成的地圖輪廓序列.此外,本文利用百度地圖自帶測距工具對非轉(zhuǎn)向路段的距離進行了測繪,并定義了平均準確率(mean accuracy rate,MAR)來度量本文數(shù)值計算的精度: (6) Fig. 12 The information about testing road 2圖12 實驗路段2 由實際觀測和上述計算的序列可發(fā)現(xiàn)非轉(zhuǎn)向路段包括段1,3,5,7,9,11,13共7段.對應的實測距離分別為41 m,59 m,150 m,30 m,56 m,25 m,9 m.序列Ⅰ測得非轉(zhuǎn)向路段的平均準確率MARⅠ為89.83%. 序列Ⅱ的非轉(zhuǎn)向路段為1,3,5,7,9,11,13,15,18,20共10段,對應的實測距離分別為:66 m,78 m,18 m,177 m,13 m,92 m,10 m,44 m,136 m,53 m.序列Ⅱ的平均準確率MARⅡ為81.18%. 基于實際路況采集的數(shù)據(jù)和本文所提方法,如圖8所示結(jié)果,本文提出的消除轉(zhuǎn)向數(shù)據(jù)跳變的方法不僅達到了去除跳變的目的,同時也保留了原始動作的波動走勢,為后續(xù)的模板對比方法提供了基礎.而基于DTW的模板對比方法可以準確識別出轉(zhuǎn)向過程所屬類別,為準確刻畫轉(zhuǎn)向信息提供了方法;此外,利用DTW進行轉(zhuǎn)向識別較以往的方向處理工作而言更具有實際意義,其主要原因在于,行人在路口轉(zhuǎn)彎過程,往往是緩慢轉(zhuǎn)變的過程,而本文將轉(zhuǎn)向過程以數(shù)據(jù)段表示,利用DTW方法進行對比識別,更貼近于實際情況.從上述跳變消除過程到轉(zhuǎn)向模板的提取以及匹配過程可以發(fā)現(xiàn),轉(zhuǎn)向精度的提高只需采集更多實際路況的轉(zhuǎn)向數(shù)據(jù),再利用本文方法進行模板庫的擴充即可.一般地,模板庫越豐富,轉(zhuǎn)向精度處理的也越細致.而關(guān)于模板對比的速度,本文也給出了時間復雜度為O(1)的操作步驟. 通過生成訓練數(shù)據(jù)集以及構(gòu)建分類模型的過程可以發(fā)現(xiàn),使用信號處理方法計算得到的特征集能夠達到有效分類的目的.本文在原始特征集上進行了特征篩選,對比篩選前后的各項信息可以發(fā)現(xiàn),利用信息增益思想進行特征篩選,通過選取對有效分類貢獻為0.9以上的單項特征進行組合,最后的特征數(shù)量較初始特征數(shù)量減少了58個,建模時間節(jié)省了1.34 s,分類精度提高至99.13%.通過該實驗結(jié)果可以得出在處理傳感器數(shù)據(jù)的過程中,本文所采用的分類識別處理方法具有一定的普適性和有效性. 通過觀察最終生成的輪廓序列Ⅰ與實際路況圖11的對比可以發(fā)現(xiàn),本文所提方法可以達到準確識別路段輪廓的目的.其中序列Ⅰ中子序列12對應的路段檢測結(jié)果為未知轉(zhuǎn)向段,主要原因在于路段的拐彎處較集中(觀察圖11可以發(fā)現(xiàn)該處路況),而本文采用的分段段長為12 s,對該連續(xù)轉(zhuǎn)彎路段進行了全覆蓋,所以導致了該情況的發(fā)生,但通過對子序列12前后序列進行數(shù)據(jù)觀測可以發(fā)現(xiàn),雖然該路段的轉(zhuǎn)向情況未知,但依然可以通過對比前后序列的行進方向推測出該序列的整體趨向在271°方向.通過生成的輪廓序列Ⅱ與圖12進行對比可以發(fā)現(xiàn),序列Ⅱ中,子序列11,12,13中的stairs狀態(tài)以及子序列18中的static狀態(tài)均被正確識別,而且對于地圖上未繪制的路段,本文的方法也能夠進行初步的判別與數(shù)值的計算. 對于數(shù)值計算的精度判定方面,目前還沒有公開的精準距離可供參考,但通過百度地圖測距工具獲得的實測距離結(jié)果可以發(fā)現(xiàn),本文的數(shù)值計算在精度方面可以達到獲取地圖輪廓信息的目的. 本文通過對經(jīng)典的基于傳感器工作的學習研究,提出了對持續(xù)生成的傳感器數(shù)據(jù)進行深入挖掘的思想.基于該思想,本文將機器學習方法以及信號處理技術(shù)應用到地圖輪廓的構(gòu)建工作中,通過對問題的簡化以及子問題的分析,提出并實現(xiàn)了一種基于狀態(tài)識別的數(shù)據(jù)融合算法(SrcDFA).其中,構(gòu)建得到的狀態(tài)識別模型可以達到99.13%的識別精度.而基于跳變消除方法的模板提取算法以及基于數(shù)值積分計算方法的有效性在實際的路段數(shù)據(jù)處理過程中均得到了驗證.在真實數(shù)據(jù)集上的實驗結(jié)果表明,本文所提方法在地圖輪廓構(gòu)建工作上具有一定的有效性和可行性.此外,本文的工作較經(jīng)典的基于智能手機傳感器的工作在數(shù)據(jù)利用率上具有明顯的提高,所提方法和處理步驟為后續(xù)對持續(xù)生成的傳感器數(shù)據(jù)進行深入挖掘的工作奠定了基礎. 在未來的研究中,我們將進一步利用傳感器數(shù)據(jù)對路段的額外屬性(路寬、坡度等)進行挖掘和分析,同時不斷探索精確度更高的數(shù)值計算方法以及提取代表性更強的轉(zhuǎn)向模板以提高地圖輪廓的生成精度.3.4 數(shù)據(jù)的融合
4 實驗仿真
4.1 數(shù)據(jù)采集
4.2 數(shù)據(jù)處理
4.3 實驗結(jié)果分析
5 總 結(jié)