李成淵,俞 越,劉遠(yuǎn)杰
(無錫城市職業(yè)技術(shù)學(xué)院,江蘇無錫214000)
新型冠狀病毒疫情暴發(fā)以來,按照流行病學(xué)研究特點(diǎn),根據(jù)病毒傳播特性以及人員聚集防控要求,整個(gè)社會(huì)對(duì)相關(guān)人員歷史軌跡跟蹤數(shù)據(jù)的需求,達(dá)到了前所未有的高度。
歷史數(shù)據(jù)(Historical data),是指以往記錄的原始記錄;可視化(Visualization),是指一種視覺上的認(rèn)知效果,因此數(shù)據(jù)可視化,顧名思義則是關(guān)于原始記錄經(jīng)過清洗、整合后得到的數(shù)據(jù)視覺表現(xiàn)形式的科學(xué)技術(shù)研究[1]。文不如表,表不如圖。在信息爆炸的大數(shù)據(jù)時(shí)代,如何從海量的數(shù)據(jù)中快速提取到人們最感興趣的內(nèi)容并形象地呈現(xiàn)出來,是數(shù)據(jù)可視化研究的主要目標(biāo)[2]。
個(gè)人軌跡數(shù)據(jù)蘊(yùn)含了時(shí)間、地點(diǎn)、方向等重要信息,同時(shí)具有時(shí)空特征。個(gè)人軌跡數(shù)據(jù)在校園移動(dòng)跟蹤和個(gè)性化展現(xiàn)等應(yīng)用領(lǐng)域都具有極其重要的價(jià)值。本系統(tǒng)利用虹軟公司的人臉檢測(cè)及跟蹤來獲取個(gè)人軌跡的數(shù)據(jù),采用基于B/S架構(gòu)、跨平臺(tái)的可視化方法,完成基于Web與APP的軌跡數(shù)據(jù)可視化系統(tǒng)設(shè)計(jì),也可以被大眾所理解的方式將軌跡數(shù)據(jù)的時(shí)空屬性隨時(shí)間動(dòng)態(tài)演變的過程表達(dá)出來,便于將區(qū)域內(nèi)個(gè)人軌跡實(shí)時(shí)展現(xiàn)出來,為區(qū)域智能足跡查詢管理,及疫情下的人員流量數(shù)據(jù)得到了很好的展現(xiàn)[3]。
本項(xiàng)目主要利用人臉識(shí)別技術(shù),針對(duì)校園環(huán)境,使用多目標(biāo)行蹤監(jiān)察與追溯,并將統(tǒng)計(jì)數(shù)據(jù)完成信息可視化。
數(shù)據(jù)采集:以虹軟開發(fā)平臺(tái)的人臉識(shí)別SDK 接口作為特征提取、數(shù)據(jù)采集、信息比對(duì)的主要工具,通過在校園內(nèi)特定場(chǎng)景設(shè)置監(jiān)控設(shè)想平臺(tái),統(tǒng)計(jì)路經(jīng)人員的追溯數(shù)據(jù)。
數(shù)據(jù)存儲(chǔ):MySQL建立人臉特征信息庫(kù)及行蹤數(shù)據(jù)信息庫(kù)。
數(shù)據(jù)可視化:以時(shí)間、地點(diǎn)、對(duì)象信息為數(shù)據(jù)基礎(chǔ),通過Echarts開源工具庫(kù)結(jié)構(gòu)javascript代碼,調(diào)用百度開源api 接口,完成相應(yīng)人員在所設(shè)定區(qū)域的路徑跟蹤以及最終采集數(shù)據(jù)的可視化展現(xiàn)。
數(shù)據(jù)展示:Web 端前端提供JavaScript 語言和HTML5 技術(shù),構(gòu)建查詢?nèi)肟?,結(jié)合內(nèi)嵌的百度地圖,完成校園區(qū)域多目標(biāo)跟蹤可視化展現(xiàn)的設(shè)計(jì)。
基于以上項(xiàng)目分析流程,本次數(shù)據(jù)可視化展示充分地通過人臉識(shí)別實(shí)現(xiàn)校園多目標(biāo)跟蹤及可視化,并且通過web端查詢展示可視化結(jié)果。
基于以上描述,本系統(tǒng)應(yīng)該包括對(duì)用戶行為數(shù)據(jù)的采集功能,數(shù)據(jù)存儲(chǔ)功能,分析結(jié)果可視化功能,以及可視化結(jié)果展示功能。先將以系統(tǒng)用例和文字描述的形式具體展現(xiàn)系統(tǒng)需求,為系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)提供依據(jù)和基礎(chǔ),并以學(xué)校區(qū)域?yàn)槔?/p>
根據(jù)需求對(duì)系統(tǒng)進(jìn)行架構(gòu)設(shè)計(jì),然后拆分系統(tǒng)進(jìn)行功能設(shè)計(jì),把系統(tǒng)分為數(shù)據(jù)可視化后端與數(shù)據(jù)可視化前端兩大部分,并對(duì)數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)可視化、可視化展現(xiàn)等幾個(gè)關(guān)鍵模塊的技術(shù)設(shè)計(jì)進(jìn)行了詳細(xì)描述。
依據(jù)以上的需求分析內(nèi)容,本系統(tǒng)基于人臉識(shí)別實(shí)現(xiàn),包括數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)可視化、可視化展示幾個(gè)主要模塊。系統(tǒng)的架構(gòu)設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)的架構(gòu)設(shè)計(jì)
本系統(tǒng)的前端數(shù)據(jù)可視化部分Echarts實(shí)現(xiàn),通過JSP中的session 內(nèi)置對(duì)象以鍵值對(duì)存儲(chǔ)(獲?。?shù)據(jù)。后端基于虹軟人臉識(shí)別SDK、MySQL、JavaScript,其中包括了數(shù)據(jù)采集,數(shù)據(jù)存儲(chǔ),可視化展示3 個(gè)主要部分。根據(jù)系統(tǒng)的具體需求分析內(nèi)容和系統(tǒng)整體的架構(gòu)設(shè)計(jì),具體如下。
(1)數(shù)據(jù)采集模塊主要通過虹軟開發(fā)平臺(tái)所提供的ArcFace 離線SDK(ArcFace-V3.0)接口,進(jìn)行人臉跟蹤完成特征提取、采集,同時(shí)連接數(shù)據(jù)庫(kù)與已獲取特征值比對(duì)后給出姓名提示,并將軌跡存儲(chǔ)。
(2)數(shù)據(jù)存儲(chǔ)模塊主要通過redis建立人臉庫(kù)、通過MySQL建立人員信息和路徑庫(kù)。
數(shù)據(jù)可視化模塊主要通過Echarts可視化開源庫(kù)完成數(shù)據(jù)圖表繪制,以及結(jié)合百度地圖API繪制路徑地圖。
(3)可視化展示模塊主要由Web 端前端提供JavaScript語言和HTML5技術(shù),結(jié)合內(nèi)嵌的百度地圖,實(shí)現(xiàn)校園區(qū)域多目標(biāo)跟蹤可視化以及用戶查詢的設(shè)計(jì)。
特征采集使用網(wǎng)絡(luò)攝像頭進(jìn)行,用rtsp協(xié)議連接攝像頭不間斷地獲取視頻流。RTSP中所有的操作都是通過服務(wù)器和客戶端的消息應(yīng)答機(jī)制完成的,其中消息包括請(qǐng)求和應(yīng)答兩種。RTSP 是對(duì)稱的協(xié)議,客戶機(jī)和服務(wù)器都可以發(fā)送和回應(yīng)請(qǐng)求,使用虹軟sdk定位人臉并每隔0.5 s 采集圖像進(jìn)行識(shí)別,虹軟離線SDK,包含人臉檢測(cè)、性別檢測(cè)、年齡檢測(cè)、人臉識(shí)別、RGB活體檢測(cè)、IR活體檢測(cè)等能力。
與Memcaehed 具有很多相似特征,但其具有更多優(yōu)秀特性,如支持簡(jiǎn)單事務(wù)控制,支持主從復(fù)制等。Redis提供常規(guī)數(shù)值及List、Zset、Hset數(shù)據(jù)類型。
數(shù)據(jù)庫(kù)在信息技術(shù)中占據(jù)著中心地位,企業(yè)是現(xiàn)代計(jì)算機(jī)信息發(fā)展與操作的關(guān)鍵基礎(chǔ)。需要理性認(rèn)識(shí)數(shù)據(jù)庫(kù)設(shè)計(jì)的需求,把握其概念策劃與邏輯策劃,為數(shù)據(jù)庫(kù)設(shè)計(jì)與功能實(shí)現(xiàn)提供條件。當(dāng)前,在市場(chǎng)中應(yīng)用較多的數(shù)據(jù)庫(kù)產(chǎn)品在本質(zhì)上表現(xiàn)為關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品。在本系統(tǒng)設(shè)計(jì)操作中,后臺(tái)數(shù)據(jù)庫(kù)選定為MySQL 5.5 這類數(shù)據(jù)庫(kù),可以實(shí)現(xiàn)大批數(shù)據(jù)的高效率處理,且能夠與MyEclipse 實(shí)現(xiàn)高度兼容,操作質(zhì)量突出。
系統(tǒng)連接和操作數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)方法:使用JDBC 加載驅(qū)動(dòng);通過Connection 對(duì)象連接數(shù)據(jù)庫(kù);使用executeQuery 執(zhí)行命令提取到人臉特征值(1 032 byte)。
項(xiàng)目將數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析,對(duì)數(shù)據(jù)使用JavaScript結(jié)合Echarts 可視化開源庫(kù)完成表格、柱狀圖、嵌套餅圖等圖表的繪制,實(shí)現(xiàn)數(shù)據(jù)可視化。并且結(jié)合了百度地圖API 接口,在有限監(jiān)控屏幕中,合理化布局,給出對(duì)應(yīng)的統(tǒng)計(jì)圖表。如圖2所示為數(shù)據(jù)統(tǒng)計(jì)圖表可視化。
圖2 數(shù)據(jù)統(tǒng)計(jì)圖表可視化
本系統(tǒng)主要使用Java語言,通過虹軟開發(fā)平臺(tái)所提供的ArcFace 離線SDK(ArcFace-V3.0)接口,進(jìn)行人臉跟蹤,完成特征提取、采集,同時(shí)連接數(shù)據(jù)庫(kù)與已獲取特征值比對(duì)后給出姓名提示,并將軌跡存儲(chǔ);再使用Echarts 可視化開源庫(kù)完成數(shù)據(jù)圖表繪制,以達(dá)到綜合統(tǒng)計(jì)數(shù)據(jù)的展示效果。同時(shí),web端前端提供JavaScript語言和HTML5技術(shù),結(jié)合內(nèi)嵌的百度地圖,完成校園區(qū)域多目標(biāo)跟蹤可視化的設(shè)計(jì)。