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