物聯網應用案例-基于 AIoT 的駕駛員監(jiān)測系統(tǒng)_第1頁
物聯網應用案例-基于 AIoT 的駕駛員監(jiān)測系統(tǒng)_第2頁
物聯網應用案例-基于 AIoT 的駕駛員監(jiān)測系統(tǒng)_第3頁
物聯網應用案例-基于 AIoT 的駕駛員監(jiān)測系統(tǒng)_第4頁
物聯網應用案例-基于 AIoT 的駕駛員監(jiān)測系統(tǒng)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于AIoT的駕駛員監(jiān)測系統(tǒng)物聯網應用案例7.1背景與需求分析7.2功能設計7.3系統(tǒng)實現7.4總結與展望目錄隨著汽車的普及,交通事故也越來越多,其中酒后駕駛和疲勞駕駛是造成交通事故的兩個重要原因。7.1.1案例背景駕駛疲勞會影響到駕駛員的注意、感覺、知覺、思維、判斷、意志、決定和運動等方面。疲勞后繼續(xù)駕駛車輛,會感到困倦瞌睡、四肢無力,導致注意力不集中、判斷能力下降,甚至出現精神恍惚或瞬間記憶消失,動作遲誤、過早,操作停頓或修正時間不當等不安全因素,這就極易發(fā)生道路交通事故。2008年世界衛(wèi)生組織的事故調查顯示,大約50%~60%的交通事故與酒后駕駛有關,酒后駕駛已經被列為車禍致死的主要原因。在中國,每年由于酒后駕駛引發(fā)的交通事故達數萬起,而造成死亡的事故中50%以上都與酒后駕駛有關,酒后駕駛的危害觸目驚心,已經成為交通事故的第一大“殺手”。7.1.2需求分析目前市場上沒有提前預防酒后駕駛的產品,酒后駕駛嚴重依賴交通警察去排查,常用的檢測是通過酒精測試儀吹氣檢測。駕駛員廣泛使用的地圖、打車軟件等手機App,均有疲勞提醒功能,但大多是通過駕駛時長和駕駛里程來提示疲勞,并非根據駕駛員實時開車狀況進行判定。另外,少量高檔汽車中配置了通過圖像分析手段判定駕駛員狀態(tài)的功能,但不同品牌車輛采用的硬件不同,算法不同,云平臺更不相同,且該功能配置成本相對較高,需出廠前預裝,暫時無法在中低端全系列車型中普及。7.1.3案例內容基于AIoT的駕駛員監(jiān)測系統(tǒng)是一款在駕駛員駕駛過程中實時測量其身體狀態(tài)(包括疲勞程度、心率、血壓、血氧、體溫、酒精含量和實時位置等)的系統(tǒng)。其以邊緣計算作為核心,可以及時、快速地進行計算和應對異常。該系統(tǒng)利用實時抓取到的圖像信息融合實時監(jiān)測到的體征數據,綜合判斷駕駛員疲勞程度和狀態(tài)。當監(jiān)測到駕駛員身體狀況不適合駕駛、疲勞駕駛、長時間不注視前方、憤怒駕駛時,通過App對駕駛員進行報警提醒并向其家人發(fā)送相關信息。傳統(tǒng)的疲勞駕駛監(jiān)測方法有:手機App如地圖軟件等,在駕駛員駕駛時間和里程超過某一閾值時即進行提醒,但是這不夠科學;或者一些汽車廠商僅利用圖像監(jiān)測疲勞駕駛,這也會有誤差。我們采用圖像與傳感器相結合的方式,綜合地科學判斷疲勞程度;同時利用頭部姿態(tài)算法,監(jiān)測駕駛員長時間不注視前方的情況,及時做出提醒。系統(tǒng)會實時上傳監(jiān)測到異常時的截圖信息,輔助提高判斷的可靠性。傳感器內置于方向盤套內,完全不會影響駕駛。7.1.4實驗環(huán)境硬件設備云端MAX30102血氧心率檢測傳感器、DHT11溫濕度傳感器、SON1218血壓檢測傳感器、MQ-3酒精檢測傳感器、EVB-M1GPS傳感器、攝像頭、樹莓派開發(fā)板(3代B型)、EVB-M1開發(fā)板。使用華為公司提供的華為云物聯網平臺編程接口、彈性云服務器(ElasticCloudServer,ECS)和軟件開發(fā)平臺DevCloud。手機AppAndroid版本8.0及以上。7.1.5名詞解釋(1)Landmark算法Landmark是一種人臉部特征點提取的技術,在dlib庫中為人臉進行68點標記??刹捎肔andmark中的點提取眼睛區(qū)域、嘴巴區(qū)域用于疲勞檢測,提取鼻子等部分用于3D姿態(tài)估計、疲勞監(jiān)測等。(2)PERCLOS算法駕駛模擬器上的實驗結果證明,眼睛的閉合時間一定程度地反映疲勞狀況。在此基礎上,卡內基·梅隆研究所經過反復實驗和論證,提出了度量疲勞/瞌睡的物理量PERCLOS(PercentageofEyelidClosureoverthePupiloverTime)。(3)頭部姿態(tài)算法通過人臉、頭部姿態(tài)來輔助關鍵點的監(jiān)測,可以保證大角度人臉對齊的正確性,同時可根據人臉、頭部姿態(tài)判斷駕駛員是否處于正常駕駛狀態(tài)。本節(jié)所使用的各類專業(yè)名詞,除在5.1.5小節(jié)中已介紹過的AIoT之外,其余如下。7.2.1系統(tǒng)架構7-1為AIoT駕駛員監(jiān)測系統(tǒng)的整體架構,分為感知層、邊緣層、平臺層、應用層4個部分,融合了邊緣計算、人臉識別、物聯網、云計算等技術。圖7-1AIoT駕駛員監(jiān)測系統(tǒng)的整體架構7.2.1系統(tǒng)架構系統(tǒng)的酒駕監(jiān)測流程包括以下幾個步驟。將監(jiān)測心率、血壓、血氧、體溫、酒精等體征數據測量傳感器安裝在汽車方向盤上。駕駛員坐進車中,手握方向盤時便進行一次基礎體檢。EVB-M1開發(fā)板將體檢數據結果經由NB-IoT模塊上傳至華為云物聯網平臺。華為云物聯網平臺接收到結果后進行解析,再推送至云端應用服務器。④①③②應用服務器將預警信息下發(fā)至手機App,當系統(tǒng)語音提示身體狀況為健康且未檢測到酒精時,便可開始正常行駛。7.2.1系統(tǒng)架構系統(tǒng)的疲勞監(jiān)測流程包括以下幾個步驟。樹莓派對行駛過程中拍攝的駕駛員圖像進行實時分析,通過Landmark算法來實現人臉監(jiān)測及特征點提取,進而計算出PERCLOS疲勞值。當駕駛員不注視前方或處于憤怒情緒時,可以利用頭部姿態(tài)識別算法和表情識別算法輔助監(jiān)測。EVB-M1開發(fā)板作為邊緣計算核心,匯集各傳感器(心率、血氧、血壓、酒精、溫度)和GPS模塊數據,綜合判定駕駛員當前狀態(tài)。完成運算后,經由NB-IoT模塊上傳分析結果至華為云物聯網平臺。華為云物聯網平臺接收到結果后進行解析,再推送至云端應用服務器。④①③②最終云端應用服務器將分析信息下發(fā)至手機App。手機App播放預警語音,提醒駕駛員請勿疲勞駕駛或通知其家人。7.2.2感知層和邊緣層設計基礎體檢的傳感器:最終選用了MAX30102血氧心率監(jiān)測傳感器、DHT11溫濕度傳感器、SON1218血壓檢測傳感器、MQ-3酒精檢測傳感器和EVB-M1GPS傳感器。這些傳感器的特點是體積小、測量精度高、價格便宜。多傳感器:融合算法的開發(fā)是重難點。不同傳感器的工作原理和通信方式不同,要協調好IIC通信、SPI通信、串口通信的順序,而且有些傳感器需要命令下發(fā)才能工作,一旦接收命令的代碼位置沒有設置好,就可能導致所有傳感器都不工作。7.2.2感知層和邊緣層設計本案例中EVB_M1也是以STM32L4為主控MCU、以BC95為通信模組的NB-IoT開發(fā)板,如圖7-2所示。案例中樹莓派配合攝像頭,用于進行人臉圖像拍攝和疲勞監(jiān)測。本案例選用了3代B型樹莓派開發(fā)板,其CPU主頻為1.4GHz,采用64位ARMCortex-A53處理器,如圖7-3所示。圖7-3案例中所使用的樹莓派開發(fā)板圖7-2EVB_M1物聯網開發(fā)板本案例基于華為云物聯網平臺進行平臺層設計。在5.2.4小節(jié)中,我們已經介紹過華為云物聯網平臺的知識,在此不贅述。7.2.3平臺層設計7.2.4應用層設計應用服務器開發(fā)01OPTION應用服務器(云端)作為應用側的業(yè)務處理核心,可以分析物聯網平臺推送的設備消息,并根據分析結果與應用客戶端即手機App進行交互,完成業(yè)務處理。應用服務器基于華為云物聯網平臺開放的接口進行開發(fā),可通過調用API或者SDK進行。本案例應用服務器選用華為云彈性云服務器(ECS)和軟件開發(fā)平臺DevCloud。彈性云服務器是一種可隨時自助獲取、可彈性伸縮的云服務器,可以幫助用戶打造可靠、安全、靈活、高效的應用環(huán)境。其優(yōu)點在于:用戶無須關注硬件,即租即用,按使用量付費,易擴容;建設周期短,上線快。同時,ECS提供全套管理維護工具,簡化部署和維護的步驟。駕駛員監(jiān)測應用基于軟件開發(fā)平臺進行部署和發(fā)布,運行在彈性云服務器上,有效提升安全性和可靠性。應用層設計方案如圖7-4所示。圖7-4應用層設計方案7.2.4應用層設計安卓App開發(fā)02OPTION安卓App從應用服務器獲取數據,主要實現以下功能。(2)駕駛員位置地圖實時顯示。(4)駕駛相關的小知識、新聞推送。(3)酒駕和疲勞駕駛提醒,包括語音、震動等。(6)系統(tǒng)基礎設置和版本升級等。(5)按照家人、駕駛員維度,不同用戶進入功能展示不同,如家人界面提供一鍵撥通駕駛員手機功能。(1)各項體檢數據顯示。7.3.1感知層實現基礎體檢部分01OPTION當駕駛員坐進車內時,系統(tǒng)利用多種傳感器(心率、血氧、血壓、酒精、溫度)對駕駛員進行一次基礎體檢,檢測其身體指標和酒精含量是否適合開車,若不適合,則及時進行報警提醒。其中,血壓測量采用光電容積法,其原理為:利用人體組織在血管搏動時造成透光率不同來進行脈搏和血氧飽和度測量。光源一般選用對動脈血中氧合血紅蛋白(HbO2)和血紅蛋白(Hb)有選擇性的特定波長的發(fā)光二極管(一般選用波長在660nm附近的紅光和900nm附近的紅外光)。當光束透過人體外周血管時,動脈搏動充血,容積變化,導致這束光的透光率發(fā)生改變,此時光電變換器接收經人體組織反射的光線,將其轉變?yōu)殡娦盘柌⒎糯蠛洼敵觥q{駛過程中測量血壓效果如圖7-5所示。圖7-5駕駛過程中測量血壓7.3.1感知層實現疲勞駕駛監(jiān)測部分02OPTION系統(tǒng)通過攝像頭實時抓取駕駛員面部信息,通過Landmark算法來實現人臉檢測和特征點提取,再利用眼部特征點計算EAR(estimatedaveragerequirement,平均需要量)值,進而結合PERCLOS疲勞判斷準則,算出PERCLOS值。度量疲勞/瞌睡的物理量PERCLOS,其定義為單位時間內(一般取1分鐘或者30秒),眼睛閉合一定比例(70%或80%)所占的時間,滿足PERCLOS=(眼睛閉合幀數/檢測時間段總幀數)×100%時,就認為發(fā)生了瞌睡。疲勞駕駛檢測流程圖如圖7-6所示。圖7-6疲勞駕駛檢測流程7.3.1感知層實現人臉特征點位置編號示意圖如圖7-7所示。研究表明:駕駛員在不疲勞狀態(tài)下PERCLOS的取值小于0.1,輕度疲勞時該值為0.1~0.3,中度疲勞時該值為0.3~0.5,嚴重疲勞時該值大于0.5。本系統(tǒng)最終目的是判定駕駛員是否處于疲勞駕駛狀態(tài)從而進行有效預警,為了提高預警準確率同時降低虛警率,故取疲勞閾值為0.3。人臉特征點檢測情況和疲勞駕駛檢測情況分別如圖7-8和圖7-9所示。圖7-7人臉特征點位置編號示意圖圖7-8人臉特征點檢測情況圖7-9疲勞駕駛檢測情況7.3.2邊緣層實現邊緣側根據PERCLOS疲勞判斷準則,結合體征數據變化情況,綜合判斷駕駛員的疲勞程度。駕駛員在疲勞狀態(tài)時,心率波動比較平緩。心率值有隨時間增加而下降的趨勢,可以作為監(jiān)測疲勞的輔助判斷依據。不同狀態(tài)下的心率波動曲線圖如圖7-10所示。圖7-10不同狀態(tài)下的心率波動曲線圖7.3.2邊緣層實現利用OpenCV和dlib庫進行頭部姿態(tài)監(jiān)測,對駕駛員視線進行監(jiān)測,如圖所示,若其長時間不注視前方,則報警提醒。主要算法步驟是:圖7-11駕駛員視線監(jiān)測調用dlib庫;創(chuàng)建人臉檢測和關鍵點檢測模型;定義空間點和圖像點;人臉關鍵點檢測;求解旋轉和平移矩陣;求解歐拉角。監(jiān)測到駕駛員臉部的pitch、roll、raw參數發(fā)生長時間偏移時,會報警提示。7.3.2邊緣層實現利用表情識別算法,可以監(jiān)測出憤怒(angry)、厭惡(disgust)、恐懼(fear)、高興(happy)、悲傷(sad)、驚訝(surprise)及中性(neutral)7種表情,協助判斷路怒癥,如圖7-12所示。當前系統(tǒng)監(jiān)測出駕駛員處于憤怒、悲傷、驚訝、恐懼狀態(tài)時,會進行提醒。圖7-12駕駛表情識別7.3.2邊緣層實現如圖7-13所示,即使駕駛員戴墨鏡,系統(tǒng)同樣可以進行疲勞的監(jiān)測。這一功能彌補了現有市場產品無法對駕駛員戴墨鏡的情況進行監(jiān)測的不足。圖7-13戴墨鏡時同樣可進行疲勞的監(jiān)測7.3.3平臺層實現Profile文件01OPTION本案例的Profile文件主要見表。服務屬性取值含義AlcoholicAlConcentration0~1000呼氣中酒精濃度含量(PPM)SignDetectionHeartRate0~300心率Pressure0~300血壓Temperature1~50體溫Fatigue0~1疲勞程度GPSPositionLongitude-180~180經度Latitudes-180~180維度Profile是用來描述一款產品中的設備是什么、能做什么及如何控制該設備的文件。7.3.3平臺層實現編解碼插件02OPTIONEVB_M1開發(fā)板和華為云物聯網平臺通過NB-IoT進行通信,由于NB-IoT設備一般對省電要求較高,所以應用層數據不采用流行的json格式,而是采用二進制格式。但是,華為云物聯網平臺與應用側使用json格式進行通信。因此,本案例需要開發(fā)編碼插件,供物聯網平臺調用,以完成二進制格式和json格式的轉換。由于此項開發(fā)較為簡單,華為官網上已有成熟的教程指導,故這里不再贅述具體細節(jié)。7.3.4應用層實現應用服務器搭建01OPTION本案例中應用服務器的主要能力是從物聯網平臺獲取設備上報數據進行處理,并提供接口給App獲取處理后的數據。它屬于標準的后端應用,需要部署在能被外網訪問的服務器上,即彈性云服務器(ECS)。所以,編碼完成后,需要在軟件開發(fā)平臺上進行云端構建,并將構建包上傳到軟件開發(fā)庫,用于后續(xù)部署。部署之前,需要購買彈性云服務器(ECS)。購買完成后,在軟件開發(fā)平臺的部署頁面中將彈性云服務器添加到主機組中,添加時還需要按照界面提示對主機進行授信,否則軟件開發(fā)平臺無法完成部署操作,如圖7-14所示。完成以上操作后,就可以開始部署應用了。圖7-14將彈性云服務器添加到主機組中7.3.4應用層實現具體的配置指導可以參考華為云軟件開發(fā)平臺的官網,這里只介紹幾點關鍵的設置原則。圖7-15停止服務,更新應用場景step01:停止服務,更新應用場景7.3.4應用層實現圖7-16選擇部署來源step02:選擇部署來源step03:啟動服務,選擇路徑圖7-17啟動服務,選擇路徑7.3.4應用層實現應用訂閱02OPTION應用服務器通過調用華為云物聯網平臺的“訂閱平臺業(yè)務數據”接口獲取設備上報的數據。在訂閱場景下,華為云物聯網平臺是客戶端,應用服務器是服務端,華為云物聯網平臺調用應用服務器的接口,并向應用服務器推送消息。注意:應用服務器訂閱時,需要使用公網IP地址。使用彈性云服務(ECS)時會分配公網IP地址,從而避免校園內網無公網IP時無法訂閱的情況。本案例使用JavaAPIDemo,使用HTTP協議接收物聯網平臺的推送消息。訂閱關鍵步驟展示如下。step01:填寫應用服務器的IP地址和端口號7.3.4應用層實現step02:選擇“RunAs>JavaApplication”7.3.4應用層實現step03:查看響應消息的打印日志7.3.4應用層實現手機App03OPTION安卓手機安裝App后,通過綁定車牌號,注冊不同用戶身份。以家庭用車為例,可注冊駕駛員和家人兩種用戶身份。駕駛員使用界面如圖7-21所示,主要內容如下。圖7-21駕駛員使用界面7.3.4應用層實現(2)疲勞駕駛提醒。當系統(tǒng)監(jiān)測到駕駛員正在疲勞駕駛時,會做出相應的語音提醒,建議駕駛員休息。若一段時間內,駕駛員不能調整自己的精神狀態(tài),即一直處在疲勞狀態(tài)下,且系統(tǒng)監(jiān)測到車輛坐標一直在改變,則會將信息推送給駕駛員家人,讓家人來幫忙阻止駕駛員的疲勞駕駛行為。(1)各項數據的顯示,包括:疲勞程度指數、心率值、血壓(舒張壓、收縮壓)、血氧值、溫度值。當檢測到身體狀況數據異常時,會針對不同情況進行不同的語音報警提示,建議駕駛員不要進行駕駛行為。駕駛員家人使用界面主要包括駕駛員

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論