基于邊緣計算和高斯混合模型的公交車司機
0引言
在城市化水平越來越高的今天,城市人口逐漸增加,無論是出于經(jīng)濟還是環(huán)保的考慮,居民往往愿意選擇乘坐公交車出行。這時候,公交車上的眾多乘客和路上行人的安危都系于公交車司機一身,司機的身心健康就變得非常重要。
據(jù)南昌市交通管理局通報,2024年4月8日,南昌市一公交車先后與多名行人發(fā)生碰撞。 經(jīng)調(diào)查,51歲的駕駛員駕駛車輛時突發(fā)心臟不適失去意識,事故造成3人當(dāng)場死亡、7人受傷送醫(yī)。類似事件時有發(fā)生,因此搭建公交車司機的健康管理系統(tǒng),對司機的健康狀況進行實時預(yù)警,對降低駕駛員在崗異常的風(fēng)險非常有幫助。
1公交車司機健康管理系統(tǒng)的獨特需求
1.1 需要采集的健康參數(shù)
反映司機健康的常見參數(shù)主要包括體溫、心率、血壓、血氧飽和度這四項,同時體溫、心率、血壓和血氧飽和度等健康參數(shù)通過對司機配備成本不高的智能穿戴設(shè)備即可獲取,可實施性較高[1]。
1.2 司機健康管理系統(tǒng)對數(shù)據(jù)算法的需求
公交車司機有年長的也有年輕的,有男性也有女性,因此簡單地采用傳統(tǒng)的平均值+正負偏差的方法來判斷司機體溫、心率、血壓、血氧飽和度是否正常并不恰當(dāng),也無法針對個體提出有效的預(yù)警。這就要求算法能夠針對公交車司機個體獨特的體溫、心率、血壓、血氧數(shù)據(jù)進行統(tǒng)計分析,從而達到比較準確評估每個司機健康狀態(tài)的目的。
司機在工作時,難免會遇到緊急情況,這時可能會心率加快,血壓升高,這種情況下如何避免健康系統(tǒng)對司機狀況的誤判?司機攜帶手環(huán)時,手部頻繁運動,也有可能造成數(shù)據(jù)異常,這種情況如何識別?這就要求數(shù)據(jù)算法有相當(dāng)?shù)蔫b別能力,能排除無效數(shù)據(jù)的影響,而且對短期的數(shù)據(jù)劇烈變化有穩(wěn)妥的處理方式。
公交車運行在城市的每個角落,有網(wǎng)絡(luò)良好的市中心,也有網(wǎng)絡(luò)覆蓋不佳的邊緣地帶,而當(dāng)公交車進入隧道、地下建筑時甚至可能沒有網(wǎng)絡(luò)信號,如何避免數(shù)據(jù)中斷而導(dǎo)致健康系統(tǒng)失效甚至是誤報,這對數(shù)據(jù)算法也是一個考驗。 當(dāng)然要完全解決這個問題,數(shù)據(jù)的算法是一方面,另一方面也要有相關(guān)的硬件支持[2]。
2邊緣計算的優(yōu)勢
前面提到,在司機工作中,難免會遇到信號不好導(dǎo)致數(shù)據(jù)傳輸不順暢的情況,為了解決這個問題,本系統(tǒng)采用了邊緣計算的方式,即:佩戴在司機身上的智能穿戴設(shè)備通過藍牙把數(shù)據(jù)傳輸?shù)焦卉嚿系倪吘売嬎愎?jié)點,經(jīng)過邊緣計算節(jié)點對數(shù)據(jù)進行處理和分析后,再把經(jīng)過處理后的少量關(guān)鍵數(shù)據(jù)和報警信息傳輸?shù)街醒朐啤_@時候,即使環(huán)境網(wǎng)絡(luò)不好,也并不影響邊緣計算終端的正常工作,一旦發(fā)現(xiàn)司機異常情況,即可本地報警。而計算出來的關(guān)鍵數(shù)據(jù)和報警信息會暫時存儲在邊緣計算終端,一旦網(wǎng)絡(luò)信號恢復(fù),即可自動進行數(shù)據(jù)續(xù)傳[3]。
中央云接收到報警信息后,可以立即通過預(yù)設(shè)的電話或短信方式通知值班管理人員;接收到的司機健康關(guān)鍵信息可以存檔記錄,成為后續(xù)生成司機月度/季度健康報表的基礎(chǔ)數(shù)據(jù)。
邊緣計算架構(gòu)圖如圖1所示。
3 系統(tǒng)的設(shè)計與實現(xiàn)
3.1硬件系統(tǒng)
公交車司機健康系統(tǒng)的硬件主要由兩部分組成:
1)多功能健康監(jiān)測手環(huán),采用定制的可同時測量體溫、心率、血氧和血壓的支持藍牙功能的智能手環(huán)。
2)承擔(dān)邊緣計算功能的高性能工控機,考慮到邊緣計算終端要長期在灰塵大、振動多、噪聲強、高低溫等環(huán)境下工作,以及網(wǎng)絡(luò)通信、未來可擴展性等多方面需求,系統(tǒng)采用支持深度定制的J1900工控機。這款工控機支持最多16 GB內(nèi)存、1 TB硬盤,可以選配藍牙和5G模塊,具備4組USB3.0接口及3組RS232接口。整體機身小巧,采用高強度的鋁合金制造,抗振耐壓防腐蝕,金屬機身散熱,無風(fēng)扇設(shè)計減少了振動和積灰,特別適合在復(fù)雜環(huán)境下連續(xù)工作。
3.2 軟件系統(tǒng)
軟件系統(tǒng)工作流程如圖2所示。
下面對軟件系統(tǒng)的工作流程進行詳細說明。
3.2.1數(shù)據(jù)的收集和預(yù)處理
首先設(shè)置定制手環(huán)每1min采集一次體溫、心率、血壓和血氧飽和度數(shù)據(jù),當(dāng)司機進入公交車即進入工作狀態(tài),藍牙自動配對鏈接并開始收集數(shù)據(jù)。接下來對數(shù)據(jù)進行清洗,按照表1的標準,剔除明顯的異常值。
3.2.2模型的選擇和訓(xùn)練
公交車司機在工作中往往會遇到多種突發(fā)情況,比如交通事故、大塞車或者車上乘客發(fā)生沖突等,這時難免會造成司機的心率、血壓等生命體征參數(shù)波動;而另外一些時刻,司機處于平靜的開車狀態(tài)。這兩種情況下司機的體溫、心率、血壓、血氧飽和度情況可能會大相徑庭,因此需要選擇合適的算法,來定義針對司機個性化的身體參數(shù)的正常范圍,這樣才可以更加準確地對司機的健康狀況進行預(yù)警。
本方案選擇高斯混合模型來處理收集到的這些數(shù)據(jù)[4]。假設(shè)收集到的參數(shù)(體溫、心率、血壓和血氧飽和度)都符合高斯分布,其概率密度函數(shù)為:
式中:μ為均值;σ2為方差。
一般來說,數(shù)據(jù)會由多個高斯分布的加權(quán)組合構(gòu)成,即:
式中:K為高斯分布的個數(shù),在本系統(tǒng)中K=2,包括司機的平靜狀態(tài)和激動狀態(tài);πk為第k個高斯分布的權(quán)重, 為第k個高斯分布的概率密度函數(shù)。
在模型訓(xùn)練的過程中,首先采用k—means聚類對數(shù)據(jù)進行初步分組,確定初始的μk、σ、πk,接下來采用期望最大化(EM)算法迭代優(yōu)化高斯混合模型(GMM)參數(shù),步驟如下:
1)E步(Expectation):計算每個數(shù)據(jù)點屬于每個高斯分布的后驗概率。
式中:znk表示第n個數(shù)據(jù)點是否屬于第k個高斯分布。
2)M步(Maximization):更新參數(shù)。
3)設(shè)定收斂條件,當(dāng)?shù)螖?shù)達到預(yù)先設(shè)定的50次或者參數(shù)變化小于10-3時,上述參數(shù)已經(jīng)被認為處于穩(wěn)定狀態(tài),此時迭代停止。
3.2.3各項參數(shù)報警閾值的確定
經(jīng)過前面的計算,可以得出個性化的各項參數(shù)報警閾值。
1)低風(fēng)險標準。
對于每個高斯分布,定義其95%置信區(qū)間為正常范圍:下限為μk—1.96σk ,上限為μk十1.96σk ,在這個范圍內(nèi)的司機健康數(shù)據(jù)符合無風(fēng)險標準,而在這個范圍之外且加權(quán)概率p(x)<0.05的司機健康數(shù)據(jù)被判定為符合低風(fēng)險標準。
2)中風(fēng)險標準。
對于符合低風(fēng)險標準的數(shù)據(jù),進一步判斷是否符合中風(fēng)險標準。計算數(shù)據(jù)屬于所有高斯分布的加權(quán)概率總和:
如果p(x)≥0.01,意味著這種情況雖然比較罕見,但并不極端,可以依舊歸類為低風(fēng)險;但是如果p(x)<0.01,則意味著這個數(shù)據(jù)非常罕見,這時候符合中風(fēng)險標準。
3)高風(fēng)險標準。
除了前面提到的低風(fēng)險和中風(fēng)險項,根據(jù)臨床數(shù)據(jù),當(dāng)心率、血壓和血氧同時超過一定閾值后,被稱為“三聯(lián)征”,這時,心率>100次/min,收縮壓>160 mmHg,血氧飽和度<93%[5]。本系統(tǒng)在高風(fēng)險判斷的過程中,沒有采用高斯混合模型優(yōu)化,直接采用滿足標準即報警的模式,因為滿足三聯(lián)征的數(shù)據(jù)極其罕見,且一旦出現(xiàn),臨床上意味著需要盡快進行干預(yù),在這種情況下,沒有必要采用高斯混合模型去修正報警閾值。
當(dāng)出現(xiàn)三聯(lián)征報警,司機應(yīng)該立刻停止工作并就醫(yī),而公交管理部門也應(yīng)在第一時間得到報警信息并做好應(yīng)急安排。
3.2.4不同風(fēng)險等級的報警策略
當(dāng)司機被監(jiān)測到身體處于高風(fēng)險狀態(tài)時,本地邊緣計算終端驅(qū)動本地聲光報警,提示司機盡快回到站場并及時就醫(yī);同時,中央云收到高風(fēng)險報警信息,立刻發(fā)送緊急報警信息至公交管理部門,調(diào)整該司機的工作計劃,安排代班司機。
當(dāng)司機被監(jiān)測到身體處于中風(fēng)險狀態(tài)時,本地邊緣計算終端驅(qū)動報警燈閃爍,提示監(jiān)測到司機身體狀態(tài)可能出現(xiàn)異常,同時發(fā)送中風(fēng)險報警信息至中央云,中央云在收到報警信息當(dāng)天把所有報警司機信息匯總發(fā)送給公交管理部門,公交管理部門安排相關(guān)司機在第二天上崗前,在站場使用符合醫(yī)用標準的體溫計、血壓計和血氧儀進行復(fù)查。如果一周內(nèi)該司機有兩次以上中風(fēng)險報警,則安排該司機去醫(yī)院體檢。
當(dāng)司機被監(jiān)測到身體處于低風(fēng)險狀態(tài)時,本地不報警,不干擾司機的正常工作,但邊緣計算終端將低風(fēng)險報警信息發(fā)送至中央云,中央云對報警信息和對應(yīng)司機數(shù)據(jù)進行匯總記錄,并按月發(fā)送司機健康報告。如果司機每月低風(fēng)險報警次數(shù)超過50次,管理部門優(yōu)先安排這些司機在本季度去醫(yī)院體檢。
4 系統(tǒng)實現(xiàn)
部署在本地的邊緣計算終端通過藍牙接收司機健康數(shù)據(jù)后,采用基于python的panda5/Numpy庫實現(xiàn)流式數(shù)據(jù)處理,當(dāng)出現(xiàn)報警時,驅(qū)動集成蜂鳴器和LED指示燈進行本地聲光報警。同時,通過HTTp協(xié)議向云端推送報警信息和經(jīng)過處理后的司機健康數(shù)據(jù)。通過Fla5K/Fa5tApI實現(xiàn)RESTful接口,供云端查詢歷史數(shù)據(jù)。
在中央云端,使用阿里云服務(wù)配置彈性計算實例(T5-larGe,2核4GB內(nèi)存)。數(shù)據(jù)庫使用MySQL/po5tGreSQL存儲結(jié)構(gòu)化數(shù)據(jù)。考慮到可能多個邊緣計算終端會在同一時間內(nèi)報警,消息隊列采用kafKa/RabbitMQ處理高并發(fā)報警信息。云服務(wù)器接收邊緣終端的MQTT消息,解析JSON數(shù)據(jù)并存儲至數(shù)據(jù)庫,同時通過阿里云短信/電話服務(wù)發(fā)送報警信息至指定的管理部門。在數(shù)據(jù)視化方面,使用python的Matplotlib/plotly庫生成周報/月報,包含趨勢圖、異常事件統(tǒng)計圖等。前端展示基于vue.j5/React開發(fā)web應(yīng)用,支持數(shù)據(jù)篩選和導(dǎo)出。
采用高斯混合模型的本系統(tǒng)可以根據(jù)司機個人情況,并綜合考慮其在不同工作狀態(tài)下的健康特征建立動態(tài)的報警閾值,因此報警的準確率會有所提高,跟通過傳統(tǒng)的置信區(qū)間界定風(fēng)險等級的方法相比,高斯混合模型可以避免許多無謂的誤報,這大大提升了司機健康管理系統(tǒng)的準確性和嚴肅性,可以有效降低云平臺的負荷,同時也有效降低因為誤報而造成管理部門額外安排司機體檢的損失。
原始算法和改進算法的報警率比較如表2所示。需要注意的是,三聯(lián)征(高風(fēng)險)報警因為發(fā)生概率本身已經(jīng)很低了,故沒有采用混合高斯模型進行優(yōu)化。
5 結(jié)束語
采用基于邊緣計算技術(shù)和高斯混合模型算法的公交車司機健康管理系統(tǒng),可以有效提升數(shù)據(jù)本地處理的速度,避免因為網(wǎng)絡(luò)信號不佳導(dǎo)致數(shù)據(jù)缺失的情況。同時,針對司機的個體情況和不同工作狀態(tài)給出動態(tài)的報警閾值,大大提升了報警的準確度。本系統(tǒng)提升了公交管理部門對司機健康的掌握度,為保障市民安全出行提供了有力支撐,有一定的推廣意義。
[參考文獻]
[1]孫二華,胡云冰.基于邊緣云計算的人體數(shù)據(jù)傳感架構(gòu)[J].西南師范大學(xué)學(xué)報(自然科學(xué)版),2020,45(7):137-143.
[2] 陳祥,葉鈺斌,徐雨.基于邊緣計算的EHS管理系統(tǒng)研究[J].信息與電腦(理論版),2022,34(15):135-138.
[3]劉艷.基于云計算的城市軌道交通信息化平臺研究[J].設(shè)備管理與維修,2023(7):146-148.
[4]朱壯壯,周治平.高斯混合生成模型檢測健康數(shù)據(jù)異常[J].計算機科學(xué)與探索,2022,16(5):1128-1135.
[5]劉月玲.脈搏血氧飽和度監(jiān)測在急性心肌梗死患者中的應(yīng)用[J].臨床合理用藥雜志,2012,5(18):113.
《機電信息》2025年第17期第9篇





