999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于圖像的課堂考勤系統開發

2019-03-27 11:40:38朱曉蒙符云琴
湖北農業科學 2019年3期
關鍵詞:人臉識別

朱曉蒙 符云琴

摘要:基于圖像的課堂考勤系統,即能節省時間又能提高學校管理的智能化。整個圖像課堂點名系統可分為五個功能模塊,訓練學生的人臉模型模塊、課堂圖像中的人臉檢測模塊和加載檢測到的圖像進行人臉識別模塊以及點名結果的數據顯示等功能。實現一個可以節省大量時間和使課堂點名更加快速和高效的系統,從而提高了教學質量和更加智能的進行學生的出勤記錄管理。

關鍵詞:人臉識別;OpenCV;特征臉;課堂考勤

中圖分類號:G484 文獻標識碼:A

文章編號:0439-8114(2019)03-0111-05

DOI:10.14088/j.cnki.issn0439-8114.2019.03.029 開放科學(資源服務)標識碼(OSID):

Abstract: Calling the roll used to be manual statistics, which is wasting time in class. The class attendance system based on image can not only save time but also improve the intelligence of school management. The whole image class roll-call system can be divided into five functional modules:training student's face model module, image model module which can detect class face, image of loading detection for face recognition module and the results of the data display and so on. A system can save a lot of time and make class attendance more rapid and efficient, so as to improve the teaching quality and manage student attendance record more intelligently.

Key words: face recognition;OpenCV;eigenfaces;class attendance

無論是在中小學課堂還是大學課堂上,點名是記錄考勤的一個重要環節,也是教學質量的一個重要參考指標。在傳統的課堂考勤中,需要對學生依次點名,而這樣的方式花費了大量的課堂時間以及增加了教師的工作量。為了讓課堂點名更加信息化和高效化,設計了基于圖像的課堂自動點名系統。

人臉識別技術一直都是一個非常熱門的研究。在國外有Affective,它起始于MIT的一個項目,運用深度學習的算法,不同的表情有不同的特征,通過攝像頭獲取面部動作并識別對象的面部動作,如微笑、挑眉、皺眉、憤怒、假笑等判斷人們的情緒。在國內有Face++,它可以自動檢測并定位圖片中的人臉,返回高精度的人臉框坐標,還有云從科技、Linkface等。

基于圖像的課堂點名系統采用了C/S模式,界面框架是Qt,數據庫使用的是SQLite,開源庫是OpenCV。該系統中主要是運用了OpenCV中的人面部檢測函數、人面部模型訓練函數、膚色檢測函數以及人面部識別函數。編碼語言采用的是C++。開發平臺是QT Create,它是一個跨系統的、完整的界面開發環境[1]。研究詳細地論述了基于圖像的課堂考勤系統的設計與開發過程。

1)操作人員分為管理員和教師,由管理員獲取學生的人臉數據,并將數據進行分類操作。

2)管理員建立學校的school.db數據庫,然后錄入學生和教師的基本信息。

3)進行本學校的學生人臉模型訓練,將已經分類好的數據進行模擬,得到一個.xml的模型文件并進行保存。

4)點名模塊:①選擇課程的基本信息(上課班級、課程名稱、上課日期)。②載入在課堂上拍攝的學生人臉圖像(最好是全部學生都是正臉)。③檢測圖像中出現的人臉并放到臨時文件中保存。④載入之前訓練好的人臉模型,再將緩存區中保存的人臉依次放到模型中去識別并保存識別結果。⑤將識別得到的預測值和圖像放在臨時堆棧中,到數據庫中提取出該班級的信息并結合預測值,將點名結果顯示出來。

1 相關理論技術介紹

1.1 基于QT平臺的應用程序開發

QT是一個非常靈活的跨系統的C++可視化圖形界面應用開發框架。它的特點是“一次編寫,到處編譯”。這樣的方式非常靈活,讓開發人員可以不受限于系統,在數據顯示方面還提供了<模型--視圖--委托>的機制來實現,是Linux系統下開發C++用戶界面應用程序非常好的選擇[2]。

1.2 數據庫技術

SQLite數據庫是一款開放源代碼的、非常小的、跨系統的內嵌式關系型數據庫,在程序中對SQLite的操作就像對相關的API操作一樣,它的代碼與所操作的應用程序代碼是共同存在的。服務器和客戶端都在一個進程中運行[3]。SQLite應用十分廣泛,是數據庫、編程庫、命令行工具,使用方式多樣:內嵌開發、操作系統服務、腳本和界面應用開發。它是普通的磁盤文件,所以非常便于操作、傳輸和備份。

1.3 OpenCV開源技術

OpenCV是一個跨系統和開放源代碼的機器視覺庫,可以在多個操作系統上面運行。同時提供了C++、Python、Ruby、Matlab、Java等語言的接口。OpenCV里面的成員方法有500個,遍布了機器視覺的許多方面,如食品加工、信息安全、醫學成像、攝像機標定、用戶界面、3D視覺等。其中提供的膚色檢測、檢測人臉和識別人臉算法也都非常成熟。本研究所用到的人臉檢測、人臉識別和人臉數據模型的訓練由OpenCV提供的相關接口實現[4]。

2 系統需求分析

2.1 系統可行性分析

2.1.1 需求可行性分析 圖像課堂考勤系統是一個可應用于學校的點名系統,管理人員和教師運用系統來輸入圖像實現自動點名功能,并對相關數據進行操作和管理。圖像課堂考勤系統節省了教師點名時間并采用計算機技術來實現點名功能,使課堂點名更加快速化、信息化及高效化。

2.1.2 技術可行性分析 基于圖像的課堂考勤是一個界面系統。使用Qt來做GUI設計,它具有功能強大和方便使用的模板類型,模型、視圖、委托功能,多種顯示圖像框架和自定義需要的顯示數據模型視圖。OpenCV提供了強大的對圖像中的像素進行處理函數的功能,主要有圖像中像素的灰度化、二值化及機器上的視覺算法。有特征臉模型訓練、Haar特征的人臉檢測、RGB的膚色檢測及人臉預測等算法。經過綜合分析,采用應用程序開發框架+OpenCV做圖像處理技術支持是具備可行性的。

2.1.3 操作可行性分析 系統的用戶界面具有簡潔、易操作等特點,可以讓管理人員和教師一看就知道如何去使用系統功能。在實現課堂點名功能時,載入模型和人臉檢測以及人臉識別的時間都不能過長,這樣會降低工作效率。

2.2 系統性能需求

系統性能需求有系統的安全性、互操作性,程序的可靠性、高效性,系統的可維護性、可擴展性以及可移植性等多個方面。基于圖像的課堂考勤系統是一個圖像處理系統,管理員或老師在使用系統過程中以實現對學生的課堂考勤進行智能化管理。其中最重要的性能是可靠性以及高效性,必須要保證檢測到全部的人臉以及沒有誤檢的基礎上去識別,還必須保證識別的結果是正確無誤的。高效性是要求載入模型時間必須要短,檢測人臉和進行人臉預測都不能超過一定的時間。所以系統必須要達到一定的可靠性和高效性,采用算法疊加進行檢測和識別可以提高系統的可靠性和高效性。

2.3 系統業務邏輯

系統業務邏輯見圖1所示。

3 系統總體設計

3.1 系統功能設計

整個圖像課堂考勤系統可分為四個功能模塊,學生人臉模型訓練模塊、檢測出課堂圖像中的學生人臉模塊和識別學生人臉模塊以及數據庫管理等功能。其中學生人臉模型訓練和識別學生人臉模塊是系統的核心功能。

3.1.1 學生人臉模型訓練模塊 OpenCV提供了三種訓練模型函數。①Eigenfaces特征臉createEigenFaceRecognizer();②Fisherfaces createFisherFaceRecognizer();③LPH局部二值直方圖createLBPHFaceReconizer()。

系統中的學生人臉模型訓練運用的是OpenCV提供的特征臉模型函數訓練。學生人臉模型訓練功能主要分為4個步驟。

1)獲取學生的人臉圖片或者是含人臉的圖片并進行分類處理,一般一個學生需要獲取多張不同的圖片,分類每位學生的人臉圖片然后以學號為文件夾名稱并放在文件夾中,以便后面生成csv.txt文本文件。每個文件夾中只包含該學生的圖像。

2)獲取僅為人臉的圖像數據:選擇保存人臉數據的文件夾,將上面已經分類處理的圖像文件一一導入模型進行人臉檢測,再將檢測到的人臉矩形數據尺寸縮放為90 mm×90 mm的圖像文件并保存到相應的文件夾內,最后將保存的.jpg的格式轉換為.pgm圖像格式。

3)把腳本文件放到人臉圖像文件的上一級目錄中,執行(./get_csv.sh)腳本文件生成csv.txt文件。該文件的每行都存儲一張圖像的路徑和標簽,用“;”號隔開,標簽指代的是個人的編號而非圖像的編號,如圖2所示。

4)開始訓練模型。先調用函數將csv.txt文件的內容讀入到vectorimage和vectorlabel中,然后載入OpenCV的createEigenFaceRecognizer()模型開始訓練。最后將模型保存到事先建立的文件夾中或數據庫中,結束訓練。

3.1.2 學生人臉檢測模塊 進行班級、課程及上課時間等基本信息的選擇。然后載入在課堂中拍攝的學生人臉圖像,此功能是檢測出圖像中含有的人臉數量和存在位置并將其勾畫出來。檢測出來的人臉數據存儲到臨時創建或已經建立好的文件夾中,再將文件夾中的圖像縮放到大小為90 mm×90 mm的圖像文件。因為如果在訓練時采用的是90 mm×90 mm的圖像,那么在預測函數中也只能預測90 mm×90 mm的圖像,否則會出錯[5]。

3.1.3 學生人臉識別模塊 人臉識別方法主要分為五類:基于傳統知識的方法、基于模式匹配的方法、基于幾何特征的方法、基于統計的方法及基于外觀的方法。

本研究采用的是類Haar特征和Adaboost算法實現人臉檢測。它是一種基于傳統知識的人臉檢測算法。學生人臉識別步驟為:①在完成了上一步的人臉檢測后,將已經檢測出來的圖像存儲在vectorimage數組中,接下來將image數組中的圖像一張張加載到人臉圖像模型中進行識別。加載已經訓練好的人臉模型到Ptrmodel中,將依次加載臨時文件夾中的人臉圖像進行預測,保存預測的結果。②打開數據庫,查找出上課的班級信息表,結合預測結果,在主界面中顯示識別的結果。顯示的頂頭信息有班級名稱、課程名、上課時間、班級人數和出勤人數。中心顯示的數據有學號、姓名、院系、專業、班級、是否到勤,學生圖像以及檢測到用于識別的圖像。管理員或老師對結果進行核對,修改后保存到本地文件中或保存到數據庫中。

系統采用的OpenCV提供的三個人臉識別方法中的第一個特征臉方法,它通過下面的方式進行識:①把載入的訓練數據投影到PCA子空間;②把vectorimage數組中的圖像一張張投影到PCA子空間;③尋找訓練數據投影到子空間后的向量和image投影到子空間后的向量最接近的那個[6]。

3.2 數據庫設計

本系統采用的數據庫設計見表1和表2。

4 系統功能實現

4.1 系統總體功能實現

整個圖像課堂考勤系統可分為四個功能,學生的人臉模型訓練功能、檢測學生人臉模塊功能和學生人臉預測功能以及數據庫管理等功能。登陸進入主界面后可選擇訓練模型功能或進行點名功能。總體功能流程見圖3。人臉模型訓練是實現人臉識別的第一步,也是最關鍵的一步,因為如果人臉模型訓練不好將會直接影響到人臉識別的結果。系統主界面見圖4。

4.2 人臉模型訓練功能

學生的人臉模型訓練是實現圖像點名的第一步,也是最關鍵的一步,因為如果人臉模型訓練不好將會直接影響到圖像點名的結果。功能流程見圖5。

4.3 人臉檢測功能

圖像點名功能由四個小模塊組成,具體為課堂圖像獲取及學生頭像檢測、圖像預處理、圖像中的重要特性的獲取以及預測模塊。

課堂圖像獲取:采用攝像頭或手機鏡頭將課堂開始時的學生圖像拍攝下來。

學生頭像檢測:學生的頭像檢測是人臉識別的基礎步驟,就是在圖像中用一個矩形框檢測圖像中存在的學生人臉的個數和保存矩形的像素,并將檢測到的人臉圖像轉換90 mm×90 mm大小。

人臉圖像預處理:在進行完學生頭像檢測之后就對矩形中的像素進行處理,因為檢測結果保存的是矩形的像素,并沒有將圖像提取出來,要進行提取圖像子圖和對子圖進行灰度轉換,直方圖均衡化以及圖像的歸一化處理等[7]。

人臉圖像特征提取:圖像中的重要特征獲取是運用了Haar-like特征的提取。

4.4 人臉預測功能

學生人臉預測算法是采用了OpenCV提供的Eigenfaces算法,它是一個主成分分析算法(PCA)。預測的過程就是將已經進行預處理的圖像投影到PCA子空間中,在與已經訓練好的模型中的子空間進行相似度比較,相似度最大的視為識別的結果[8]。點名功能流程見圖6。

4.5 數據顯示功能

將點名結果簡單清晰地顯示在主界面中,顯示的基本數據包括課程的基本信息,如上課班級、課程名稱、上課時間和班級人數、到勤人數以及出勤率等一些基本信息。主要的顯示信息是學生的基本信息:學號、姓名、院系、專業、班級、是否到勤、學生頭像以及檢測到和識別為此學生的圖像。

具體的實現技術:Qt采用了<模型---視圖---委托>來實現數據可視化功能。數據存儲和數據顯示是分離的,不相關的,這樣的好處就是一個數據模型可以有多種方式來顯示,同時,一個可視化窗口也可以顯示多種數據模型,只要你在顯示的時候將模型和可視化控件進行關聯。在Qt中存儲數據的模型基類是QAbstractItemModel,其他的數據存儲模型都是基于此類派生出來的。視圖類的基類是QAbstractItemView,其他的視圖類都是由此類派生出來。本系統中運用到的數據存儲模型有QStabdardItemModel,它是一個用于表格的模型,還有運用到QsqlTableModel,一個用于操作數據表的數據模型。視圖類運用的是QtableView,一個用于顯示表格的視圖類[9-15]。模型和視圖類都是基于int和text的顯示機制,如果要實現復雜的類型就需要用到委托類,比如本系統中要實現在單元格中繪制圖像和添加一個可操作的復選框。可以為一行或一列添加自定義的委托,來實現自己想要實現的功能。點名結果顯示見圖7。

5 小結

由于編程思想和開發經驗的不足,基于圖像的課堂考勤系統還存在諸多的問題。在以后的工作中應不斷完善圖像的課堂點名系統,對系統的訓練學生的人臉模型和檢測學生人臉以及人臉預測功能不斷地改進和完善。下一步工作在圖像課堂考勤系統中加入膚色檢測技術,使膚色檢測和Haar特征檢測相結合,從而改進單獨使用Haar進行檢測時產生的誤檢。多次修改訓練模型的圖像格式和預處理的結果,找出最好的訓練模型圖像格式和預處理方法。對可以進行重新構造的類和方法函數進行重新構造,提高代碼的簡潔性。針對寫得不好的代碼進行不斷的優化,使代碼更加易懂。深入對Qt的GUI框架學習,對信號和槽加深學習,對布局管理和模型視圖機制多加應用并設計出一個更加友好、簡潔、優雅的設計界面。編寫一份完整的使用文檔,來幫助使用者更快、更易使用基于圖像的課堂考勤系統。

參考文獻:

[1] JASMIN B,MARK S.C++ GUI Qt4編程[M].北京:電子工業出版社,2013.

[2] MARK S.Qt高級編程[M].北京:清華大學出版社,2011.

[3] MIKE O.SQLite權威指南[M].北京:電子工業出版社,2013.

[4] GARY B.學習OpenCV[M].北京:清華大學出版社,2009.

[5] 趙 黎.基于OpenCV的人臉檢測系統設計與實現[J].科技信息(科學教研),2008(18):351,403.

[6] 齊興敏.基于PCA的人臉識別技術的研究[D].武漢:武漢理工大學,2007.

[7] 何 榮.基于OpenCV的人臉識別系統設計[D].廣州:華南理工大學,2013.

[8] 黃 昉,張寶昌,劉金琨.PCA在人臉識別中的改進算法[J].中國科技論文在線,2011,6(1):54-58.

[9] 王 進,頡小鳳,胡明星,等.基于LBP預處理和子圖像特征采樣的人臉識別[J].江蘇大學學報(自然科學版),2016,37(1):85-91.

[10] 張靜端.基于人臉識別技術的圖書館門禁系統的研究[J].現代電子技術,2016,39(18):99-103.

[11] 周水生,鄭 穎,穆新亮.基于Cholesky分解的K2DPCA人臉識別研究[J].系統工程理論與實踐,2016,36(2):528-535.

[12] 聶海濤,龍科慧,馬 軍,等.基于快速SIFT算法和模糊控制的人臉識別[J].吉林大學學報(工學版),2016,46(2):549-555.

[13] 徐曉艷.人臉識別技術綜述[J].電子測試,2015(10):30-35,45.

[14] 代 雷,吳 迪,張 健.基于OpenCV視覺庫的ESPI圖像增強技術研究[J].電子測量與儀器學報,2013,27(10):975-979.

[15] 馬新明,趙曉莉,時 雷,等.基于OpenCV的圖像處理系統設計與實現[J].河南農業大學學報,2014,48(1):87-90.

猜你喜歡
人臉識別
人臉識別 等
作文中學版(2022年1期)2022-04-14 08:00:34
揭開人臉識別的神秘面紗
學生天地(2020年31期)2020-06-01 02:32:06
人臉識別技術的基本原理與應用
電子制作(2019年14期)2019-08-20 05:43:34
人臉識別技術在高速公路打逃中的應用探討
基于(2D)2PCA-LBP 的人臉識別方法的研究
電子制作(2017年17期)2017-12-18 06:40:55
淺談人臉識別技術
人臉識別在高校安全防范中的應用
電子制作(2017年1期)2017-05-17 03:54:46
巡演完美收官 英飛拓引領人臉識別新潮流
人臉識別在Android平臺下的研究與實現
基于Metaface字典學習與核稀疏表示的人臉識別方法
主站蜘蛛池模板: 成人国产精品网站在线看| 国产精品嫩草影院视频| 国产簧片免费在线播放| 小说区 亚洲 自拍 另类| 精品人妻系列无码专区久久| 四虎精品黑人视频| 黄色国产在线| 午夜无码一区二区三区| 日韩欧美综合在线制服| 日韩区欧美国产区在线观看| 97国产在线播放| 美女免费精品高清毛片在线视| www.99在线观看| 久久久久中文字幕精品视频| 亚洲成人动漫在线| 亚洲看片网| 亚洲综合色在线| 亚洲午夜片| 日韩在线1| 40岁成熟女人牲交片免费| 伊人久久大香线蕉aⅴ色| 日本在线免费网站| 久无码久无码av无码| 国产精品自在在线午夜| 亚洲综合久久成人AV| 久久无码av一区二区三区| 无码免费的亚洲视频| 亚洲色无码专线精品观看| 本亚洲精品网站| 国产视频只有无码精品| 伊人久久福利中文字幕| 日韩欧美中文字幕在线韩免费| 狠狠亚洲婷婷综合色香| 亚洲AV色香蕉一区二区| 无码视频国产精品一区二区 | 广东一级毛片| 素人激情视频福利| 国产女人在线| 18禁影院亚洲专区| 激情午夜婷婷| 日韩第九页| 激情午夜婷婷| 国产精品免费入口视频| 亚洲另类色| 91av国产在线| 中国精品久久| 69视频国产| 欧美日韩专区| 国产91麻豆免费观看| 国产男女免费完整版视频| 色男人的天堂久久综合| 国产精品一区二区无码免费看片| 日韩精品免费一线在线观看| 国产成人无码AV在线播放动漫| 日本精品中文字幕在线不卡| 另类欧美日韩| 九九九精品成人免费视频7| 亚洲国产天堂久久九九九| 黄色免费在线网址| 91av成人日本不卡三区| 精品久久久久成人码免费动漫| 亚洲狠狠婷婷综合久久久久| 91国语视频| 2021国产精品自拍| 久久国产精品波多野结衣| 国产精品成人观看视频国产 | 丁香亚洲综合五月天婷婷| 综合色天天| 最新国产午夜精品视频成人| 亚洲人妖在线| 97国产一区二区精品久久呦| a网站在线观看| 精品久久久无码专区中文字幕| 在线免费观看a视频| 无码精品国产VA在线观看DVD| 婷五月综合| 午夜老司机永久免费看片| 日本精品视频| 亚洲欧洲日韩国产综合在线二区| 国产毛片不卡| 亚卅精品无码久久毛片乌克兰| 在线观看国产小视频|