◆洪成龍 楊雄 吳秋悅
安全模型、算法與編程
基于微信小程序的智能查寢系統(tǒng)
◆洪成龍 楊雄通訊作者吳秋悅
(福州大學至誠學院 福建 350002)
為解決目前高校宿舍查寢制度的不足,本系統(tǒng)利用微信小程序、人臉識別技術和云計算服務平臺實現(xiàn)了一套智能查寢系統(tǒng)。本系統(tǒng)部署在阿里云ECS上,服務器環(huán)境是LAMP(Linux + Apache + MySQL + PHP),采用MVC架構模式設計,小程序及后臺管理系統(tǒng)的后端均使用ThinkPHP5框架,并使用百度大腦提供的在線人臉識別服務交互完成人臉數(shù)據(jù)庫的建立和人臉搜索M:N識別,實現(xiàn)了對合照中的學生人臉進行人臉識別以及匯總統(tǒng)計結果的功能。實驗表明,在一定的條件范圍內,本系統(tǒng)能夠達到實現(xiàn)應用的需求。
微信小程序;人臉識別技術;云平臺;晚間查寢
查寢是教師確保學生夜間在校,保障學生安全的一種主要手段,但高校校園查寢一般是通過在特定時間內,以指紋打卡或人工查寢的方式來完成,且現(xiàn)有方式存在一些弊端,不能及時且真實地得到學生是否在寢的反饋,總是存在疏漏出錯的情況。查寢效率往往也不盡人意,針對校園宿舍查寢問題不少高校都極為困擾。以福州大學至誠學院計算機工程系為例,為了確保完全了解全系學生晚上的在校情況,規(guī)定晚上9點40分進行指紋打卡,10點半進行人工查寢。但是,指紋查寢易出現(xiàn)儀器失靈,有少部分人群指紋較淺或是手指濕潤等情況導致指紋極難識別,甚至還有指紋膜作假的情況出現(xiàn),而且在晚上宿舍集中進出時間段,容易造成學生排隊等待打指紋,造成時間上的浪費與管理上的混亂;專人查寢耗時耗力,查寢頻率低效率低,而且無法保證所有學生在查寢時間仍在宿舍,且易出現(xiàn)查寢結束學生外出的情況,并不能有效防止學生外出。由于輔導員工作比較繁忙,對于所有宿舍的查寢往往會心有余而力不足,不能及時檢查所有宿舍。
為解決上述問題,有效彌補現(xiàn)有宿舍查寢制度的不足和薄弱環(huán)節(jié),本文提出以微信小程序[1]作為輔導員和學生的主要使用平臺。相較于傳統(tǒng)APP,微信小程序無須安裝,即開即用,用完就走,不僅節(jié)省了用戶的手機內存和運行空間,也為用戶節(jié)省了在各類APP切換和進行復雜操作的時間。在本智能查寢小程序中,輔導員發(fā)布隨機限時查寢任務,學生可通過小程序在規(guī)定的時間范圍內,上傳帶有隨機數(shù)字的宿舍合照完成打卡。查寢時間截止后,對合照中的學生人臉進行人臉識別,幫助輔導員快速統(tǒng)計各個宿舍學生的查寢情況。本系統(tǒng)僅利用手機收集照片,而將圖像的人臉檢測與人臉搜索交由云計算服務平臺實現(xiàn),并通過分布式的處理方法實現(xiàn)并行人臉身份驗證,大大提高晚間查寢的效率[2-4]。并且,本系統(tǒng)同時配備Web后臺管理系統(tǒng),方便輔導員批量管理學生數(shù)據(jù),直觀查看學生的查寢統(tǒng)計情況。
本系統(tǒng)主要實現(xiàn)了基于微信小程序的智能查寢系統(tǒng),具體包括智能查寢小程序和Web后臺管理系統(tǒng)。系統(tǒng)的主要功能包括:學生信息管理、隨機或自定義抽取宿舍和查寢結果統(tǒng)計等功能。
輔導員首次使用,需要在Web后臺管理系統(tǒng)按照規(guī)定格式,批量導入學生姓名、學號、年級等信息,同時需要導入學生個人照片來創(chuàng)建學生人臉庫,以便查寢情況統(tǒng)計。之后在查寢時段,輔導員只需登錄小程序,設置查寢時間,選擇隨機或自定義抽取宿舍。同時輔導員可以通過一鍵提醒功能發(fā)送郵件提醒未簽到的宿舍學生,或是在班級群里通知已發(fā)布的查寢任務。被抽中的宿舍學生登錄小程序查看抽取記錄,并進行合照與上傳照片。學生上傳照片完成后,人臉識別功能開始鑒別圖像,判斷該宿舍是否簽到成功,將統(tǒng)計數(shù)據(jù)存儲到數(shù)據(jù)庫中。輔導員可以在查寢時間截止后,在指定頁面查看詳細的統(tǒng)計情況,包括未簽到的人員名單等。系統(tǒng)的總體功能如圖1所示:
圖1 系統(tǒng)功能圖
基于微信小程序的智能查寢系統(tǒng)采用MVC的架構模式設計,小程序以及后臺管理系統(tǒng)的后端均使用ThinkPHP5框架,后臺管理系統(tǒng)還使用了Layui前端UI框架。同時,將系統(tǒng)部署到阿里云ECS上,服務器的環(huán)境是LAMP(Linux + Apache + MySQL + PHP),并使用百度大腦提供的在線人臉識別服務交互完成人臉數(shù)據(jù)庫的建立和人臉搜索M:N識別,完成一次人臉識別的步驟為:
(1)輔導員設置查寢時間,隨機或自定義抽簽的宿舍名單。
(2)宿舍學生登錄小程序,拍照上傳合照,照片傳至服務器中保存,并將照片地址存在MySQL數(shù)據(jù)庫中。在學生上傳完畢后,讀取數(shù)據(jù)庫中的照片地址,通過調用接口,借助百度云人臉識別服務中的人臉搜索功能,檢測出合照中的所有的人臉范圍,并將這些區(qū)域人臉,以M:N在人臉數(shù)據(jù)庫中的指定用戶組進行搜索,搜索結果返回為JSON數(shù)據(jù),數(shù)據(jù)中包括合照中,識別到的人臉數(shù)量,每張人臉在該照片中的范圍坐標,以及搜索到的在人臉數(shù)據(jù)庫中的學生信息。
(3)完成人臉搜索后,將JSON數(shù)據(jù)進行處理,與數(shù)據(jù)庫中的學生信息進行匹配,識別到的人臉則在數(shù)據(jù)庫中記為已簽,反之則記為未簽,最后輸出未簽到的學生詳情信息至小程序中。
小程序學生端的主要功能是被抽到的宿舍全體成員進行合照,要求在規(guī)定的時間范圍內上傳照片,人臉識別功能將快速識別學生人臉,判斷是否缺勤后,進行匯總統(tǒng)計,將統(tǒng)計結果匯總到輔導員端。其實現(xiàn)效果如圖2和圖3所示:
圖2 小程序學生端查看詳細界面
圖3 小程序學生端上傳照片界面
匯總統(tǒng)計結果的思路是:根據(jù)查寢記錄的起止時間查找相應的宿舍號與該宿舍上傳的照片,如果該宿舍未上傳照片,自動將宿舍所有成員記為缺勤;若該宿舍成功上傳照片,調用百度API下M:N的人臉搜索功能,在該宿舍對應的人臉庫中進行搜索,成功搜尋到,則返回學號,將此學號下的本記錄記為已簽到,反之記為缺勤。根據(jù)數(shù)據(jù)庫中的記錄信息,返回缺勤人員信息以及查寢情況至小程序以及后臺管理系統(tǒng)。
后臺管理系統(tǒng)實現(xiàn)了批量導入、導出數(shù)據(jù),添加、刪除、編輯、查詢學生相關信息,導入學生人臉照片創(chuàng)建人臉庫,如圖4所示,以及查看統(tǒng)計結果功能。
圖4 導入學生照片創(chuàng)建人臉庫
統(tǒng)計前需要收集學生的人臉信息,通過百度人臉識別服務功能,創(chuàng)建人臉數(shù)據(jù)庫,后進行對宿舍合照的人臉搜索,判斷該生是否缺勤,得到查寢情況統(tǒng)計。以學生個人合照為例,實現(xiàn)的效果如圖5所示。
本系統(tǒng)以高校智能查寢系統(tǒng)為出發(fā)點,為解決目前高校宿舍查寢制度存在的不足之處,基于微信小程序實現(xiàn)輔助輔導員進行晚間查寢。微信小程序界面友好,操作簡單,極大提高了查寢的效率與準確度,也使得人臉識別技術的應用得到了更大的推廣,對智能校園的發(fā)展有著積極的推動作用。
[1]李珊. 基于微信小程序的學生活動管理系統(tǒng)的設計與實現(xiàn)[D].廣東工業(yè)大學,2019.
[2]成偉.基于人臉識別學生宿舍管理系統(tǒng)設計[D].電子科技大學,2016.
[3]李鑫洪.推進高校教學管理平臺信息化現(xiàn)實問題探討——以智能手機為視角[J].中國教育信息化,2015(17):53-55.
[4]王竹君. 基于人臉檢測的移動點名系統(tǒng)研究與實現(xiàn)[D].云南大學,2014.
福州大學至誠學院2020年國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(基于微信小程序的至誠學院智能查寢系統(tǒng):202013470004)