胡汪靜 趙克華 盧俊杰 郭浩悅 徐鋒
摘要:當前,人臉識別技術已經被應用于社會的很多個領域,但是并沒涉及高校考勤系統。本論文的基于人臉識別的學生學情分析系統是將人臉識別技術應用于高校考勤系統之中,這種自動點名模式不僅革新了老師上課叫名字點名的傳統簽到模式,而且還可對學生的出勤情況進行分析得到有效信息。
本項目的PC端將運用J2EE來實現,后臺接口將PC端和Android端相連接實現信息的傳遞。Android端是針對Android系統和人臉識別的核心技術進行展開研究和分析,根據人臉識別理論和算法,提出了在Android平臺下實現人臉識別考勤系統的設計方案,并最終實現把人臉識別技術用于學生課堂到課、曠課的統計之中,其基本原理是借助于安卓設備和計算機網絡并利用人臉識別技術實現自動統計學生到課情況。
關鍵詞:人臉識別;考勤系統;J2EE;安卓開發
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2019)07-0178-02
引言
隨著科技的不斷進步,“快速、便捷、安全”也成為重要的社會代名詞,所以人們在快速有效的自動身份驗證方面也越來越重視。各方面都在朝著這個目標而不斷努力,使得生物特征識別技術在近幾十年中得到了飛速的發展[1]。
人臉識別技術在生物特征識別技術中占據越來越重要的地位,將這種技術運用在大學生考勤上可以形成智能化的高校。伴隨著Android系統的不斷發展,人臉識別技術的逐漸成熟,定位技術的廣泛應用,基于 Android 的人臉識別考勤系統應運而生了[3]。
1 系統總體結構設計
1.1系統總體方案
本系統按照系統架構設計方案和各模塊功能可分為Android端和PC端[4]。PC端具有教師登錄、課程安排、根據條件查詢、查看歷史數據、管理員賬號分配、實時監控的功能。Android端具有學生注冊、學生登錄、考勤記錄、重新定位的功能。本系統的總體功能結構圖,如下圖1所示:
2 系統軟件設計
2.1 PC端應用設計
每一個教師(管理員)根據自己的賬號密碼登錄PC端,在登錄系統后,系統分為兩大模塊:信息管理維護模塊和信息查詢反饋模塊。信息管理維護模塊主要是對學生考勤系統的基本信息進行管理和維護,它是由基礎信息管理、管理員管理和考勤時間段設置三個部分組成。信息查詢反饋模塊主要是顯示學生的考勤情況,可以根據相應的需求查出學校的到勤率、學院到勤率等。
2.1.1 功能技術設計
PC端分為教師和管理員端。教師端具有教師登錄、課程安排、根據條件查詢、查看歷史數據的功能。管理員端具有管理員登錄、賬號分配、實時監控的功能。
如圖2所示為PC端的技術路線圖。
1)判斷登錄
當Android端登錄頁面輸入學號和密碼后,將登錄請求發給后臺數據庫。若該學號密碼與數據庫的用戶表里學號密碼一一對應,則做出登錄成功的應答;若若該學號密碼與數據庫的用戶表里學號密碼不對應,則做出登錄失敗的應答[5]。
2)判斷考勤時間
在數據庫里會根據學生的課程表的上課時間,設置相應的考勤時間,只有在那段時間內才能開啟考勤系統。所以在學生登錄系統后,Android端會將登錄時間獲取出來,將這個時間與數據庫中的考勤時間進行對比[6]。
3)判斷特征值
Android端會將掃臉的圖片轉化成特征值,然后將該特征值發送給后臺數據庫[7]。數據庫會查詢該學生數據庫內的特征值進行判斷,最后將該結果返回給Android端。
4)判斷考勤結果
在數據庫里對考勤結果有自己的判斷方法,該判斷方法返回三個結果值:已到,遲到,曠課。
2.2 Android端平臺設計
手機App終端直接應用于學生人臉識別,根據考勤結果將數據存入數據庫(以便于PC端查詢相對應的數據),最后Android端返回考勤成功信息[8]。
2.2.1 人臉識別技術
人臉注冊 ,首先要先檢測出來人臉,對于靜態圖片,虹軟人臉SDK中對應的是FD,提供了一個方法名稱,叫AFD_FSDK_StillImageFaceDetection 。mRect定義一個了一個矩形框Rect,在此之前我們需要注意虹軟人臉SDK使用的圖像格式是NV21的格式,所以我們需要將獲取到的圖像轉化為對應的格式,在List
通常人臉庫會存放在數據庫中,本系統使用List來進行簡單的模擬,并將其保存在文本文件中,需要時從文本中讀取,保存時寫入到文件中[9]。
我們使用一個第三方的擴展庫,ExtGLSurfaceView的擴展 庫CameraGLSurfaceView,用ImageView和TextView顯示檢測到的人臉和相應的描述信息[10]。從攝像頭識別人臉,需要使用FT庫,FT庫在人臉跟蹤算法上對人臉檢測部分進行了優化,是專門為視頻處理而優化的庫。
2.2.2 App功能技術設計
手機端具有學生注冊、學生登錄、考勤記錄的功能。
如圖3所示為Android端的技術路線圖。
(1)注冊人臉
1)使用openCamera函數調用手機攝像頭進行人臉的掃描[11]。掃描后對人臉進行檢測,并調用AFD_FSDK_StillImageFaceDetection返回特征值存入數據庫學生表中。
(2)登錄考勤
1)注冊成功后直接跳轉到登錄頁面,直接登錄進行考勤。
2)登錄后系統獲取本機時間傳入數據庫,判斷是是否為考勤時間。
3)考勤成功數據存入數據庫,判斷該學生的考勤狀況是準時到、遲到、還是曠課。
(3)考勤記錄
1)實時數據:從數據庫考勤記錄表中獲取實時數據在界面上顯示。
2)歷史數據:根據考勤記錄表對整個學期課程考勤記錄的顯示。
2.3 PC與Android端的通信
Android學生以學號和密碼登錄系統后進行人臉識別考勤,將考勤次數傳給數據庫,PC端獲取數據信息,將該條考勤記錄顯示在該生的考勤里面。實現功能操作如下:
1)設計一個連接服務器端的類,用戶寫入url,通過類中的函數根據 url 中的請求參數向服務器進行發送請求;
2)Web服務器根據請求指令所調用相關的數據,制作并制作成JSON格式數據包并且及時發送給Android 系統客戶端[12]。
3)Android 系統客戶端在接收到JSON格式數據包后,對其進行解析。
3 系統應用實際測試效果
3.1 APP人臉注冊
學生通過管理員指定的賬號密碼第一次登錄系統時,系統會馬上進入人臉注冊,轉到掃一掃進行人臉識別的注冊,注冊過程中將人臉轉成特征值進行存儲,顯示注冊成功的提醒。
3.2 APP人臉識別考勤
在多次測試人臉后,發現人臉識別置信度與注冊時的人臉有直接關系,因此需要確保注冊時的人臉是清晰的、完整的,這樣可以大大提高識別率。其次在掃臉過程中,人臉需要針對攝像頭,角度左右不能超過大約30°,另外不同的環境也會影響識別率的高低,例如光線太暗或具有強烈的光。
3.3 PC端與移動端的通信測試
當學生進行人臉識別注冊后數據庫中存入該生的特征值信息進行存儲。
特征值獲取后學生進行人臉識別匹配,匹配率大于0.6,傳給后臺result成功,系統判斷該生的時間返回一個result的值存入數據庫中,后臺根據result值返回學生考勤信息。
3.4 Web考勤顯示
當學生用Android端進行考勤時,掃臉所計算出的特征值會與數據庫里面注冊的人臉特征值進行匹配,當兩個特征值匹配成功時會對學生考勤時間與數據庫內設置的對應考勤情況時間進行比較,根據學生的考勤時間將該條考勤記錄存入數據庫,最后將該條考勤記錄推給PC端的實時數據頁面顯示出來。
4 總結
本系統設計針對目前大學生考勤系統存在的點名耗時長、學生曠課情況嚴重、統計學生考勤情況工作復雜等問題,是人臉識別技術+APP+Web應用三者的有機結合,降低了系統成本,提高了系統的靈活性。這種自動點名模式不僅革新了老師上課傳統的點到模式,而且還可對學生的考勤信息等進行自動統計,便于老師和學院及時了解學生出勤情況,降低人力、溝通成本,極大提高課堂效率;同時也可實現學生上課的身份核查與認證,有效防范冒名點到等現象。而且本系統還可以釋放老師的工作量,提高老師的教學質量。
參考文獻:
[1] 于寶華,賈于博,谷蘇崗.基于Andriod的高校學生畢業設計管理系統設計[J].福建電腦,2017,33(12):137-138.
[2] 車志宏,焦子路,劉榮.人臉識別技術研究與應用[J].電腦編程技巧與維護,2017(16):78-81.
【通聯編輯:聞翔軍】