李富 付璇 覃建寧 喻叢兵 譚勁松
摘? 要:智能安全駕駛監(jiān)測系統(tǒng)基于酒后駕駛監(jiān)測模塊、駕駛員行為狀態(tài)監(jiān)控模塊、智能可穿戴模塊和服務(wù)器端來實現(xiàn)系統(tǒng)的功能。酒后駕駛監(jiān)測模塊基于MQ-3型氣敏傳感器收集車內(nèi)氣體酒精濃度信息;駕駛員行為狀態(tài)監(jiān)控模塊基于Dlib人臉識別和OpenCV計算機視覺實時計算駕駛員注意力集中程度;智能可穿戴模塊基于各種內(nèi)嵌式傳感器芯片收集駕駛員的心率血壓和體溫等指標(biāo);服務(wù)器端基于阿里云ECS服務(wù)器,使用JAVA語言編程,為移動端APP提供優(yōu)質(zhì)的后臺服務(wù)。
關(guān)鍵詞:安全駕駛;汽車;傳感器;物聯(lián)網(wǎng);智能可穿戴設(shè)備
中圖分類號:TP277? ? 文獻標(biāo)識碼:A? 文章編號:2096-4706(2023)06-0013-05
An Intelligent and Safe Driving Monitoring System
LI Fu, FU Xuan, QIN Jianning, YU Congbing, TAN Jinsong
(Wuxi University, Wuxi? 214105, China)
Abstract: The intelligent and safe driving monitoring system is based on drink-driving monitoring module, driver behavior state monitoring module, intelligent wearable module and server terminal to realize the functions of system. The drink-driving monitoring module collects vehicle gas alcohol concentration information based on MQ-3 gas sensor. The driver behavior state monitoring module calculates the focusing degree of driver concentration in real time based on Dlib face recognition and OpenCV computer vision. The intelligent wearable module collects driver heart rate, blood pressure, body temperature and other indicators based on various embedded sensor chips. The server terminal is based on AliCloud ECS server, and it uses JAVA language programming to provide quality background service for mobile APP.
Keywords: safe driving; vehicle; sensor; Internet of Things; smart wearable device
0? 引? 言
據(jù)公安部統(tǒng)計,截至2022年6月底,全國機動車保有量達4.06億輛,其中汽車3.10億輛,新能源汽車1 001萬輛;機動車駕駛?cè)?.92億人,其中汽車駕駛?cè)?.54億人[1]。2022年上半年全國新注冊登記機動車1 657萬輛,新領(lǐng)證駕駛?cè)? 103萬人[1]。隨著我國宏觀經(jīng)濟的快速穩(wěn)定發(fā)展、居民收入水平的大幅度上升、道路交通設(shè)施的日益完善、城鎮(zhèn)化進程的加快以及置換需求的持續(xù)增加,未來我國汽車產(chǎn)銷量將保持持續(xù)穩(wěn)定增長。一直以來,安全都是汽車行業(yè)發(fā)展的第一主題,汽車為人們的生活和工作帶來了極大便利,其基礎(chǔ)保障就是安全。在相關(guān)調(diào)查結(jié)果中顯示,大多數(shù)交通安全事故的發(fā)生與駕駛員之間都存在直接的聯(lián)系,由此可以看出駕駛員在交通安全當(dāng)中的重要性。面對數(shù)量如此龐大的駕駛員人群,如今的智能安全駕駛系統(tǒng)并不全面,沒有完整的體系,只是單純的酒精檢測或疲勞駕駛檢測,也沒有完善的處理和應(yīng)對方式,對于突發(fā)情況不能有效的處理。針對這個現(xiàn)象,我們團隊推出了一款智能安全駕駛系統(tǒng)。我們相信,這款智能安全駕駛系統(tǒng)的問世將會為安全駕駛領(lǐng)域增添更多的活力,加快行業(yè)在汽車領(lǐng)域的布局與發(fā)展。
1? 系統(tǒng)組成及功能
這款智能安全駕駛監(jiān)測系統(tǒng)主要包括酒后駕駛監(jiān)測模塊、駕駛員行為狀態(tài)監(jiān)控模塊、智能可穿戴設(shè)備模塊(測量出車主的體溫、心跳、血壓、血脂等指標(biāo))和服務(wù)器端。各模塊之間單獨工作,互不干擾,將收集的數(shù)據(jù)傳送給移動端,共同實現(xiàn)系統(tǒng)目標(biāo)功能。
酒后駕駛監(jiān)測模塊主要功能是在汽車啟動前,對駕駛員呼出氣體進行酒精濃度檢測,杜絕駕駛員出現(xiàn)酒后駕車的危險行為。當(dāng)氣體中酒精濃度達到閾值時,系統(tǒng)會觸發(fā)警報并自動撥號給親屬。當(dāng)然,酒精濃度閾值可以根據(jù)實際需要進行適當(dāng)調(diào)整,但不予超過交警查酒駕的標(biāo)準(zhǔn)。并將檢測記錄將上傳給后臺APP。
駕駛員行為狀態(tài)監(jiān)控模塊主要功能是通過攝像頭采集駕駛員實時行為動態(tài),防止駕駛員出現(xiàn)疲勞駕駛的危險行為。利用人臉檢測算法,參考疲勞認(rèn)定標(biāo)準(zhǔn)參數(shù),實時精準(zhǔn)檢測駕駛員瞇眼、哈欠、點頭等行為,觸發(fā)語音警告。并將行為日志傳給后臺。在汽車行駛過程中,通過駕駛員上前方攝像頭(指向駕駛員的面部),提供駕駛員實時行為狀態(tài),如瞇眼,哈欠,點頭等,并發(fā)出語音警告。
通過智能可穿戴設(shè)備,實時測量車主的體溫、心跳、血壓、血脂等生理健康指標(biāo)。將收集的生理數(shù)據(jù)進行存儲分析,在客戶端生成健康報表提供給用戶,若生理指標(biāo)突發(fā)異常,自動撥號給家屬,并在客戶端上報實時位置。
服務(wù)器端主要功能是在網(wǎng)絡(luò)中為手機APP提供計算和應(yīng)用服務(wù)。對海量數(shù)據(jù)進行處理,并通過APP反饋給用戶,方便用戶掌握和了解自己的情況。
系統(tǒng)整體架構(gòu)如圖1所示
2? 系統(tǒng)各模塊功能實現(xiàn)
該系統(tǒng)以Jetson控制處理模塊為核心中樞,以手機APP和移動通信模塊作為外設(shè)與用戶進行信息交互,原理圖如圖2所示。手環(huán)、酒精度檢測傳感器后和攝像頭首先各自進行數(shù)據(jù)采集,之后將數(shù)據(jù)上傳到Jetson控制處理模塊,Jetson控制處理模塊將數(shù)據(jù)進行處理之后傳到手機APP反饋給用戶,當(dāng)數(shù)據(jù)出現(xiàn)異常時,通過移動通信模塊直接提醒用戶,并撥號給親屬。
2.1? 酒后駕駛監(jiān)測模塊
該模塊酒精濃度檢測裝置是一款實用性強、安全可靠的氣體乙醇濃度檢測工具[2],可安裝在汽車方向盤,使用MQ-3型氣敏傳感器收集酒精濃度信息,通過使用A/D轉(zhuǎn)換器完成到數(shù)字信號的轉(zhuǎn)換,控制系統(tǒng)根據(jù)單片機系統(tǒng)接收到的數(shù)字信號對應(yīng)的酒精濃度檢測值同預(yù)先設(shè)定的濃度值進行比較[3]。最后通過檢測結(jié)果判斷是否撥號告知家屬。同時該模塊還具有酒精濃度閾值設(shè)定功能,可以根據(jù)相關(guān)法律法規(guī)或用戶需要設(shè)定修改酒精濃度閾值,并進行保存。
酒精濃度檢測裝置框圖如圖3所示。MQ-3氣體傳感器輸出信號經(jīng)信號調(diào)理電路處理,輸出隨酒精濃度變化的電壓信號,將電壓信號送入單片機系統(tǒng),經(jīng)A/D轉(zhuǎn)換,與設(shè)定的酒精濃度閾值進行比較,判斷是否觸發(fā)警報。
2.2? 駕駛員行為狀態(tài)監(jiān)控模塊
駕駛員行為狀態(tài)監(jiān)控模塊基于主流的OpenCV計算機視覺庫開發(fā),采用基于Dlib機器學(xué)習(xí)庫的人臉檢測模塊,運用SVM特征分類方法,實現(xiàn)駕駛員駕駛狀態(tài)的精準(zhǔn)判別和疲勞駕駛的預(yù)警防范[4]。經(jīng)查閱相關(guān)文獻,疲勞在人體面部表情中表現(xiàn)出大致三個類型:哈欠(嘴部保持一定時間的大幅度張開狀態(tài))、瞇眼(眼部在一段時間內(nèi)保持瞇眼狀態(tài)的行為)、點頭(頭部在一段時間內(nèi)保持上下晃動)[5]。該模塊從人臉朝向、位置、瞳孔朝向、眼睛開合度、眨眼頻率、瞳孔收縮率等數(shù)據(jù)入手,基于Dlib人臉識別68特征點檢測、分別獲取左右眼、面部和嘴巴標(biāo)志的索引,通過OpenCV計算機視覺對視頻流進行灰度化處理,獲取特征點位置數(shù)據(jù),并通過這些數(shù)據(jù),實時地計算出駕駛員的注意力集中程度,分析駕駛員是否疲勞駕駛和及時作出安全提示,疲勞認(rèn)定標(biāo)準(zhǔn)如表1所示,疲勞監(jiān)測流程如圖4所示。
2.3? 智能可穿戴模塊
該模塊主要是基于穿戴式智能手環(huán)內(nèi)嵌傳感器芯片來進行駕駛員的心率、血壓和體溫數(shù)據(jù)指標(biāo)的檢測。檢測結(jié)束后將數(shù)據(jù)傳輸給移動端APP,通過特定算法對數(shù)據(jù)進行分析,如若發(fā)現(xiàn)異常,將自動撥號給家屬,并上傳實時位置。內(nèi)嵌的芯片主要包括YK1801脈搏傳感器芯片、HR6707脈搏芯片、SFB9712算法芯片和WD3703溫度傳感器芯片。YK1801脈搏傳感器芯片采用光電式容積脈搏波描記(PPG)的方式感應(yīng)人體的脈搏信息并加以提取,通過模擬前端芯片HR6707和算法芯片SFB9712輸出血壓、心率等串口信號[6]。WD3703溫度傳感器通過GPIO接口和SFB9712算法芯片連接,從算法芯片SFB9712的串口UART或者IIC接口輸出溫度數(shù)據(jù)。
2.4? 服務(wù)器端
該系統(tǒng)主要采用的是阿里云ECS服務(wù)器,使用docker-compose將微服務(wù)容器化自動化部署,并進行微服務(wù)編排,使用了阿里云容器服務(wù)提供的彈性計算應(yīng)對不同規(guī)模的訪問靈活的伸縮服務(wù)集群,并且使用redis分布式數(shù)據(jù)庫來進行數(shù)據(jù)庫唯一ID的生成。
后臺服務(wù)器采用ECS處理后臺業(yè)務(wù)流程與邏輯。ECS服務(wù)器使用CentOS 7作為服務(wù)器操作系統(tǒng),CentOS 7有著一系列獨特的特性,例如支持PTPv2,支持40G以太網(wǎng)卡以及在兼容的硬件上支持以UEFI安全模式啟動安裝,當(dāng)然這其中最令人矚目的就是在內(nèi)核層面支持Docker技術(shù)了,將應(yīng)用程序與系統(tǒng)完全隔離,讓其在系統(tǒng)之間實現(xiàn)遷移的時候不需要停機,提高了應(yīng)用程序的移動性和靈活性。使用java8jdk+redis+rabbitmq+mysql+docker-compose+nginx搭建環(huán)境,為移動端APP提供優(yōu)質(zhì)的服務(wù)支持。項目后臺使用了時下比較流行的微服務(wù)框架SpringCloud作為主要開發(fā)技術(shù),它不僅繼承了SprintBoot部署方便、開發(fā)便利、維護成本極低和容錯率高的優(yōu)點,而且還有著活躍的開發(fā)社區(qū),更新頻率極快,支持跨語言的服務(wù)調(diào)用,可拓展性,穩(wěn)定性極強,可較好的實現(xiàn)高并發(fā)高可用。后臺服務(wù)器使用了目前流行的RESTful風(fēng)格。前后端分離,減少耦合度,降低前后溝通造成的一系列不必要的成本,同時確保了項目服務(wù)集群之間更好的通信,使后臺應(yīng)對高并發(fā)高可用的能力增強。
采用分布式數(shù)據(jù)庫設(shè)計,本項目的分布式數(shù)據(jù)庫基于redis+MySQL,同時利用redis的lua腳本執(zhí)行功能,在每個節(jié)點上通過lua腳本生成唯一ID來確保分布式數(shù)據(jù)庫數(shù)據(jù)的最終一致性,很好的處理了多臺應(yīng)用服務(wù)器的并發(fā)訪問,保證了數(shù)據(jù)的安全性與高可靠性。
使用Nginx進行反向代理,直接解決了一切由微服務(wù)架構(gòu)和前后端分離開發(fā)所帶來的跨域問題,同時實現(xiàn)負(fù)載均衡,使集群之間的訪問更流暢與自然。
使用docker-compose進行微服務(wù)編排,本項目的部署采用docker這一當(dāng)下較為熱門的虛擬化容器技術(shù),由于考慮到了有高并發(fā)訪問的產(chǎn)生和高可用需求的提出,所以采用了doker-compose技術(shù)進行編排,使繁雜的部署簡化,減少日后遷移服務(wù)器的成本,同時架構(gòu)更為契合。
使用swagger2進行后臺接口的文檔化,自動化文檔的生成,降低了開發(fā)和維護成本。
3? 實驗與測試
在系統(tǒng)功能開發(fā)完成后,我們對系統(tǒng)進行了功能測試。系統(tǒng)實際效果如圖5所示。
3.1? 酒精檢測功能
實驗人員向方向盤附近噴灑酒精噴霧,酒后駕駛檢測模塊檢測到酒精氣體,Jetson控制處理模塊接收到酒后駕駛檢測模塊上傳的數(shù)據(jù),對其進行處理和判斷,通過APP反饋給用戶,蜂鳴器發(fā)出警報,并通過通信模塊聯(lián)系親屬,如圖6所示。
3.2? 駕駛員行為狀態(tài)檢測功能
實驗人員分別做出哈欠,點頭,打電話,抽煙等行為,通過OpenCV計算機視覺對視頻流進行處理,獲取特征點位置數(shù)據(jù),并通過這些數(shù)據(jù),實時地計算出駕駛員的注意力集中程度,分析駕駛員是否疲勞駕駛和及時作出安全提示,實際效果如圖7所示。
3.3? 心率血壓體溫檢測功能
實驗人員分別模擬正常情況和突發(fā)情況,對其功能進行全面檢測。正常情況下,手環(huán)會將用戶的健康指標(biāo)上傳給Jetson控制處理模塊,Jetson控制處理模塊會將數(shù)據(jù)與標(biāo)注健康指標(biāo)數(shù)據(jù)區(qū)間進行對比,若數(shù)據(jù)正常,將數(shù)據(jù)上傳到APP生成健康報表。當(dāng)遇到突發(fā)情況時,Jetson控制處理模塊將對通信模塊發(fā)出指令,發(fā)送信息和實時位置給親屬,實際效果如圖8所示。
4? 工作原理
在汽車啟動時,酒后駕駛監(jiān)測模塊會首先開始工作,對車內(nèi)氣體中酒精含量進行檢測,若酒精濃度超標(biāo),則會通過通信模塊,直接聯(lián)系親屬,并在APP端形成日志記錄。若車內(nèi)氣體未檢測出酒精,則汽車開始正常運行。在運行過程中,駕駛員行為狀態(tài)監(jiān)測模塊將實時監(jiān)測駕駛員行為,若出現(xiàn)非正常行為,將通過蜂鳴器及時發(fā)出警報,以提醒駕駛員,糾正當(dāng)前行為。同樣在APP形成日志記錄。運行過程中,智能可穿戴模塊也將實時上傳健康指標(biāo),如若發(fā)現(xiàn)異常,將通過發(fā)送信息和實時位置聯(lián)系親屬。用戶通過APP查看其行車狀態(tài),APP也將為用戶生成專屬建議,為下次行車安全保駕護航。
5? 結(jié)? 論
隨著現(xiàn)代科技的發(fā)展,汽車行業(yè)迎來了一系列革新,各方面技術(shù)的逐步完善大幅降低了因技術(shù)原因?qū)е碌慕煌ㄊ鹿?。那如何?guī)避人為因素引發(fā)的交通事故,是我們當(dāng)下不得不面臨的一個問題。對此,我們團隊開發(fā)了這樣一款智能安全駕駛監(jiān)測系統(tǒng)。通過實際場景測試了系統(tǒng)的各項功能,均達到了預(yù)期結(jié)果,在后續(xù)的工作中,我們將繼續(xù)關(guān)注汽車安全領(lǐng)域的發(fā)展,進一步完善該系統(tǒng),使其早日投入市場,發(fā)揮其應(yīng)有的價值。
參考文獻:
[1] 公安部公布2022年上半年全國機動車及駕駛?cè)藬?shù)據(jù) [J].道路交通管理,2022(7):5.
[2] 高偉群,陳成成,劉斌,等.酒精濃度檢測語音報警系統(tǒng) [J].中外企業(yè)家,2018(21):118.
[3] 鐵爭鳴.汽車防酒駕控制裝置設(shè)計研究 [J].微型電腦應(yīng)用,2020,36(5):120-123.
[4] 孫世若,王天琪,張淼,等.“守衛(wèi)者”智能行車守護系統(tǒng) [J].物聯(lián)網(wǎng)技術(shù),2019,9(3):12-15.
[5] 吳士力,唐振民,劉永.多特征融合的隨機森林疲勞駕駛識別算法 [J].計算機工程與應(yīng)用,2020,56(20):212-219.
[6] 楊林,紀(jì)小敏,張新鋒.淺談社區(qū)老年人健康管理系統(tǒng)設(shè)計與實現(xiàn) [J].中國設(shè)備工程,2019(23):183-185.
作者簡介:李富(1979—),男,漢族,山東高密人,高級工程師,碩士,主要研究方向:嵌入式系統(tǒng)設(shè)計。
收稿日期:2022-11-02