• 
    

    
    

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

      基于ArcFace 算法的人臉識(shí)別應(yīng)用研究

      2022-06-15 09:06:34薛繼偉孫宇銳辛紀(jì)元
      電子設(shè)計(jì)工程 2022年11期
      關(guān)鍵詞:人臉識(shí)別人臉特征

      薛繼偉,孫宇銳,辛紀(jì)元

      (東北石油大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江大慶 163000)

      課堂考勤一直是教師評(píng)估學(xué)生學(xué)習(xí)狀態(tài)以及評(píng)定學(xué)生平時(shí)成績(jī)的重要方式之一,現(xiàn)如今大部分教師依舊使用人工點(diǎn)名這種傳統(tǒng)的考勤方式,存在替課、效率低下等問(wèn)題。因此,近年來(lái)工作人員一直在探索全新的考勤方式,主要有指紋識(shí)別[1]、人臉識(shí)別、RFID[2]等技術(shù)。但指紋識(shí)別技術(shù)不僅需要提前采集學(xué)生指紋,學(xué)生簽到時(shí)也需要現(xiàn)場(chǎng)對(duì)比,雖然減少了教師點(diǎn)名的工作量,卻并未節(jié)省時(shí)間。RFID 技術(shù)的弊端是需要學(xué)生隨時(shí)攜帶簽到卡。以上兩種方式雖然非常適合企業(yè)級(jí)的考勤管理,卻并不適合教室場(chǎng)景的應(yīng)用。人臉識(shí)別技術(shù)是一種重要的生物特征識(shí)別技術(shù),且在司法刑偵、電子護(hù)照以及各種考勤系統(tǒng)中都有應(yīng)用[3]。利用人臉識(shí)別技術(shù)可以在學(xué)生無(wú)感知的情況下,達(dá)到考勤的目的,為學(xué)生和教師節(jié)省時(shí)間[4]。

      1 相關(guān)工作

      人臉識(shí)別技術(shù)如今已經(jīng)逐漸成熟,傳統(tǒng)的人臉識(shí)別算法有基于幾何特征的方法、模板匹配算法和基于外觀形狀的方法等。隨著深度學(xué)習(xí)研究的發(fā)展,人臉識(shí)別技術(shù)也在不斷更新。DeepFace 是深度學(xué)習(xí)人臉識(shí)別方法的開山之作,它可以實(shí)現(xiàn)人臉檢測(cè)、對(duì)齊和識(shí)別。其在最后的識(shí)別階段使用了多種方法,包括直接算內(nèi)積、計(jì)算加權(quán)的卡方距離(Chisquare Measure)以及孿生神經(jīng)網(wǎng)絡(luò)等。FaceNet 中提出了Triplet Loss 三元組損失,由Anchor、Negative 和Positive 3 個(gè)元素組成,通過(guò)訓(xùn)練該損失增大了Anchor到Negative的距離,減小了Anchor到Positive的距離。為了使神經(jīng)網(wǎng)絡(luò)最終得到的特征更有辨識(shí)力度,不同學(xué)者對(duì)Softmax 公式進(jìn)行了多種改進(jìn)。如:CenterLoss 方法在Softmax 的基礎(chǔ)上添加維持類別中心的損失函數(shù),L-Softmax 方法去掉了神經(jīng)網(wǎng)絡(luò)最后一層的偏置項(xiàng),SphereFace[5]中提出的ASoftmax、L2-Softmax[6]以及AM-Softmax[7]和文中使用的ArcFace[8]等都沿用了這一改動(dòng)。

      2 人臉識(shí)別流程

      每張人臉具有的特征都不相同,人臉?biāo)目商崛〉奶卣鲾?shù)量越多,對(duì)人臉信息的表示越準(zhǔn)確。如何區(qū)分這些特征,并將其對(duì)應(yīng)到合適的人臉中,是人臉識(shí)別需要解決的問(wèn)題。深度學(xué)習(xí)人臉識(shí)別方法使用深度神經(jīng)網(wǎng)絡(luò)將特征數(shù)值映射到特征空間中,并通過(guò)人臉識(shí)別算法訓(xùn)練人臉數(shù)據(jù)集,得到適合計(jì)算機(jī)理解和區(qū)分的人臉特征[9]。

      人臉識(shí)別具體流程如圖1 所示,首先需要構(gòu)建學(xué)生人臉數(shù)據(jù)庫(kù),根據(jù)學(xué)生提交的照片進(jìn)行分類,數(shù)據(jù)庫(kù)下分若干文件夾,每個(gè)文件夾命名為學(xué)生學(xué)號(hào),學(xué)號(hào)文件夾下為該學(xué)生的所有照片。圖2 為人臉數(shù)據(jù)庫(kù)存儲(chǔ)目錄結(jié)構(gòu)示意圖。在構(gòu)建人臉數(shù)據(jù)庫(kù)階段,為了便于特征提取,需要對(duì)圖像數(shù)據(jù)進(jìn)行人臉對(duì)齊預(yù)處理,將人臉裁剪為同一大小統(tǒng)一朝向的圖像,再利用人臉識(shí)別算法提取樣本的人臉特征向量。

      圖1 人臉識(shí)別流程

      圖2 人臉數(shù)據(jù)庫(kù)存儲(chǔ)目錄

      當(dāng)輸入一張圖像時(shí),首先利用人臉檢測(cè)算法獲得人臉具體位置,再通過(guò)人臉識(shí)別算法提取特征向量,最后計(jì)算所提取的特征與人臉庫(kù)中特征的相似度,并輸出與其相似度最高的人臉身份[10]。幾項(xiàng)重要技術(shù)的具體實(shí)現(xiàn)以及部分對(duì)比實(shí)驗(yàn)如下。

      3 人臉對(duì)齊和人臉檢測(cè)

      3.1 人臉對(duì)齊

      由于學(xué)生提交照片無(wú)法完全做到尺寸、人臉位置、大小等一致,直接使用會(huì)導(dǎo)致提取特征不準(zhǔn)確,因此需要進(jìn)行人臉對(duì)齊處理[11]。

      人臉對(duì)齊算法有傳統(tǒng)的ASM、AAM、SDM 算法等,文中選用如今較為常用的深度學(xué)習(xí)人臉對(duì)齊算法MTCNN。MTCNN 全稱為多任務(wù)卷積神經(jīng)網(wǎng)絡(luò),可以實(shí)現(xiàn)人臉檢測(cè)、人臉關(guān)鍵點(diǎn)檢測(cè)以及人臉對(duì)齊。該網(wǎng)絡(luò)模型包含P-Net、R-Net 和O-Net 3 部分,利用候選框加分類器的思想,在輕量化網(wǎng)絡(luò)模型的同時(shí)可以進(jìn)行快速高效的人臉檢測(cè)。MTCNN 通過(guò)P-Net 先粗略快速生成候選窗口,再經(jīng)過(guò)R-Net 進(jìn)行高精度的過(guò)濾,最終生成精確邊界框。O-Net 比RNet 結(jié)構(gòu)多一個(gè)卷積層,通過(guò)O-Net 最終會(huì)輸出人面部的5 個(gè)特征點(diǎn),分別是雙眼、鼻子和兩個(gè)嘴角。人臉對(duì)齊主要是通過(guò)人臉關(guān)鍵點(diǎn)檢測(cè)得到相應(yīng)坐標(biāo),根據(jù)該坐標(biāo)調(diào)整人臉角度,可以得到對(duì)齊的人臉。圖3 為使用MTCNN 進(jìn)行人臉對(duì)齊的部分圖像示例,圖像大小為160×160 px。

      圖3 人臉對(duì)齊圖像示例

      3.2 人臉檢測(cè)

      3.2.1 人臉檢測(cè)算法

      人臉檢測(cè)算法到目前為止經(jīng)歷了3 個(gè)階段,即早期的模板匹配技術(shù)、AdaBoost[12]算法和深度學(xué)習(xí)方法。為了提高在嵌入式設(shè)備上的計(jì)算效率,文中對(duì)比了幾種輕量級(jí)人臉檢測(cè)算法,并根據(jù)實(shí)驗(yàn)結(jié)果選擇了LFFD 算法。LFFD[13]是一種較為快速的、用于人臉檢測(cè)的無(wú)錨框方法。該算法提出了一種具有8 個(gè)分支的簡(jiǎn)單且高效的網(wǎng)絡(luò),網(wǎng)絡(luò)中每?jī)蓚€(gè)分支為一部分,分別是tiny part、small part、medium part 和large part。

      3.2.2 人臉檢測(cè)算法對(duì)比實(shí)驗(yàn)

      文中針對(duì)相同場(chǎng)景(該場(chǎng)景有58 張人臉,其中被遮擋人臉數(shù)為5,NMS閾值設(shè)為0.3),對(duì)4種人臉檢測(cè)算法YOLOFace[14]、RetinaFace[15]、CenterFace[16](以下分別簡(jiǎn)稱YOLOF、RetinaF、CenterF)和LFFD 進(jìn)行了實(shí)驗(yàn)對(duì)比。表1 列出了4 種人臉檢測(cè)算法在同樣的場(chǎng)景下檢測(cè)到的人臉數(shù)量以及用時(shí)等。

      表1 人臉檢測(cè)算法對(duì)比結(jié)果

      從表1中可以看出,LFFD檢測(cè)到的人臉數(shù)最多且漏檢率最低,雖然相對(duì)于其他方法誤檢率較高,但對(duì)結(jié)果影響不大。綜合考慮多種因素,最終選擇LFFD方法。

      4 人臉識(shí)別

      設(shè)計(jì)人臉識(shí)別算法時(shí)主要考慮的問(wèn)題是:同一個(gè)人在特征空間的距離非常近,不同人在特征空間中距離較遠(yuǎn)。文中選用的ArcFace 算法本質(zhì)目標(biāo)為縮小類內(nèi)距離,增大類間差距。

      4.1 ArcFace算法

      ArcFace 提出了用于人臉識(shí)別的損失函數(shù),即Additive angular margin loss。ArcFace 在SphereFace和CosineFace的基礎(chǔ)上進(jìn)行了改進(jìn),不同的是ArcFace在角度空間中最大化分類界限,而CosineFace 在余弦空間中最大化分類界限。ArcFace 損失函數(shù)的計(jì)算公式如式(1)所示:

      ArcFace 在取消偏置的基礎(chǔ)上對(duì)輸入進(jìn)行L2正則化(L2Regularization)處理,同時(shí)乘以固定的scale參數(shù)s。該公式在cos 函數(shù)的θyi角度后加上m參數(shù),m參數(shù)為微小角度,通常取20°左右。該角度間隔比余弦間隔對(duì)角度的影響更加直接。

      4.2 ArcFace訓(xùn)練方法

      對(duì)ArcFace 損失函數(shù)的訓(xùn)練是在人臉識(shí)別之前的初始化工作。由于官方的ArcFace 使用MXNet 框架,預(yù)訓(xùn)練模型無(wú)法直接在Pytorch[17]中使用,并且其提供的Pytorch 版本預(yù)訓(xùn)練模型精度不高。文中使用遷移學(xué)習(xí)的方式重新訓(xùn)練ArcFace,以提高模型精度,進(jìn)而改善識(shí)別結(jié)果。

      4.2.1 數(shù)據(jù)集

      1)CASIA-WebFace

      文中使用了CASIA-WebFace 數(shù)據(jù)集,該數(shù)據(jù)集包括10 575 個(gè)人的494 414 張圖像,通過(guò)對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,刪除有較多噪聲的圖片,將清理后的數(shù)據(jù)集導(dǎo)入到項(xiàng)目中作為訓(xùn)練集。

      2)LFW

      LFW 是無(wú)約束自然場(chǎng)景下的人臉識(shí)別數(shù)據(jù)集,該數(shù)據(jù)集由不同朝向和表情以及光照等條件下截取的人臉圖片組成,共13 233 張圖片,共5 749 人。圖片尺寸為250×250 px,其中1 680 人含有兩張或以上人臉圖片。該數(shù)據(jù)集如今主要用于驗(yàn)證人臉識(shí)別準(zhǔn)確率。LFW 提供了驗(yàn)證列表LFW_test_pair.txt,該列表中隨機(jī)選擇了6 000 對(duì)人臉。其中3 000 對(duì)屬于同一人,另3 000 對(duì)為不同的兩人,每人各一張圖片。屬于同一個(gè)人的兩張圖片標(biāo)記為1,屬于不同人的兩張圖片標(biāo)記為0。若模型對(duì)同一人預(yù)測(cè)結(jié)果為1 即為正確,預(yù)測(cè)結(jié)果為0 即為錯(cuò)誤。同理對(duì)不同人預(yù)測(cè)結(jié)果為0 即為正確,預(yù)測(cè)結(jié)果為1 即為錯(cuò)誤。

      4.2.2 訓(xùn)練和驗(yàn)證

      文中的主要實(shí)驗(yàn)環(huán)境配置:Intel Core i7-7800X、32 GB 內(nèi)存、512 GB SSD 硬盤,NVIDIA RTX 2080Ti顯卡,Ubuntu16.04 操作系統(tǒng)、Python3.6 語(yǔ)言、深度學(xué)習(xí)框架Pytorch1.2.0。模型訓(xùn)練參數(shù)如下:骨干網(wǎng)絡(luò)使用MobileNet,BatchSize 設(shè)為64,epoch 為120;初始學(xué)習(xí)率為0.1,每10 個(gè)epoch 更新一次,衰減因子為0.1;ArcFace 公式中的s值設(shè)為30.0,m設(shè)為0.50。訓(xùn)練過(guò)程中損失函數(shù)變化曲線如圖4(a)所示,橫坐標(biāo)為訓(xùn)練epoch(輪次),所有訓(xùn)練樣本完成一次正向傳播和反向傳播為一輪次??v坐標(biāo)為loss 損失值。訓(xùn)練得到的MobileNet_120.pth 模型在LFW 驗(yàn)證集上的準(zhǔn)確率為93.2%。圖4(b)為準(zhǔn)確率變化曲線,橫坐標(biāo)為訓(xùn)練epoch(輪次),縱坐標(biāo)為測(cè)試準(zhǔn)確率數(shù)值。

      圖4 訓(xùn)練Loss及準(zhǔn)確率變化曲線

      4.3 人臉識(shí)別實(shí)現(xiàn)

      人臉識(shí)別即對(duì)比特征的過(guò)程,通過(guò)式(2)計(jì)算待識(shí)別人臉特征(x11,x12,…x1n)與人臉庫(kù)中每個(gè)人臉特征(xi1,xi2,…xin)的歐式距離,如果小于所設(shè)定的閾值則輸出距離最小的人臉圖像作為識(shí)別結(jié)果,大于閾值則識(shí)別失敗。

      最后,進(jìn)行人臉識(shí)別實(shí)驗(yàn)發(fā)現(xiàn),不同人臉檢測(cè)模型對(duì)人臉識(shí)別結(jié)果影響不大,但若漏檢率較高會(huì)造成最終統(tǒng)計(jì)結(jié)果不準(zhǔn)確。

      5 無(wú)感點(diǎn)名系統(tǒng)設(shè)計(jì)

      無(wú)感點(diǎn)名系統(tǒng)主要分為5 個(gè)模塊,即登錄模塊、個(gè)人管理模塊、點(diǎn)名模塊、查詢模塊和后臺(tái)管理模塊。系統(tǒng)可以完成登錄、查看個(gè)人信息、修改密碼等功能。點(diǎn)名模塊包括快速點(diǎn)名和正式點(diǎn)名功能。查詢模塊包括普通查詢和按條件查詢,教師可以按班級(jí)或?qū)W生姓名查詢學(xué)生簽到信息。后臺(tái)管理模塊完成對(duì)教師、學(xué)生、人臉庫(kù)以及課程等信息的管理功能。

      系統(tǒng)開發(fā)使用前后端分離的方式,通過(guò)后端封裝API 接口,前端請(qǐng)求的方式連接。前端使用uni-APP UI 框架,后端使用Django Web 應(yīng)用框架。開發(fā)工具分別為HBuilderX 和PyCharm。在后端框架的選擇上,雖然Flask 框架小巧輕便、方便定制,但Django功能更加強(qiáng)大完善,且Django 內(nèi)置admin 后臺(tái)系統(tǒng)提高了軟件開發(fā)效率。圖5 為無(wú)感點(diǎn)名系統(tǒng)架構(gòu)。

      圖5 無(wú)感點(diǎn)名系統(tǒng)架構(gòu)

      教師可以根據(jù)需求選擇快速點(diǎn)名或正式點(diǎn)名,快速點(diǎn)名顯示實(shí)到人數(shù),不對(duì)結(jié)果進(jìn)行統(tǒng)計(jì)。正式點(diǎn)名功能需要教師選擇具體的課程信息,包括學(xué)期、課程名、班級(jí)、節(jié)次。教師使用系統(tǒng)時(shí),上傳學(xué)生課堂圖像,進(jìn)行人臉識(shí)別,可以查看統(tǒng)計(jì)結(jié)果,圖6 為正式點(diǎn)名界面。統(tǒng)計(jì)結(jié)果包括應(yīng)到人數(shù)、實(shí)到人數(shù)、缺勤人數(shù)以及缺勤學(xué)生的具體姓名等信息,教師可以選擇是否保存該次點(diǎn)名結(jié)果,便于后續(xù)查詢統(tǒng)計(jì)。

      圖6 正式點(diǎn)名界面

      6 結(jié)論

      該文對(duì)深度學(xué)習(xí)人臉識(shí)別技術(shù)進(jìn)行了研究,并將其應(yīng)用在無(wú)感點(diǎn)名系統(tǒng)中。開發(fā)了較為完整的無(wú)感點(diǎn)名系統(tǒng),描述了具體的人臉識(shí)別流程以及系統(tǒng)架構(gòu)等。該系統(tǒng)為教師課堂點(diǎn)名節(jié)約了時(shí)間,提高了效率。由于實(shí)驗(yàn)設(shè)備拍攝質(zhì)量限制,教室課堂圖片可能會(huì)出現(xiàn)不夠清晰的情況。未來(lái)工作目標(biāo)為對(duì)課堂圖像進(jìn)行處理,提高圖像質(zhì)量,進(jìn)一步提高識(shí)別準(zhǔn)確率。

      猜你喜歡
      人臉識(shí)別人臉特征
      人臉識(shí)別 等
      有特點(diǎn)的人臉
      揭開人臉識(shí)別的神秘面紗
      如何表達(dá)“特征”
      不忠誠(chéng)的四個(gè)特征
      三國(guó)漫——人臉解鎖
      抓住特征巧觀察
      基于類獨(dú)立核稀疏表示的魯棒人臉識(shí)別
      馬面部與人臉相似度驚人
      長(zhǎng)得象人臉的十種動(dòng)物
      奇聞怪事(2014年5期)2014-05-13 21:43:01
      酉阳| 乌海市| 郓城县| 平罗县| 含山县| 华安县| 临沧市| 龙胜| 龙山县| 高碑店市| 鸡泽县| 盐池县| 泰和县| 武鸣县| 靖远县| 叶城县| 修文县| 林州市| 中卫市| 麦盖提县| 安塞县| 南召县| 镇平县| 栾城县| 文昌市| 咸阳市| 隆林| 云浮市| 屯留县| 南京市| 曲水县| 屯门区| 湟源县| 汉源县| 合山市| 闵行区| 尉犁县| 宝坻区| 大石桥市| 南汇区| 九台市|