李成淵,俞 越,劉遠杰
(無錫城市職業技術學院,江蘇無錫214000)
新型冠狀病毒疫情暴發以來,按照流行病學研究特點,根據病毒傳播特性以及人員聚集防控要求,整個社會對相關人員歷史軌跡跟蹤數據的需求,達到了前所未有的高度。
歷史數據(Historical data),是指以往記錄的原始記錄;可視化(Visualization),是指一種視覺上的認知效果,因此數據可視化,顧名思義則是關于原始記錄經過清洗、整合后得到的數據視覺表現形式的科學技術研究[1]。文不如表,表不如圖。在信息爆炸的大數據時代,如何從海量的數據中快速提取到人們最感興趣的內容并形象地呈現出來,是數據可視化研究的主要目標[2]。
個人軌跡數據蘊含了時間、地點、方向等重要信息,同時具有時空特征。個人軌跡數據在校園移動跟蹤和個性化展現等應用領域都具有極其重要的價值。本系統利用虹軟公司的人臉檢測及跟蹤來獲取個人軌跡的數據,采用基于B/S架構、跨平臺的可視化方法,完成基于Web與APP的軌跡數據可視化系統設計,也可以被大眾所理解的方式將軌跡數據的時空屬性隨時間動態演變的過程表達出來,便于將區域內個人軌跡實時展現出來,為區域智能足跡查詢管理,及疫情下的人員流量數據得到了很好的展現[3]。
本項目主要利用人臉識別技術,針對校園環境,使用多目標行蹤監察與追溯,并將統計數據完成信息可視化。
數據采集:以虹軟開發平臺的人臉識別SDK 接口作為特征提取、數據采集、信息比對的主要工具,通過在校園內特定場景設置監控設想平臺,統計路經人員的追溯數據。
數據存儲:MySQL建立人臉特征信息庫及行蹤數據信息庫。
數據可視化:以時間、地點、對象信息為數據基礎,通過Echarts開源工具庫結構javascript代碼,調用百度開源api 接口,完成相應人員在所設定區域的路徑跟蹤以及最終采集數據的可視化展現。
數據展示:Web 端前端提供JavaScript 語言和HTML5 技術,構建查詢入口,結合內嵌的百度地圖,完成校園區域多目標跟蹤可視化展現的設計。
基于以上項目分析流程,本次數據可視化展示充分地通過人臉識別實現校園多目標跟蹤及可視化,并且通過web端查詢展示可視化結果。
基于以上描述,本系統應該包括對用戶行為數據的采集功能,數據存儲功能,分析結果可視化功能,以及可視化結果展示功能。先將以系統用例和文字描述的形式具體展現系統需求,為系統的設計和實現提供依據和基礎,并以學校區域為例。
根據需求對系統進行架構設計,然后拆分系統進行功能設計,把系統分為數據可視化后端與數據可視化前端兩大部分,并對數據采集、數據存儲、數據可視化、可視化展現等幾個關鍵模塊的技術設計進行了詳細描述。
依據以上的需求分析內容,本系統基于人臉識別實現,包括數據采集、數據存儲、數據可視化、可視化展示幾個主要模塊。系統的架構設計如圖1所示。

圖1 系統的架構設計
本系統的前端數據可視化部分Echarts實現,通過JSP中的session 內置對象以鍵值對存儲(獲取)數據。后端基于虹軟人臉識別SDK、MySQL、JavaScript,其中包括了數據采集,數據存儲,可視化展示3 個主要部分。根據系統的具體需求分析內容和系統整體的架構設計,具體如下。
(1)數據采集模塊主要通過虹軟開發平臺所提供的ArcFace 離線SDK(ArcFace-V3.0)接口,進行人臉跟蹤完成特征提取、采集,同時連接數據庫與已獲取特征值比對后給出姓名提示,并將軌跡存儲。
(2)數據存儲模塊主要通過redis建立人臉庫、通過MySQL建立人員信息和路徑庫。
數據可視化模塊主要通過Echarts可視化開源庫完成數據圖表繪制,以及結合百度地圖API繪制路徑地圖。
(3)可視化展示模塊主要由Web 端前端提供JavaScript語言和HTML5技術,結合內嵌的百度地圖,實現校園區域多目標跟蹤可視化以及用戶查詢的設計。
特征采集使用網絡攝像頭進行,用rtsp協議連接攝像頭不間斷地獲取視頻流。RTSP中所有的操作都是通過服務器和客戶端的消息應答機制完成的,其中消息包括請求和應答兩種。RTSP 是對稱的協議,客戶機和服務器都可以發送和回應請求,使用虹軟sdk定位人臉并每隔0.5 s 采集圖像進行識別,虹軟離線SDK,包含人臉檢測、性別檢測、年齡檢測、人臉識別、RGB活體檢測、IR活體檢測等能力。
與Memcaehed 具有很多相似特征,但其具有更多優秀特性,如支持簡單事務控制,支持主從復制等。Redis提供常規數值及List、Zset、Hset數據類型。
數據庫在信息技術中占據著中心地位,企業是現代計算機信息發展與操作的關鍵基礎。需要理性認識數據庫設計的需求,把握其概念策劃與邏輯策劃,為數據庫設計與功能實現提供條件。當前,在市場中應用較多的數據庫產品在本質上表現為關系數據庫產品。在本系統設計操作中,后臺數據庫選定為MySQL 5.5 這類數據庫,可以實現大批數據的高效率處理,且能夠與MyEclipse 實現高度兼容,操作質量突出。
系統連接和操作數據庫的具體實現方法:使用JDBC 加載驅動;通過Connection 對象連接數據庫;使用executeQuery 執行命令提取到人臉特征值(1 032 byte)。
項目將數據進行統計和分析,對數據使用JavaScript結合Echarts 可視化開源庫完成表格、柱狀圖、嵌套餅圖等圖表的繪制,實現數據可視化。并且結合了百度地圖API 接口,在有限監控屏幕中,合理化布局,給出對應的統計圖表。如圖2所示為數據統計圖表可視化。

圖2 數據統計圖表可視化
本系統主要使用Java語言,通過虹軟開發平臺所提供的ArcFace 離線SDK(ArcFace-V3.0)接口,進行人臉跟蹤,完成特征提取、采集,同時連接數據庫與已獲取特征值比對后給出姓名提示,并將軌跡存儲;再使用Echarts 可視化開源庫完成數據圖表繪制,以達到綜合統計數據的展示效果。同時,web端前端提供JavaScript語言和HTML5技術,結合內嵌的百度地圖,完成校園區域多目標跟蹤可視化的設計。