第二章 文獻回顧
第五節 地圖匹配
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第五節 地圖匹配
本研究中所使用之場景約制方法,前提假設為一般人行走時行走於可 行走區域,因此可透過建置室內場景後,將坐標限制於一定範圍內,使定位 過程合理,此一概念與地圖匹配相仿。
地圖匹配又稱地圖輔助定位,即是利用特定算法將計算所得之坐標點 位展示於地圖上,並透過地圖上可通行路徑來提高定位精度(柳林,2007),
因此地圖匹配是一種基於軟體技術的定位校正方法,是一種虛擬測量技術。
主要透過定位結果與地圖中可行走區域比較,找出地圖中與移動軌跡匹配 度最高之路徑,將點位進行投影,並使用行走中較為明顯之特徵,例如轉彎 點,修正定位過程中所累積之誤差(胡安冬、王堅、高井祥,2014)。
地圖匹配的基本概念即是透過多種不同之演算法將定位位置移動至匹 配位置,藉此消除定位上所產生之誤差,可透過圖 24、 圖 25 解釋:
圖 24 實際道路系統 N'(重繪自柳林,2007) 圖 25 地圖匹配原理示意圖(重繪自柳林,2007)
假設車輛在實際道路 N’上行駛,於時間點 t,車輛之實際位置𝑃𝑃�未知,𝑠𝑠 定位結果提供之估計位置為𝑃𝑃�。在數值地圖中,實際道路 N’可以透過一系𝑠𝑠 列線段構成的線性化路線 N 表示,每條弧段對應實際道路中的一個路段。
因此實際道路可以用數值地圖中,弧段的有限集合表示,每一條實際道路 由多個弧段組成,每一個弧段由一個點集合構成,如弧 A=(𝐴𝐴1,𝐴𝐴2,⋯ 𝐴𝐴𝑛𝑛)表 示弧段 A 由 n 個點構成,其中𝐴𝐴1,𝐴𝐴𝑛𝑛為結點,對應於實際道路上之端點或
26
‧
航可以實現(Bullock and Krakiwsky, 1994)。二、改善顯示效果
由於航位推算所得之坐標隨著時間增加而誤差加大,因此在導航 定位過程若無適當約制,常會有定位坐標不合理情況,例如人走在空
27
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
地圖中若沒有有效限制,將導致嚴重錯誤以及匹配不穩定之狀況發生。
二、點到弧匹配算法
點到弧匹配算法即是將定位點匹配到最接近的路段上,有別於點 到點匹配算法,此算法並非將點匹配至結點上。但此種方法在道路交 叉口或兩道路平行且距離過近,容易匹配錯誤,如圖 26 所示:
圖 26 點到弧匹配缺陷(柳林,2007)
圖 26 中,L1、L2 為兩平行且相近之道路,因此在匹配過程中會 導致匹配點在兩路段中跳動,而 L3 與 L4 為兩交叉路線,真實行走情 況為行走於 L3 上,然而當定位點位於 P1、P2 時,因為以最近距離路 段為匹配原則,即很有可能將定位點匹配至路線 L4 上,導致匹配錯誤。
目前導航系統中應用最廣泛的投影匹配算法亦屬於點到弧匹配,
是一種較為成熟之匹配算法,但是仍然容易出現上述之誤差,因此必 須搭配其它匹配方法才能有較好之匹配效果。
三、弧到弧匹配算法
弧到弧匹配算法是透過導航軌跡與真實路線進行比較,與導航軌 跡最為符合之真實路線軌跡,即被決定為匹配路線。比較方法可以是 角度或距離,但是弧到弧之間的距離較難估算,且弧到弧匹配算法也 會產生如圖 27 之錯誤。圖中定位軌跡實際上應匹配至線段 L1,然而,
由於 P1 處之夾角與線段 L2 較為接近,因此有可能發生將定位軌跡誤 匹配至線段 L2 之情況發生。
29
‧
Beauregard et al. (2008)則是根據地圖資訊做為參考依據,藉此得知可通行之 合理範圍,並根據合理範圍做為坐標定位正確與否之判斷門檻,其使用 Backtracking Particle Filter(BPF)輔助 PDR 進行室內定位,BPF 即根據歷史
30
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
軌跡來預測接續位置,然而其認為在 BPF 中,錯誤的粒子是源自於前一個 錯誤粒子,因此若預估出來之未來位置不符合門檻,即可回溯至現在位置 重新修正,藉此可以得到相對正確的現在位置。Gilliéron(2004)透過將地圖 中可行範圍建立成點與線的結構資料庫,並根據這些點與線來針對定位坐 標進行地圖匹配,也證實了室內定位必須要搭配地圖的約制才能達到合理 的精度範圍。
31
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
32
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y 第三章 研究方法
本研究透過獲取行動裝置微機電系統中之陀螺儀與加速度儀數據做為 坐標計算之依據。原始加速度數據有較高之雜訊,因此在進行步伐偵測上 容易產生錯誤,為提升步伐偵測準確率,實驗針對加速度儀數據進行濾波 平滑化後,以 Wolf method 為基礎,改良其偵測步伐的方式,透過滑動視窗 搭配波峰偵測方式偵測步伐,找尋計算坐標之時間點。陀螺儀數據則用於 計算行走時之旋轉角,陀螺儀數據累計加總後,可與步伐偵測中所得到的 時間點進行坐標推算。
然而依照行人航位推算(PDR)所推算出來的坐標誤差會隨時間累積,因 此需要設定校正條件,於特定時間點將坐標校正至合理位置。本研究利用 場景建置搭配方位角判斷與轉彎特徵做為依據以決定校正坐標的時機。實 驗流程如圖 28:
33
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
加速度值 陀螺儀值
資料前處理
步伐偵側 步長估計
坐標記算
坐標合理性檢 核
是
坐標校正 否
結束
圖 28 研究流程圖
34
‧
Android 應用程式的開發環境主要使用 Android Studio,Android Studio 為 Google 官方的整合開發環境,於 2014 年釋出 1.0 正式版本,可跨平台支援 Windows、OS X、LINUX 等作業系統。除了 Android Studio 外,尚須透過 Android 開發套件(Android SDK)來幫助開發與測試 Android 應用程式,
Android SDK 主要包含偵錯器、Android 模擬器、函數庫、文件、範例教材 等(陳會安,2015)。
然而在微機電系統的數據獲取中會有延遲情況產生,因此有不同的延 遲 模 式 可 以 選 擇 , Android 中 之 四 種 延 遲 模 式 分 別 為 : SENSOR_DELAY_FASTEST、_DELAY_GAME、SENSOR_DELAY_U I 與 SENSOR_DELAY_NORMAL,針對不同情況選擇不一樣的延遲模式,而本 研究中則使用 SENSOR_DELAY_UI 模式。各種不同模式的延遲時間根據不 同廠牌之行動裝置而定,根據 Android 開發者官方網站所提供的資料,各種 延遲模式所適合的情況如表 5:
表 5 Android 延遲模式
S ensor Delay Type Description 延遲間隔
SENSOR_DELAY_FASTEST Get sensor data as fast as possible 極短 SENSOR_DELAY_GAM E Rate suitable for game 短 SENSOR_DELAY_UI Rate suitable for the user interface 中 SENSOR_DELAY_NORM AL Rate(default)suitable for screen
orientation changes
長
本研究使用於獲取微機電系統數據的行動裝置為 HTC M8,因現今市 面上之行動裝置並非每一種款式都配備有陀螺儀與加速度儀,有些較為初 階的機種可能只有陀螺儀數據可以獲取。為了進行坐標推算,必須同時獲
35
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
得加速度儀與陀螺儀數據,因此選擇較為高階的機種進行實驗,其相關規 格如下表 6:
表 6 行動裝置規格 HTC M8
生產廠商 HTC
尺寸 146.36x70.6x9.35cm 顯示器 5.0 吋,Full HD 1080p
處理器 Qualcomm® Snapdragon™ 801,四核心處理器 作業系統 Android™ with HTC Sense™
儲存空間 總儲存空間: 16 GB/32 GB,實際可用容量可能有所不同 RAM: 2 GB
擴充卡插槽支援 microSD™ 記憶卡,最高可擴充 128 GB 的額外儲存空間 (記憶卡需另購)
感應裝置 加速度感測器 趨近感測器 環境光線感測器 陀螺儀
氣壓感測器
在獲取加速度儀與陀螺儀數據實驗中,實驗者以手持行動裝置方式行 走,因本研究並未考慮坐標轉換問題,因此須確保行走過程中保持行動裝 置平穩,以取得用於計算旋轉角之 z 軸旋轉量與偵測步伐用之 z 方向加速
36
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
度量(圖 29)。取得之原始數據包含三軸之加速度量𝑥𝑥𝑢𝑢、𝑦𝑦𝑢𝑢、𝑧𝑧𝑢𝑢,與三軸之 陀螺儀旋轉量𝑥𝑥𝑔𝑔、𝑦𝑦𝑔𝑔、𝑧𝑧𝑔𝑔。
圖 29 行走實驗圖
37
‧
Filter(SG Filter)、 Fast Fourier Transform(FFT),後續章節將針對兩種不同之 濾波成果所完成之步伐偵測比較其準確度。本研究透過不同濾波對訊號平 滑後,針對步伐偵測結果之優劣進行討論,因此於濾波演算法上僅做較為 簡易之回顧。(一)Savitzky-Golay Filter
Savizky-Golay Filter 通常簡稱為 SG-Filter,由 Savitzky 與 Gola y 於 1964 年提出。廣泛的運用在數據平滑化與雜訊濾除上,其優點在於去 除雜訊的過程中能夠同時確保數據的形狀,維持每個波型的寬度,因 此在加速度訊號的平滑化中,並不會使波數與原始數據不同,適合用 於偵測步伐的加速度訊號。
Schafer(2011)針對 SG Filter 做詳細的介紹。SG Filter 是基於最小 二乘原理的濾波,在圖 30 中輸入數據 x[n]以實心圓●表示,╳代表脈 衝響應的樣本,也可視為權重常數,用來估計基於最小二乘的輸出數 據,也就是圖中的空心圓○。
38
‧
限脈衝響應(Finite impulse response, FIR)濾波,也就是說可以透過卷積 理論(convolution theorem)來完成,也可說是對輸入數據進行加權平均。39
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
𝑥𝑥 = �𝑥𝑥[−𝑀𝑀]
𝑥𝑥[𝑀𝑀]⋮ �,a = �𝑎𝑎[0]
𝑎𝑎[𝑁𝑁]⋮ � (3 − 11)
根據B = 𝐴𝐴𝑇𝑇𝐴𝐴可以推導求得矩陣 a:
Ba = 𝐴𝐴𝑇𝑇𝐴𝐴𝑎𝑎 = 𝐴𝐴𝑇𝑇𝑥𝑥 (3− 12) a = (𝐴𝐴𝑇𝑇𝐴𝐴)−1𝐴𝐴𝑇𝑇𝑥𝑥 = 𝐻𝐻𝑥𝑥 (3− 13)
求出 a 矩陣後即可知道擬合參數,得到 SG Filter 的平滑化結果。
(二)Fast Fourier Transform
快速傅立葉轉換為離散傅立葉轉換的快速計算方法。若假設一個 訊號x(n),將它乘上e−jωn,並從 n=−∞~∞加總,可以用以下連續變數 ω函數表示,如式 3-14:
X�ejω� = � 𝑥𝑥(𝑆𝑆)𝑆𝑆−𝑗𝑗𝑗𝑗𝑛𝑛
∞ 𝑛𝑛=−∞
(3 − 14)
上式可以從理論上證明x(n) =2𝜋𝜋1 ∫ 𝑋𝑋(𝑆𝑆−𝜋𝜋𝜋𝜋 𝑗𝑗𝑗𝑗)𝑆𝑆𝑗𝑗𝑗𝑗𝑛𝑛𝑑𝑑𝑑𝑑,𝑋𝑋(𝑆𝑆𝑗𝑗𝑗𝑗)就稱 為 x(n)的傅立葉轉換(Fourier Transform),x(n)則為𝑋𝑋(𝑆𝑆𝑗𝑗𝑗𝑗)的傅立葉逆轉 換(Inverse Fourier Transform)(祁忠勇,1994)。
在分析算法複雜性上有ㄧ指標大 O 符號(Big O notation),其常用 的函數如下表 7:
41
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖 31 行動裝置三軸 圖 32 行動裝置 z 軸旋轉角
角速度�𝑟𝑟𝑎𝑎𝑑𝑑𝑠𝑠𝑎𝑎𝑆𝑆
𝑠𝑠 � =角度
時間 (3 − 15)
根據簡單的實驗,將手機靜置於桌面上 10 秒,並持續收集陀螺儀資料,
結果顯示 10 秒內手機可以獲取約 31 筆陀螺儀資料,而每一筆資料所記載 的陀螺儀資訊為每秒中之角速度值,因此每寫入一筆資料需約 0.32 秒,所 以旋轉角度為寫入之角速度乘以 0.32 秒。依此法則可以往後推估各筆資料 實際的旋轉角度。
圖 33 旋轉角與坐標計算流程
本研究僅使用行動裝置陀螺儀之 z 軸旋轉角,因研究中使用的定位方 式為簡易的行人航位推算,排除了坐標投影問題,且一般行人手持行動裝
43
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
置時,習慣將螢幕朝上,故最終運用 z 軸旋轉角做為計算依據。旋轉角的 計算則是透過行動裝置微機電系統陀螺儀 z 軸資料獲取,不斷地累積加總,
並以步伐偵測到的波峰處做為計算坐標的時間點,於此時間點輸出一筆旋 轉角資料,可以得到在該時間點,該位置上行人的行走方向。依此方式持續 加總並計算坐標,即可完成室內定位工作。
44
‧
分析方法(multiple regression analysis)(林惠玲、陳正倉,2002)。複迴歸分析 方程式表示如式 3-16:‧
(Height),迴歸係數為 a、b、c。複迴歸係數估計可透過最小二乘法求得,依式 3-20 可以列出矩陣 A、X、 StepLength⋮ 𝑛𝑛
�
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
免𝑅𝑅2高估的錯誤產生。
(二)迴歸方程式有無解釋能力之檢定:F 檢定
複迴歸分析可以利用 F 檢定來檢定迴歸方程式所有自變數對依變
複迴歸分析可以利用 F 檢定來檢定迴歸方程式所有自變數對依變