王樹宇,黃昭縣,鄭夢喬,張艷玲,王 鈞
(山東青年政治學院,山東 濟南 250400)
現階段,尤其是當下疫情防控常態化情況下,對于人們身體健康狀況的掌握以及進入某空間人數的統計成為必不可少的一環,人的體溫往往能反映機體的健康狀況,而當下較為流行的軟件簽到和人工測溫無論是在復雜程度上還是耗費的人力方面都是較大的,本文的人臉識別測溫預警系統可以自動進行身份識別和體溫監測,通過更加便捷的方式、更加智能化的平臺、更人性化的操作和更加直觀的大數據統計界面來達到監測健康狀況和人數統計的效果。
疫情發展初期,體溫異常是新冠肺炎識別的一個重要指標。一般采用額溫槍人工手持進行測量體溫,在商場、公園等人流量大的場所需要排隊等待,而且傳統額溫槍只能進行體溫檢測,不能進行身份識別。對于需要人員登記的場所,還需要專門的工作人員進行人工記錄,無疑又大大增加了人力成本和時間成本。近年來,人臉識別技術得到廣泛應用。在火車站、地鐵站入口的身份識別、人員考勤、消費支付等方面已經普遍應用人臉識別技術[1-2],識別準確率能達到99%左右,門禁系統也較為普及[3],紅外測溫傳感器的有效測溫距離也可以達到1 m以上,加上網絡和大數據的普及,現在可以有便捷的方法對體溫進行檢測以及對所獲得數據進行統計。
綜上所述,擬設計開發一套主要針對人流軌跡、出入控制和體溫檢測為主要功能的系統,輔以數據處理和展示平臺,便于查看各個終端機器的人員流動情況和體溫情況。該系統可通過人臉識別和射頻識別(RFID)進行身份認證,利用紅外檢測模塊進行非接觸式體溫檢測,通過閘機模塊控制人員進出,使用多機位管理,以統計時間戳的方式進行人流軌跡監測,并在前端頁面展示人員流量和體溫檢測的實時數據,并將本地視頻通過實時音視頻流的形式進行前臺播放[4],以達到體溫檢測和人流軌跡監測的效果。
此系統總體架構從上至下主要包含3部分,分別為主控層、通訊層、設備層,如圖1所示。主控層主要包括數據處理中心、數據庫和前端顯示,完成數據的處理、統計和可視化。通訊層主要包括云平臺和主控芯片的數據交互,傳輸鑒別。設備層主要包括主控芯片、身份識別、閘機控制、平板顯示。當來訪者通過時,攝像頭進行人臉識別并且用身份識別卡進行刷卡驗證,在采取認證的同時進行紅外體溫檢測,當體溫正常且身份驗證通過時,閘機打開,人員通過,否則進行報警處理,并將實時數據經過信息安全檢測步驟后,發送給數據庫,達到數據交互目的;當前端登錄頁面時,服務器請求數據庫,獲取終端信息,并實時展示到客戶端,達到數據可視化的目的。

圖1 總體結構設計
終端控制設備分為測溫模塊、識別模塊和閘機模塊。通過測溫,識別和閘機模塊的相互調用實現在本地動態調用實現協同工作。實物如圖2所示。

圖2 實物圖
1.1.1 測溫模塊的設計
區別于人體隨動測溫設計[5],在紅外測溫傳感器選用階段,最終選用了測量范圍較長、結果較準的MLAX90614作為紅外測溫傳感器。主要過程是通過紅外測溫傳感器的引腳和樹莓派中支持I2C的接口相連,實現通信。
1.1.2 識別模塊的設計
識別模塊主要靠外接的攝像頭獲取外部圖像信息,在軟件上采用了Python的OpenCV庫進行攝像頭的調用和對圖像的處理,使用了TensorFlow作為識別框架,在整體上和測溫模塊進行聯通,區別于輔助防疫消毒系統[6],主要表現為當識別出人臉的時候,測溫模塊開始工作,達到節省能源的作用。
1.1.3 閘機模塊的設計
閘機模塊主要選用了步進電機和ULN2003步進電機驅動板作為閘機的硬件,輔以整體算法,在識別到數據庫存儲的人臉并且測得的體溫正常時,閘機打開,否則閘機關閉。
數據管理中心包括前端的設計以及對數據庫中的數據表的設計,上位機主要通過前端對數據庫字段的輪詢讀取來秒級更新前端顯示的數據,數據庫則由主控機對相應字段進行修改。
1.2.1 前端界面設計
有別于建立多媒體虛擬空間[7],本系統將前端頁面分為主頁面設計、設備管理界面設計、人臉信息庫管理界面設計,通過多頁面協同展示,達到各個信息的顯示的效果。
1.2.1.1 主界面設計
主界面主要展示每天的詳細信息,包含人員每日流動信息、實時體溫檢測信息、歷史人員信息和人員軌跡信息。主頁面中可以查詢來訪人員的軌跡和體溫信息。體溫統計信息展示如圖3所示。人流量統計展示如圖4所示。

圖3 體溫餅狀統計圖

圖4 人流動態顯示
在歷史人流量和體溫信息的橫向對比上,采用了復合圖的形式,提供了柱狀圖、餅狀圖和數據下載功能,如圖5所示。

圖5 歷史信息對比復合圖
在實時監控的實時視頻流上,采用了嵌入到網頁上的設計,方便管理員查閱,如圖6所示。

圖6 實時視頻流
其中,整個網頁前端采用了典型的HTML、CSS和JS語言,并全頁使用了AJAX異步刷新技術,實現秒級更新,提升精確程度;后端使用了Python的Flask微框架實現與數據庫的鏈接交互,微框架的使用可以大大避免網頁和打開速度的問題。
1.2.1.2 設備管理界面的設計
設備管理界面可以對所有管理區域中已注冊的設備進行增刪改查的操作,可以對存在的設備進行詳細信息的修改和指定信息的查詢,通過設備管理界面可進入指定設備的主界面顯示平臺,達到對多個終端進行操作控制的效果,如圖7所示。

圖7 設計選擇界面
1.2.2 數據庫設計
數據庫設計主要分為人員數據表、設備管理表和人臉信息表的設計[8]。
人員數據表設計如圖8所示。其中上位機和主控機需要數據通信的數據都存在數據庫里,id代表總人數,依次遞增,用于統計今日人數和累計人數等;name存儲的是人的名稱;temperature中儲存的是對應人員的體溫信息;date_time存放的是此時的時間,方便計算人員信息。

圖8 人員數據表設計
設備管理表設計如圖9所示。其中id表示總設備數;mac表示設備唯一物理地址;information和de_information表示設備詳細信息;point表示該設備所對應人員數據表。

圖9 設備管理表設計
人臉信息表設計如圖10所示。其中id表示人臉庫中的人臉數量;name表示人員姓名;data_time表示該人員人臉信息添加的時間。

圖10 人臉信息表的設計
主要的關鍵技術包括人臉識別技術、紅外測溫補償技術和實時音視頻流推送技術。使用這些技術,可以使得系統快捷方便地處理數據。
人臉識別技術中,主要使用了MTCNN神經網絡和FaceNet模型進行訓練和識別。通過對人臉信息表的實時更新,使得在人臉信息被更新時,終端設備能自動從云端獲取數據。
2.1.1 MTCNN神經網絡
該神經網絡采用候選框加分類器的思想,進行快速高效的人臉檢測。這3個級聯的網絡分別是快速生成候選窗口的P-Net、進行高精度候選窗口過濾選擇的R-Net和生成最終邊界框與人臉關鍵點的O-Net。和很多處理圖像問題的卷積神經網絡模型一樣,該模型用到了圖像金字塔、邊框回歸、非最大值抑制等技術。
2.1.2 FaceNet模型
該模型的主要思想是把人臉圖像映射到一個多維空間,通過空間距離表示人臉的相似度。同個人臉圖像的空間距離較小,不同人臉圖像的空間距離較大。這樣通過人臉圖像的空間映射就可以實現人臉識別,FaceNet中采用基于深度神經網絡的圖像映射方法和基于triplets(三元組)的loss函數訓練神經網絡,網絡直接輸出為128維度的向量空間。
分別對每個距離段進行擬合補償,以測量溫度為x,測量距離為y,得到每個測量距離下的擬合圖像,之后通過相對的擬合算法進行相應的溫度補償。
實時音視頻流中的RTMP是Adobe公司開發的一個基于TCP的應用層協議,直播云服務成為了研究對象[4]。推流的過程大致如下,在TCP通道上一般傳輸的是Flv格式流,大致的流程如圖11所示。在推流過程中,經歷了握手、建立連接、建立流、播放幾個階段。握手開始于客戶端,發送C0、C1塊,服務器收到C0或C1后發送S0和S1階段,當客戶端收到之后,等待收齊之后,會反饋給服務器C2,服務器收齊之后,開始發送S2,當客戶端和服務器分別收齊之后,握手才得以完成,建立連接階段客戶端發送命令消息中的連接到服務器,請求與一個服務應用實例建立連接。當服務器同意連接之后,由客戶端發送一些具體的協議到服務器,再由服務器通知客戶端鏈接狀態;播放階段由客戶端發送命令消息“play”命令到服務器,在接收到消息之后服務器開始設ChunkSize,這時服務器發送用戶控制消息中的“streambegin”,來告知客戶端流ID,播放成功之后,響應狀態,告知客戶端播放成功。

圖11 RTMP推拉流過程
AJAX結合了Java技術、XML以及JavaScript等編程技術,并打破了使用頁面重載的慣例。AJAX實現異步刷新的過程如下:瀏覽器通過事件觸發方法,在本地通過XMLHttpRequest對象,創建并且通過互聯網到服務器發送請求;服務器收到請求到的內容之后,開始響應請求,開始發送所需數據到瀏覽器;而瀏覽器通過XMLHttpRequest對象的onreadystatechange的方法收到請求的數據后,解析和渲染數據到頁面中,這樣就完成了一個異步刷新。
為了檢驗程序與軟件的契合效果以及對溫度測量結果的精確程度,邀請山東青年政治學院電子信息工程專業2個班同學進行設備測試、精確度測試、人臉匹配度測試等多項測試。網頁端的登錄界面可以正常實現網頁的登錄作用。通過硬件測得的數據可以呈現在網頁端的不同分區內。所得溫度的數據可以在網頁上的餅狀圖與柱狀圖進行實時呈現。通過視頻的推流和拉流,視頻信息通過服務器呈現在網頁的中心位置,可以展現面部識別的效果,在面部抓取框上可見溫度信息。
在數據可用性方面,使用多次驗證和精確儀器對比測試人臉匹配精確度,得出的結果如表1所示。在誤差±2℃的情況下測試的體溫檢測精確度記錄數據如表2所示,經過數據分析發現,該系統的識別準確率穩定在較高水平,有較好的實用意義和參考價值。

表1 人臉識別精確度的驗證

表2 誤差內體溫檢測精確度的驗證
在設備穩定和安全性方面,管理員可以登錄前端數據展示界面,準確的Session判斷和完整的日志功能,使得系統更安全和易于維護,依托Raspberry 4B設備,可以在較長時間內自動運行良好,依托阿里云云數據庫,可以做到穩定、安全。
在閘機控制和身份識別的線性驗證方面,得出閘機的開合100%精確。
在對人臉庫做同步時間測試時,發現當數據處理中心新增人臉后,終端設備在網絡連接良好的情況下,5 min內可以將云端信息同步。
綜上所述,該系統經軟硬件測試后,識別和測量較精確,系統較穩定,有一定的參考意義和實用價值。
本系統的設計是基于樹莓派的人臉識別系統,可以對人物進行身份識別,結合溫度傳感器可以對面部溫度進行測量,實現非接觸式溫度測量,對大數據統計網頁的設計可以很好地呈現所獲得的溫度數據,對密集地區的人員控制和流動情況的掌握以及對公共衛生事件的預警具有較好的效果,并且本系統擁有較高的可實施性和易部署性。