蔡嘉興 黎 明
(湖南科技學(xué)院 電子與信息工程學(xué)院,湖南 永州 425199)
隨著信息化的發(fā)展,以及各方面對于快速有效的自動身份驗證的迫切需求,生物特征識別技術(shù)得到了迅猛地發(fā)展。作為人本身的一種的內(nèi)在屬性,具有很強的個體與個體間的差異性,基于此生物特征就成為了自動身份驗證的最理想的根據(jù)。
人工考勤、打卡考勤、脫機打卡等方式,有著費時費力,存儲數(shù)據(jù)不易,數(shù)據(jù)保護難的問題。并且如果存在其他干擾行為,很容易影響數(shù)據(jù)的精準性。與以上考勤方式相比,人臉識別技術(shù),擁有非接觸性質(zhì)、高效性、高安全性等優(yōu)點,易于被廣大用戶接受,從而得到廣泛地應(yīng)用[1]。文章提出一種基于人臉識別技術(shù)和定位信息的考勤方法,解決了自動身份認證和遠程考勤的需求。
人臉識別技術(shù),是一種通用的,非接觸式的生物特征比對的技術(shù)。本質(zhì)上就是通過數(shù)據(jù)采集用戶人臉圖像,通過核心算法對臉部特征進行分析,并和自身的數(shù)據(jù)范本進行比對,最后確定用戶身份。在日常生活中常備應(yīng)用在安檢、網(wǎng)絡(luò)支付、身份證比對等各個方面。
當(dāng)前的人臉識別方法有多種,目前主流的人臉識別方法包含以下幾種:基于臉部幾何特征人臉識別、基于特征臉(PCA)的人臉識別、基于彈性匹配的人臉識別方法。
定位技術(shù)是通過一定的技術(shù)手段獲取目標(biāo)當(dāng)前的地理坐標(biāo)位置信息。在生活中,室內(nèi)人員定位、商場物品定位、地圖導(dǎo)航等方面都離不開定位功能的實現(xiàn),目前生活中應(yīng)用最廣泛的定位方式是GPS定位[2]。
當(dāng)前的定位方式主要有:衛(wèi)星定位、基站定位、網(wǎng)絡(luò)IP 定位。其中GPS 定位與基站定位、網(wǎng)絡(luò)IP定位相比有著定位精度高、功能多、應(yīng)用廣、操作簡便等特點。
系統(tǒng)硬件框架是支撐這個系統(tǒng)的基礎(chǔ),是不可或缺的一部分。在這個系統(tǒng)的整體框架中,用戶信息的錄入和處理,軟件的運行都依賴硬件設(shè)備的支持。用戶的接收機和攝像設(shè)備以及GPS 芯片是系統(tǒng)硬件框架中最為重要的部分。用戶接收機實時獲取人臉數(shù)據(jù)信息以及地理位置信息,進行人臉屬性檢測、位置定位、人臉識別等多種操作,并根據(jù)數(shù)據(jù)的信息進行反饋提示。為保證數(shù)據(jù)的時效性和數(shù)據(jù)的存儲,建立相對應(yīng)的數(shù)據(jù)庫來確保功能的實現(xiàn)。
在軟件框架中,分為數(shù)據(jù)分析與處理和用戶接收機的狀態(tài)變更。其中數(shù)據(jù)的分析與處理方面,首先采集用戶的人臉特征信息存儲到數(shù)據(jù)庫,考勤時通過虹軟SDK(軟件開發(fā)工具包)實現(xiàn)人臉數(shù)據(jù)的比對以及采用百度地圖SDK中的算法和GPS定位,實現(xiàn)對用戶數(shù)據(jù)的獲取、存儲與分析,并將用戶考勤信息加載到相應(yīng)的數(shù)據(jù)庫中。用戶接收機的狀態(tài)變更方面,實現(xiàn)不同時間段對用戶接收機進行不同操作,達到用戶接收機的設(shè)備的狀態(tài)管理的切換。
數(shù)據(jù)傳輸是通信系統(tǒng)的一個主要環(huán)節(jié),其功能是將用戶簽到信息、考勤數(shù)據(jù)實時傳輸?shù)椒?wù)器中。由于需要實現(xiàn)打卡簽到的功能,會在特定時間產(chǎn)生龐大的考勤數(shù)據(jù),可能會產(chǎn)生數(shù)據(jù)傳輸緩慢、傳輸錯誤等問題,會大大降低軟件的效率。為解決這一方面的問題,在軟件方面,采用消息隊列服務(wù)進行代碼的優(yōu)化,并對無效信息如重復(fù)打卡的傳輸進行一定的過濾。硬件方面,如有因高并發(fā)形成瓶頸問題,可以搭建服務(wù)器集群,數(shù)據(jù)庫集群,進行讀寫分離,提高數(shù)據(jù)訪問和存儲效率。
系統(tǒng)開發(fā)中采取的是服務(wù)器-客戶機結(jié)構(gòu)(C/S架構(gòu)),服務(wù)器負責(zé)用戶數(shù)據(jù)的管理,客戶機完成用戶的交互任務(wù)。系統(tǒng)主要內(nèi)容包括:
(1)用戶信息數(shù)據(jù)的人臉采集、位置定位、數(shù)據(jù)分析、數(shù)據(jù)管理。
(2)用戶信息數(shù)據(jù)信息與服務(wù)器進行交互。
(3)用戶信息數(shù)據(jù)的可視化。
(4)用戶信息數(shù)據(jù)的更新和維護。
系統(tǒng)采用虹軟SDK 實現(xiàn)人臉識別和百度SDK(工具開發(fā)包)實現(xiàn)位置簽到,利用數(shù)據(jù)庫MySQL對用戶的數(shù)據(jù)信息等進行存儲,進而實現(xiàn)軟件的完整功能。
基于Android 平臺的人臉識別與位置簽到App主要包括界面的初始化,登錄/注冊功能、人臉錄入功能、識別簽到和GPS 定位、查看考勤日志等功能,系統(tǒng)流程如圖1 所示。
圖1 系統(tǒng)流程圖
基于Android 平臺實現(xiàn)人臉識別考勤App 的首要工作就是軟件的人臉身份識別功能。其主要內(nèi)容有人臉捕捉、人臉規(guī)范化分析、人臉建模、分類對比、人臉識別步驟如圖2。
圖2 人臉識別主要步驟圖
為了簡化軟件的開發(fā)流程,采用第三方提供的SDK(軟件開發(fā)工具包)。對于目前提供 SDK 的主流平臺有,曠世科技FACE++、虹軟ARCSOFT、百度、科大訊飛等多家公司[3]。
經(jīng)過數(shù)據(jù)統(tǒng)計和分析用戶的體驗,系統(tǒng)采用基于Android 的虹軟ARCSOFT SDK。當(dāng)前虹軟SDK檢測模式分為,靜態(tài)圖識別和動態(tài)圖識別。虹軟SDK 其中包含人臉屬性檢測、人臉三維角度檢測、活體檢測、人臉特征提取、人臉特征比對等。功能結(jié)構(gòu)如圖 3,既簡化了軟件的開發(fā)同時也保證了人臉識別的準確性,提升考勤的效率[4]。
圖3 虹軟SDK 功能圖
為了保證外勤人員遠程考勤信息的準確性、實時性,在實現(xiàn)人臉識別功能的同時使用定位功能。當(dāng)前基于Android 平臺的目前的定位方式主要有衛(wèi)星定位,網(wǎng)絡(luò)IP 定位,基站定位。其中網(wǎng)絡(luò)IP 定位和基站定位誤差較大。
系統(tǒng)使用百度地圖 SDK 實現(xiàn)定位功能,其定位的基本原理如圖 4 所示,當(dāng)應(yīng)用程序向定位的SDK發(fā)起定位請求時,定位SDK會根據(jù)當(dāng)前的GPS信息生成相對應(yīng)的定位依據(jù)。定位 SDK 會向定位服務(wù)器發(fā)送網(wǎng)絡(luò)請求。定位服務(wù)器根據(jù)請求的定位依據(jù)推算出對應(yīng)的地理坐標(biāo)位置,根據(jù)用戶的定制信息,將定位的結(jié)果返回定位SDK。實現(xiàn)GPS 定位功能包含以下步驟,首先通過配置Android studio環(huán)境,導(dǎo)入 SDK 開發(fā)工具包,導(dǎo)入手機權(quán)限,注冊SDK 服務(wù),并初始化GPS 位置信息的監(jiān)聽,實時更新用戶的位置。
圖4 SDK 定位功能實現(xiàn)基本原理圖
數(shù)據(jù)庫的設(shè)計是軟件開發(fā)至關(guān)重要的一個環(huán)節(jié),常用的數(shù)據(jù)庫有關(guān)系型數(shù)據(jù)庫(MySQL、Oracle)和非關(guān)系型數(shù)據(jù)庫(Redis、MongoDB)。本系統(tǒng)使用MySQL 數(shù)據(jù)庫,存儲的主要信息有個人基本信息,其中包括:用戶賬號、姓名、密碼、部門等信息。以及登錄打卡信息,包括:序列號、打卡人賬號、打卡時間、地點、機器碼。具體內(nèi)容如表 1和表2。
表1 用戶登錄打卡信息表
表2 用戶個人信息表
該系統(tǒng)搭建于 Lenovo 計算機,操作系統(tǒng):windows10,開發(fā)環(huán)境:Android studio3.5。開發(fā)中需要獲得相應(yīng) SDK 的使用權(quán)限,其中包括虹軟人臉識別SDK 的APP ID,SDK ID 和百度地圖定位SDK SHA1 碼。
軟件開發(fā)的具體步驟包含:1)Android 開發(fā)的環(huán)境搭建配置 2)虹軟人臉識別和百度地圖定位SDK 獲取3)軟件開發(fā)工具包的SDK 的導(dǎo)入4)頁面布局設(shè)計
APP 進行了人臉注冊、比對和遠程位置信息獲取、打卡等測試,其中人臉比對的測試結(jié)果圖如圖5,定位測試結(jié)果如圖6。
圖5 人臉比對圖
圖6 定位測試結(jié)果
測試結(jié)果表明該 APP 實現(xiàn)了人臉識別的的屬性檢測以及人臉比對和定位功能。由于人臉識別的準確率受到以下幾個因素的影響:光照變化、人臉面部表情變化、背景與附著物,因此,為提高人臉識別的準確率,在使用時,應(yīng)盡量避免以上因素的影響。
采用虹軟SDK 與百度地圖SDK 實現(xiàn)基于人臉識別與位置信息的考勤系統(tǒng),有較好的架構(gòu)穩(wěn)定性,保證數(shù)據(jù)的實時性和準確性,解決了普通考勤信息自動管理難和考勤難等問題,優(yōu)化了考勤管理業(yè)務(wù),極大的提高了用戶和企業(yè)間的組織效率,經(jīng)測試和上線使用,滿足了當(dāng)前考勤管理工作的需要。