• 沒有找到結果。

第四章 汽車駕駛員疲勞狀態偵測與提醒系統之設計

4.3 疲勞狀態偵測演算法設計

如圖 4.5 所示,當完成兩天的資料收集後,我們先用第一天的資料放入 OMAP 1510 做基本的訊號處理,接著再將這些處理後的資料放入電腦中做估測 模型(Detection model)的建立。為了驗證所建立估測模型的正確性,我們將第二

天的資料同樣放入 OMAP 1510 做基本的訊號處理,之後再將這些資料放回電 腦,套入之前訓練出的模型做測試。當測試的結果有一定的準確度,我們才將這 個估測模型放入OMAP 1510 中。本節將介紹相關的訊號處理流程與方法,首先,

我們在4.3.1 中,依據訊號處理的流程概述所有處理的步驟,接著,在 4.3.2 中則 將針對訊號前處理的過程做詳細的介紹。在本論文中,我們所實現的估測模型包 含主成分分析(Principle component analysis, PCA)以及線性回歸(linear regression) 演算法建立模型,而這兩部分將於4.3.3 以及 4.3.4 中做較為詳細的介紹。

圖4.5、估測模型建立流程圖

4.3.1 腦電位訊號處理流程

OMAP 1510上的訊號處理流程圖如圖4.6所示,當資料取得後,會經過七道 處理程序,分別為:(1) Down sampling、(2)Hanning Window、(3)Short-time FFT processing、(4)Normalization、(5)Moving average、(6)PCA model以及(7)linear regression model,分別敘述如下:

圖4.6、腦電位訊號處理流程圖

(1) Down sampling:

在正式進入資料處理程序前,先將重新取樣成每秒64 點,由於人體昏睡 的時候的波形主要是在於 25Hz 以下的頻率,而之後我們所放進我們所訓練 的分析模型也是取1-25Hz,根據取樣定理,64Hz 的取樣頻率是足夠的。

(2) Hanning Window:

由於如果直接將時間序列的訊號做頻譜轉換,會造成比較嚴重的失真,

所以,一般在數位訊號處理上會在頻譜轉換前將時間序列的訊號乘上一個視 窗(Window)函數。在我們的系統中,我們使用比較常用的 Hanning Window 來做為我們的視窗函數。

(3) Short-time FFT processing:

由於腦電位訊號是屬於較複雜的訊號,所以必須要轉成頻譜,才可以看 出其特徵,在此我們以短時快速傅立葉轉換(Short-Time FFT,STFFT)的方 式來將時間序列的訊號轉為頻譜訊號。在做完頻譜轉換後,我們僅選擇主要 跟人體疲勞度有關的頻帶(1-25Hz)來做相關的分析與運算。關於頻譜轉換與 一些訊號前處理的細節將於4.3.2 做較詳盡的介紹。

(4) Normalization:

經過短時快速傅立葉轉換得出各 EEG 每兩秒鐘的能量狀況後作正規化 動作。

(5) Moving average:

由於人體精神狀況的改變,其週期超過90 秒,因此,在訊號分析上不是 只看某個瞬間腦波的值,而是看一段時間的變化。所以,把EEG 訊號之頻譜 作Moving average(移動平均)可以更進一步減少因為人為因素所引起的 EEG 雜訊而不影響我們所想觀察的腦電位訊號變化。

(6) PCA model:

根據文獻記載,人體疲勞時,腦波主要在後腦勺的附近會有比較強烈的 波形變化,而我們所兩側的位置是位於前額,所以距離後腦勺有一段距離,

再加上電極所放置的位置非常接近以及使用電極的雜訊可能很大,所以,我 們利用PCA 來找出真正與我們所要預測的現象相關的成分。在此,我們會先 利用之前該受測者的實驗數據,找到一個 PCA 的模型,將其放入 OMAP 中 做即時的換算。詳細的主成分分析演算法,將於4.3.3 中做介紹。

(7) linear regression model:

在預測駕駛者的精神狀態方面,我們是利用線性回歸(linear regression) 演算法建立模型,再放入OMAP 中做即時估測。線性回歸模型是用 50 階的 線性多項式,成本函數(cost function)用誤差的最小平方(least – square – error,LSE),詳細的線性回歸分析方法(Linear regression),將於 4.3.4 中做 介紹。

4.3.2 訊號之前處理

濾除眼動、心跳及其它雜訊之訊號,在分析之前必須進行前處理。由於人體 的精神狀況的改變,其週期超過90 秒,不是只看某個瞬間腦波的值,所以如圖 4.7 所示把 EEG 訊號之頻譜作 Moving-average(移動平均)就是取 128 點(2s)

的EEG 訊號加上 64 點(1s)的重疊為一個 Window。接著把這些 192 點每隔 6 點再分成幾個32 點的 sub-windows,每個 sub-window 再以補零的方法擴充成 64 點,作64 點的 FFT。接下來,把每一小段頻譜相對應的頻率上取中位數,得到 一段平均之後的頻譜可更進一步減少因為人為因素所引起的 EEG 雜訊,例如:

眨眼、搖頭…。在每隔兩秒輸出的 EEG 頻譜序列中,我們僅選擇與昏睡狀態比 較相關的頻帶1-25Hz 的 EEG 功率頻譜取 log 得到 dB 值。

圖4.7、訊號之前處理

4.3.3 主成分分析

在我們的應用中,x代表頻譜轉換後的資料,y則是經過主成分分析後所取得