• 沒有找到結果。

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

4.4 疲勞狀態偵測與提醒系統實現

4.4.2 ARM 處理器端與 DSP 溝通及訊號後處理系統實現

在ARM處理器上跟DSP相關的處理程序一共有兩個,包括DSP處理程式驅動 以及資料後處理等兩項工作,以下分別針對這兩個處理程序作說明:

(1) DSP處理程式驅動處理程序

本程序主要的目的是開啟DSP與喚醒DSP上的訊號處理程式,其處理流程如 圖4.12所示,在傳送資料至DSP端之前,由於ARM跟DSP上的資料格式不一樣,

所以在將資料傳輸過去之前要先做資料格式的轉換。接著,將轉換後的資料傳送 至IPBUF,同時告知資料後處理程序可以開始等待運算結果。

圖4.12、DSP程式啟動流程

(2) 資料後處理程序

如圖4.13所示,這個處理程序除了接收DSP運算完的結果並做資料格式轉換 外,在這個處理程序中亦做正規化、移動平均、乘上PCA權重矩陣以及乘上線性 迴歸模型的參數等運算。這些運算放在ARM上做處理有三個原因:

™ 這些運算過程較簡單。

™ 減輕DSP的負擔,加強平行處理的效果。

™ 將DSP上的處理程式模組化,可以被重覆使用,在使用不同的分析模 型時,只要更改資料後處理的程序即可。

圖4.13、資料後處理程式流程 4.4.3 疲勞提醒系統之實現

在實現疲勞提醒系統之前,我們先測試一下哪一種回授提醒訊號的提醒效果 比較好?在視覺與聽覺的回授訊號中,聽覺訊號使用上比較方便也比較合理。而 在聲音訊號中,我們嘗試使用不同頻率的訊號來看哪一種訊號的提醒效果較好,

我們使用 500Hz、1750Hz、3000Hz 三種頻率來作測試與比較。測試結果發現聲 音的提醒訊號的確有助於增加開車的績效,而在這三種頻率中,我們發現1750Hz 的提醒效果最好,所以,在實現上我們便以1750Hz 作為參考。

在回授訊號的迴路上,根據運算結果,會將精神狀態分為清醒與昏睡兩種,

回傳至回授提醒裝置,如果精神狀態為昏睡,系統會發出警告音來提醒駕駛員。

修改過後的RF3100 控制模組如圖 4.14 所示,表 4.2 則為模組接腳表,除了原本 的傳送模組外,再加入接收模組以及回授訊號辨識模組,圖 4.15 為回授訊號的 辨識流程,當接收到無線訊號後,會先比對該訊號,確認連續收到的訊號是相同 的,才會進入資料解碼的動作,如此一來便有兩層關卡可以保護資料,以確保其 接收到的資料是正確的。

圖4.14、用於雙向資料傳輸的RF3100控制模組架構圖

圖4.15、雙向傳輸資料辨識流程 表 4.1、 RF3100 控 制 模 組 接 腳 表

信號名稱 屬性 作用極性 功能

Clkin Input 系統之震盪頻率

CH1_datain[7..0] Input A/D converter 頻道 1 數位資料輸出 CH2_datain[7..0] Input A/D converter 頻道 2 數位資料輸出

RXDin Input 從無線模組接收資料

TXDout Output 傳送資料至無線模組 BC_B Output High A/D converter 致能訊號 Sound Output 警告聲音輸出

LED[7..0] Output 警告燈號輸出

第五章 測試結果與討論

本論文已分別於第二章介紹腦電位訊號感測與無線傳輸系統,第三章介紹嵌 入式多工排程系統的設計與開發,並於第四章說明整個汽車駕駛員疲勞狀態偵測 與提醒系統實現方法。本章將針對整個系統的實現做一些測試、比較與討論,包 括電路測試、腦電位訊號分析方法驗證與比較以及多工排程系統的比較。以下分 別就「測試結果」、「系統整合」以及「相關研究比較與討論」進行說明。

5.1 系統測試結果

本節將針對前面幾章所提部份的測試結果做說明與比較,以下分別就「生理 量測電路驗證測試」、「腦波訊號處理系統正確性測試」以及「多工排程效能比 較」進行說明,並於5.2 針對系統整合做一說明及討論。本論文所完成的系統如 圖5.1 所示,包括無線電生理訊號量測模組、嵌入式生理訊號分析系統以及顯示 介面,細部說明圖則如圖5.2 所示。

圖5.1、系統實體圖

(a)

(b)

圖5.2、即時無線生理訊號分析系統系統細部說明圖:

(a)無線生理訊號量測模組、(b)嵌入式系統與區域網路及遠端電腦

5.1.1 生理量測電路驗證測試

本論文所完成的生理訊號量測電路如圖5.3 所示,本節將針對生理量測放大 電路作了一些測試,藉以證明此量測電路可用性。第一項測試為看α 波,以確保 所量得的訊號為腦電波。α 波在人閉起眼睛休息時,於腦波 8~12Hz 的頻帶會連 續出現相同波形,如圖5.4 圈起來的部分所示,其中(a)為針對腦波頻帶所設計的 電路,而(b)則為涵蓋所有電生理訊號的放大電路所測得的波形,而(b)中的訊號 比較複雜,但在後處理的時候我們並不會選用到這些頻帶的訊號,因此,在使用 上不會有任何影響。另外,也可以從眼動訊號來判別,當眨眼時,肌肉訊號會干 擾到腦波訊號,形成很大振幅的雜訊,稱為眼動訊號,如圖5.5 所示。

圖5.3、生理訊號放大電路板

圖5.4、α腦電波圖

圖5.5、眼動腦電波圖

5.1.2 多工排程效能比較

如果不使用多工排程,如圖5.6 中(A)所示,其最大的問題就在於如果程序 A 必須每隔一段時間就必須執行一次,換言之,就是執行的時間限制非常嚴格,但 由於必須要執行程序 B,所以會造成程序 A 會有延遲的現象產生。解決這個問 題的方法有兩個:一是自行規劃與切割,使得程序 B 的執行時間不會干擾到程 序 A 的執行頻率,另一個方法則是交由系統做多工排程。如果使用多工排程則 可以將原本比較大塊的處理程序分解成許多小塊的處理程序,並將其插入空閒的 位置,如圖 5.6 中(B)所示。如此一來,將可以準確的確保程序 A 可以符合其執 行的頻率,而這也是我們使用多工排程的原因。因為,我們必須讓接收無線模組 訊號的處理程序一定頻率便執行一次,以便確保其取樣頻率的準確度。

圖5.6、程序排程示意圖

在多工排程的效能評比上,我們以兩個頻道的資料,接收資料的頻率為每個 頻道約65Hz,以接收足夠資料與資料處理為一次完整的流程,執行這個流程 1000

次,分別比較使用多工排程與不使用多工排程兩種方法所需的時間。如表5.1 所 示,不使用多工排程的程式做完1000 次的資料處理循環需要 40 分 25 秒,而使 用多工排程的情形下只需32 分 13 秒。平均而言,不使用多工排程的程式每個循 環需要2.425 秒,而使用多工排程僅需 1.933 秒。如果扣除資料接收的時間,不 使用多工排程的情形下,每做一次循環將會延遲近0.6 秒,而使用多工排程的話,

僅延遲不到0.1 杪。所以,把時間拉長來看,多工排程的效果會越明顯。

表 5.1、 效 能 比 較 表

純資料接收 不使用多工排程 使用多工排程 執行1000 次

時間

30 分 38 秒 (1838 秒)

40 分 25 秒 (2425 秒)

32 分 13 秒 (1933 秒) 平均一次時間 1.838 秒 2.425 秒 1.933 秒 平均延遲時間 0 秒 0.587 秒 0.095 秒

接著我們來看實際執行的情形,我們擷取使用多工排程與不使用多工排程個 一段執行影片,並每三個frame 擷取一張圖像來觀察。首先,我們觀察剛開始的 一段時間,由圖5.7 以及圖 5.8 可以發現,加入多工排程後執行起來會比較平順。

由圖5.7 看來,後三張圖片幾乎是相同的,而在圖 5.8 則沒有這個現象發生。然 而,這也是我們使用多工排程最大的原因,我們希望讓資料接收的頻率固定,而 圖看來則是希望看起來較平順,而沒有時間上斷斷續續的問題。

圖5.7、不用多工排程的執行過程

圖5.8、使用多工排程的執行過程

(a)訓練資料 (b)測試資料 圖5.9、不含PCA的演算法測試

(a)訓練資料 (b)測試資料 圖5.10、含PCA的演算法測試

經由在PC 上的測試,我們證明第四章所提出的即時分析演算法之準確度與 可行性。接著,我們將在OMAP 上作實際驗證,但由於 OMAP 上的分析演算法 分布在DSP 與 ARM 上,所以在驗證上我們分成幾個步驟來做驗證:

首先,我們測試 DSP 上的運算程式以及做 PCA 模型之前的訊號後處理程 式,將其運算的結果放入電腦中作為模型訓練的輸入特徵,皆以其訓練出的摸型 的準確度與電腦上處理的結果做比較。同時,我們針對不同Average 的方法作測 試與比較,其結果比較如表 5.2 所示。整體來說,我們在 OMAP1510 上所實現 的訊號處理方法的測試效果都還不錯,而三種方法中又以方法一的效果最好,而 其消耗時間也最短。由表中的結果發現,由我們在 OMAP1510 上實現的的三種 方法所訓練出的模型,再由訓練資料套回去的測試結果似乎都比電腦運算好,但 由於這只是訓練的資料,並無法真正代表其成效,要測試資料亦能到達很好的效 果才可以下定論。

表 5.2、 DSP 處 理 測 試 比 較 表

資料一 資料二 資料三 平均 電腦運算準確度 0.87 0.89 0.95 0.9033

準確度 0.96 0.93 0.93 0.94 方法一 消耗時間 39:01 39:05 38:53 39:00

準確度 0.96 0.94 0.89 0.93 方法二 消耗時間 41:35 41:27 41:09 41:24

準確度 0.95 0.91 0.91 0.9233 方法三 消耗時間 41:19 41:18 40:53 41:10

接著,我們測試 ARM 上面後處理程式,測試流程如圖 5.11 所示。我們將 DSP 運算以及 ARM 訊號後處理完的資料分別在 ARM 以及 PC 上乘上 PCA 的矩 陣,最後在PC 上做整體的效能評估與驗證,其結果如圖 5.12 所示,綠色的虛線 為ARM 做運算的結果,而紅色的實線則是在 PC 上做運算的結果,而根據圖上 顯示,這兩條線是完全重合的。

圖5.11、PCA矩陣處理驗證流程

圖5.12、PCA矩陣處理驗證測試

最後,我們使用已經完成量測的兩筆資料放入嵌入式單板作處理,做完處理 圖5.13、PCA維度與預測精確度的關係

(水平軸為 PCA 的萃取維度,垂直軸為辨識準確率)

(a)訓練資料 (b)測試資料 圖5.14、在OMAP上做系統測試

(a) Section 1 預測 Section 2 (b) Section 2 預測 Section 1 圖5.15、以方法三在OMAP上做預測測試

5.2 系統整合與討論

系統整合架構圖如圖5.16 所示,以 OMAP1510 為核心的嵌入式生理訊號分 析系統會藉由無線傳輸系統接收即時量測到的電生理訊號做運算與分析,分析的 結果會顯示在遠端的電腦上,如有需要提醒駕駛員時,則會有警告聲音發出。顯 示介面如圖5.17 所示,圖中 Frame A 與 Frame B 為原始腦電位訊號的圖形,而 Frame C 以及 Frame D 則是預測的結果。如圖中(a)所示,如果駕駛員的精神狀態 很好,右半面的Frame C 以及 Frame D 是空白的,然而,如果駕駛員的精神狀態

系統整合架構圖如圖5.16 所示,以 OMAP1510 為核心的嵌入式生理訊號分 析系統會藉由無線傳輸系統接收即時量測到的電生理訊號做運算與分析,分析的 結果會顯示在遠端的電腦上,如有需要提醒駕駛員時,則會有警告聲音發出。顯 示介面如圖5.17 所示,圖中 Frame A 與 Frame B 為原始腦電位訊號的圖形,而 Frame C 以及 Frame D 則是預測的結果。如圖中(a)所示,如果駕駛員的精神狀態 很好,右半面的Frame C 以及 Frame D 是空白的,然而,如果駕駛員的精神狀態