• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于CNN 的人臉識(shí)別課堂考勤系統(tǒng)

      2019-10-19 07:31:28王琴米丹周麗
      現(xiàn)代計(jì)算機(jī) 2019年25期
      關(guān)鍵詞:考勤人臉識(shí)別人臉

      王琴,米丹,周麗

      (四川大學(xué)錦城學(xué)院,成都611731)

      1 導(dǎo)論

      1.1 算法描述

      課堂是一個(gè)讓學(xué)生獲得知識(shí)、學(xué)習(xí)技能的場所,對每個(gè)學(xué)生的學(xué)習(xí)結(jié)果都起到了重要作用。但是在當(dāng)今的大學(xué)校園中教室流動(dòng)性較高,不同的課程所在的教室可能不同,因此學(xué)生沒有固定的教室和座位,并且不同的課程人數(shù)也有多有少,這就為部分學(xué)生的缺勤提供了機(jī)會(huì),為教師的教學(xué)帶來了影響。因此,一個(gè)良好有效的考勤系統(tǒng)是保證課堂秩序、教師教學(xué)質(zhì)量的關(guān)鍵。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展以及人工智能的再次興起,人臉識(shí)別技術(shù)也愈發(fā)完善,并且在公共安全、信息安全、金融等各個(gè)方面都有著廣泛的運(yùn)用,因此也隨之出現(xiàn)了基于人臉識(shí)別的考勤方式。

      1.2 實(shí)現(xiàn)代碼

      現(xiàn)有的考勤方式主要有人工考勤、磁卡考勤和指紋考勤,但是這三種考勤方式都不可避免的存在一些漏洞。人工考勤主要通過教師上課口頭點(diǎn)名或手動(dòng)簽到的方式,這種方式不僅效率低下,花費(fèi)時(shí)間,并且還存在代答到或代簽到的現(xiàn)象。磁卡考勤主要通過機(jī)器刷卡的方式來考勤,這種方式較人工考勤來說效率較高,但仍然存在代刷卡的情況,此外,磁卡容易丟失、消磁,這也為考勤帶來了不便。指紋考勤的主要原理是通過對比實(shí)時(shí)指紋與提前錄入數(shù)據(jù)庫中指紋的相似度來進(jìn)行考勤,相似度越高,就說明是同一個(gè)人的可能性越大。指紋考勤的方式效率較高并且不會(huì)存在代考勤的現(xiàn)象,但是對于指紋磨損或打卡方式不正確的情況則不能快捷準(zhǔn)確地識(shí)別。

      基于人臉識(shí)別的考勤不僅效率高,準(zhǔn)確度高,實(shí)時(shí)性強(qiáng),并且還能有效杜絕代考勤現(xiàn)象的發(fā)生,是一種較理想的考勤方式。因此隨著人工智能和人臉識(shí)別技術(shù)的發(fā)展和完善,基于人臉識(shí)別的考勤方式在不久的將來必會(huì)成為主流的考勤方式。

      2 CNN概述

      2.1 CNN簡介

      卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[1]是一種帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò),卷積結(jié)構(gòu)可以減少深層網(wǎng)絡(luò)占用的內(nèi)存量,也可以減少網(wǎng)絡(luò)的參數(shù)個(gè)數(shù),緩解模型的過擬合問題[2]。卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的代表算法之一,長期以來一直被廣泛運(yùn)用在各個(gè)方面,尤其是圖像識(shí)別、人臉識(shí)別方面。與DNN全連接神經(jīng)網(wǎng)絡(luò)相比,CNN 的輸入是一個(gè)圖像,通過參數(shù)共享、局部感受利用了圖像的局部信息通過卷積和池化提取圖像特征,使神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練的參數(shù)大大減少,但是卻并沒有降低準(zhǔn)確率。

      早期的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相對簡單,如經(jīng)典的LeNet-5 模型,主要應(yīng)用在手寫字符識(shí)別、圖像分類等一些相對單一的計(jì)算機(jī)視覺應(yīng)用領(lǐng)域中[3]。隨著研究的深入以及計(jì)算機(jī)性能的提升,使得復(fù)雜網(wǎng)絡(luò)模型的實(shí)現(xiàn)成為可能,由此提出了名為AlexNet 的CNN 網(wǎng)絡(luò)模型,并且在圖像識(shí)別等反面上取得了重大的突破。AlexNet 的網(wǎng)絡(luò)框架與LeNet-5 類似,但網(wǎng)絡(luò)層次、結(jié)構(gòu)更加復(fù)雜。除此之外,AlexNet 還采用了幾種新技術(shù):①成功使用采用ReLu 作為激活函數(shù),解決了傳統(tǒng)的Sigmoid 激活函數(shù)在深度網(wǎng)絡(luò)中的梯度彌散問題;②訓(xùn)練過程中采用dropout 隨機(jī)忽略一部分神經(jīng)元,以避免模型過度擬合,通過實(shí)踐證明了dropout 的效果[4]。VGGNet、GoogleNet 等模型也是CNN 中非常經(jīng)典的模型。

      2.2 CNN的結(jié)構(gòu)

      CNN 網(wǎng)絡(luò)的結(jié)構(gòu)主要有五層,分別為:輸入層、卷積層、池化層、全連接層和輸出層。其經(jīng)典模型如圖1所示。

      圖1 卷積神經(jīng)網(wǎng)絡(luò)

      (1)輸入層(Input layer)

      輸入層通常為一張圖像所含信息構(gòu)成的矩陣,如50×50×3(50×50 代表圖像的長、寬,3 代表圖像的通道數(shù),一般為R、G、B 三個(gè)通道),矩陣中的數(shù)據(jù)為圖像中每個(gè)像素點(diǎn)的值。

      (2)卷積層(Convolution layer)

      卷積層主要增加輸入圖片的深度,用于學(xué)習(xí)輸入數(shù)據(jù)的特征表示,將原始數(shù)據(jù)映射到隱藏層特征空間,并且通過Relu、Sigmoid、Tanh 等非線性激活函數(shù)實(shí)現(xiàn)去線性化。

      (3)池化層(Pooling layer)

      池化層主要作用是對卷積層得到的特征結(jié)果進(jìn)行壓縮,從而提取出更加重要的特征,并且通過減小矩陣的尺寸可以減少全連接的參數(shù)個(gè)數(shù),加快計(jì)算速度,同時(shí)還可以有效防止過擬合現(xiàn)象的產(chǎn)生,池化層最常用的方法為最大池化和平均池化。

      (4)全連接層(Full connected layer)

      全連接層與DNN 中的全連接層相似卻又不盡相同。CNN 中全連接層的主要目的是將經(jīng)過卷積和池化后的特征進(jìn)行整合,形成一層或多層全連接層,實(shí)現(xiàn)高階的推理能力。

      (5)輸出層(Output layer)

      輸出層通常在全連接層后,用于輸出網(wǎng)絡(luò)的分類結(jié)果。

      3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      3.1 系統(tǒng)設(shè)計(jì)

      在本系統(tǒng)中,主要采用OpenCV+CNN+MySQL 的方法來實(shí)現(xiàn)。首先通過OpenCV 實(shí)時(shí)獲取攝像頭進(jìn)行人臉的檢測與標(biāo)定,再通過構(gòu)建CNN 網(wǎng)絡(luò)進(jìn)行人臉識(shí)別,最后使用MySQL 對數(shù)據(jù)進(jìn)行管理,實(shí)現(xiàn)完整的考勤功能。

      3.2 采用工具

      (1)OpenCV

      OpenCV(Open Source Computer Vision Library,開源計(jì)算機(jī)視覺庫)是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,是在BSD 許可下發(fā)布的,因此它可以免費(fèi)用于學(xué)術(shù)和商業(yè)用途,使用戶可以輕松利用和修改代碼。它具有C++、Python 和Java 接口,支持Windows、Linux、Mac OS、iOS 和Android 平臺(tái)[5]。OpenCV 在圖像識(shí)別、人臉識(shí)別等方面上有重大的作用,因此被廣泛的運(yùn)用。

      (2)MySQL

      MySQL 是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,將數(shù)據(jù)保存在不同的表中,這樣就增加了速度并提高了靈活性[6]。而且MySQL 還為Python、C、C++、Java 等多種編程語言提供了接口,可以方便有效地管理、檢查數(shù)據(jù)。除MySQL外,在本系統(tǒng)中還采用了Navicat for MySQL 這個(gè)可視化數(shù)據(jù)庫管理工具對數(shù)據(jù)庫進(jìn)行管理,使用戶對數(shù)據(jù)的結(jié)構(gòu)、關(guān)系和內(nèi)容有更加清晰的認(rèn)識(shí)。

      4 系統(tǒng)實(shí)現(xiàn)

      系統(tǒng)主要分為兩個(gè)模塊,人臉識(shí)別(打卡)模塊和查看記錄模塊。系統(tǒng)界面和組織結(jié)構(gòu)分別如圖2所示。

      圖2 系統(tǒng)界面圖

      圖3 系統(tǒng)組織結(jié)構(gòu)圖

      4.1 人臉識(shí)別模塊

      (1)人臉檢測與標(biāo)定

      通過OpenCV 調(diào)用攝像頭,將視頻流實(shí)時(shí)顯示在屏幕界面上,進(jìn)行人臉檢測與人臉標(biāo)定,將檢測到的人臉在視頻流中框出來,再將檢測到的人臉通過OpenCV中resize 函數(shù)調(diào)整大小并截取送入構(gòu)建好的CNN 網(wǎng)絡(luò)中進(jìn)行識(shí)別。

      人臉識(shí)別部分通過CNN 網(wǎng)絡(luò)進(jìn)行實(shí)現(xiàn),構(gòu)建流程為:

      ①收集全班同學(xué)的照片,每人10 張,并且要求不同表情、不同姿態(tài),從而增加數(shù)據(jù)集的復(fù)雜度,使網(wǎng)絡(luò)更有可信度。

      ②對收集的圖片進(jìn)行預(yù)處理:

      1.對收集的圖片進(jìn)行處理,統(tǒng)一處理為:大小為60×60,RGB 三通道,jpg 格式的彩色圖片,并且按照XXX(姓名縮寫)_XX(00-09)的格式進(jìn)行重命名。

      2.根據(jù)所有人的類別給對應(yīng)的圖片打上類別標(biāo)簽,并將圖片信息和類別信息相互對

      應(yīng)。

      3.以7:2:1 的比例劃分訓(xùn)練集、測試集和驗(yàn)證集,并分別存儲(chǔ)在相應(yīng)文件夾中。

      宋萌枝的碩士論文《中國現(xiàn)代戲劇史上的薔薇花——袁昌英戲劇研究》[2],也論及弗洛伊德精神分析學(xué)說、女性主義和唯美主義對袁昌英戲劇創(chuàng)作的影響,此外,還涉及到袁昌英對于莎士比亞浪漫戲劇和現(xiàn)代主義藝術(shù)手法的借鑒。

      4.將圖片信息和標(biāo)簽信息轉(zhuǎn)化為numpy 庫中的array 矩陣格式,方便后續(xù)網(wǎng)絡(luò)的構(gòu)建。

      ③搭建CNN 網(wǎng)絡(luò)。

      本系統(tǒng)中CNN 網(wǎng)絡(luò)的結(jié)構(gòu)總體基于LeNet-5 模型,結(jié)合實(shí)際情況進(jìn)行了改進(jìn),主要為輸入層、3 層卷積層(激活函數(shù)為ReLU)、3 層最大池化層、3 層全連接層(激活函數(shù)為ReLU)、輸出層(激活函數(shù)為Softmax),并且采用了Dropout 防止過擬合。

      ④輸入訓(xùn)練集圖片數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過劃分小批次進(jìn)行訓(xùn)練使得網(wǎng)絡(luò)結(jié)果更加優(yōu)化,并且通過驗(yàn)證集、測試集數(shù)據(jù)進(jìn)行驗(yàn)證和測試,得出準(zhǔn)確率。

      ⑤通過修改不同參數(shù)(如:卷積核的大小、將最大池化改為平均池化等)、增加網(wǎng)絡(luò)復(fù)雜度、增加迭代次數(shù)等措施對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,最終使準(zhǔn)確率達(dá)到90%以上。

      ⑥將神經(jīng)網(wǎng)絡(luò)模型進(jìn)行保存,便于其他模塊的調(diào)用。

      ⑦將檢測到的人臉?biāo)腿胍驯4娴腃NN 網(wǎng)絡(luò)中進(jìn)行識(shí)別,得出識(shí)別結(jié)果。

      4.2 查看記錄模塊

      (1)數(shù)據(jù)庫創(chuàng)建

      通過Navicat for MySQL 可視化數(shù)據(jù)庫管理工具創(chuàng)建studentinfo 數(shù)據(jù)庫與student_information 數(shù)據(jù)表。數(shù)據(jù)表的結(jié)構(gòu)如圖4 所示。

      圖4 數(shù)據(jù)表結(jié)構(gòu)圖

      (2)數(shù)據(jù)庫寫入

      通過Python 中的pymysql 庫連接已創(chuàng)建好的數(shù)據(jù)庫,將識(shí)別到的人名與識(shí)別時(shí)間寫入數(shù)據(jù)庫中。

      圖5 數(shù)據(jù)庫寫入

      (3)數(shù)據(jù)庫導(dǎo)出

      連接并查詢數(shù)據(jù)庫中的信息,再通過Python 中的xlwt 庫創(chuàng)建一個(gè)Excel 表格,并將查詢到的結(jié)果寫入Excel 表格中。

      圖6 數(shù)據(jù)庫導(dǎo)出

      (4)數(shù)據(jù)顯示

      通過Tkinter 庫的Treeview 函數(shù)在顯示界面上創(chuàng)建一個(gè)表格,再通過Python 中的xlrd 庫讀取Excel 表格中的數(shù)據(jù),并顯示在界面上。

      圖7 查看記錄

      5 結(jié)語

      相比于人工考勤和磁卡考勤來說,人臉識(shí)別考勤前期需要的工作非常繁雜,需要提前采集學(xué)生的照片信息,并且對照片進(jìn)行統(tǒng)一格式的處理,再訓(xùn)練人臉識(shí)別的模型。但不可否認(rèn)的是,人臉識(shí)別的考勤方式不僅方便、效率高、準(zhǔn)確性高,而且極大程度上杜絕了代簽到的情況。因此,人臉識(shí)別的考勤方式未來必將成為一種主流的考勤方式,雖然人臉識(shí)別技術(shù)的發(fā)展已經(jīng)非??焖?,但人臉識(shí)別的考勤方式仍然存在許多待解決的問題。例如怎樣避免學(xué)生通過個(gè)人照片進(jìn)行識(shí)別打卡、怎樣降低光照、角度、遮蔽物這些因素對識(shí)別結(jié)果造成的影響,等等,這些都是現(xiàn)在亟待解決的問題。

      猜你喜歡
      考勤人臉識(shí)別人臉
      人臉識(shí)別 等
      有特點(diǎn)的人臉
      揭開人臉識(shí)別的神秘面紗
      基于人臉識(shí)別技術(shù)的考勤應(yīng)用研究
      電子制作(2019年12期)2019-07-16 08:45:28
      智能人臉識(shí)別考勤系統(tǒng)
      電子制作(2019年9期)2019-05-30 09:42:00
      三國漫——人臉解鎖
      便攜式指紋考勤信息管理系統(tǒng)設(shè)計(jì)
      基于類獨(dú)立核稀疏表示的魯棒人臉識(shí)別
      馬面部與人臉相似度驚人
      長得象人臉的十種動(dòng)物
      奇聞怪事(2014年5期)2014-05-13 21:43:01
      肥西县| 涞水县| 格尔木市| 杭锦后旗| 西峡县| 田东县| 东阳市| 交口县| 曲靖市| 左权县| 长治市| 阳曲县| 哈巴河县| 石河子市| 轮台县| 东乡| 元氏县| 织金县| 邻水| 商丘市| 扶风县| 米脂县| 嘉义县| 韩城市| 泰兴市| 花莲县| 大余县| 鄂托克前旗| 饶阳县| 浦城县| 甘孜县| 五大连池市| 双辽市| 邹平县| 彭泽县| 泾源县| 永福县| 磐石市| 乌海市| 柞水县| 修武县|