?

基于深度學習的高??记谙到y設計與實現

2018-12-07 05:23劉田田
海峽科技與產業 2018年9期
關鍵詞:考勤人臉神經網絡

劉田田

江蘇開放大學信息與機電工程學院, 江蘇 南京 210017

隨著互聯網技術的快速發展,智慧課堂在教學管理中得到廣泛的應用。一些高校實現了智能的考勤管理系統,如指紋打卡考勤系統、IC卡考勤系統、基于Android的簽到系統以及人臉識別考勤機等。而目前使用的打卡機主要是通過對人體某些特質(指紋、人臉部、虹膜)的識別進行考勤,需要購買相應的機器,并且需要長期的維護,簽到成本較高。

而基于大數據和云計算的快速發展,大樣本集數據深度學習挖掘成為可能。在此背景下,本文設計了基于深度學習的高??记谙到y,依據大樣本進行訓練測試,以學生證件照片建立班級數據庫,任課教師只需一個圖像采集工具攝像頭,實時采集課堂學生圖像,或者使用手機拍攝一張學生集體照,上傳系統,即可完成考勤。

1 高??记诠ぷ鳜F狀

當前我國很多高??记诠ぷ髦饕憩F出以下幾個方面的特點。

1.1處理辦法不同

現階段我國很多高校在考勤上主要是采用原始的點名方法或者是借助計算機軟件和網絡來實現點名與考勤的目標。

1.2面向對象有別

一部分考勤工作的主要對象群體是學生;而另一部分考勤工作主要考查的對象是高校教職工。

1.3采用方式不同

現階段高?,F有的考勤系統主要采用的操作方式主要有以下幾個類型。

1.3.1 手工簽錄

采用此種考勤方式其實和最原始的點名考勤在效率上并沒有太大的改進,只是對于后期數據統計分析上提供了一定程度的便利。

1.3.2 專用設備考勤

此種考勤方式需要為絕大多數的考勤目標都配置身份信息標識,只有這樣才能夠為所有可能的使用者配備讀取設備,還要為之配套相關的軟硬件以及網絡環境。如果采用這種大規模的系統替換方式只是為了考勤就有可能出現得不償失的結果。

1.4需求分析

1.4.1 用戶角色分析

在高校中使用考勤系統的主要有四個角色。第一是教師;第二角色就是學生;第三是學校內職能部門;第四角色是系統管理員。

1.4.2 應用場景分析

高校中考勤系統的應用場景主要有以下幾個方面:

一是學生課堂與考試考勤。此場景中,系統要在限定的較短時間內完成對本堂課或本堂考試學生身份驗證和考勤。二是學生活動考勤。此場景中,系統要在限定的時間內完成對參加本次活動學生身份驗證和考勤。三是教職工日??记?。此場景中,考勤系統要能準確的記錄教職工日常工作考勤。四是教職工會議與活動考勤。此場景中,系統要能在限定的較短時間內完成對參加本次會議或者活動的教職工身份驗證和考勤。

1.5 考勤方式

目前考勤系統存在的三種考勤方式中投入最少、見效最快的是文中提到的第三種通用深度學習的智能平臺配合專用軟件來實現。采用此方式關鍵是通用深度學習的智能平臺軟件的設計。

2 深度學習策略

深度學習是機器學習研究中的一個新技術,動機在于模擬人腦進行分析學習的神經網絡,是相對簡單學習而言的。深度學習的概念由Hinton等人于2006年在頂級期刊Science上的一篇論文中提出[1],是神經網絡之后的又一突破。

從感知機誕生到神經網絡的發展,再到深度學習的萌芽,機器學習的發展并非一帆風順。20世紀80年代末期,用于人工神經網絡的反向傳播算法(BP算法)的發明給機器學習帶來了希望,掀起了基于統計模型的機器學習熱潮。通過BP算法,人們可以訓練一個人工神經網絡模型,獲得統計規律,從而對未知事件做預測。此時的人工神經網絡雖也被稱作多層感知機(Multi-layer Perceptron),但實際只含有一層隱層節點。20世紀90年代,支撐向量機 (SVM,Support Vector Machines)、Boosting、最大熵方法(如LR,Logistic Regression)相繼被提出。這些模型的結構基本上可以看成帶有一層隱層節點(如SVM、Boosting),或沒有隱層節點(如LR)。這些模型無論是在理論分析還是應用中都獲得了巨大的成功。相比之下,由于理論分析的難度大,訓練方法又需要很多經驗和技巧,這個時期淺層人工神經網絡反而相對沉寂。至2006年,加拿大多倫多大學教授Geoffrey Hinton的文章提出深度學習概念。這篇文章有兩個主要觀點:一是多隱層的人工神經網絡具有優異的特征學習能力,學習得到的特征對數據有更本質的刻畫,從而有利于可視化或分類;二是深度神經網絡在訓練上的難度,可以通過“逐層初始化”(layer-wise pre-training)來解決,在這一文獻中,逐層初始化采用無監督學習方式。

隨后,Geoffrey Hinton提出深度置信網(Deep Belief Net:DBN)[2],其由一系列受限波爾茲曼機(Restricted Boltzmann Machine:RBM)[3]組成,提出非監督貪心逐層訓練(Layerwise Pre-Training)算法,應用效果才取得突破性進展,其與之后Ruslan Salakhutdinov提出的深度波爾茲曼機(Deep Boltzmann Machine:DBM)[4]重新點燃了人工智能領域對于神經網絡(Neural Network)和波爾茲曼機(Boltzmann Machine)[5]的熱情,才由此掀起了深度學習的浪潮。從目前的最新研究進展來看,只要數據足夠大、隱藏層足夠深,即便不加“Pre-Training”預處理,深度學習也可以取得很好的結果,反映了大數據和深度學習相輔相成的內在聯系。雖然非監督(如DBM方法)是深度學習的一個優勢,而帶監督的卷積神經網絡 (Convolutional Neural Network:CNN)[6]方法目前應用得越來越多,乃至正在超越非監督。

目前語音識別、圖像識別和自然語言處理是深度學習算法應用最廣泛的三個領域。2011年微軟推出的基于深度神經網絡的語音識別系統,將語音識別領域技術框架完成改變。卷積神經網絡和深度圣經網絡的提出,使得圖像識別領域的研究取得巨大進步,提高了圖像識別精度和在線運行效率。而在自然語言處理方面,相比于語音和圖像識別的成功,未來還有待深入研究。

3 考勤系統設計

利用深度學習進行人臉識別、圖像監控等取得了較大的進展。面部特征提取是指從人臉圖像中識別面部關鍵信息點,包括眉毛、眼睛、鼻子、嘴和下巴。例如目前流行的Viola-Jones人臉檢測框架[7],掃描檢測人臉,利用眼睛、嘴角等征點進行旋轉校正[8],并從校正后的臉部區域中,提取能夠反映表情變化的面部特征,包括嘴、眼睛、眉毛、鼻子等典型區域的位置與形狀[9],或臉部的全局/局部灰度特征[10]。

本文主要針對高校課堂考勤的需求,搭建一個基于學生面部圖像的數據庫,從人臉圖像中自動提取相應特征,并針對樣本的特點調整參數,識別人臉關鍵點,上傳待測試圖片,識別得出出勤結果。

3.1建立考勤對象數據庫

以學生標準證件照建立班級學生圖像數據庫,以兩位學號進行命名(可根據實際情況更改)。數據庫創立后,以此作為樣本集,進行面部特征的提取,為后續課堂考勤的依據。

基于當前高校傳統考勤方式存在的弊端和瓶頸,設計了一個基于大數據技術,以高校深度學習的考勤系統為基礎,著眼于實現高校教職工“一鍵考勤”的數據庫,這一數據的存在確保了考勤結果更加及時、準確,從而有效地解決了高校中傳統單一考勤手段所帶來的管理成本高、考勤效果差現象。另外,由于考勤結果與后臺考勤服務器保持實時同步,讓原有異地考勤信息采集難、報送難的問題得到了很好地解決。

高校深度學習的考勤系統,除了核心的考勤模塊外還能夠附加員工通訊錄的模塊,進一步提升了單位員工間溝通聯系的便捷性和及時性,從而讓高校的考勤工作可以真正脫離紙質電話簿和EX統計表,而是通過后臺服務器統一維護和確保單位員工考勤信息的正確性,大大節省了用戶花費在日常通訊錄維護上的時間。

高校深度學習的考勤系統,除了深度學習的考勤、通訊錄等功能模塊的設計和創新外,還引入了一個技術亮點,即為了防止員工利用深度學習考勤的“無人工干預性”,而出現的“替人考勤”情況,系統在員工登錄模塊的設計和實現上,除了普遍的“密碼校驗”外,還添加了“身份鑒權”的步驟,即通過將員工手機號與手機卡IMSI號綁定的方式確保所考勤即所人,從而在此基礎上確保了考勤結果的客觀性、真實性與有效性。

3.2面部特征提取

面部特征提取是指從人臉圖像中識別面部關鍵信息點,包括眉毛、眼睛、鼻子、嘴和下巴。首先是要進行圖像的預處理,從圖片中定位出所有的人臉。

在圖片中定位出人臉后,接下來是識別人臉的關鍵特征點,包括眼睛、鼻子、嘴和下巴。輸出像素點坐標,例如“2.jpg,62,941,211,333”,代表圖片中的一張臉,輸出的坐標表示這張臉的上、右、下、左像素點的坐標。如果一張臉識別出不止一個結果,那么意味著他和其他人長得像,針對亞洲人臉部特征,將容錯率(tolerance)這個參數設置為0.48(默認0.6),容錯率越低,識別越嚴格準確。

3.3考勤識別

將課堂拍攝的實時圖像導入系統,在跟數據庫中的數據圖像對比后反饋,得到考勤結果。

4 系統實現

4.1環境配置

本系統實現是在python3.3上完成,并導入face_recognition庫。

4.2建立班級圖像數據庫

代碼如下:

rootdir='D:\adas\面部識別素材\16軟件1班照片\'

str="this is string example....wow!!!this is really string"

tt=str.replace("is","was")

WSI_MASK_PATH='D:\sla\adas\面部識別素材\16軟件1班照片\'//存放圖片的文件夾路徑

wsi_mask_paths=glob.glob(os.path.join(WSI_MASK_PATH,'*.jpg'))

wsi_mask_paths.sort()

known_face_names=[]

known_face_encodings=[]

4.3課堂考勤實現

將課堂實時圖片導入,特征提取識別,輸出考勤結果。部分代碼如下:

frame=face_recognition.load_image_file("D:\adas\面部識別素材\IMG_5841.JPG")

small_frame=frame

rgb_small_frame=small_frame

if process_this_frame:

face_locations=face_recognition.face_locations(rgb_small_frame)

face_encodings= face_recognition.face_encodings(rgb_small_frame,face_locations)

face_names=[]

for face_encoding in face_encodings://判斷匹配與否

matches=face_recognition.compare_faces(known_fa ce_encodings,face_encoding,tolerance=0.48)

name="Unknown"

if True in matches:

first_match_index=matches.index(True)

name=known_face_names[first_match_index]

face_names.append(name)

process_this_frame=not process_this_frame

for(top,right,bottom,left),name in zip(face_locations,face_names)://上、右、下、左像素點坐標

cv2.rectangle(frame,(left,top),(right,bottom),(0,0,255),2)

cv2.rectangle(frame,(left,bottom-35),(right,bottom),(0,0,255),cv2.FILLED)

font=cv2.FONT_HERSHEY_DUPLEX

cv2.putText(frame,name,(left+6,bottom-6),font,1.0,(255,255,255),1)

cv2.imwrite('D:\222.png',frame)//考勤結果

4.4 考勤結果

實踐證明,基于深度學習的考勤系統在實時課堂考勤中表現出了良好的識別速率和極高的準確率,拍攝的圖片人臉不出現遮擋的情況下,均能夠對圖片進行人臉定位并識別,準確率高達95%。其中有1位同學在面部未遮擋的情況下,出現了人臉定位失敗的情況,這種情況需要在后續研究中進行改進研究。

5 結語

本文將班級學生圖像數據集作為特征提取樣本,通過改進訓練參數,實時采集課堂圖像進行考勤,實踐證明該系統具有極高的準確率?,F階段大數據技術在高??记谙到y中的應用已經成為了必然,這一技術的應用對于考勤系統的深度學習有著重要的價值,因此也是高??记谙到y未來革新的必然趨勢,因此我國許多高校計劃在建設智能考勤系統時增加更系統化的大數據分析技術,這一系統的數據可以與各種數據模型,學生的考勤出席數據、在線行為數據、手機定位數據、課程成績數據等相結合,為學生的學習情況進行一個全景式的描繪除此之外,對于教職員工而言,深度學習的考勤系統可以在各種數據模型中將教師的科研信息數據、工資收入數據等添加到系統數據中,讓校方對于教職員工的晉升和豁免以及對工作場所情況有著更為清晰的判斷,同時有效避免了考勤機、指紋機等考勤方式存在的代打卡、費用高的問題,減少了課堂考勤時間,提升了課堂效率,是高校課堂進行信息化教學的良好工具。

猜你喜歡
考勤人臉神經網絡
有特點的人臉
神經網絡抑制無線通信干擾探究
基于人臉識別技術的考勤應用研究
智能人臉識別考勤系統
三國漫——人臉解鎖
便攜式指紋考勤信息管理系統設計
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
基于支持向量機回歸和RBF神經網絡的PID整定
馬面部與人臉相似度驚人
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合