基于人臉識別的考勤簽到小程序的設計_第1頁
基于人臉識別的考勤簽到小程序的設計_第2頁
基于人臉識別的考勤簽到小程序的設計_第3頁
基于人臉識別的考勤簽到小程序的設計_第4頁
基于人臉識別的考勤簽到小程序的設計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

北京理工大學珠海學院2020屆本科生畢業(yè)設計基于人臉識別的考勤簽到小程序的設計與實現(xiàn)摘要學生上課的考勤簽到是一種大學課堂教學管理的重要手段和考核指標。對比與傳統(tǒng)的考勤簽到模式,人臉識別的考勤簽到系統(tǒng)更加節(jié)省人力,更具高效性。人臉識別考勤簽到系統(tǒng)具有傳統(tǒng)簽到無可匹敵的優(yōu)勢,是最高效的簽到方式之一。近年來,許多基于深度學習的人臉識別算法取得了很好的進展,使得人臉識別簽到更具可行性?;诖?,本文設計實現(xiàn)了一個基于人臉識別的考勤簽到系統(tǒng)。系統(tǒng)以微信小程序作為實現(xiàn)平臺,使用WXML+WXSS+JavaScript技術進行開發(fā)。系統(tǒng)分為教師端和學生端,教師端可以修改后臺服務器的簽到設置,用于開設學生簽到操作;學生端可以使用微信小程序對接云服務器上的人臉識別接口,實現(xiàn)人臉識別,再連接數(shù)據(jù)庫的用戶數(shù)據(jù),完成考勤簽到功能。

系統(tǒng)設計完成后,對系統(tǒng)的各個功能進行測試,測試結果表明,系統(tǒng)完成了本畢設選題的預設功能。關鍵詞:微信小程序,人臉識別,考勤簽到,深度學習

Designandimplementationofattendancesign-inminiprogrambasedonfacialrecognitionAbstractClassattendanceisanimportantmeansofuniversitystudentmanagement,aspecificindicatorofteachers'classroomefficiency.Comparedwiththetraditionalcheck-inmode,facerecognitionattendancecheck-insystemismorelabor-savingandefficient.Facerecognitionattendancesign-insystemhastheunmatchedadvantagesoftraditionalsign-inandisoneofthemostefficientsign-inmethods.Inrecentyears,manydeeplearning-basedfacerecognitionalgorithmshavemadegoodprogress,makingfacerecognitioncheck-inmorefeasible.

Basedonthis,thispaperdesignsandimplementsafacerecognition-basedattendancecheck-insystem.ThesystemisdevelopedusingWXML+WXSS+JavaScripttechnologywithWeChatappletastheimplementationplatform.Thesystemisdividedintoteacherandstudentside,theteachersidecanmodifythecheck-insettingsofthebackendserverforopeningstudentcheck-inoperation;thestudentsidecanusetheWeChatapplettodockthefacerecognitioninterfaceonthecloudservertorealizefacerecognition,andthenconnecttheuserdatainthedatabasetocompletetheattendancecheck-infunction.

Afterthesystemdesignwascompleted,thevariousfunctionsofthesystemweretestedandtheresultsshowedthatthesystemcompletedthepre-determinedfunctionsofthisselection.Keywords:Facerecognition,attendancesystem,deeplearning

TOC\o"1-2"\h\u1引言 11.1研究背景及意義 12國內(nèi)外研究現(xiàn)狀 22.1人臉識別研究現(xiàn)狀 22.2考勤簽到研究現(xiàn)狀 22.3本章小結 33需求分析 43.1考勤系統(tǒng)介紹 43.1.1系統(tǒng)概述 43.1.2系統(tǒng)的業(yè)務流程 43.2系統(tǒng)參與者 53.2.1教職工用戶 63.2.2學生用戶 63.3系統(tǒng)功能 63.3.1學生用戶功能 63.3.2注冊功能 73.3.3登錄功能 73.3.3修改個人信息功能 83.3.4簽到功能 83.3.5查看簽到記錄功能 93.4.1教職工功能 93.4.2注冊功能 103.4.3登錄功能 113.4.4修改個人信息功能 113.4.5開設簽到功能 123.4.6查看簽到功能 123.5數(shù)據(jù)需求 123.6功能需求 134系統(tǒng)的開發(fā)技術介紹 134.1微信小程序介紹 144.2前端 144.2.1WXML 154.2.2WXSS 154.2.3WXS 174.2.4JSON 184.3后端 184.3.1微信小程序云函數(shù) 184.4服務器與數(shù)據(jù)庫 184.4.1微信小程序云函數(shù) 184.4.2微信小程序數(shù)據(jù)庫 185系統(tǒng)的設計與實現(xiàn) 185.1前端 195.1.1wxui框架導入 195.2后端 195.2.1登陸 195.3數(shù)據(jù)結構設計 205.3.1邏輯結構設計 205.3.2E-R模型圖轉化為關系模型 205.3.3關系模式規(guī)范化 215.3.4關系描述 216運行結果 236.1未授權頁面 246.2登陸頁面 246.3注冊 256.4教職工發(fā)布簽到 256.5學生開始簽到 266.6簽到成功 267總結與展望 267.1本文總結 277.2后續(xù)工作展望 271引言1.1研究背景及意義各大高校的擴招計劃和教育改革,讓絕大多數(shù)的青年學子都有機會進入校園,實現(xiàn)人生夢想。然而大學生從充斥著壓力,進軍高考的高中生活,進入了一個時間、空間自由支配的大學時期后,學生們的學習態(tài)度開始發(fā)生了變化,部分學生認為只需要考好最后的考試,或者完成老師布置下的學習任務,就能完成課程拿到學分。這種懶散的學習態(tài)度,給大學生帶來了迷茫和困惑,與此同時逃課現(xiàn)象開始蔓延。學生的任務本來應該是學習,而學習最好的方式就是認真參加每一堂課。逃課現(xiàn)象已逐漸使得不少學校對老師發(fā)出指令,并將課堂的出勤率作為判斷教師教學質(zhì)量的標準之一,教師為了提高所教班級的出勤率,往往會實施課課點名的方案,以此來督促學生不遲到、不早退。這樣一來難免會加重了老師的負擔,老師即需要向學生傳授知識,又需要對學生完成考勤記錄。因而可知,一套高效的考勤簽到系統(tǒng)的開發(fā)極為重要。考勤簽到系統(tǒng)的使用能夠使教師能夠更加專心與教學內(nèi)容上,能夠在一定程度上提高教學質(zhì)量,并且能夠提高考勤的效率和以及考勤的正確率,同時又能夠防止其他的同學代替該簽到的學生進行簽到的行為,人臉識別技術實現(xiàn)的考勤簽到系統(tǒng),理論上能夠百分百的解決上述的全部問題。智能手機的廣泛普及,使得絕大多數(shù)的大學生都能夠擁有一臺屬于自己的手機。目前的智能手機較為流行的主要是iOS、Android、以及WindowPhone,由于操作系統(tǒng)的不同,導致許多應用都需要開發(fā)不同的版本,來達到服務大眾的目的。顯然,想要使所有的學生使用同一個操作系統(tǒng)的手機是無法實現(xiàn)的,多平臺的開發(fā)也會增加更多的工作內(nèi)容。微信小程序能夠完美解決需要多平臺開發(fā)的問題,無論哪一種操作平臺(iOS、Android以及WindowPhone),都能夠支持微信的運行,通過微信小程序的開發(fā)也能夠實現(xiàn)多平臺開發(fā)的目的。所以本次設計最終確定通過微信小程序平臺進行系統(tǒng)的開發(fā)。

2國內(nèi)外研究現(xiàn)狀2.1人臉識別研究現(xiàn)狀LFW(Labeledfacesinthewild)是一個在人臉識別研究領域比較有名的人臉圖像數(shù)據(jù)集合,其圖像主要從Yahoo!News上進行采集,多達13233張人臉圖片,在該數(shù)據(jù)集里包含了5749個人,并且其中有1680人是擁有兩幅及以上的圖像,4069人只有一幅圖像[1]。幾乎所有的圖像都是同一態(tài)名為”Viola-Jones”的人臉檢測器得到的,在檢測到人臉圖像之后,圖片將被裁剪為固定大小,僅有少量的人臉圖像是從falsepositive中得到。在該數(shù)據(jù)集中的所有圖像均產(chǎn)生于現(xiàn)實場景(有別于實驗室場景),具備自然的光線,表情,姿勢和遮擋,且涉及人物多為公物人物,這將帶來化妝,聚光燈等更加復雜的干擾因素,因此,在該數(shù)據(jù)集上驗證的人臉識別算法,理論上更貼近現(xiàn)實應用,這也給研究人員帶來巨大的挑戰(zhàn)[2]。2018年,中國不少企業(yè)在國際人臉識別評估集LFW榜上有名,face++99.5%,商湯99.53%,騰訊99.65%,百度99.77%,中科奧森99.77%,中科云從99.5%,北京飛搜科技99.67%,顏鑒99.4%,宇泛智能99%,中國平安99.8%大華99.78%,海鑫99.68%等,這些都是基于國內(nèi)的,也可以看看國外提供的api,谷歌針對這個人臉識別數(shù)據(jù)集的分數(shù)是99.63%,研究人員在使用LFW數(shù)據(jù)集以外的數(shù)據(jù),對模型進行聯(lián)系,再使用模型進行刷分,人臉識別率都可以高達99以上的識別率[3]。對于日程生活學習的環(huán)境中,網(wǎng)絡上公開的人臉識別api是具有足夠的準確度。2.2考勤簽到研究現(xiàn)狀荊洲等設計出基于人臉檢測的智能課堂點名系統(tǒng),是集合了人臉識別技術、圖像處理技術、匯編語言、網(wǎng)站制作技術的綜合應用,使網(wǎng)頁、數(shù)據(jù)庫、人臉檢測程序互聯(lián),構成一個完整的系統(tǒng)。該系統(tǒng)的研究與開發(fā)可以更加充分地利用課堂時間,以方便教師的教學,提高效率。系統(tǒng)操作界面簡單,檢索信息快捷,搜索方便。在多樣的活動出現(xiàn),生活日漸豐富的今天,人們參加各種活動的同時難以避免地參與活動考勤和簽到。傳統(tǒng)的簽到方式有點名和自助簽名等,其缺點為耗時,易代簽,難以統(tǒng)計。隨著互聯(lián)網(wǎng)的普及,和人工智能服務設備的涌現(xiàn),簽到系統(tǒng)也可以跟上時代發(fā)展的進程。隨著信息時代的到來,移動手機成為人們生活的必需品,用戶的日常需求豐富了移動應用,觸及生活的方方面面。智能手機早已普及,而且微信也已經(jīng)成為裝機日用的必要軟件,深植于人們的生活習慣之中。在移動手機上的應用中,微信受眾廣泛,頻頻被人使用??紤]到大學生移動設備的高普及度和微信小程序的蓬勃發(fā)展,針對課堂中的常有的點名環(huán)節(jié),開發(fā)一個微信小程序不失為一個良好的辦法。2016年起微信發(fā)布了“微信公眾平臺小程序”,這是一種不需要進行下載安裝就能使用的“觸手可及”的應用;微信小程序作為內(nèi)置在微信里的應用程序,具有與本地應用不同的形式,實現(xiàn)多種多樣的功能,在使用流暢的前提下,不會占用太多的手機內(nèi)存[4]。近年來大受歡迎的微信小程序,在微信平臺的支持下,其免下載,功能多樣,體積小的特點都使其越來越火爆。所以,憑借微信小程序開發(fā)的考勤簽到系統(tǒng)可以達到活動發(fā)起者與活動的參與者的需要。而課堂考勤作為最為常見的考勤活動之一,為了提高考勤效率,達到良好的實施效果,關于促進課堂教學的考勤制度的設計備受關注,同時利用各種新技術如藍牙、人臉檢測等的考勤系統(tǒng)的研究日益增多。在分析國內(nèi)點名系統(tǒng)研究狀況和微信小程序發(fā)展前景的基礎上,本文通過“微信小程序開發(fā)者工具”+“微信小程序云開發(fā)”設計一個考勤簽到小程序,用來進行課堂點名,能夠實現(xiàn)準確、方便、高效的學生考勤管理。2.3本章小結信息時代的到來,伴隨著信息技術的迅速發(fā)展,教育領域已經(jīng)進入”互聯(lián)網(wǎng)+”的階段。傳統(tǒng)的教學模式集成互聯(lián)網(wǎng)技術是高等教育改革創(chuàng)新的一條途徑,更加先進、多樣化、與時俱進的的教育教學模式正在形成。新時代背景下教學理念以及方法與互聯(lián)網(wǎng)技術等的相互融合,可使教學質(zhì)量和效率得到提升,激發(fā)學生學習的動力,促進教育的良好發(fā)展。本文旨在通過使用微信小程序實現(xiàn)課堂上的點名過程,方便教師進行學生考勤結果的記錄和管理,減少教師浪費的時間,提高考勤效率,達到增加課堂效率的目的。

3需求分析3.1考勤系統(tǒng)介紹3.1.1系統(tǒng)概述本課題設計實現(xiàn)一個微信上的考勤系統(tǒng)小程序,通過此程序可以實現(xiàn)課堂考勤和記錄信息的查看。初次登錄時,學生需要綁定自己的學號、姓名班級,教師賬號需要進行注冊,之后微信賬號自動登錄。在課程考勤表管理部分中,教師可添加相應課程的考勤表并進行編輯;點名時,教師選擇課程考勤表與簽到時間,生成簽到鏈接。學生通過鏈接進入簽到界面,在滿足定位條件的情況下通過人臉識別進行簽到;最后實現(xiàn)對考勤記錄的查看。學生可以瀏覽參與課程的出勤記錄,教師可瀏覽自己所發(fā)布的考勤記錄。3.1.2系統(tǒng)的業(yè)務流程點名系統(tǒng)小程序主要包括:用戶信息綁定,課堂考勤管理,簽到點名和考勤記錄瀏覽。如圖3.1為系統(tǒng)流程圖。圖3.1系統(tǒng)流程圖初次登錄時,學生需要綁定自己的學號姓名、班級,教師賬號需要進行注冊,之后微信賬號自動登錄;學生通過點擊教師推送的鏈接進行簽到界面,在滿足定位信息和人臉識別的情況下成功簽到,在小程序首頁瀏覽自己所在課程的簽到狀況,可以在個人中心修改自己的相關信息并上傳照片。教師能夠修改自己的簽到設置,用于保證簽到的準確性。發(fā)布簽到時,通過選擇相應課程,定位教師位置,設置簽到的截止時間后推送鏈接給學生。在簽到結束后,能夠對每個學生的簽到狀況進行修改。教師在簽到記錄頁面中選擇目標課程后,顯示相應課程缺勤的學生與缺勤次數(shù),同時可瀏覽該課程最近三次的出勤情況。學生與教師均可在個人中心進行身份切換。 3.2系統(tǒng)參與者該系統(tǒng)主要是用于各類高校間,教師記錄學生的出勤狀況。所以系統(tǒng)的主要參與者分別為老師和學生。3.2.1教職工用戶教師是考勤過程的主要管理者。在簽到時,能夠發(fā)布簽到連接;在簽到結束后,教師還能夠查看各位學生到課情況。3.2.2學生用戶學生作為簽到過程中的主要簽到人員,首先需要注冊個人信息,把個人信息儲存在系統(tǒng)中,方可進行簽到,可以在考勤管理系統(tǒng)上查看自己的出勤記錄。學生用戶的主要功能包括簽到、查看課程信息、查看考勤。3.3系統(tǒng)功能3.3.1學生用戶功能學生用戶主要有以下操作:登陸、注冊、修改個人信息、簽到、查看簽到記錄。如圖3.2為學生用戶功能圖。圖3.2學生用戶功能圖

3.3.2注冊功能學生進行注冊操作,需要依次填寫姓名、班級學號等信息,在完成基礎信息填寫之后,還需提交臉部圖像信息,以完成注冊。注冊完成后的個人信息,會根據(jù)微信號進行一對一保存。當再次進入該微信小程序后,只需要進行登陸操作,無需再次注冊。如圖3.2為學生注冊流程圖。圖3.2學生注冊流程3.3.3登錄功能學生進入小程序后,需要進行登陸操作,根據(jù)微信號獲取,在小程序數(shù)據(jù)庫內(nèi)的個人信息。如圖3.3為登陸功能圖。圖3.3登陸功能圖3.3.4修改個人信息功能從首頁進入修改頁面后,可以對個人信息進行修改,當修改完成后,系統(tǒng)會確認個人信息是否填寫正確,放可以點擊完成按鈕,完成修改操作。如圖3.4為學生修改個人信息功能圖。圖3.4學生修改個人信息功能圖3.3.5簽到功能學生簽到時,系統(tǒng)會判斷是否登陸、注冊,當已經(jīng)完成登陸、注冊時,則開始臉部識別,在線獲取臉部圖像,與數(shù)據(jù)庫內(nèi)的臉部特征進行對比,若匹對失敗,則再次進行圖像獲取。匹對成功后,完成簽到操作。如圖3.5為學生簽到功能圖。圖3.5學生簽到功能圖3.3.6查看簽到記錄功能點擊查看按鈕,系統(tǒng)將以列表的形式顯示本人的簽到記錄,完成簽到記錄的查看。3.4.1教職工功能教職工用戶功能主要有注冊、登錄、修改個人信息、開設簽到、查看簽到的操作。如圖3.6為教職工功能圖。圖3.6教職工功能圖3.4.2注冊功能教職工進行注冊操作,需要依次填寫姓名、工號等信息,完成注冊。如圖3.7為教職工注冊功能圖。圖3.7教職工注冊功能圖3.4.3登錄功能教職工登陸功能圖與學生登陸功能圖相同,詳細請看圖3.3登陸功能圖。3.4.4修改個人信息功能在首頁,進入修改頁面后,對個人信息完成修改,系統(tǒng)會確認個人信息是否填寫正確,點擊完成按鈕,完成修改操作。如圖3.8教職工修改個人信息功能圖。圖3.8教職工修改個人信息功能圖3.4.5開設簽到功能教職工點擊開設簽到按鈕,開始設置簽到信息,選擇簽到所需簽到的班級,設置簽到的時間限制,點擊開始簽到,完成簽到的開設。如圖3.9為教職工開設簽到功能圖。如圖3.9教職工開設簽到功能圖3.4.6查看簽到功能點擊查看按鈕,系統(tǒng)將以列表的形式顯示所有學生的簽到記錄,完成簽到記錄的查看。3.5數(shù)據(jù)需求用戶在初次進入點名小程序時,系統(tǒng)獲取用戶的微信賬號信息后,進行學號和姓名的綁定或者切換為教師身份進行賬號的綁定。用戶信息中包括用戶的身份類型、綁定賬號以及賬號信息,課程信息中包括課程與對應的教師數(shù)據(jù),簽到信息包含發(fā)布的簽到條目數(shù)據(jù)以及簽到結束后添加的記錄狀況和時間等數(shù)據(jù)。3.6功能需求學生和教師兩個角色擁有不同的操作,而用戶則可以在兩個角色間進行切換。學生在進行簽到時,由教師發(fā)布的鏈接進入學生簽到界面,并且在后臺通過地圖接口,獲取學生現(xiàn)實的地理位置,使之與發(fā)布簽到時的地理位置進行匹對,最后一步在臉部識別正確,確保是學生本人的情況下,完成簽到。系統(tǒng)不允許學生更改綁定在微信上的學號,以防止學生通過更改學號實現(xiàn)代簽。教師需要開設不同的班級,在對應的班級中發(fā)布簽到連接,在發(fā)布前需要設置簽到要求(位置、時間)。由于簽到過程中存在種種意外狀況,所以簽到后的記錄不直接添加在數(shù)據(jù)庫中,需要由教師進行確認。在發(fā)布簽到后,教師首頁會顯示進行中簽到與待確認的簽到以供選擇。

4系統(tǒng)的開發(fā)技術介紹4.1微信小程序介紹隨著信息時代的到來,移動手機成為人們生活的必需品,用戶的日常需求豐富了移動應用,觸及生活的方方面面。智能手機早已普及,而且微信也已經(jīng)成為裝機日用的必要軟件,深植于人們的生活習慣之中。在移動手機上的應用中,微信受眾廣泛,頻頻被人使用??紤]到大學生移動設備的高普及度和微信小程序的蓬勃發(fā)展,針對課堂中的常有的點名環(huán)節(jié),開發(fā)一個微信小程序不失為一個良好的辦法。相比于傳統(tǒng)的移動終端應用,開發(fā)者進行微信小程序開發(fā)時,會發(fā)現(xiàn)手機客戶端應用軟件開發(fā)與微信小程序開發(fā)是相類似的。甚至會覺得其開發(fā)系統(tǒng)的架構更為簡單、快捷,歸根結底還是由于使用了更加簡單明了的頁面代碼,讓開發(fā)者感覺小程序開發(fā)周期對比與正常的手機應用更短;與此同時,微信提供了必要的開發(fā)者工具以及完整的開發(fā)文檔,開發(fā)人員可以迅速上手微信小程序開發(fā)。微信小程序為開發(fā)者提供了網(wǎng)絡、媒體、位置、界面、動畫等諸多API,開放了大部分功能,開發(fā)門檻相對較低,使得開發(fā)人員有廣闊的空間來實現(xiàn)各種各樣的的功能。小程序被一個描述整個程序的?app?對象?和多個描述程序下不同頁面的?page所構成,小程序主體部分是app,整個小程序被小程序邏輯,小程序的公共設置,以及小程序公共樣式表,公共設置和公共樣式標所共同構成的。小程序每個頁面page由四個文件組成,分別為頁面邏輯.js、頁面結構.wxml、頁面樣式表.wxss和頁面配置.json。開發(fā)框架的邏輯層為.js文件的集合,邏輯層主要通過JavaScript編寫,邏輯層設置并處理頁面所顯示的數(shù)據(jù)后,傳遞給視圖層,同時接收視圖層的事件,觸發(fā)反饋并進行相應處理。WXML與WXSS構成視圖層,通過頁面的.js與.wxml間的數(shù)據(jù)綁定來實現(xiàn)邏輯層與視圖層的數(shù)據(jù)交互。本文中的點名模塊客戶端使用小程序的框架進行開發(fā)。官方小程序框架為開發(fā)者提供了一系列基礎組件,分別是以下八大類:視圖容器、基礎內(nèi)容、表單、導航、多媒體、地圖、畫布以及客服會話,同時為有需要的開發(fā)者提供如媒體、文件、數(shù)據(jù)緩存、位置、設備、第三方平臺、開放接口等多種多樣的API,諸多功能的便利的實現(xiàn)方式,從而使開發(fā)者能夠進行快速高效的開發(fā)。4.2前端4.2.1WXMLWXML(WeiXinMarkupLanguage)是微信小程序開發(fā)框架設計中的一套標簽語言,結合基礎組件、事件系統(tǒng),可以構建出頁面的結構,WXML類似HTML,其文件的后綴名為“.wxml”。對比HTML,WXML有以下擴展的特性,數(shù)據(jù)綁定,在.wxml文件中如果需要輸出某對象的信息,利用雙大括號{{text}}這樣的格式來進行信息的綁定,我們只需要在js文件的data屬性中加上text代表的數(shù)據(jù)。如圖4.1為數(shù)據(jù)綁定圖。圖4.1數(shù)據(jù)綁定圖列表渲染如圖4.2為列表渲染。圖4.2.列表渲染4.2.2WXSSWXSS(WeiXinStyleSheets)是一套樣式語言,用于描述WXML的組件樣式。與CSS相比WXSS擴展的特性有:尺寸單位以及樣式導入。尺寸單位:rpx(responsivepixel):固定的屏幕寬度,提高了小程序的兼容性,所有的手機屏幕一律規(guī)定寬度為750rpx,屏幕寬度會有小程序內(nèi)部進行自適應而調(diào)節(jié)。如表4.3為不同手機的手機尺寸單位換算表。表4.3不同手機的手機尺寸單位換算表設備rpx換算px(屏幕寬度/750)px換算rpx(750/屏幕寬度)iPhone51rpx=0.42px1px=2.34rpxiPhone61rpx=0.5px1px=2rpxiPhone6Plus1rpx=0.552px1px=1.81rpx樣式導入:當需要導入樣式表,只需使用導入語句@import,便可以在.wxss文件中使用導入的樣式。如圖4.4為樣式導入。圖4.4樣式導入全局樣式與局部樣式全局樣式需要把定義寫在app.wxss中,全局樣式可以作用于整個app的任何一個頁面。局部樣式是定義在單獨的page.wxss文件中,局部樣式的作用域只存在于當前的頁面,如果全局樣式和局部樣式發(fā)生沖突,局部樣式并會覆蓋全局樣式。4.2.3WXSWXS(WeiXinScript)是微信小程序的一套為了縮短傳統(tǒng)的編寫-編譯-鏈接-運行過程而創(chuàng)建的計算機編程語言,頁面結構主要由標簽語言與腳本語言構成。類似于封裝后的JS,WXS結合于WXML頁面。標簽為”<wxs></wxs>”。例如,圖4.5和圖4.6分別為代碼圖和結果圖。圖4.5代碼圖圖4.6結果圖4.2.4JSONJSON,是一種輕量級的數(shù)據(jù)交換格式。由于JSON是以key-value的形式來表達數(shù)據(jù),所以也表現(xiàn)出了JSON格式最大的優(yōu)點,便于人的閱讀和編寫;不需要通過特殊的開發(fā)工具,便可以輕易的看懂文件數(shù)據(jù)。由此微信小程序中的JSON,主要用于對項目的全局配置或者是單頁面的配置,后綴名為:“.json”。app.json文件保存了整個微信小程序的全局配置,可以通過修改全局配置中page數(shù)據(jù)來改變頁面文件的路徑、通過改變window數(shù)組來改變窗口表現(xiàn)方式、設置網(wǎng)絡超時時間則是由networkTimeout數(shù)組來決定的、如果想開發(fā)多個不同Tab頁面的小程序,則可以通過設置tabBar數(shù)組來完成。4.3后端4.3.1微信小程序云函數(shù)基于wx.cloud免鑒權機制,可以直接通過調(diào)用callFunction,來使用小程序開放接口的能力,包括調(diào)用login登陸函數(shù)、以及openapi所包含的開放數(shù)據(jù)等。4.4服務器與數(shù)據(jù)庫4.4.1微信小程序云函數(shù)微信給開發(fā)者提供一個云服務器,開發(fā)者能夠輕易的往云服務上推送自己編寫的云函數(shù),無需將函數(shù)代碼寫在程序中,達到減少使用繁雜的后臺操作和企業(yè)用戶高額的維護成本的概念。開發(fā)者無需自行搭建服務器。在云端運行的代碼,微信私有安全通信協(xié)議,開發(fā)者只需實現(xiàn)業(yè)務邏輯。將代碼上傳至云函數(shù)服務器中,完成部署后,便開始獨立運行,極大地加快了開發(fā)者獨立開發(fā)的速度。4.4.2微信小程序數(shù)據(jù)庫微信小程序數(shù)據(jù)庫為云數(shù)據(jù)庫,云數(shù)據(jù)庫有輕松部署,高可靠性以及低成本的優(yōu)勢。對于開發(fā)者而言,開發(fā)者無需進行數(shù)據(jù)庫的搭建,可以直接通過Http請求的方式直接連接數(shù)據(jù)庫。微信小程序的數(shù)據(jù)類型是JSON。

5系統(tǒng)的設計與實現(xiàn)5.1前端前端是使用wxui官方樣式框架,配合wxml+wxss+wxs實現(xiàn)。5.1.1wxui框架導入在工程目錄下,導入wxui.wxss文件,點解npm構建,完成架構的導入。選擇需要使用的樣式,在需要使用該樣式的page頁面中,加入配置。如圖5.1為weui-miniprogram配置圖。圖5.1weui-miniprogram配置圖5.2后端5.2.1登陸通過調(diào)用登陸接口wx.login,在返回值res中code,code是登陸憑證。通過憑證進而換取userInfo用戶信息,userInfo包含著用戶昵稱,用戶的頭像照片Url以及用戶性別等,openid是一個用戶在同一個微信小程序下的唯一id,openid同樣可以從userInfo中獲取。如圖5.2為登陸代碼圖。圖5.2登陸代碼圖5.3數(shù)據(jù)結構設計5.3.1邏輯結構設計點名小程序設計了用戶,學生,教師,簽到四個實體。用戶具有用戶信息和角色類型的屬性,教師的屬性有教師賬號、教師密碼,學生具有學號,姓名,照片的屬性,簽到有課程ID、學生id、截止時間等的屬性。5.3.2E-R模型圖轉化為關系模型如圖5.3為E-R模型圖轉化為關系模型圖。圖5.3E-R模型圖轉化為關系模型圖5.3.3關系模式規(guī)范化在設計數(shù)據(jù)庫關系模式的過程中,每個表滿足第一范式的要求,數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。滿足第一范式的要求后,數(shù)據(jù)庫表中的每個實例或行必須可以被唯一地區(qū),因此滿足第二范式。數(shù)據(jù)庫表中每一個非主屬性都不傳遞依賴于某一個候選碼,滿足第三范式[5]。5.3.4關系描述點名小程序的邏輯結構通過繪制E-R圖,轉化為關系模式并規(guī)范化后,最終設計了用戶,學生,教師,簽到四個表,作為實現(xiàn)各種功能的基礎。用戶屬性為openid,角色類型,姓名,學號,工號;學生屬性為學號,openid,臉部特征;教師屬性為工號,openid賬號,密碼;簽到表屬性為學生id,課程id,簽到記錄,簽到定位,簽到截止時間,簽到累計;。如下表5.4為用戶表,表5.5為學生表,標5.6為教師表,圖5.7為簽到表。

表5.4用戶表類型是否必須是否唯一openidint(20)是是isStudentBool是是NameChar(20)是否Studentidint(20)否是Staffidint(20)是是表5.5學生表類型是否必須是否唯一Studentidint(20)是是openidChar(20)是是FacialfeatureString否是

表5.6教師表類型是否必須是否唯一Staffidint(20)是是OpenidChar(20)是是accountChar(20)否是PasswordChar(20)否否表5.7簽到表類型是否必須是否唯一Studentidint(20)是是NameChar(20)是否ClassChar(20)是否isCheckedbool是否Checkin_timeTime是否Checkin_counterint(20)否否DeadlineTime是否Setting_locationlocation是否

6運行結果考勤簽到小程序設計完成后,對其各功能進行運行測試,結果如下。6.1未授權頁面打開小程序,進入首頁,未進行微信授權,如圖6.1為未登錄界面。圖6.1未登錄界面6.2登陸頁面通過授權后,已獲得當前微信的openid點擊登陸按鈕,進行登陸。登陸過程中,系統(tǒng)會根絕openid查找用戶信息。如圖6.2為登錄界面。圖6.2已登錄界面6.3注冊如圖6.3和圖6.4分別注冊界面。圖6.3教職工注冊 圖6.4學生注冊6.4已登陸注冊成功后,點擊登陸按鈕,即可完成登陸操作。如圖6.5和圖6.6分別為教職工和學生的已登陸界面。圖6.5教職工界面 圖6.6學生界面6.4教職工發(fā)布簽到開始發(fā)布簽到,需要選擇簽到班級,簽到開始時間以及簽到結束時間。如圖6.7為教師開設簽到。圖6.7教師開設簽到6.5學生開始簽到當學生點擊鏈接,進入簽到頁面后,需要現(xiàn)場拍攝如圖6.8為學生簽到頁面圖6.8學生簽到頁面

6.6個人首頁頁面如圖6.9和圖6.10分別為教師個人頁面和學生個人頁面。圖6.9教師個人頁面 圖6.10學生個人頁面

7總結與展望7.1本文總結本文主要內(nèi)容是關于一個微信平臺上考勤簽到系統(tǒng)小程序的設計與實現(xiàn)。微信小程序因其功能豐富,體積小等特點大受歡迎,基于微信的人臉識別考勤簽到設計旨在通過使用微信實現(xiàn)課堂上的點名過程,進行考勤結果的記錄和整理,從而減輕教師負擔,提高考勤效率。小程序的數(shù)據(jù)需求包括用戶信息,課程與對應的教師數(shù)據(jù),以及每個課程的名冊數(shù)據(jù),簽到條目數(shù)據(jù)以及簽到記錄狀況等數(shù)據(jù)。功能需求上,點名小程序對于學生和教師兩個角色提供不同的服務,教師發(fā)布簽到,瀏覽簽到記錄。學生在進行簽到時,通過點擊教師分享的鏈接進行簽到界面,通過騰訊地圖接口實現(xiàn)定位距離與發(fā)布簽到時位置的檢測,并在臉部特征識別正確的情況下成功簽到。文章最后介紹了點名系統(tǒng)中用戶信息管理,課程考勤表管理,簽到點名,記錄瀏覽四個模塊的詳細設計與實現(xiàn)以及關鍵代碼。7.2后續(xù)工作展望本文的微信點名系統(tǒng)小程序,雖然實現(xiàn)了學生簽到時對位置的限制和口令的使用,但仍然無法杜絕代簽現(xiàn)象。同時,教師需要手動設置簽到時間,耗費一定的時間和精力,對使用帶來不便,簽到記錄的查看不夠靈活,這些問題就是未來需要繼續(xù)完善的地方。針對上述缺陷,未來工作就是將生物特征識別技術與簽到時的條件檢測相結合,進一步阻攔代簽行為,對于添加課程與名冊的功能,可以嘗試實現(xiàn)與教務系統(tǒng)相連接自動代替教師發(fā)布簽到,補充簽到記錄的查詢功能使其使用方式更加靈活,記錄信息顯示更加詳細。

參考文獻[1]/lfw/[2]王崇善.基于深度學習的圖像特征提取[D].[3]岳亞.基于深度相機人臉與行人感知系統(tǒng)的設計與實現(xiàn)[D].2017.[4]方仁富.基于微信的移動智慧校園建設方案探討[J].科技視界,2015,000(031):208-208.[5]張鵬.基于機器視覺的路產(chǎn)設施三維信息采集與處理技術研究[D].長安大學.[6]JackieLee.從0開始搭建微信小程序(前后端)的全過程[J/OL].微信小程序/jackieleewelas/article/details/89303306,2019-04-14[7]JavaMrSun.微信公眾號開發(fā)之獲取oppenid和用戶基本信息[J/OL].微信小程序/Java_Mrsun/article/details/80827407,2018-06-27[8]戴麗麗,朱妤.基于微信小程序的課堂考勤管理系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術,2018,014(019):55-57.[9]LuC,TangX.SurpassingHuman-LevelFaceVerificationPerformanceonLFWwithGaussianFace[J].Computerence,2014.[10]TataSutabri,PamungkurPamungkur,AdeKurniawan,RaymondErzSaragih,AutomaticAttendanceSystemforUniversityStudentUsingFaceRecognitionBasedonDeepLearning[J],October2019[11]岳亞.基于深度相機人臉與行人感知系統(tǒng)的設計與實現(xiàn)[D].2017.[12]DragonDean.微信小程序開發(fā):http請求,[J/OL].http請求,/dragondean/p/5921088.html,2016-09-29[13]荊洲,權偉,唐杰,等.基于人臉識別的智能課堂點名系統(tǒng)[J].軟件工程,2017,020(005):P.43-46,42.[14]儲久良.Web前端開發(fā)技術——HTML、CSS、JavaScript[M].北京:清華大學出版社,2013:34-46,70.

致謝經(jīng)過幾個月的多次修改,今天終于在今天能將完整的作品展現(xiàn)出來給大家。在畢業(yè)設計期間我遇到了很多問題,非常感謝我的指導老師和同學們,在百忙之中幫助我解決遇到的技術難題,正是老師和同學們的幫助使我順利完成畢業(yè)設計,即將畢業(yè)感慨萬分,感謝學校這幾年的辛勤培育,使我不僅在學習上取得了巨大的進步還學到了很多生活中的知識,最后感謝該畢業(yè)設計所涉及的學者和他們的研究文獻。

HYPERLINK電腦快捷知識大全編輯本段一、常見用法F1顯示當前程序或者windows的幫助內(nèi)容。F2當你選中一個文件的話,這意味著“重命名”F3當你在桌面上的時候是打開“查找:所有文件”對話框F10或ALT激活當前程序的菜單欄windows鍵或CTRL+ESC打開開始菜單CTRL+ALT+DELETE在win9x中打開關閉程序對話框DELETE刪除被選擇的選擇項目,如果是文件,將被放入回收站SHIFT+DELETE刪除被選擇的選擇項目,如果是文件,將被直接刪除而不是放入回收站CTRL+N新建一個新的文件CTRL+O打開“打開文件”對話框CTRL+P打開“打印”對話框CTRL+S保存當前操作的文件CTRL+X剪切被選擇的項目到剪貼板CTRL+INSERT或CTRL+C復制被選擇的項目到剪貼板SHIFT+INSERT或CTRL+V粘貼剪貼板中的內(nèi)容到當前位置ALT+BACKSPACE或CTRL+Z撤銷上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤銷的操作Windows鍵+L鎖屏鍵Windows鍵+M最小化所有被打開的窗口。Windows鍵+SHIFT+M重新將恢復上一項操作前窗口的大小和位置Windows鍵+E打開資源管理器Windows鍵+F打開“查找:所有文件”對話框Windows鍵+R打開“運行”對話框Windows鍵+BREAK打開“系統(tǒng)屬性”對話框Windows鍵+CTRL+F打開“查找:計算機”對話框SHIFT+F10或鼠標右擊打開當前活動項目的快捷菜單SHIFT在放入CD的時候按下不放,可以跳過自動播放CD。在打開word的時候按下不放,可以跳過自啟動的宏ALT+F4關閉當前應用程序ALT+SPACEBAR打開程序最左上角的菜單ALT+TAB切換當前程序ALT+ESC切換當前程序ALT+ENTER將windows下運行的MSDOS窗口在窗口和全屏幕狀態(tài)間切換PRINTSCREEN將當前屏幕以圖象方式拷貝到剪貼板ALT+PRINTSCREEN將當前活動程序窗口以圖象方式拷貝到剪貼板CTRL+F4關閉當前應用程序中的當前文本(如word中)CTRL+F6切換到當前應用程序中的下一個文本(加shift可以跳到前一個窗口)在IE中:ALT+RIGHTARROW顯示前一頁(前進鍵)ALT+LEFTARROW顯示后一頁(后退鍵)CTRL+TAB在頁面上的各框架中切換(加shift反向)F5刷新CTRL+F5強行刷新目的快捷鍵激活程序中的菜單欄F10執(zhí)行菜單上相應的命令ALT+菜單上帶下劃線的字母關閉多文檔界面程序中的當前窗口CTRL+F4關閉當前窗口或退出程序ALT+F4復制CTRL+C剪切CTRL+X刪除DELETE顯示所選對話框項目的幫助F1顯示當前窗口的系統(tǒng)菜單ALT+空格鍵顯示所選項目的快捷菜單SHIFT+F10顯示“開始”菜單CTRL+ESC顯示多文檔界面程序的系統(tǒng)菜單ALT+連字號(-)粘貼CTRL+V切換到上次使用的窗口或者按住ALT然后重復按TAB,切換到另一個窗口ALT+TAB撤消CTRL+Z編輯本段二、使用“Windows資源管理器”的快捷鍵目的快捷鍵如果當前選擇展開了,要折疊或者選擇父文件夾左箭頭折疊所選的文件夾NUMLOCK+負號(-)如果當前選擇折疊了,要展開或者選擇第一個子文件夾右箭頭展開當前選擇下的所有文件夾NUMLOCK+*展開所選的文件夾NUMLOCK+加號(+)在左右窗格間切換F6編輯本段三、使用WINDOWS鍵可以使用Microsoft自然鍵盤或含有Windows徽標鍵的其他任何兼容鍵盤的以下快捷鍵。目的快捷鍵在任務欄上的按鈕間循環(huán)WINDOWS+TAB顯示“查找:所有文件”WINDOWS+F顯示“查找:計算機”CTRL+WINDOWS+F顯示“幫助”WINDOWS+F1顯示“運行”命令WINDOWS+R顯示“開始”菜單WINDOWS顯示“系統(tǒng)屬性”對話框WINDOWS+BREAK顯示“Windows資源管理器”WINDOWS+E最小化或還原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M編輯本段四、“我的電腦”和“資源管理器”的快捷鍵目的快捷鍵關閉所選文件夾及其所有父文件夾按住SHIFT鍵再單擊“關閉按鈕(僅適用于“我的電腦”)向后移動到上一個視圖ALT+左箭頭向前移動到上一個視圖ALT+右箭頭查看上一級文件夾BACKSPACE編輯本段五、使用對話框中的快捷鍵目的快捷鍵取消當前任務ESC如果當前控件是個按鈕,要單擊該按鈕或者如果當前控件是個復選框,要選擇或清除該復選框或者如果當前控件是個選項按鈕,要單擊該選項空格鍵單擊相應的命令ALT+帶下劃線的字母單擊所選按鈕ENTER在選項上向后移動SHIFT+TAB在選項卡上向后移動CTRL+SHIFT+TAB在選項上向前移動TAB在選項卡上向前移動CTRL+TAB如果在“另存為”或“打開”對話框中選擇了某文件夾,要打開上一級文件夾BACKSPACE在“另存為”或“打開”對話框中打開“保存到”或“查閱”F4刷新“另存為”或“打開”對話框F5編輯本段六、桌面、我的電腦和“資源管理器”快捷鍵選擇項目時,可以使用以下快捷鍵。目的快捷鍵插入光盤時不用“自動播放”功能按住SHIFT插入CD-ROM復制文件按住CTRL拖動文件創(chuàng)建快捷方式按住CTRL+SHIFT拖動文件立即刪除某項目而不將其放入SHIFT+DELETE“回收站”顯示“查找:所有文件”F3顯示項目的快捷菜單APPLICATION鍵刷新窗口的內(nèi)容F5重命名項目F2選擇所有項目CTRL+A查看項目的屬性ALT+ENTER或ALT+雙擊可將APPLICATION鍵用于Microsoft自然鍵盤或含有APPLICATION鍵的其他兼容鍵編輯本段七、Microsoft放大程序的快捷鍵這里運用Windows徽標鍵和其他鍵的組合??旖萱I目的Windows徽標+PRINTSCREEN將屏幕復制到剪貼板(包括鼠標光標)Windows徽標+SCROLLLOCK將屏幕復制到剪貼板(不包括鼠標光標)Windows徽標+PAGEUP切換反色。Windows徽標+PAGEDOWN切換跟隨鼠標光標Windows徽標+向上箭頭增加放大率Windows徽標+向下箭頭減小放大率編輯本段八、使用輔助選項快捷鍵目的快捷鍵切換篩選鍵開關右SHIFT八秒切換高對比度開關左ALT+左SHIFT+PRINTSCREEN切換鼠標鍵開關左ALT+左SHIFT+NUMLOCK切換粘滯鍵開關SHIFT鍵五次切換切換鍵開關NUMLOCK五秒QQ快捷鍵,玩QQ更方便Alt+S快速回復Alt+C關閉當前窗口Alt+H打開聊天記錄Alt+T更改消息模式Ait+J打開聊天紀錄Ctrl+A全選當前對話框里的內(nèi)容Ctrl+FQQ里直接顯示字體設置工具條Ctrl+J輸入框里回車(跟回車一個效果)Ctrl+M輸入框里回車(跟回車一個效果)Ctrl+L對輸入框里當前行的文字左對齊Ctrl+R對輸入框里當前行的文字右對齊Ctrl+E對輸入框里當前行的文字居中Ctrl+V在qq對話框里實行粘貼Ctrl+Z清空/恢復輸入框里的文字Ctrl+回車快速回復這個可能是聊QQ時最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷鍵F5刷新DELETE刪除TAB改變焦點CTRL+C復制CTRL+X剪切CTRL+V粘貼CTRL+A全選CTRL+Z撤銷CTRL+S保存ALT+F4關閉CTRL+Y恢復ALT+TAB切換CTRL+F5強制刷新CTRL+W關閉CTRL+F查找SHIFT+DELETE永久刪除CTRL+ALT+DEL任務管理SHIFT+TAB-反向切換CTRL+空格--中英文輸入切換CTRL+Shift輸入法切換CTRL+ESC--開始菜單CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截圖工具CTRL+ENTERQQ發(fā)消息Alt+1保存當前表單Alt+2保存為通用表單Alt+A展開收藏夾列表資源管理器END顯示當前窗口的底端HOME顯示當前窗口的頂端NUMLOCK+數(shù)字鍵盤的減號(-)折疊所選的文件夾NUMLOCK+數(shù)字鍵盤的加號(+)顯示所選文件夾的內(nèi)容NUMLOCK+數(shù)字鍵盤的星號(*)顯示所選文件夾的所有子文件夾向左鍵當前所選項處于展開狀態(tài)時折疊該項,或選定其父文件夾向右鍵當前所選項處于折疊狀態(tài)時展開該項,或選定第一個子文件夾自然鍵盤【窗口】顯示或隱藏“開始”菜單【窗口】+F1幫助【窗口】+D顯示桌面【窗口】+R打開“運行”【窗口】+E打開“我的電腦”【窗口】+F搜索文件或文件夾【窗口】+U打開“工具管理器”【窗口】+BREAK顯示“系統(tǒng)屬性”【窗口】+TAB在打開的項目之間切換輔助功能按右邊的SHIFT鍵八秒鐘切換篩選鍵的開和關按SHIFT五次切換粘滯鍵的開和關按NUMLOCK五秒鐘切換切換鍵的開和關左邊的ALT+左邊的SHIFT+NUMLOCK切換鼠標鍵的開和關左邊的ALT+左邊的SHIFT+PRINTSCREEN切換高對比度的開和關運行按“開始”-“運行”,或按WIN鍵+R,在『運行』窗口中輸入:(按英文字符順序排列)%temp%打開臨時文件夾.C:\DocumentsandSettings\用戶名所在文件夾..C:\DocumentsandSettings...我的電腦\C盤appwize.cpl添加、刪除程序access.cpl輔助功能選項Accwiz輔助功能向導cmdCMD命令提示符commandCMD命令提示符chkdsk

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論