黃志艷
摘 要隨著移動通信、Android系統、智能終端等技術的快速發展和進步,Android應用軟件已經在多個方面得到廣泛普及和使用,取得了顯著的應用成效。車載疲勞駕駛監控系統可以部署在Android系統終端上,將其安裝在汽車上,可以通過攝像頭采集人臉信息,這樣就可以準確定位人眼睛的位置,判斷人眼的信息狀態,設置和處理相關的駕駛員是否存在嚴重的疲勞駕駛現象,提醒、幫助駕駛員作出一個準確的決策,進而可以有效保證駕駛員的生命健康和安全。
【關鍵詞】Android 車載疲勞駕駛監控系統 人臉檢測 人眼定位
1 引言
汽車已經在經濟、工業高速發展的情況下進入到了千家萬戶,為每一個家庭外出旅游、出差等提供方便,但也帶來了每年數以百萬的交通事故。交通安全調查報告結果顯示,疲勞駕駛是造成交通事故的重要原因。互聯網、多媒體及機器視覺技術經過多年的發展和改進,已經在文檔搜索、視頻追蹤、圖像處理、聲音識別等領域得到廣泛普及和使用,并且在人們的日常生活中開發了指紋鎖、虹膜保險柜、聲音門卡等系統,提高了人類生活的便捷性和智能化水平。
汽車駕駛員在行車過程中,由于連續駕駛會產生疲憊現象,這樣就很容易為駕駛員帶來生命健康威脅,因此采取模式識別、機器視覺、特征檢測等技術,構建一個人臉和人眼識別系統,判斷駕駛員是否存在疲勞駕駛,及時為用戶提供一個狀態預警,可以大幅度的降低交通事故的發生概率。
2 車載疲勞駕駛監控系統功能分析
車載疲勞駕駛監控系統可以采用先進的機器視覺等技術實現駕駛員面部表情識別,以便能夠準確的檢查駕駛員是否存在疲勞駕駛現象,可以更好的確保駕駛員安全運行。車載疲勞駕駛架空系統的主要功能包括以下三個方面:
2.1 人臉檢測及跟蹤
汽車行駛過程中,駕駛員一直處于行動的狀態,并且駕駛位與二排后座的人員容易重疊出現在目標區域,因此為了能夠保證拍攝到人臉,系統需要具備一個人臉檢測和跟蹤的功能,從復雜的背景環境根據人臉的特征、輪廓將其檢測出來。目前,常用的人臉檢測及跟蹤技術很多,比如BP神經網絡、支持向量機、K均值算法等,這些算法均可以將拍攝到的人臉進行灰度化或二值化,更好的過濾掉噪聲數據,也即是對圖像進行小波過濾,過濾掉噪聲數據之后就可以將圖像數據進行數學建模,生成一個矩陣描述圖像內容,然后接著可以使用BP神經網絡從海量數據中識別出人臉,并且保持識別的精確度很高。人臉檢測及跟蹤模塊可以持續的對攝像頭拍攝的駕駛員圖片進行處理,并且能夠將駕駛員的面部位置標識出來,實現動態的跟蹤定位。
2.2 人眼定位功能
人臉檢測及跟蹤僅僅可以針對人臉進行粗略定位,這樣就可以縮小人眼檢測的范圍,更加直接、快速的定位到人眼。通常情況下,人眼處于面部的固定位置,人臉通常是人眼型長度的五倍,又被人們稱為無眼,人眼的位置通常處于第二眼和第四眼之間,由此,我們可以根據此分布規律對人臉區域分割,進一步縮小人眼檢測的范圍。人眼定位完畢之后,可以采集駕駛員當前的人眼狀態數據,并且將這些數據傳輸到疲勞檢測模塊。
2.3 疲勞檢測模塊
疲勞檢測模塊是系統的核心模塊,其可以根據采集到的人眼數據,將人眼的狀態劃分為閉合、張開、瞇縫等狀態,比如,如果人眼露出的面積大于80%,則可以判定駕駛員的眼睛是張開狀態,意識處于清醒狀態,可以安全駕駛汽車;如果人眼露出的面積大于50%且小于80%,則可以判定駕駛員的眼睛是瞇縫狀態,屬于輕度疲勞狀態,及時的發出警報聲音提醒駕駛員停車休息或更換駕駛員;如果人眼露出的面積小于50%,則表示駕駛員的眼睛處于閉合狀態,則可以判定駕駛員是昏睡狀態,此時應立即啟動應急措施,比如大聲鳴笛、震動駕駛位等,喚醒駕駛員,保證駕駛員不會真正入睡。
具體的,車載疲勞駕駛監控系統采用數據挖掘技術,從海量的數據資源中尋找潛在的知識信息。基于數據挖掘的車載疲勞駕駛監控系統可以利用管理系統、傳感器等采集數據,將采集到的視頻幀進行二值化,然后進行人臉檢測和跟蹤,定位和分析人眼狀態,判斷駕駛員駕駛狀態,將結果其輸出到顯示器上,具體的車載疲勞駕駛監控系統信息處理流程如圖1所示。
3 基于Android的車載疲勞駕駛監控系統設計
車載疲勞駕駛監控系統部署于Android操作系統,人們操作系統時主要針對電容屏進行觸碰,實現事件的輸入,比如包括控制藍牙連接攝像機、鳴笛喇叭和顯示器等,因此可以針對Android開發板的發起藍牙掃描,Android智能終端等待藍牙連接。Android開發板可以根據需求編輯自己的名稱,等待連接的Android智能終端需要按照開發板的要求設置。開發板可以選擇Android智能終端的設備名稱可以建立良好的連接,這樣做的好處是手機端僅需要修改藍牙設備名稱即可,然后就可以進行連接配對。開發板作為掃描設備時,自動配對的步驟如下:
(1)根據需求強制打開藍牙,此時藍牙設備不需要手動打開,也不需要用戶進行確認即可執行第二步。
(2)開發板自動獲取藍牙適配器,并且開始掃描操作。
(3)掃描到Android智能終端設備之后,開發板自動發起連接。
(4)開發板與Android智能終端能夠自動化的進行配對操作,自動配對可以采用PIN碼的模式,此時就不需要簡單協議進行操作。
(5)開發板始終處于一個等待藍牙通道傳輸數據,這樣就可以從數據流中讀取數據包。
Android智能終端作為等待連接的機器設備,其實現數據傳輸的步驟如下:
(1)人工手動打開Android智能終端的藍牙功能。
(2)根據需求設置Android智能終端的藍牙設備名稱。
(3)等待連接。遙控系統發起連接的是Android開發板,因此需要精準的設置需要連接智能終端的名稱,以便能夠開發板更加快速和精準有效地實現通信連接。
(4)藍牙連接成功之后,開始控制指令,通過輸出數據流發送數據包,實現藍牙通信傳輸。
Android系統、攝像機、鳴笛喇叭等設備連接完畢之后,車載疲勞駕駛監控系統可以采用ESB(企業服務總線)、SOA(面向服務架構)等技術從物理資源組織方面構建共享系統,彌補傳統異構系統數據格式不一致的問題。SOA傳輸協議是新時期Web Service服務體系中的一種存在的標準傳輸協議,SOA協議定義了一個完善的邏輯業務服務請求者和邏輯業務服務提供者之間相關的信息傳輸規范,因此這些SOA協議可以促使XML數據傳輸的更加安全,這樣能夠使SOA協議采用了傳統的互聯網傳輸協議,這樣就可以使HTTP作為數據傳輸的標準模式進行傳輸,這樣就可以為用戶提供一個格式化的相關協議信息,并且能夠承載相關的HTTP傳輸協議,這些協議主要包括SOA封套信息、SOA編碼規則、SOA RPC進行邏輯業務處理表示等信息。另外,本文引入了B/S體系架構,使得客戶端連接服務器地址即可系統,即使后期系統運行升級也是在服務器端進行,車載疲勞駕駛監控系統整體架構如圖2所示。
B/S架構將車載疲勞駕駛監控系統劃分為三個層次,分別是表示層、邏輯業務處理層和數據業務處理層。首先,用戶可以進入到表示層,利用鍵盤或電容屏等輸入期望的邏輯業務處理信息,這樣就可以將這些信息利用組件發送到每一個子系統;邏輯業務處理層可以根據業務請求需求接收處理信息,這樣就可以將邏輯業務解析出來,劃分為兩個組成部分,分別是業務請求和數據請求,如果用戶信息僅僅包括業務請求,邏輯業務處理層處理完畢之后就可以將結果集成、封裝起來,發送給前臺表示層,如果用戶信息請求還包括數據請求,就可以發送給數據庫,執行數據業務處理。邏輯業務處理內容執行完畢之后,業務請求涉及到數據信息,就可以通過JavaBean、SOA、ESB或云計算等工具將這些信息發送到數據層,實現數據的插入、修改、刪除和查詢,并且能夠將數據操作結果封裝起來反饋給服務層,服務層反饋輸出到表示層,實現前端用戶界面的操作和處理。
4 結束語
基于Android操作系統的車載疲勞駕駛監控系統可以利用前置攝像頭采集駕駛員的面部圖像,分析駕駛員的眼睛閉合狀態,判斷駕駛員是否處于疲勞駕駛,并且可以安裝在開源的操作系統上,能夠得到更快更迅速的改進,為降低車輛交通事故和保證駕駛人員的生命安全作出貢獻,具有重要的作用和意義。
參考文獻
[1]李翊,陳星,嚴華.基于多疲勞信息融合的車載疲勞檢測系統的研究和實現[J].計算機測量與控制,2016,24(01):16-19.
[2]王浩,韓敏,董杰.基于Android平臺的車載視頻智能監控系統的研究[J].電子技術應用,2016,42(06):121-123.
[3]蔡菁,程雷,王紅霞.基于Kinect的疲勞駕駛綜合監測系統研究[J].計算機工程與科學,2015,37(12):2379-2385.
[4]張華,吳欣,莊志惠.智能控制技術在汽車疲勞駕駛監控中的應用研究[J].電氣應用,2016,25(08):100-102.
[5]夏芹,宋義偉,朱學峰.基于PERCLOS的駕駛疲勞監控方法進展[J].自動化技術與應用,2016(06):43-46.
作者單位
泰山職業技術學院 山東省泰安市 271000