董亞蕾 張師寧 武旭聰
摘? 要:針對小人臉檢測容易出現(xiàn)漏檢的問題,對YOLOv5算法進行改進,在YOLOv5的骨干網(wǎng)絡中添加通道注意力模塊,改進后的算法在Wider Face數(shù)據(jù)集上的測試識別準確率提高了3%;改進SRGAN算法,用殘差密集網(wǎng)絡替代生成網(wǎng)絡,改進后的算法在LFW數(shù)據(jù)集上測試,圖像質(zhì)量評價指標PSNR值達到31.5;最后采用FaceNet算法識別人臉。整合以上算法,完成高校課堂考勤系統(tǒng)開發(fā)。系統(tǒng)能夠?qū)φn堂上學生的照片、視頻進行人臉識別,并將識別的結(jié)果保存到數(shù)據(jù)庫中供用戶查看。
關(guān)鍵詞:課堂考勤;小人臉檢測;超分辨率重建;人臉識別
中圖分類號:TP391.4? 文獻標識碼:A? 文章編號:2096-4706(2023)12-0062-04
Research on College Class Attendance System Based on Small Face Recognition
DONG Yalei1, ZHANG Shining2, WU Xucong2
(1.Hebei Chemical & Pharmaceutical College, Shijiazhuang? 050026, China; 2.Hebei International Studies University, Shijiazhuang? 051132, China)
Abstract: To solve the problem of missing detection in small face detection, the YOLOv5 algorithm is improved and a channel attention module is added to the backbone network of YOLOv5. The detection accuracy of the improved algorithm on the Wider Face dataset is increased by 3%. SRGAN algorithm is improved to replace the generated network with the residual dense network. The improved algorithm is tested on the LFW dataset, and the PSNR value of image quality evaluation index reaches 31.5. Finally, FaceNet algorithm is used to recognize faces. Integrate the above algorithms to complete the development of college class attendance system. The system can recognize the faces of students' photos and videos in class, and save the recognition results to the database for users' viewing.
Keywords: class attendance; small face detection; super-resolution reconstruction; face recognition
0? 引? 言
教育部強調(diào)要大力加強教育信息化建設,并制定《教育信息化2.0行動計劃》,要求以人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)等新興技術(shù)為基礎(chǔ),不斷創(chuàng)新將校園打造成智慧化校園。人臉識別在智慧化校園中發(fā)揮著重要作用。利用人臉識別可保證學生的安全,同時輔助學校進行教學質(zhì)量把控,為學生上課保駕護航。此外,人臉識別輔助教師監(jiān)控教學狀態(tài),可提升課堂教學質(zhì)量,通過對學生課堂表現(xiàn)進行大數(shù)據(jù)分析,能夠為學生提供更好的學習計劃。
傳統(tǒng)課堂考勤采用現(xiàn)場點名方式,一方面浪費課堂寶貴時間和紙張;另一方面容易出現(xiàn)替人答到、無故曠課等現(xiàn)象,嚴重影響教師課堂教學質(zhì)量。隨著深度學習和計算機視覺技術(shù)的發(fā)展,人臉識別技術(shù)越來越成熟。使用人臉識別進行課堂考勤可以使學生完成無感簽到,既干凈、衛(wèi)生、環(huán)保,又防止學生替人答到,節(jié)約教師時間,讓其能夠更好地投入教學中,有利于提升課堂的教學質(zhì)量。
1? 基于YOLOv5人臉檢測
1.1? YOLOv5的網(wǎng)絡結(jié)構(gòu)
YOLOv5是不同于兩階段目標檢測的檢測方法,它將目標檢測看作一個回歸問題而不是分類問題。YOLOv5算法輸入視頻或者圖像,輸出目標的位置和類別。YOLOv5使用單一的神經(jīng)網(wǎng)絡完成目標檢測的所有階段,結(jié)果表明該方法不僅具有很好的檢測性能,而且具有很好的實時性。此外,該算法有很好的泛化能力,易于訓練檢測不同的目標。YOLOv5包括四種網(wǎng)絡模型,本文以四種模型中文件大小最小的模型YOLOv5s網(wǎng)絡模型為例進行介紹。其他三種網(wǎng)絡是在YOLOv5s基礎(chǔ)上增加了寬度和深度的網(wǎng)絡,YOLOv5s網(wǎng)絡結(jié)構(gòu)如圖1所示。
從圖1中可以看到,YOLOv5網(wǎng)絡包括輸入端、骨干網(wǎng)絡、多尺度特征融合模塊和輸出端。在輸入端YOLOv5增加了Mosaic數(shù)據(jù)增強、自適應錨框計算,通過Mosaic數(shù)據(jù)增強對數(shù)據(jù)集進行隨機裁剪、拼合,增加了小目標數(shù)量,讓網(wǎng)絡對小目標人臉檢測的魯棒性更好。Backbone網(wǎng)絡是YOLOv5的主干網(wǎng)絡,主要用來提取圖像特征。Neck模塊主要提取圖像特征傳遞到預測Head模塊中。Head模塊對輸入進來的圖像特征進行預測,輸出邊界框和預測的類別。Head部分包括Bounding Box損失函數(shù)以及非極大值抑制(Non-Maximum Suppression, NMS)。
1.2? 改進和優(yōu)化YOLOv5網(wǎng)絡的Backbone部分
為了更好地提取特征,本文對Backbone部分進行了優(yōu)化和改進。在Backbone部分添加注意力機制SE模塊,如圖2所示。注意力機制SE模塊能夠明顯地提升網(wǎng)絡的性能,可以輕松加入已有的網(wǎng)絡中,同時它的實現(xiàn)思想簡單,研究者容易理解,并能輕松地實現(xiàn)。在YOLOv5中添加注意力機制SE模塊,使YOLOv5網(wǎng)絡能夠自動學到圖片需要注意的地方。使用通道注意力機制突出臉部特征,抑制其他無用信息,對小目標人臉圖像進行精確地定位,從而有效檢測小目標的人臉圖像。
1.3? 修改錨框
在目標檢測中,錨框(Anchorbox)合理的設置對檢測效果非常重要。錨框其實就是在圖像上預設不同大小、不同長寬比的參考框。當設置的錨框的長度寬度與待檢測的物體尺度基本一致時,錨框與物體實際位置(Bounding Box)的IoU將大于閾值,被認為是一個正樣本,出現(xiàn)漏檢的情況。
YOLOv5設置三個不同尺度,每個尺度設置三個不同大小的Anchor,一共九組。本文使用K-means聚類算法,在WiderFace數(shù)據(jù)集上進行分析,CLUSTERS設置為27,從分析結(jié)果可以得出人臉寬度和高度比值在1:1.4左右。
1.4? 實驗結(jié)果與分析
對YOLOv5算法進行改進,修改Anchor個數(shù)及尺寸后訓練,并添加SElayer注意力機制在WiderFace數(shù)據(jù)集上實驗,結(jié)果對比如表1所示。
為進一步驗證本文算法的泛化性,選用FDDB數(shù)據(jù)集進性實驗,其中訓練集1 991張,測試集285張。實驗結(jié)果對比如表2所示。
首先選用YOLOv5的最小模型YOLOv5s進行訓練,發(fā)現(xiàn)在WiderFace數(shù)據(jù)集上的mAP達到0.879,之后選用YOLOv5m、YOLOv5l、YOLOv5x三種模型在數(shù)據(jù)集上試驗,mAP分別為0.898、0.905、0.915。最后選擇YOLO5x模型并修改錨框個數(shù)和初始尺寸進行實驗,mAP達到了0.921,相比0.915提高了0.6%,在加入注意力機制Selayer后進行實驗,mAP達到了0.952,mAP相比沒有加入注意力機制的模型提高了3.1%。為了驗證算法的泛化能力,本文還在FDDB數(shù)據(jù)集上進行了實驗,通過分析比較實驗結(jié)果,可以得出本文算法有較好的泛化能力。
2? 小人臉圖形重建
對于小圖像放大后保持圖像依舊清晰的問題,本文選用基于學習的超分辨率重建算法SRGAN,SRGAN網(wǎng)絡包括生成網(wǎng)絡和判別網(wǎng)絡,采用了博弈的思想,經(jīng)過判別網(wǎng)絡分析生成網(wǎng)絡,其生成的高分辨率圖像與原始高分辨率圖像的相似性,最終使生成的圖像更加接近真實的圖像。對于遠距離攝像頭下拍攝的視頻照片分辨率低、人臉小等問題,本文對SRGAN進行改進,改進后的算法生成圖像在主觀和客觀上均有所提升。
2.1? SRGAN網(wǎng)絡結(jié)構(gòu)
SRGAN網(wǎng)絡包含生成網(wǎng)絡和判別網(wǎng)絡,生成網(wǎng)絡輸入的圖像首先經(jīng)過一個卷積,然后進行PRelu激活函數(shù),接下來通過N個殘差網(wǎng)絡結(jié)構(gòu),每個殘差網(wǎng)絡包括卷積Conv、標準化BN及激活函數(shù)PRelu,之后進行上采樣部分將圖像寬度和高度放大,經(jīng)過兩次上采樣圖像變?yōu)樵瓉硭谋?,生成高分辨率圖像。生成網(wǎng)絡結(jié)構(gòu)圖如圖3所示。
判別網(wǎng)絡輸入的圖像尺寸為128×128×3,經(jīng)過卷積Conv和Leaky_relu激活函數(shù),再經(jīng)過7個卷積、ConvLeaky_relu和標準化BN,網(wǎng)絡深度越深,特征數(shù)量越多,特征尺寸不斷減小,經(jīng)過兩個全連接層,最后經(jīng)過Sigmoid激活函數(shù)輸出真實圖像和生成圖像的概率值。判別網(wǎng)絡結(jié)構(gòu)圖如圖4所示。
2.2? SRGAN優(yōu)化與改進
SRGAN中生成網(wǎng)絡中使用6個殘差層,經(jīng)過圖像超分辨率算法在小圖變成大圖過程盡量把損失細節(jié)恢復出來。將殘差網(wǎng)絡改為使用殘差密集網(wǎng)絡獲取各網(wǎng)絡層的圖像特征,以保留更多高頻信息。改進后網(wǎng)絡結(jié)構(gòu)圖如圖5所示。
2.3? 實驗結(jié)果與分析
本實驗采用LFW數(shù)據(jù)集,每張圖像寬高為250像素,隨機選取8 400張圖像作為模型訓練的真實高分辨率圖像。選擇數(shù)據(jù)集中剩余未被選中的900張圖像作為測試集,輸入到模型中生成高分辨率圖像。以改進后的生成器部分進行實驗比對并查看最終實驗結(jié)果。
訓練時設置初始學習率為0.01%,經(jīng)過100輪迭代,訓練過程使用Adam算法。生成圖像質(zhì)量通過客觀評價進行分析。同時與Bic算法、SRCNN算法、ESPCNN算法、EDSR算法、SRGAN等算法進行實驗對比,實驗結(jié)果如表3所示,以此分析本文算法有效性。一般PSNR數(shù)值越大圖像質(zhì)量越好,結(jié)構(gòu)相似度值越接近1表明重建圖像質(zhì)量越好。從表3可以看出本文算法在PSNR和SSIM的值均高于其他算法。
3? 基于FaceNet的小人臉識別算法
小尺寸人臉識別主要問題是圖像分辨率低、圖像模糊,經(jīng)過特征提取后獲取信息較少,針對以上問題,本文采用改進后YOLOv5檢測人臉,并對檢測出小尺寸人臉圖像用SRGAN算法進行重建最后采用FaceNet算法識別人臉。
3.1? FaceNet人臉識別算法
FaceNet算法于2015年由Google發(fā)表在CVPR上,該算法將卷積神經(jīng)網(wǎng)絡與Triple Loss結(jié)合,將人臉映射在歐幾里得空間,計算映射后的人臉向量的相似度。Facenet模型結(jié)構(gòu)如圖6所示。
3.2? 實驗結(jié)果與分析
本文采用YOLOv5進行人臉檢測并與MTCNN的人臉檢測進行對比,然后將檢測到的小人臉圖像進行超分辨率重建,與未使用超分辨率重建方法進行對比,實驗結(jié)果如表4所示。
從表4中看出,正常人臉圖像的人臉識別算法準確率都相對較高。采用YOLOv5進行人臉檢測并用FaceNet進行人臉識別,識別的準確率達到了98.9%,相較于用MTCNN進行人臉檢測提高了14.5%。當在小人臉圖像上用MTCNN檢測使用FaceNet模型進行小人臉識別,性能表現(xiàn)并不好,只有4.9%,準確率大幅下降。而使用YOLOv5進行人臉檢測再去使用FaceNet識別,準確率有了很大提升,達到了97.23%,這也說明低分辨率的小人臉圖像在用MTCNN進行檢測時出現(xiàn)了大量的漏檢情況。使用YOLOv5檢測降低小人臉漏檢的情況。對檢測出小人臉圖像進行超分處理后進行人臉識別人臉識別,準確率提升1.1%。
4? 基于小人臉識別的課堂考勤系統(tǒng)
軟件系統(tǒng)設計與開發(fā)需要在滿足教室場景需求的基礎(chǔ)之上,為教師、學生等人員提供易于操作的界面,本系統(tǒng)的主要包括以下幾個功能模塊。登錄模塊、學生基本信息管理模塊、課程管理模塊、提取人臉特征模塊、人臉識別模塊、課堂考勤管理模塊、管理員信息管理模塊。
4.1? 系統(tǒng)流程設計
用戶點擊人臉識別,系統(tǒng)采集人臉圖像信息并將信息送到服務器,服務器在收到人臉圖像信息后開始檢測人臉。使用改進后YOLOv5檢測人臉,判斷檢測框尺寸如果小于32×32用改進SRGAN算法對人臉圖像進行超分辨率重建,對重建后圖像繼續(xù)檢測直到檢測框尺寸大于32×32。用FaceNet算法識別人臉。提取檢測人臉128維特征并與人臉數(shù)據(jù)庫中人臉特征進行比對,當歐式距離小于設定閾值時判斷為同一個人,并將數(shù)據(jù)庫中學生出勤信息進行更改。流程圖如圖7所示。
4.2? 搭建開發(fā)環(huán)境
課堂考勤系統(tǒng)選用Python 3.6作為開發(fā)語言,開發(fā)軟件為PyCharm、數(shù)據(jù)庫開發(fā)工具選用MySQL 8.0、MySQL,圖形化管理工具使用Navicat Premium 15。系統(tǒng)Web應用端開發(fā)選用Django框架,Django 用了MVT的設計模式,分別負責數(shù)據(jù)、頁面顯示和處理業(yè)務,更加易于開發(fā)維護。
硬件環(huán)境包含有電腦、教室安裝的攝像頭、機房配置的服務器等硬件。硬件開發(fā)平臺和計算開發(fā)資源包括NVIDIA GeForce MX2300,CPU選用 Inter core i7-10510U,8 GB內(nèi)存。
4.3? 識別結(jié)果分析
本文選取5段不同人數(shù)視頻,視頻中人數(shù)分別為4、5、8、10、20。用改進后YOLOv5檢測使用FaceNet識別,以及使用本文算法識別人臉,實驗結(jié)果如圖8和表5所示。
觀察實驗結(jié)果發(fā)現(xiàn),本文算法識別人數(shù)高于改進后YOLOv5和FaceNet算法,可以滿足系統(tǒng)準確性性能要求。但是當班級人數(shù)較多時,同學之間出現(xiàn)遮擋影響人臉識別的效果。在今后應繼續(xù)解決遮擋的人臉識別問題。
5? 結(jié)? 論
本文將小人臉識別技術(shù)與課堂考勤相結(jié)合,對基于深度學習YOLOv5以及超分辨率重建SRGAN和FaceNet算法進行研究,并將算法整合開發(fā)基于小人臉識別的課堂考勤系統(tǒng),教師上傳照片或者視頻進行人臉圖像采集與測試,系統(tǒng)能夠完成人臉進行檢測、小人臉圖像重建及人臉識別,最后將識別結(jié)果存儲到數(shù)據(jù)庫中,方便學生教師等人員進行考勤信息查詢。
參考文獻:
[1] 王慧.基于人臉識別的智能教育管理平臺的設計與實現(xiàn) [D].北京:北京交通大學,2019.
[2] 蘇楠,吳冰,徐偉,等.人臉識別綜合技術(shù)的發(fā)展 [J]. 信息安全研究,2016,2(1):33-39.
[3] 張沙沙.基于卷積神經(jīng)網(wǎng)絡的選煤廠人臉識別考勤系統(tǒng) [D].西安:西安科技大學,2020.
[4] 張瑞,李樹章,侯廷剛.人工智能技術(shù)在高職院校專業(yè)課教學中的應用研究 [J].大學,2021(50):136-138.
[5] 宋爽.人臉識別技術(shù)在校園管理中的應用 [J].通訊世界,2019,26(1):184-185.
[6] 胡蕾,王足根,陳田,等.一種改進的SRGAN紅外圖像超分辨率重建算法 [J].系統(tǒng)仿真學報,2021,33(9):2109-2118.
[7] 邱天衡,王玲,王鵬,等.基于改進YOLOv5的目標檢測算法研究 [J/OL].計算機工程與應用,2022:1-13[2022-10-25].http://kns.cnki.net/kcms/detail/11.2127.TP.20220402.1028.002.html.
[8] 劉建偉,劉俊文,羅雄麟.深度學習中注意力機制研究進展 [J].工程科學學報,2021,43(11):1499-1511.
[9] 戴琳琳,閻志遠,景輝.Insightface結(jié)合Faiss的高并發(fā)人臉識別技術(shù)研究 [J].鐵路計算機應用,2020,29(10):16-20.
[10] SCHROFF F,KALENICHENKO D,PHILBIN J. FACENET: A unified embedding for face recognition and clustering [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Boston:IEEE,2015:815-82.
作者簡介:董亞蕾(1990—),女,漢族,河北石家莊人,講師,研究生,研究方向:數(shù)字媒體技術(shù)。