• 沒有找到結果。

以深度學習為基礎的睡意偵測技術 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "以深度學習為基礎的睡意偵測技術 - 政大學術集成"

Copied!
36
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學系研究所 碩士學位論文. 以深度學習為基礎的睡意偵測技術 Drowsiness detection based on deep learning approach. 立. 政 治 大. ‧. ‧ 國. 學 er. io. sit. y. Nat. al. n. iv n C 指導教授h e:n廖文宏 g c h i U博士 研究生 : 陳研佑 撰. 中華民國 109 年 5 月. DOI:10.6814/NCCU202000494.

(2) 致謝 本人我在此想先感謝的是願意擔任我的指導教授的廖文宏老師,感謝由於廖 老師對於系統架構提出一些設計上的問題以及建議,讓我能夠進一步的優化睡意 偵測模型,而因此得到較佳的實驗結果。 接著我想要感謝的是中研院的廖弘源老師,在此感謝廖老師即使在繁忙的期 間仍抽空出來和我討論研究題目方向以及幫忙向清華大學的電腦視覺實驗室索 取研究上所需要的模擬睡意資料集,如果沒有廖老師的幫忙的話,很可能就不會 往睡意偵測的方向進行研究了。. 政 治 大 有這兩位老師的協助而才會有本篇研究論文的產生。 立. 最後再次感謝廖文宏老師以及廖弘源老師所提供的各種研究上的建議,因為. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. II DOI:10.6814/NCCU202000494.

(3) 摘要 汽車駕駛在開車的途中發生打瞌睡行為的話很容易造成車禍發生,可能會造 成行人或是駕駛受傷甚至是死亡。為了避免因為駕駛的打瞌睡行為而發生車禍, 我們設計了一套可以自動偵測開車的駕駛是否有打瞌睡行為的即時辨識系統,這 套系統使用了電腦視覺技術以及影像處理相關的演算法來分析駕駛的臉部表情 和動作資訊來判斷出是否有明顯睡意產生。 此系統的處理流程可以分成主要兩個部分,其中一個是人臉偵測,另外一個 是睡意辨識,為了有效的辨識駕駛的情況而先偵測並擷取臉部圖像,藉此來去除. 政 治 大 度學習模型的方法來分析駕駛的睡意狀況。而在這次的研究中所使用到的訓練和 立. 掉不必要的環境背景因素,在睡意辨識的部分我們則是提出了合併多種不同的深. ‧ 國. 學. 測試的睡意資料集是由清華大學(NTHU)電腦視覺實驗室所提供的,其中我們所 建立的睡意辨識模型在測試資料集上的辨識準確率可以達到 87.34%,而本次的. ‧. 實驗結果也優於過去多數相關文獻的結果。. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 關鍵詞 : 深度學習、電腦視覺、睡意偵測 III DOI:10.6814/NCCU202000494.

(4) 目錄 致謝-------------------------------------------------------------------------------------------------------- II 摘要--------------------------------------------------------------------------------------------------------III 目錄------------------------------------------------------------------------------------------------------- IV 表目錄-----------------------------------------------------------------------------------------------------V 圖目錄----------------------------------------------------------------------------------------------------VI 第 1 章 緒論---------------------------------------------------------------------------------------------1 1.1. 研究背景與動機--------------------------------------------------------------------------1. 1.2. 睡意偵測------------------------------------------------------------------------------------1. 論文架構------------------------------------------------------------------------------------3. 學. 1.4. ‧ 國. 1.3. 政 治 大 研究目的------------------------------------------------------------------------------------2 立. 第 2 章 技術背景與相關文獻研究----------------------------------------------------------------4 卷積神經網路模型 CNN----------------------------------------------------------------4. 2.2. 臉部偵測模型 MTCNN------------------------------------------------------------------ 5. 2.3. 特徵分析模型 LSTM--------------------------------------------------------------------- 7. ‧. 2.1. er. io. sit. y. Nat. al. iv n C hengchi U 睡意資料集-------------------------------------------------------------------------------8 n. 第 3 章 資料的準備及處理------------------------------------------------------------------------- 8 3.1 3.2. 資料預處理-------------------------------------------------------------------------------- 9. 3.3. 標籤預處理-------------------------------------------------------------------------------10. 第 4 章 睡意偵測方法------------------------------------------------------------------------------12 4.1 C3D 模型架構----------------------------------------------------------------------------12 4.2 CNN 模型架構---------------------------------------------------------------------------13 4.3 LSTM 模型架構--------------------------------------------------------------------------15 4.4. 時間平滑後處理------------------------------------------------------------------------16. 4.5 影像資料的讀取方式------------------------------------------------------------------18 IV DOI:10.6814/NCCU202000494.

(5) 4.6. 深度學習套件以及開發環境--------------------------------------------------------19. 第 5 章 實驗與結果分析---------------------------------------------------------------------------20 5.1 CNN 模型的測試結果------------------------------------------------------------------20 5.2 C3D 模型的測試結果------------------------------------------------------------------21 5.3. 睡意辨識的測試結果------------------------------------------------------------------21. 5.4. 睡意辨識的執行效能分析-----------------------------------------------------------23. 第 6 章 結論與未來相關研究--------------------------------------------------------------------25 參考文獻------------------------------------------------------------------------------------------------27. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. V DOI:10.6814/NCCU202000494.

(6) 表目錄 表 (5-1). 闔眼辨識 CNN 模型的測試結果--------------------------------------------------- 20. 表 (5-2). C3D 短期睡意分析的測試結果-----------------------------------------------------21. 表 (5-3). 不同模型以及輸入幀數調整的實驗結果--------------------------------------- 23. 表 (5-4). 睡意偵測相關文獻的實驗結果比較----------------------------------------------23. 表 (5-5). 不同辨識模型的效能處理速度---------------------------------------------------- 24. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. VI DOI:10.6814/NCCU202000494.

(7) 圖目錄 圖 (1-1). 睡意偵測的辨識結果標記------------------------------------------------------------ 2. 圖 (2-1). CNN 模型的架構範例-------------------------------------------------------------------4. 圖 (2-2). VGG-Net 的多種架構--------------------------------------------------------------------5. 圖 (2-3). 3D-CNN 的模型架構---------------------------------------------------------------------5. 圖 (2-4). MTCNN 的執行流程圖------------------------------------------------------------------6. 圖 (2-5). MTCNN 中 P-Net、R-Net 以及 O-Net 的結構圖---------------------------------7. 圖 (2-6). CNN 和 LSTM 的整合流程圖----------------------------------------------------------7. 圖 (3-1). Drowsy Driver Detection 資料集中影片的截圖----------------------------------8. 圖 (3-2). 政 治 大 使用 MTCNN 模型來取得影片中駕駛臉部和雙眼的影像資料-------------9 立 CLAHE 抑制雜訊被放大的處理意示圖-------------------------------------------10. 圖 (3-4). 執行 CLAHE 前後的臉部圖形變化-------------------------------------------------10. 圖 (3-5). DDD 資料集中的睡意標記範例----------------------------------------------------11. 圖 (3-6). DDD 資料標籤的預處理方法------------------------------------------------------- 11. 圖 (4-1). 睡意辨識的流程架構----------------------------------------------------------------- 12. 圖 (4-2). 提取臉部特徵的 C3D 架構---------------------------------------------------------- 13. ‧ 國. ‧. er. io. sit. y. Nat. al. iv n C hengchi U 提取雙眼特徵的 CNN 架構--------------------------------------------------------14 n. 圖 (4-3). 學. 圖 (3-3). 圖 (4-4). LSTM 模型的資料輸入流程--------------------------------------------------------- 16. 圖 (4-5). 辨識值的合併輸入格式--------------------------------------------------------------16. 圖 (4-6). 睡意辨識結果的時間平滑處理方式--------------------------------------------- 17. 圖 (4-7). 時間平滑模型的處理流程-----------------------------------------------------------17. 圖 (4-8). 時間平滑的處理結果----------------------------------------------------------------- 18. 圖 (4-9). 駕駛影像的資料讀取格式-----------------------------------------------------------19. VII DOI:10.6814/NCCU202000494.

(8) 第一章 緒論 1.1 研究背景與動機 在當今的社會中,汽車已經是大多數人日常生活中的交通工具之一,其中為 了確保行車上的安全,駕駛人員需要在開車的途中保持高度的專注力和警覺性才 能夠隨時注意路況以及行車安全。但是隨著現代人們的生活習慣改變以及工作壓 力等關係,使得現代人的睡眠時間不斷地減少,睡眠的不足很可能會使得駕駛在 開車途中會有打瞌睡的情形發生,這樣子的疲勞駕駛行為不論是對駕駛本人、乘 客或者是路邊行人都很可能會造成潛在的危險,因此為了減少發生這樣打瞌睡的. 政 治 大. 駕駛行為,我們使用深度學習中的電腦視覺技術來設計出一套可以自動偵測駕駛. 立. 是否有打瞌睡行為的系統。把此辨識系統和攝影機連接後即可對駕駛當下的狀態. ‧ 國. 學. 進行分析,當系統偵測到駕駛發生打瞌睡時可以自動使用語音等方式提醒駕駛保 持清醒,又或是自動限制車輛的車速來避免發生車禍等意外。. ‧. 1.2 睡意偵測. y. Nat. er. io. sit. 偵測駕駛是否有打瞌睡的核心想法是藉由分析駕駛人的臉部表情以及動作 來判斷是否有睡意產生,如圖(1-1)為我們建立的睡意辨識模型所輸出的偵測結果,. n. al. Ch. i Un. v. 主要根據臉部的影像資訊來判斷是正常清醒還是陷入打瞌睡的狀態,其中由 Tun-. engchi. Huai 等人所提出的睡意偵測研究[2],是本研究中重要的參考依據之一。在相關 研究[2]中的作者們使用知名的深度學習框架 VGG-Net[5]來取得人臉的睡意特徵, 之後把這些特徵放入 Long Short Term Memory(以下簡稱為 LSTM)進行處理來分 析是否有睡意產生,在另外一篇的睡意研究[3]中則是使用深度學習框架 AlexNet[4] 來 處 理 睡 意 辨 識 , 以 上 這 兩 種 知 名 框 架 都 是 由 Convolution neural network(簡稱 CNN)所組成的,CNN 在取得圖形特徵上具有很不錯的效果,不過 因為 CNN 只能取得單張圖像中的特徵,沒有辦法分析在時間上的連續動作特徵, 因此在相關研究[6,7]中則是提出可以使用到 3D Convolution Neural Network(以下. 1 DOI:10.6814/NCCU202000494.

(9) 簡稱為 C3D)來同時取得表情以及臉部動作特徵(spatio-temporal feature)的方法, 而不需要再額外加上 LSTM 來取得臉部動作特徵。C3D 和 LSTM 這兩種深度學 習模型都可以用於取得動作特徵,但是在相關論文[8,9,10]的研究結果中有提到 C3D 模型適合用於取得在相對較短時間內的動作特徵,而 LSTM 適合用於取得 時間相對較長的動作特徵。我們參考以上的研究來提出一種合併 C3D 和 LSTM 的 模 型 架 構 來 取 得 更 完 整 的 臉 部 特 徵 變 化 並 且 搭 配 上 資 料 預 處 理 (data preprocessing)以及輸出結果的後處理(result reprocessing),藉此來進一步提升睡意 偵測的準確性。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. 圖(1-1). Ch. engchi. i Un. v. 睡意偵測的辨識結果標記. 1.3 研究目的 有關於本研究的目的是在對駕駛進行即時性的明顯睡意偵測,並且使用深度 學習的類神經網路架構來提高辨識的精準度,當偵測到有打瞌睡情形時可以自動 提醒駕駛在開車途中保持清醒,藉此減少在單人駕駛車輛時發生打瞌睡的情況。 而類似的相關研究中像是由 Reza 等人所提出的潛在性睡意偵測[1],因為在睡意 初期的臉部變化不明顯,所以在偵測上會需要較長的分析時間,較難以達到即時 性的偵測,因此在本次的研究中不會探討到潛在性睡意等問題,我們的研究重點 2 DOI:10.6814/NCCU202000494.

(10) 為放在如何提高睡意辨識的準確性以及辨識所需時間的分析上。 在本研究論文當中的主要貢獻如下: (1). 設計出可以用於即時(in real time)偵測是否打瞌睡的深度學習模型。. (2). 提出合併 C3D 和 LSTM 兩種模型的方法來藉此提高睡意偵測的準確性。. (3). 除了對臉部影像分析之外,從影像中分離出雙眼的部位來進行闔眼辨識,. 並且把闔眼辨識結果和睡意偵測的結果進行決策融合(decision fusion)處理。 (4). 研究的成果可應用在當駕駛發生打瞌睡時,可以自動對駕駛來進行示警。. (5). 睡意辨識結果的準確率可以到 87.34%,我們的辨識結果較優於過去多數論. 文的實驗結果。. 立. 1.4 論文架構. 政 治 大. ‧ 國. 學. 本文的架構主要分成 6 個章節來說明。第 1 章為緒論,此章節主要在描述研. ‧. 究背景、研究動機和研究目的。第 2 章為相關的技術背景和研究,在此章節之中 將會提到使用深度學習框架來對人臉進行偵測和分析的方法。第 3 章為資料處. y. Nat. er. io. sit. 理,此章節會對使用到的資料集以及資料的預處理方法進行介紹。第 4 章為睡意 偵測方法,在此章節會說明到使用的辨識模型的參數架構以及處理流程。第 5 章. n. al. Ch. i Un. v. 的內容為實驗與結果分析,在此章節會列出模型的效能測試結果並且和過去數篇. engchi. 論文的數據結果進行比較和分析。第 6 章的內容為結論總結,此章節為總結出本 研究的成果以及可以在未來上延伸的後續研究。. 3 DOI:10.6814/NCCU202000494.

(11) 第二章 技術背景與相關文獻研究 在本章節中會先對前人在人臉分析上相關的研究成果進行說明,然後我們會 再對這些研究成果進行延伸的探討,進而能夠找到更好的方法來處理臉部睡意偵 測的問題。. 2.1 卷積神經網路模型 CNN 卷積神經網路(Convolutional Neural Network)是由多種神經元層所組成的,其 中最常見的是卷積層(convolutional layer)、池化層(sub-sampling or pooling layer)以 及全連接層(fully connected layer),模型架構如圖(2-1)所示,在相關論文[12]中有. 政 治 大. 提到有時會為了避免在訓練模型時發生過度擬合(over-fitting)等問題,會額外加. 立. 上 dropout layer 來減少過度擬合等問題。. ‧ 國. 學. CNN 的主要功能是可以從圖像中抓取特徵,並藉由這些特徵來做圖像的分 類、辨識或是偵測,但是 CNN 在同樣的參數架構下,對於不同的圖像問題卻會. ‧. 有不同的分析結果,因此不會存在一種最好的 CNN 架構來通用在所有圖像問題. Nat. sit. y. 當中,不過在 2014 年時由 Karen 等人所提出的研究[5]當中,他們提出一種 CNN. n. al. er. io. 的基線模型 VGG-Net,架構如圖(2-2)所示,多數的圖像辨識以此架構來作為基線. i Un. v. 模型(baseline model)並且進行微調(finetune)後,普遍可以得到比較好的測試結果。. Ch. engchi. 在研究[6,7]中所提到的 3D Convolution Neural Network 如圖(2-3)所示,其模型也 可以稱作為 C3D,其中 C3D 和 CNN 的架構差別在於 C3D 把圖像的時間變化量 當作為第三維度的資訊放入卷積層和池化層當中來進行訓練而可以取得圖像的 特徵變化,因此 C3D 可以取得在時間上的連續動作特徵。. 圖(2-1) CNN 模型的架構範例 [11] 4 DOI:10.6814/NCCU202000494.

(12) 政 治 大. 立. 圖(2-2) VGG-Net 的多種架構 [5]. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. i Un. 圖(2-3) 3D-CNN 的模型架構 [6]. Ch. engchi. v. 2.2 臉部偵測模型 MTCNN 為了把辨識問題集中在駕駛臉部上而非在整張駕駛開車的影像,所以在進行 睡意偵測之前需要先進行人臉偵測找出影像中駕駛的臉部位置並進行切割處理。 我們挑選了一篇在 2016 年由 Zhang 等人所提出的研究[14]中的深度學習模型 Multi-task Cascaded Convolutional Networks(以下簡稱 MTCNN)來作為我們進行睡 意識別之前的資料預處理。 根據文獻[14]中的內容,MTCNN 會標記出圖像中人臉的五點位置,五點位 5 DOI:10.6814/NCCU202000494.

(13) 置包含:左眼、右眼、左嘴角、右嘴角以及鼻子,流程圖如圖(2-4)所示,MTCNN 主要由三種不同的網路所組成的,分別是 P-Net、R-Net 以及 O-Net,模型架構如 圖(2-5)所示。MTCNN 模型的處理流程為先把原始圖像縮小成多種不同的尺寸, 再各自把這些不同尺寸的圖像放入 P-Net 後,會生成多個對應的邊界框(bounding box)並使用 non-maximum suppression(以下簡稱 NMS)來刪除較小和重疊的邊界 框,接著把圖像放入 R-Net 中來刪除不適合的邊界框並再次使用 NMS 方法來刪 除不適合的邊界框,最後把邊界框中的圖像放入 O-Net 中來標記出人臉上五點的 位置,之後依照標記出來的五點位置來對人臉進行角度轉正的處理,因為人臉圖 像轉正後有助於後續的辨識模型判斷駕駛是否有發生打瞌睡情形。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖(2-4) MTCNN 的執行流程圖 [14]. 6 DOI:10.6814/NCCU202000494.

(14) 圖(2-5) MTCNN 中 P-Net、R-Net 以及 O-Net 的結構圖 [14]. 2.3 特徵分析模型 LSTM. 政 治 大 因為人的睡意跡象很難只依靠單一圖像就可以判斷該駕駛是否有打瞌睡的 立. ‧ 國. 學. 情形發生,會需要藉由分析多張影像才能進行判斷,在參考論文[2]的內容中把已 經藉由 CNN 模型所提取出的圖像特徵依序放入 LSTM 模型中分析臉部變化的動. ‧. 作特徵來判斷是否存在睡意。如圖(2-6)所示,在影片中的每張影像幀(以下稱為. sit. y. Nat. frame)經過 CNN 模型而得到圖像特徵後會依序放入 LSTM 模型中分析而後輸出. io. al. er. 睡意偵測的結果,其中所使用的 LSTM 模型則是由 Zaremba 和 Sutskever 等人所. v. n. 提出的[22],因為 LSTM 模型可以分析特徵的時序性變化而因此是有助於睡意的 判斷分析。. Ch. engchi. i Un. 圖(2-6) CNN 和 LSTM 的整合流程圖 [2]. 7 DOI:10.6814/NCCU202000494.

(15) 第三章 資料的準備及處理 3.1 睡意資料集 在我們這次的研究中所使用到的駕駛打瞌睡資料集是由清華大學(NTHU)電 腦視覺實驗室所提供的 Drowsy Driver Detection dataset[15],以下簡稱為 DDD 資 料集。資料集中包含多支模擬打瞌睡的影片以及每張 frame 所對應的睡意標記, 影片是由 22 位來自不同國家的人來負責扮演駕駛來模擬開車打瞌睡,影片的截 圖範例如圖(3-1)所示,這些影片模擬駕駛在開車途中可能會產生的各種自然的臉 部動作,其中 18 位的打瞌睡影片來做為訓練用資料,另外 4 位的打瞌睡影片則. 政 治 大. 是作為測試用資料。每位的打瞌睡影片是分別在五種不同的情景下進行錄影,分. 立. 別為白天配戴眼鏡、白天配戴太陽眼鏡、夜間配戴眼鏡、白天沒眼鏡以及夜間沒. ‧ 國. 學. 眼鏡的五種情景。訓練集總共有 360 支影片,每支訓練影片的長度約為 1 分半左 右,而測試集共有 20 段影片,每支測試影片的長度落在 2 分鐘到 10 分鐘之間,. ‧. 因為影片的長度落差過大,為了避免影響效能測試的準確度,每支影片的長度最. Nat. sit. y. 多只取 5 分鐘,其中訓練集和測試集的資料比例為 9:1,在訓練集當中每個人. n. al. er. io. 在每種情景中各有四段不同的影片,用來表現出清醒以及和睡意有關的臉部特徵,. i Un. v. 其中 DDD 資料集含有 4 種臉部狀態的標記資訊,分別為睡意(清醒、打瞌睡)、. Ch. engchi. 眼睛(睜開、闔眼)、嘴巴(閉上、說話、哈欠)以及頭部(抬頭、低頭、轉頭),而本 次我們的研究中會使用到睡意和眼睛的標記資訊來分別訓練我們的多個模型。. 圖(3-1) Drowsy Driver Detection 資料集中影片的截圖 [21]. 8 DOI:10.6814/NCCU202000494.

(16) 3.2 資料預處理 為了把影片中除了人臉以外較不重要的資訊去掉只會保留人臉的部份,我們 使用到由 Zhang 等人所提出的 MTCNN 模型[14]來抓取影片中每個 frame 中的人 臉圖像並且對人臉圖像進行轉正的處理,而除了臉部以外在我們的辨識模型中還 需要駕駛雙眼的圖像,因此我們會依照 MTCNN 模型所偵測出來的雙眼位置來 切取出眼睛的圖像,流程如圖(3-2)所示。MTCNN 模型會偵測出每個 frame 中的 臉部邊界框資訊以及眼睛、鼻子、嘴巴的位置,模型的輸出結果如方程式(3-1)所 示,方程式中的I為輸入 MTCNN 模型的原始影像,輸出結果的(x1 , y1 )和(x2 , y2 ). 政 治 大 的座標位置,(x , y )為鼻子的座標位置,(x , y )和(x 立. 分別為邊界框的左上角和右下角的座標,(xle , yle )和(xre , yre )分別為左眼和右眼 n. n. lm. lm. rm , yrm )分別為左嘴角和. ‧ 國. 學. 右嘴角的座標位置。根據結果來取得的人臉影像如方程式(3-2)所示,除了臉部之 外我們需要單獨取得眼睛部分的影像,其中左右兩眼的邊界框長度如方程式(3-3). ‧. 所示,邊界框的長度大小為眼睛和鼻子之間的水平距離差值,而取得到的左右兩. n. al. er. io. sit. y. Nat. 眼的影像如方程式(3-4)和(3-5)所示。. 圖(3-2). Ch. engchi. i Un. v. 使用 MTCNN 模型來取得影片中駕駛臉部和雙眼的影像資料. MTCNN(I) = {x1 , y1 , x2 , y2 , xle , yle , xre , yre , xn , yn , xlm , ylm , xrm , yrm } Faceimage = I[x1 : x2 , y1 : y2 ] Llen =. (3 − 1) (3 − 2). |xle − xn | |xre − xn | , R len = 2 2. (3 − 3). Leyeimage = I[(xle − Llen ): (xle + Llen ), (yle − Llen ): (yle + Llen )]. (3 − 4). Reyeimage = I[(xre − R len ): (xre + R len ), (yre − R len ): (yre + R len )]. (3 − 5). 9 DOI:10.6814/NCCU202000494.

(17) 在取得駕駛的臉部和雙眼位置的影像後,考慮到因為白天或夜晚的因素使得 影像的整體亮度偏亮或是偏暗而可能會影響睡意辨識的準確性,因此為了處理這 個問題,我們使用 Contrast Limit Adaptive Histogram Equalization(以下簡稱為 CLAHE)的方法來增加臉部以及雙眼影像中的對比度,其中 CLAHE 方法的參數 設定是使用 OpenCV 函式庫中的預設值,藉由增加影像的對比度可以統一圖像 的亮度而不受到環境的影響,因此有利於之後的模型訓練以及睡意辨識,而且 CLAHE 方法可以避免把影像中的雜訊被放大,方法如圖(3-3)所示,在增加對比 度之前會先降低影像中高對比度的區塊並將減少的數值平均增加到整體影像中, 其中臉部圖像經過 CLAHE 處理過後的結果比較如圖(3-4)所示,從圖中可以看出. 政 治 大. 臉部圖像中的亮暗對比度增加了。. 立. ‧. ‧ 國. 學 sit. y. Nat. n. al. er. CLAHE 抑制雜訊被放大的處理意示圖 [13]. io. 圖(3-3). 圖(3-4). Ch. engchi. i Un. v. 執行 CLAHE 前後的臉部圖形變化. 3.3 標籤預處理 睡意資料集有標記出每支影片中的打瞌睡的時間區段,範例如圖(3-5)所示, 第 1 個幀到第 5 個幀之間的標記為 1,代表駕駛有發生打瞌睡的行為,第 6 個幀 到第 10 個幀之間的標記為 0,代表駕駛是處於清醒的狀態。此種資料標記的方 式並非是對單張 frame 的影像資訊進行標記,而是針對屬於同一區段中的 frame 10 DOI:10.6814/NCCU202000494.

(18) 標記相同的睡意狀態,因此在我們的研究中是一次針對多張 frame 的資訊來進行 睡意偵測而並非是單一張影片。標籤的處理如圖(3-6)所示,假設每次輸入的 frame 數為 3 張的話,以這 3 張 frame 之中最多的標記屬性來作為其所對應的標籤屬 性。. 圖(3-5). DDD 資料集中的睡意標記範例. 立. 政 治 大. n. al. er. io. sit. DDD 資料標籤的預處理方法. y. ‧. ‧ 國. 學. Nat. 圖(3-6). Ch. engchi. i Un. v. 11 DOI:10.6814/NCCU202000494.

(19) 第四章 睡意偵測方法 為了提高成功辨識出駕駛在開車途中是否發生打瞌睡的情形,我們參考了相 關文獻[8,9,10]的研究結果,我們提出了結合 LSTM 和 3D-CNN 的模型架構並且 搭配上闔眼辨識的 CNN 模型以取得更完整臉部資訊來增加睡意偵測的準確度, 模型架構如圖(4-1)所示,使用 MTCNN 模型取得臉部以及雙眼的圖像資料後分 別放入 C3D 模型以及 CNN 模型中來取得睡意特徵,之後合併兩種特徵放入 LSTM 模型當中分析來取得睡意的辨識結果,其中為了抑制雜訊預測而加入時間 平滑的後處理機制。在論文[6]中提到的人的睡意狀態會至少持續 10 秒鐘以上以. 政 治 大 資料為 96 張連續的 frame,其長度大約為 3 秒鐘左右,而辨識模型的輸出為打瞌 立. 及考慮到需要在短時間內(in real time)輸出預測結果,我們設定辨識模型的輸入. ‧. ‧ 國. 學. 睡和清醒狀態的機率值。. n. er. io. sit. y. Nat. al. Ch. 圖(4-1). engchi. i Un. v. 睡意辨識的流程架構. 4.1 C3D 模型架構 我們以論文[6]中提出的 3DCNN 架構作為範例來進行修改,而修改過後的模 型架構如圖(4-2)所示,C3D 模型的輸入資料為 4 張連續的臉部灰階圖像,每張灰 階圖像的大小固定為 64×64,其中我們使用灰階圖像而非 RGB 圖像來做為 C3D 模型的輸入資料是為了減少模型的運算處理時間,在架構中總共有 4 個卷積層 (Convolution-3D)、4 個池化層(MaxPooling-3D)以及 3 個全連接層(Dense),其中. 12 DOI:10.6814/NCCU202000494.

(20) 在每個卷積層以及全連接層都有使用 ReLU 激勵函數(activation function),第一 卷積層的 filter 數為 64 個、kernel 大小為 3×3×3,而第一池化層的 pool 大小為 2×2×2,原始圖像經過以上兩層的處理後會得到 64 個大小為 2×32×32 的特徵圖, 以此類推最後可以得到 512 個大小為 1×4×4 的特徵圖,為了取得詳細的圖像特 徵,我們使用展平層(Flatten)來展開這些特徵圖後可得到 8192 個特徵值,接著使 用全連接層(Dense)來分析特徵,這 3 層的單元(unit)數量分別為 2000、200 以及 2,此外有在全連接層上使用 dropout 來減少發生過度擬合(over-fitting)等問題, 其中 dropout 的數值設定為 0.5,最後一層的全連接層使用 Softmax 激勵函數來使 輸出的資料型態為機率形式,輸出的兩個機率值分別為d1 和d2 且d1 + d2 = 1,其. 政 治 大. 中d1 為清醒狀態的機率,d2 為正在打瞌睡的機率。. 立. 關於 C3D 模型的訓練,我們使用已經預處理過的 DDD 資料集來進行訓練,. ‧ 國. 學. 其中資料的隨機批量大小(batch size)設定成 8,在損失函數(loss function)的部份. ‧. 使用 cross entropy 來對應 Softmax 層的輸出,而在模型參數的優化上我們則使用 SGD(stochastic gradient descent)方法來優化,其中在論文[16]中有提到使用 SGD. y. Nat. io. sit. 方法對於模型容易進行優化,其中 SGD 的學習率(learning rate)設為1 × 10−4、衰. n. al. er. 變率(weight decay)設為1 × 10−6 、動量(momentum)設為 0.9,此模型總共訓練了 4. 6 × 10 次迭代(iteration)。. Ch. engchi. i Un. v. 圖(4-2) 提取臉部特徵的 C3D 架構. 4.2 CNN 模型架構 我們參考 VGG-Net[5]並且對此框架進行修改來減少層數,藉此來減少運算. 13 DOI:10.6814/NCCU202000494.

(21) 所需的時間,而修改後的架構如圖(4-3)所示,我們使用此模型來進行闔眼辨識, CNN 模型的輸入資料為單張大小為 32×32 的眼睛灰階圖像,辨識的輸出結果為 闔眼以及開眼狀態的機率值,單張駕駛圖像會對應出左眼和右眼兩組的辨識結果, 其中眼睛的圖像不分左右眼,在訓練 CNN 模型的階段中,左眼資料和右眼資料 會一同放入此模型中訓練而並非分開訓練處理。CNN 模型中總共有 4 個卷積層 (Convolution-2D)、4 個池化層(MaxPooling-2D)以及 3 個全連接層(Dense),每個 卷積層以及全連接層使用到 ReLU 激勵函數(activation function),第一卷積層的 filter 數為 64 個、kernel 大小為 3×3,第一池化層的 pool 大小為 2×2,原圖像經 過以上兩層的處理後會得到 64 個大小為 16×16 的特徵圖,以此類推最後可得到. 政 治 大. 512 個大小為 2×2 的特徵圖,接著使用展平層(Flatten)來展開特徵圖後可得到 2048. 立. 個特徵值,而後使用全連接層(Dense)來分析特徵,這 3 層的單元(unit)數量分別. ‧ 國. 學. 為 2048、1024 以及 2,並在全連接層上使用 dropout 來減少過度擬合(over-fitting). ‧. 的影響,其中 dropout 的數值設定為 0.5,最後一層的全連接層使用 Softmax 激勵. er. io. sit. Nat. e2 = 1,其中e1 為開眼狀態的機率,e2 為闔眼的機率。. y. 函數來使輸出的資料型態為機率形式,輸出的兩個機率值分別為e1 和e2 且e1 +. 我們使用 DDD 資料集中的闔眼標記資訊來訓練 CNN 模型,訓練資料的隨. n. al. Ch. i Un. v. 機批量大小(batch size)為 16,在損失函數(loss function)的部份使用 cross entropy. engchi. 來對應 Softmax 層的輸出,此模型的參數優化上我們也使用 SGD 方法來進行處 理,其中 SGD 的學習率(learning rate)設為1 × 10−4 、衰變率(weight decay)設為 1 × 10−6 、動量(momentum)設為 0.9,總共訓練了6 × 105 次迭代(iteration)。. 圖(4-3) 提取雙眼特徵的 CNN 架構. 14 DOI:10.6814/NCCU202000494.

(22) 4.3 LSTM 模型架構 在使用 C3D 模型以及 CNN 模型取得輸出結果後,將臉部、左眼以及右眼的 辨識結果合併放入 LSTM 模型進行分析,流程圖如(4-4)所示。整個睡意偵測模型 的輸入影像為 96 張 frame,C3D 模型每次處理的輸入資料為 4 張 frame,因此經 過 C3D 的處理過後共有 24 組的辨識值,而 CNN 闔眼模型每次輸入的資料為單 張 frame,因此經 CNN 處理後共產生 96 組的辨識值,其中考量到在相鄰的 frame 之間可能會被少許雜訊影響而產生不正確的輸出結果,並且為了搭配 C3D 模型 的輸入資料數,因此我們設定每次取得 4 組連續的 CNN 輸出值來取平均結果,. 政 治 大 LSTM 模型的輸入資料由 C3D 的睡意辨識結果以及 CNN 的左右闔眼辨識結果 立. 因此會得到 24 組的平均闔眼輸出值。有關於決策合併的方法如圖(4-5)所示,. ‧ 國. 學. 所組成,每段區間有 6 個輸入資料,而總共會有 24 組區間的資料輸入 LSTM 模 型中。我們建立的模型是由 LSTM 層和全連接層所構成的兩層模型架構,其中. sit. y. Nat. Softmax。. ‧. LSTM 層含有 32 個隱藏單元,全連接層的單元數為 2 並配合使用激勵函數. io. er. 我們使用由 C3D 模型和 CNN 模型的輸出資料來作為 LSTM 模型的訓練資. al. iv n C hengchi U entropy 來對應 Softmax 層的輸出結果,在此模型的參數優化上我們也使用 SGD n. 料,訓練資料的隨機批量大小(batch size)為 8,在損失函數的部份使用 cross. 方法來進行處理,SGD 的學習率(learning rate)設為1 × 10−4、衰變率(weight decay) 設為1 × 10−6 、動量(momentum)設為 0.9,LSTM 模型總共訓練了 5000 次迭代 (iteration),訓練完成後可以對睡意特徵進行分析並輸出睡意辨識的結果。. 15 DOI:10.6814/NCCU202000494.

(23) 圖(4-4). LSTM 模型的資料輸入流程. 學. 圖(4-5). 辨識值的合併輸入格式. Nat. sit. y. ‧. ‧ 國. 立. 政 治 大. io. er. 4.4 時間平滑後處理. al. iv n C hengchi U 及受到圖像中的雜訊影響而產生不準確結果,而且考慮到人的睡意偵測值上的變 n. 由於影片中相鄰片段的辨識結果可能因為相鄰之間的臉部圖像變化較小以. 化,人並不會在一瞬間從清醒變成打瞌睡或是從打瞌睡變回清醒,因此在睡意偵 測值上突然出現的極端值通常可以視為偵測錯誤的結果,為了減少這些不準確或 是極端數值的結果,在參考文獻[2]中有提到採用時間平滑(temporal smoothing)的 方法可以減少辨識結果受到雜訊影響,文獻[2]中的方法我們使用由一維卷積層 (Convolution-1D)和全連接層(Dense)所組成的模型來進行時間平滑,辨識結果的 後處理方式如圖(4-6)所示,每當產生新的輸出結果後就和過去的辨識結果一同放 入模型中來進行時間平滑處理。. 16 DOI:10.6814/NCCU202000494.

(24) 圖(4-6). 睡意辨識結果的時間平滑處理方式. 時間平滑模型是由一卷積層和一全連接層所組成的兩層學習模型,用來修正 在辨識睡意的過程中產生的極端結果,其中一維卷積層的輸入資料為 8 個原始偵 測結果,此意思為除了當下的偵測結果之外,另外放入過去的前 7 個偵測結果到. 政 治 大. 時間平滑模型中,而全連接層的輸出則是修正過後的睡意辨識結果,我們使用在. 立. 前幾章提及的由 C3D、CNN 和 LSTM 所組成的睡意辨識模型的輸出結果來作為. ‧ 國. 學. 此模型的訓練以及測試資料,時間平滑的處理流程如圖(4-7)所示,圖中的 Detection result 1~10 為連續時間序上的睡意偵測結果,首先把 Detection result 1. ‧. ~8 放入時間平滑模型處理來產生一筆修正好的結果,接著處理 Detection result. Nat. sit. y. 2~9 來產生第二筆修正好的辨識結果,以此類推來得出各個原結果所對應的新. n. al. er. io. 修正結果。訓練資料的隨機批量大小(batch size)為 8,損失函數為 cross entropy,. i Un. v. 模型的參數優化也使用 SGD 方法來進行處理,SGD 的學習率(learning rate)設為. Ch. engchi. 1 × 10−4、衰變率(weight decay)設為1 × 10−4、動量(momentum)設為 0.9,時間平 滑模型總共訓練了 2 萬次迭代(iteration)。. 圖(4-7). 時間平滑模型的處理流程 17 DOI:10.6814/NCCU202000494.

(25) 圖(4-8)為輸出結果進行時間平滑後的結果,兩圖中的 x 軸為 frame 的時間 軸,y 軸為偵測到發生睡意的機率值,水平綠色線為睡意的基準線,綠色線以上 代表存在打瞌睡的情形,反之綠色線以下則代表為清醒的狀態,藍色折線為原始 的辨識結果,而紅色折線為經過時間平滑後的結果,從這兩張圖可以看出平滑處 理前後的雜訊結果相對減少許多。. 立. 政 治 大. 時間平滑的處理結果. Nat. sit. y. ‧. ‧ 國. 學. 圖(4-8). io. er. 4.5 影像資料的讀取方式. al. iv n C hengchi U 的資料為 96 張 video frame,其中為了保持睡意偵測的處理速度能夠滿足 real time, n. 我們在讀取測試影像來輸入模型的格式如下圖(4-9)所示,我們定義輸入模型. 我們考慮到偵測模型中的 C3D 子模型的輸入為 4 張 video frame,因此設定每取 得 4 張新的 video frame 並放入 C3D 和 eye-CNN 中分析後就合併先前已處理過 的結果一同放入 LSTM 進行分析,而並非是一次讀取 96 張 video frame 後再放入 偵測模型當中進行處理。這樣的讀取方式可以減少備齊所需 video frame 的等待 時間,並且加快整體睡意偵測的處理速度。. 18 DOI:10.6814/NCCU202000494.

(26) 圖(4-9). 駕駛影像的資料讀取格式. 4.6 深度學習套件以及開發環境. 政 治 大. 本次睡意偵測研究的模型訓練以及測試所使用的開發語言為 Python 3.6.5、. 立. 開發環境的作業系統為 Ubuntu 16.04、其搭配的 CPU 為 Intel Xeon E5,此外也使. ‧ 國. 學. 用 GPU GeForce GTX 1080 來減少訓練深度學習模型以及執行睡意辨識所需的時 間。我們所使用到的有支援 Python 的深度學習函式庫為目前較為主流的 Keras. ‧. 2.1.6 [17]以及由 Google 所提出的 Tensorflow 1.9.0 [18]。這兩種函式庫皆包含了. Nat. sit. y. 多種架構元件,例如像是卷積層、池化層以及全連接層等等,可以讓使用者可以. n. al. er. io. 依自己的開發需求來建立深度學習模型,除了架構元件之外也提供一些已經定義. i Un. v. 好的知名網路模型,例如像是 Res-Net [19]以及 Dense-Net [20]等等,因此在深度. Ch. engchi. 學習開發上也可以直接使用這些已經建立好的模型架構來進行訓練而可以節省 建構模型的所需時間。. 19 DOI:10.6814/NCCU202000494.

(27) 第五章 實驗與結果分析 在本章節當中我們會說明各深度學習模型在測試資料集上所得到的實驗資 訊並且分析其結果,以下將分為 4 個部分來進行實驗結果的分析,我們所使用到 的測試資料集為 20 段的模擬睡意影片,每支測試影片的長度不超過五分鐘,每 支影片中都包含駕駛保持清醒以及進入打瞌睡的狀態。. 5.1. CNN 模型的測試結果 圖表(5-1)為用於闔眼辨識的 CNN 模型的實驗結果,在此階段中我們總共測. 試了六個不同的架構,其中以 CLAHE 的使用與否以及每個 Conv 層的 filter 數大. 政 治 大. 小來作為調整變因。例如在架構 A 上,在把眼睛的圖像放入 CNN 模型之前會先. 立. 經過 CLAHE 的處理來增加圖像的對比度,模型中第一 Conv 層的 filter 數為 64. ‧ 國. 學. 個、第二 Conv 層的 filter 數為 128 個、第三 Conv 層的 filter 數為 256 個、第四 Conv 層的 filter 數為 512 個,而架構 B 則和架構 A 幾乎一樣,差別只在沒有經. ‧. 過 CLAHE 處理來增加影像對比度,架構 C 和架構 A 則是差在第四 Conv 層的. Nat. sit. y. filter 數減少為 256 個,架構 E 則是完全移除第四個 Conv 層,而訓練完後的架構. n. al. er. io. A 可以得到最佳的闔眼測試結果,其測試準確度為 70.24%。從圖表(5-1)的測試. i Un. v. 結果可以驗證出使用 CLAHE 的前處理有助於提升闔眼辨識率,而我們根據實驗. Ch. engchi. 的準確率結果來選擇架構 A 作為 CNN 模型的參數架構。. 圖表(5-1) 闔眼辨識 CNN 模型的測試結果 20 DOI:10.6814/NCCU202000494.

(28) 5.2. C3D 模型的測試結果 圖表(5-2)為 C3D 模型的短時間睡意分析的結果,在此階段總共測試了六種. 不同的參數架構,而每個架構都有執行 CLAHE 的影像資料預處理,其中以 C3D 模型的輸入 frame 數以及每個 Conv 層的 filter 數大小來作為調整變因,例如架構 A 的輸入 frame 數為 4,第一 Conv 層的 filter 數為 64 個、第二 Conv 層的 filter 數為 128 個、第三 Conv 層的 filter 數為 256 個、第四 Conv 層的 filter 數為 512 個,其中架構 A 在短時間內的辨識率為 74.51%,而架構 F 的輸入 frame 數為 8, 第一 Conv 層的 filter 數為 64 個、第二 Conv 層的 filter 數為 128 個、第三 Conv. 政 治 大 2)的測試結果來看,Conv 層數以及 filter 數的增加有助於提升辨識率,但是卻會 立. 層的 filter 數為 256 個,而架構 F 在短時間內的辨識率則為 71.39%,而從圖表(5-. ‧ 國. 學. 增加運算處理的時間而難達到即時偵測睡意狀態的需求,因此我們選擇相對測試 結果較好的架構 A 來作為系統中 C3D 模型的參數架構。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖表(5-2) C3D 短期睡意分析的測試結果. 5.3 睡意辨識的測試結果 圖表(5-3)為在多種不同的深度學習模型下進行睡意測試的結果,我們所使用 的測試資料集有 20 段影片,每段影片的長度最多為 5 分鐘,測試影片的錄製速 度為 30fps,其中每種模型所對應的輸入資料為 96 張的連續 frame,在本次的研. 21 DOI:10.6814/NCCU202000494.

(29) 究當中,方法 E 為在本論文主要介紹的系統架構,而從方法 A 到方法 D 則是我 們在逐步測試研究系統架構中所產生的測試模型。 在圖表中的方法 A 為使用 C3D 模型來取得臉部和時間特徵並同時進行分析, 其中 C3D 的輸入幀數分別取 32 和 16,其意思為從 96 張連續的 frame 中分別平 均取出 32 張和 16 張 frame 放入 C3D 模型來進行分析。方法 B 使用 CNN 取得 單張 frame 的特徵並使用 LSTM 模型來分析時間特徵,其中在 LSTM 上的輸入 幀數分別設為 48 和 24,其意思為從 96 張連續的 frame 中分別平均取出 48 張和 24 張 frame,每張 frame 先放入 CNN 模型取得特徵後再放入 LSTM 模型來分析 處理。方法 C 為使用 C3D 模型來取得並分析短時間內的臉部動作特徵,再把多. 政 治 大. 組短時間的分析結果放入 LSTM 模型來進行長時間的特徵分析。方法 D 則是在. 立. 第四章所提到的由 C3D、CNN 以及 LSTM 三者合併而成的深度學習模型,而方. ‧ 國. 學. 法 E 則是沿用方法 D 並再加上辨識結果的時間平滑處理。. ‧. 從測試資料的實驗結果可以看出在使用方法 E 來辨識睡意的產生可以得到 87.34%的準確率,其中圖表(5-4)為前人的相關睡意偵測文獻中的數據結果和我們. y. Nat. er. io. sit. 的測試結果來進行比較,在這幾篇文獻中所使用到的訓練以及測試資料皆是來自 同樣的睡意影片集,從表中可以看出我們建立的睡意辨識模型的正確率優於前人. n. al. Ch. i Un. v. 的實驗結果。不過從圖表(5-3)中的方法 C 和方法 D 兩者比較來看的話,加入駕. engchi. 駛的闔眼偵測雖然有助於增加辨識率,但是增加的幅度比例並沒有很高,我們認 為主要原因可能是和圖表(5-1)中的辨識率較低有關,我們訓練的闔眼偵測模型的 辨識率只有大約 70.24%而已,如果日後藉由去修改並且優化闔眼偵測模型來提 高辨識率的話,或許能夠進一步的提升整體睡意辨識的準確率。. 22 DOI:10.6814/NCCU202000494.

(30) 政 治 大. 圖表(5-3) 不同模型以及輸入幀數調整的實驗結果. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖表(5-4) 睡意偵測相關文獻的實驗結果比較. 5.4 睡意辨識的執行效能分析 圖表(5-5)為在多種模型架構下對辨識睡意的處理效能的分析結果,其中測試 環境的作業系統為 Ubuntu 16.04、CPU 使用 Intel Xeon E5、GPU 使用 GeForce GTX 1080,圖表中的處理效能為從影片中擷取 frame 到輸出睡意辨識結果的所 需平均處理時間,在此種測試環境下,我們提出的睡意偵測方法 E 所得到的處理 速度大約為 13.33fps,對睡意的辨識速度來說不算是快,不過仍然可以滿足辨識 23 DOI:10.6814/NCCU202000494.

(31) 所需時間為 real time 的需求,我們認為辨識速度不快的主要原因是我們合併多種 子模型來處理睡意辨識,圖表(5-5)中的方法 C 和方法 D 相對於方法 E 來說,因 為合併模型較少因此偵測睡意速度較快,但是相對的睡意偵測的準確率就較低。. 政 治 大. 圖表(5-5) 不同辨識模型的效能處理速度. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 24 DOI:10.6814/NCCU202000494.

(32) 第六章 結論與未來相關研究 在本次的研究中,我們提出一種連接多個模型的混合辨識模型來用於偵測駕 駛是否有發生打瞌睡的情形。一開始我們使用在文獻[14]中所提出的 MTCNN 模 型方法來標記出在影片中駕駛的人臉以及五官位置並切割出臉部以及雙眼位置 的圖像,在把圖像放入辨識模型之前會經過圖像轉正和 CLAHE 的預處理來增加 圖像的可辨識性。關於我們建立的混合辨識模型,使用 C3D 模型來取得多張臉 部圖像和短期時間內的特徵,使用 CNN 模型來偵測出駕駛是否存在闔眼的情形, 之後把特徵和闔眼偵測結果合併放入 LSTM 模型中分析長期時間特徵後來辨識. 政 治 大 間內的圖像變化,另外一次為長時間內的特徵變化,相對於過去相關的文獻中只 立. 出駕駛的睡意狀況,在此辨識模型中共進行了兩次時間特徵的分析,一次為短時. ‧ 國. 學. 進行單次時間特徵分析的處理方法,我們把時間特徵拆解成短期和長期兩種類別 來分別進行處理,從我們的實驗結果中也驗證出相對於直接分析整體時間變化的. ‧. 特徵,先處理短時間特徵分析後再處理長時間分析後所得到的睡意辨識結果較好。. sit. y. Nat. 除了對整張臉部分析圖像特徵之外,額外會取出雙眼的圖像來偵測闔眼行為,因. io. er. 為我們考慮到是否有闔眼行為對於睡意辨識是重要的判斷根據,而從測試結果來. al. iv n C hengchi U 識的結果後使用時間平滑處理來減少受雜訊影響的結果,而在測試結果上也證實 n. 看在 LSTM 模型中加入闔眼特徵後的確可以得出更好的辨識率。在輸出睡意辨. 時間平滑的處理有助於提高辨識率,而最後的測試結果的辨識率可以達到 87.34%,這個結果比起過去多數文獻的測試結果還要來的好。. 關於在未來之後的研究上,因為本次研究中所建立的睡意偵測系統是由多個 模型所合併組成的,從實驗結果上來看可以得到較好的睡意辨識率但是相對來說 在執行速度上也會變慢一些,而且我們所使用的影片資料集是在固定的環境和拍 攝角度下來錄製的影片,而並非是在開放空間下的環境下錄製(in the wild),因此 在未來將會把研究的重點放在把模型輕量化來減少運算量,藉此來增加偵測的處 25 DOI:10.6814/NCCU202000494.

(33) 理速度並藉由使用多種拍攝角度下的影像或者是採用 data augmentation 等方式 來分析對於睡意偵測的效能影響。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 26 DOI:10.6814/NCCU202000494.

(34) 參考文獻 [1] Reza Ghoddoosian, Marnim Galib, and Vassilis Athitsos. A Realistic Dataset and Baseline Temporal Model for Early Drowsiness Detection. arXiv:1904.07312, 2019. [2] Tun-Huai Shih and Chiou-Ting Hsu. MSTN: Multistage spatial-temporal network for driver drowsiness detection. Springer, 146–153, 2016. [3] Park S, Pan F, Kang S, and Yoo CD. Driver drowsiness detection system based on feature representation learning using various deep networks. Springer, 154–164, 2016. [4] Krizhevsky A, Sutskever I, and Hinton GE. Imagenet classification with deep. 政 治 大. convolutional neural networks. Advances in neural information processing systems :. 立. 1097–1105, 2012.. ‧ 國. 學. [5] Karen Simonyan and Andrew Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv:1409.1556, CVPR 2014. ‧. [6] Heming Yao, Wei Zhang, Rajesh Malhan, Jonathan Gryak, and Kayvan Najarian.. y. sit er. io. 1258–1262, 2018.. Nat. Filter-Pruned 3D Convolutional Neural Network for Drowsiness Detection. IEEE,. al. n. iv n C neural h network i U e n gand c hsemi-supervised. [7] Xuan-Phung Huynh, Sang-Min Park, and Yong-Guk Kim. Detection of driver drowsiness using 3d deep. gradient boosting. machine. Springer, pp. 134–145, ACCV 2016. [8] Xuanhan Wang, Lianli Gao, Jingkuan Song, and Hengtao Shen. Beyond Framelevel CNN: Saliency-Aware 3-D CNN With LSTM for Video Action Recognition. IEEE Signal Processing Letters, pp. 510–514, 2017. [9] Liang Zhang, Peiyi Shen, and Juan Song. Multimodal Gesture Recognition Using 3-D Convolution and Convolutional LSTM. IEEE, 4517–4524, 2017. [10] Koustav Mullick and Anoop M. Namboodiri. Learning Deep And Compact Models For Gesture Recognition. arXiv:1712.10136, 2017. 27 DOI:10.6814/NCCU202000494.

(35) [11] Tianyi Liu, Shuangsang Fang, Yuehui Zhao, Peng Wang, and Jun Zhang. Implementation of Training Convolutional Neural Networks. arXiv:1506.01195, 2015. [12] Srivastava N, Hinton GE, Krizhevsky A, Sutskever I, and Salakhutdinov R. Dropout: a simple way to prevent neural networks from overfitting. J Mach Learn Res 15(1):1929–1958, 2014 [13] https://en.wikipedia.org/wiki/Adaptive_histogram_equalization [14] Zhang K, Zhang Z, Li Z, and Qiao Y. Joint face detection and alignment using multitask cascaded convolutional networks. IEEE Signal Process Lett 23(10):1499– 1503, 2016. 政 治 大. [15] Weng C-H, Lai Y-H, and Lai S-H. Driver drowsiness detection via a hierarchical. 立. temporal deep belief network. Springer: 117–133, 2016. ‧ 國. 學. [16] Krizhevsky, Alex, Sutskever, Ilya, and Hinton. Imagenet classification with deep. ‧. convolutional neural networks. In Advances in neural information processing systems, pp. 1097–1105, 2012.. y. Nat. er. io. sit. [17] Chollet François. Keras. 2015.. [18] Martín A, et al. Tensorflow: a system for large-scale machine learning. OSDI. Vol.. n. al. 16. 2016.. Ch. engchi. i Un. v. [19] Gao Huang, Zhuang Liu, Kilian Q. Weinberger, and Laurens van der Maaten. Densely Connected Convolutional Networks. arXiv:1608.06993, 2016. [20] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016. [21] Jongmin Yu, Sangwoo Park, Sangwook Lee, and Moongu Jeon. Driver Drowsiness Detection Using Condition-Adaptive Representation Learning Framework. IEEE, 2018. [22] Zaremba W and Sutskever I. Learning to execute. arXiv:1410.4615, 2014 [23] Jing-Ming Guo, Herleeyandi Markoni. Driver drowsiness detection using hybrid convolutional neural network and long short-term memory. Springer, 2018 28 DOI:10.6814/NCCU202000494.

(36) [24] Jasper S.W, Jason T, Kerry A.N, Gideon D.P.A.A, Mark S. Real-time monitoring of driver drowsiness on mobile platforms using 3D neural networks. Springer, 2019 [25] Rateb Jabbar, Khalifa Al-Khalifa, Mohamed Kharbeche, Wael Alhajyaseen, Mohsen Jafari, Shan Jiang. Real-time Driver Drowsiness Detection for Android Application Using Deep Neural Networks Techniques. IEEE ANT, 2018. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 29 DOI:10.6814/NCCU202000494.

(37)

參考文獻

相關文件

z 當時有不少在華穆斯林對中國文化有深刻 研究,這些以漢文寫成的文學及藝術作

例如學生在必修部分已嘗試寫作不同類型的實用文

結構方程模式 (structural equation modeling;簡稱 SEM) 在管理、教育與心理等社會 科學領域可以說是當代最盛行的統計方法典範,尤其是心理測驗領域,SEM 可以說 是主流技術,在

Operation Sequence Number Quantity Per Assembly Component Yield Factor Fixed Start Days Offset Variable Start Days Offset Effective Date.

二、 工作行為與活動:以工作過程、活動、行為來衡量績效,這

本研究採用的方法是將階層式與非階層式集群法結合。第一步先運用

本研究於 2017 年 4 月以市面上瓶裝水的品牌隨機抽取國內外各五種品 牌作為研究對象,並利用環檢所公告之採樣方法檢測,收集的樣本以兩種

為完成上述研究目的,本文將於第二章依序說明 IPTV 的介紹與現況,以及詳述 e-SERVAUAL