馬安琪,朱洪軍,阮奇
(安徽信息工程學(xué)院計(jì)算機(jī)與軟件工程學(xué)院,安徽 蕪湖 241000)
隨著科技的蓬勃發(fā)展,人體特征分析技術(shù)已經(jīng)作為身份快速識(shí)別最新應(yīng)用點(diǎn),其中人臉識(shí)別系統(tǒng)被廣泛運(yùn)用。傳統(tǒng)的校園考勤存在著很多弊端,如替代打卡,效率低下,不易統(tǒng)計(jì),管理和使用維護(hù)成本高等。面對(duì)這些現(xiàn)狀,我們基于人臉識(shí)別技術(shù)構(gòu)建了了人臉識(shí)別考勤系統(tǒng)。學(xué)生課堂出勤(Student Class Check-in,SCC)系統(tǒng)基于教室已安裝的攝像頭或增補(bǔ)的專業(yè)人臉抓拍攝像機(jī),智能抓拍出勤學(xué)生的人臉信息,自動(dòng)形成課堂出勤記錄。SCC系統(tǒng)用于解決教師上課點(diǎn)名方式存在的耗時(shí)、效率低等問題,可以為學(xué)生行為分析、安全響應(yīng)等提供決策支持。
如圖1所示,學(xué)生從統(tǒng)一身份認(rèn)證平臺(tái)進(jìn)入,可以在個(gè)人考勤詳情中查看人臉考勤結(jié)果。
圖1 學(xué)生用例圖
如圖2所示,教師從統(tǒng)一身份認(rèn)證平臺(tái)進(jìn)入后,可查看人臉考勤統(tǒng)計(jì)結(jié)果、人臉考勤狀態(tài)正常或異常詳情、單個(gè)學(xué)生人臉考勤詳情、考勤歷史記錄、課程考勤統(tǒng)計(jì)結(jié)果。可以通過AI能力平臺(tái)進(jìn)行修改人臉考勤狀態(tài)、提交優(yōu)化人臉模型申請(qǐng)的操作。
圖2 教師用例圖
如圖3所示,管理員具有系統(tǒng)所有功能權(quán)限。管理員從身份認(rèn)證平臺(tái)進(jìn)入后,可以查看教師、學(xué)生、班級(jí)、課程考勤統(tǒng)計(jì)結(jié)果、和考勤統(tǒng)計(jì)圖。導(dǎo)出考勤數(shù)據(jù),并進(jìn)行系統(tǒng)參數(shù)的設(shè)置。
圖3 管理員用例圖
本系統(tǒng)后臺(tái)采用Spring boot和Spring Framework框架實(shí)現(xiàn)控制器和業(yè)務(wù)處理。Spring Boot技術(shù)致力于構(gòu)建可用于生產(chǎn)的應(yīng)用程序。其旨在最大化地簡化Spring Framework的預(yù)先配置,使構(gòu)建的應(yīng)用程序盡快啟動(dòng)和運(yùn)行[1]。再運(yùn)用Spring Framework的優(yōu)點(diǎn)達(dá)到縮短項(xiàng)目開發(fā)周期,減低項(xiàng)目開發(fā)難度,提高項(xiàng)目開發(fā)效率,減少項(xiàng)目開發(fā)成本的目的[2]。使用Spring Boot功能可以更好地獨(dú)立運(yùn)行Spring項(xiàng)目,將程序打包成jar包;使用Spring提供POM文件使Maven配置簡化;可以自動(dòng)配置Spring框架,根據(jù)項(xiàng)目極大減少所需配置[3]。
本系統(tǒng)依賴于業(yè)務(wù)數(shù)據(jù)層進(jìn)行數(shù)據(jù)的管理。業(yè)務(wù)數(shù)據(jù)層采用Mybatis框架向服務(wù)層提供數(shù)據(jù)訪問接口。MyBatis是集成SQL查詢、存儲(chǔ)過程調(diào)用和高級(jí)映射的持久層框架[4]。Mybatis更為靈活,不會(huì)影響應(yīng)用程序或數(shù)據(jù)庫的現(xiàn)有設(shè)計(jì),方便管理和優(yōu)化[5]。實(shí)現(xiàn)了實(shí)時(shí)的數(shù)據(jù)管理,便于服務(wù)層進(jìn)行查看。使課堂考勤快速便捷,提高了考勤效率。
SCC系統(tǒng)的數(shù)據(jù)存儲(chǔ)使用關(guān)系數(shù)據(jù)庫MySQL?;贛ySQL數(shù)據(jù)庫系統(tǒng)平臺(tái),對(duì)學(xué)生的基本信息和人臉采集的數(shù)據(jù)進(jìn)行收集積累、關(guān)聯(lián)分析。設(shè)計(jì)構(gòu)建數(shù)據(jù)表,建立學(xué)生、教室考勤信息數(shù)據(jù)庫。聯(lián)合控制層、服務(wù)層,實(shí)現(xiàn)用戶管理、數(shù)據(jù)管理和結(jié)果查詢等功能。有效提升了人臉識(shí)別課堂考勤數(shù)據(jù)管理工作的信息化和管理水平,也為后續(xù)的數(shù)據(jù)處理和人臉識(shí)別工作提供良好基礎(chǔ)[6]。
前端采用了Vue.js框架,是用于構(gòu)建用戶界面的漸進(jìn)式Web框架。Vue.js在使用上比較靈活和輕量,利用在模板中提供的指令功能[7],它能夠?qū)崿F(xiàn)視圖與數(shù)據(jù)的雙向綁定,使用Axios插件封裝的Ajax進(jìn)行數(shù)據(jù)交互[8],實(shí)現(xiàn)數(shù)據(jù)持久化。
如圖4所示,該系統(tǒng)實(shí)現(xiàn)了無感知課堂考勤,考勤數(shù)據(jù)可視化,對(duì)考勤數(shù)據(jù)進(jìn)行自動(dòng)統(tǒng)計(jì)和分析,并可對(duì)人臉識(shí)別模型進(jìn)行優(yōu)化。
圖4 功能模塊
如圖5所示,視圖層采用Vue.js框架和H5實(shí)現(xiàn)前端用戶接口的圖形化頁面;SCC后臺(tái)采用Spring MVC和Spring Framework框架實(shí)現(xiàn)控制器和業(yè)務(wù)處理;控制器層主要負(fù)責(zé)前端請(qǐng)求的分發(fā)與響應(yīng),和智慧校園平臺(tái)服務(wù)層接口的調(diào)用;服務(wù)層的JavaBean實(shí)現(xiàn)SCC業(yè)務(wù)處理,并依賴業(yè)務(wù)數(shù)據(jù)層進(jìn)行數(shù)據(jù)的管理;業(yè)務(wù)數(shù)據(jù)層采用Mybatis框架向服務(wù)層提供數(shù)據(jù)訪問接口,數(shù)據(jù)存儲(chǔ)使用關(guān)系數(shù)據(jù)庫MySQL。
圖5 開發(fā)技術(shù)棧
數(shù)據(jù)庫整體表名稱及關(guān)聯(lián)名見表1,可分為3個(gè)部分:
表1 表名稱及聯(lián)名表
(1)用戶部分:用于保存用戶的基本信息,包括用戶的id,賬號(hào),姓名,學(xué)院名等信息。由表user構(gòu)成。
(2)角色部分:用于保存用戶角色的id、角色名。如學(xué)生、教師、管理員。由表role構(gòu)成。
(3)考勤和管理部分:用于學(xué)生課堂考勤,老師對(duì)課堂考勤的管理,管理員對(duì)設(shè)備和整體考勤結(jié)果的管理。該部分與角色表相關(guān)聯(lián),由表checkin、camera、classroom三表聯(lián)合組成。
如圖6所示,在登錄界面選擇用戶角色,并登錄。
圖6 登錄界面
如圖7所示,登錄之后,學(xué)生可以查看個(gè)人考勤結(jié)果。教師可以查看個(gè)人及班級(jí)整體考勤結(jié)果。
圖7 個(gè)人考勤結(jié)果查看
如圖8所示,為教師提供修改考勤狀態(tài)的備用選項(xiàng),包括缺勤、簽到、請(qǐng)假三種可修改選項(xiàng)。
圖8 考勤結(jié)果修改
如圖9所示,管理員可以導(dǎo)出學(xué)生、教師、班級(jí)考勤結(jié)果,包括姓名,考勤次數(shù),考勤出勤率,缺勤率等。
圖9 數(shù)據(jù)導(dǎo)出界面
本文針對(duì)教師上課點(diǎn)方式名耗時(shí)、效率低等問題,構(gòu)建了基于人臉識(shí)別技術(shù)的課堂考勤系統(tǒng),具有無感知課堂考勤,考勤數(shù)據(jù)可視化和對(duì)考勤數(shù)據(jù)進(jìn)行自動(dòng)統(tǒng)計(jì)和分析的功能,為學(xué)生行為分析,安全響應(yīng)等提供決策支持。但系統(tǒng)尚且存在不足,對(duì)于設(shè)備要求較高,在無監(jiān)控?cái)z像頭的教室里實(shí)行困難。這些不足有待后續(xù)改進(jìn)。