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