王亮亮,蘇 蕤,程 昆
(山東商業(yè)職業(yè)技術(shù)學(xué)院,山東 濟(jì)南 250103)
隨著城市公共交通網(wǎng)絡(luò)的成熟及市民環(huán)保意識(shí)的增強(qiáng),公交已成為居民出行的首選方式。而自2018年10月28日重慶公交墜江事故發(fā)生至今,不到一年半的時(shí)間,僅媒體公開(kāi)報(bào)道的乘客惡性干擾駕駛員的事件就多達(dá)幾十起![1]由此可見(jiàn),公共交通在為我們帶來(lái)便利的同時(shí),乘車(chē)環(huán)境的安全也應(yīng)引起我們的重視。而處理此類(lèi)問(wèn)題時(shí),除了在道德法律層面上對(duì)施暴者進(jìn)行譴責(zé)制裁,更重要的是預(yù)防。本文旨在介紹為公交車(chē)建立的一套安防預(yù)判及報(bào)警系統(tǒng)——基于Python的車(chē)載人臉情緒檢測(cè)報(bào)警系統(tǒng),實(shí)現(xiàn)對(duì)運(yùn)行中的公交車(chē)輛實(shí)時(shí)治安動(dòng)態(tài)監(jiān)控。
本系統(tǒng)是基于Python tensorflow環(huán)境下實(shí)現(xiàn)人臉識(shí)別功能,并對(duì)圖片訓(xùn)練分析,通過(guò)樹(shù)莓派和硬件方面交互。即先檢測(cè)人臉拍照,再給攝像頭一個(gè)延時(shí),每隔一定的時(shí)間進(jìn)行拍照,拍照之后立即輸入模型中進(jìn)行分析判定表情,一旦表情級(jí)別達(dá)到閾值報(bào)警的級(jí)別,就會(huì)自動(dòng)語(yǔ)音播報(bào)和報(bào)警[1][2][3]。另一方面上傳到后臺(tái)服務(wù)器,由后臺(tái)服務(wù)器人員進(jìn)一步判定,并做出相應(yīng)的處理[5]。
圖1 基于Python的車(chē)載人臉情緒檢測(cè)報(bào)警系統(tǒng)流程框圖
圖2 硬件連接圖
本系統(tǒng)由智能硬件、后臺(tái)端和Android端組成,對(duì)應(yīng)物聯(lián)網(wǎng)技術(shù)傳感層、網(wǎng)絡(luò)層和應(yīng)用層,是人工智能技術(shù)的典型應(yīng)用。通過(guò)樹(shù)莓派項(xiàng)目開(kāi)發(fā)板連接攝像頭,對(duì)司機(jī)座區(qū)每10秒鐘進(jìn)行一次抓拍,將圖片儲(chǔ)存在指定的文件目錄內(nèi),然后通過(guò)特定的算法對(duì)圖片中司機(jī)的面部特征進(jìn)行計(jì)算分析識(shí)別,并最終得到一個(gè)情緒值(angry危險(xiǎn)、happy開(kāi)心、normal正常),并返回給安卓app端進(jìn)行直觀顯示。若是檢測(cè)到司機(jī)此刻面部情緒值為angry(危險(xiǎn)),一方面觸發(fā)車(chē)廂內(nèi)安裝的蜂鳴器和危險(xiǎn)報(bào)警燈,起到提醒司機(jī)和全體乘客的作用;另一方面會(huì)將危險(xiǎn)信息推送到手機(jī)app端,此時(shí)車(chē)輛監(jiān)管人員可以通過(guò)app連接攝像頭,查看車(chē)廂內(nèi)和司機(jī)的情況,并及時(shí)進(jìn)行處置,從而全面保障行車(chē)安全。(若計(jì)算出司機(jī)情緒值為happy、normal,安卓端會(huì)對(duì)應(yīng)顯示綠色、藍(lán)色,表示開(kāi)心和正常,蜂鳴器不會(huì)報(bào)警,指示燈則相應(yīng)的亮起綠燈、藍(lán)燈)[2][3][5]。
本系統(tǒng)基于python程序語(yǔ)言,主要運(yùn)用了樹(shù)莓派中的RPi.GPIO插件實(shí)現(xiàn)了硬件指示燈與情緒的完美結(jié)合,后臺(tái)通過(guò)算法將情緒的結(jié)果傳到樹(shù)莓派,樹(shù)莓派將結(jié)果轉(zhuǎn)換成燈的顏色,來(lái)展示給用戶,當(dāng)用戶的表情是開(kāi)心時(shí),樹(shù)莓派會(huì)反饋出一個(gè)綠色的燈,用來(lái)表示識(shí)別的結(jié)果是開(kāi)心;當(dāng)識(shí)別的結(jié)果為憤怒時(shí),樹(shù)莓派會(huì)反饋一個(gè)紅燈,以示警告;當(dāng)識(shí)別的結(jié)果是正常時(shí),指示燈會(huì)變成藍(lán)色。主要硬件包括:樹(shù)莓派(型號(hào)B,無(wú)箱式)、攝像頭、蜂鳴器、指示燈等。
后臺(tái)主要是通過(guò)連接傳感層的智能硬件,對(duì)所抓拍的圖片進(jìn)行處理。首先要通過(guò)神經(jīng)網(wǎng)絡(luò)對(duì)情緒庫(kù)中的照片進(jìn)行訓(xùn)練,提取特征后建立情緒分類(lèi)模型。然后,利用樹(shù)莓派攝像頭采集人臉圖像,通過(guò)神經(jīng)網(wǎng)絡(luò)計(jì)算把采集到的表情區(qū)分開(kāi),識(shí)別判斷出的情緒值得到相應(yīng)的結(jié)果。整個(gè)系統(tǒng)主要通過(guò)聚類(lèi)算法和Tensorflow框架實(shí)現(xiàn)。特征提取后對(duì)應(yīng)的分類(lèi)原則為:對(duì)于angry(危險(xiǎn))的判斷,主要通過(guò)對(duì)人嘴部的“扭曲”特征和眼睛的怒視變大從而得出結(jié)果;對(duì)于happy(開(kāi)心)的判斷,主要通過(guò)分析嘴部的彎曲,以及眼睛、眉毛等部位,得出結(jié)果;另外,除去這兩種結(jié)果,系統(tǒng)會(huì)分析圖像,層層“比對(duì)”,不是angry或者h(yuǎn)appy,則得到normal(正常)的結(jié)果[6]。
部分程序設(shè)計(jì)如圖3-9:
(1)攝像頭開(kāi)啟
圖3 攝像頭開(kāi)啟程序
(2)模型訓(xùn)練
圖4 神經(jīng)網(wǎng)絡(luò)構(gòu)建程序
圖5 訓(xùn)練驗(yàn)證
(3)功能實(shí)現(xiàn)
圖6 功能實(shí)現(xiàn)
(4)效果顯示
圖7 效果展示(happy)
圖8 效果展示(normal)
圖9 效果展示(angry)
Android端需要進(jìn)行手機(jī)app安裝,網(wǎng)絡(luò)配置區(qū)域可以在輸入IP地址和端口號(hào)后,點(diǎn)連接(或斷開(kāi))按鈕進(jìn)行網(wǎng)絡(luò)設(shè)置;效果展示區(qū)域可以進(jìn)行效果展示(正常為藍(lán)色,開(kāi)心為綠色,當(dāng)檢測(cè)到憤怒時(shí),會(huì)變成紅色并發(fā)出報(bào)警);結(jié)果展示區(qū)域可以查看當(dāng)前情緒檢測(cè)結(jié)果;查看區(qū)域可以實(shí)時(shí)查看車(chē)載攝像頭,了解當(dāng)前狀況[4]。
本文從系統(tǒng)功能出發(fā),首先介紹了該系統(tǒng)的智能硬件架構(gòu),包括樹(shù)莓派、攝像頭、蜂鳴器和指示燈等,隨后又介紹了該系統(tǒng)的軟件實(shí)現(xiàn)原理,包括基于聚類(lèi)算法和Tensorflow預(yù)測(cè)模型的搭建與訓(xùn)練,最后進(jìn)行了軟硬件連接調(diào)試并展示了測(cè)試結(jié)果,表明該系統(tǒng)可快速準(zhǔn)確判斷目標(biāo)的情緒狀態(tài)并作出相應(yīng)提醒或處理,對(duì)于實(shí)際應(yīng)用具有重要的指導(dǎo)意義。
本系統(tǒng)可快速準(zhǔn)確判斷目標(biāo)的情緒狀態(tài)并作出相應(yīng)提醒或處理,工作過(guò)程大致分為三個(gè)步驟:一是人臉快速檢測(cè)與抓拍;二是抓拍數(shù)據(jù)即時(shí)上傳至后臺(tái)進(jìn)行分析比對(duì);三是分析結(jié)果迅速通過(guò)指示燈的顏色呈現(xiàn)出來(lái)。經(jīng)多人多次試驗(yàn)表明,該系統(tǒng)的預(yù)測(cè)準(zhǔn)確率可達(dá)95%以上,對(duì)實(shí)際應(yīng)用具有重要的指導(dǎo)意義。
圖10 Android端界面
山東商業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào)2020年2期