胡月文 李丹
摘? 要:隨著人工智能的不斷發(fā)展,人臉識(shí)別技術(shù)的不斷改進(jìn)與成熟,該文在人工智能人臉識(shí)別的基礎(chǔ)之上,研究深度卷積神經(jīng)網(wǎng)絡(luò)中的不同損失函數(shù),提出一種基于ArcFace損失函數(shù)的人臉識(shí)別模型,并應(yīng)用于監(jiān)護(hù)安全人臉識(shí)別領(lǐng)域。通過(guò)對(duì)在Pubfig數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果以及實(shí)時(shí)人臉識(shí)別效果的分析,驗(yàn)證了該模型在監(jiān)護(hù)安全人臉識(shí)別上的優(yōu)勢(shì)與可行性,為小學(xué)生監(jiān)護(hù)人接送提供了安全保障。
關(guān)鍵詞:損失函數(shù);ArcFace;人臉識(shí)別;監(jiān)護(hù)安全
中圖分類號(hào):TP391.41;TP18? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)17-0132-04
Abstract:With the ever-accelerated of artificial intelligence and the continuous improvement and maturity of face recognition technology,this paper studies different loss functions in deep convolution neural network and proposes a face recognition model based on ArcFace loss function,which is applied to the field of monitoring safety face recognition. Through the analysis of the experimental results on the Pubfig dataset and the real-time face recognition effect,the advantages and feasibility of the model in guardianship safety face recognition are verified,which provides a security guarantee for the primary school guardians to pick up.
Keywords:loss function;ArcFace;face recognition;monitoring security
0? 引? 言
本文探討研究了常用于人工智能深度學(xué)習(xí)中并基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的不同損失函數(shù)(SoftMax;SphereFace[1];CosFace[2];ArcFace[3])。其中SoftMax損失函數(shù)可以區(qū)分不同類別的數(shù)據(jù)并對(duì)其分類,但不要求相同類別之間緊密結(jié)合以及不同類別之間較大分離,且其權(quán)重矩陣大小與特征數(shù)量n成線性正相關(guān)。學(xué)習(xí)到的特征在閉集分類問(wèn)題上能夠被區(qū)分,但在開(kāi)集問(wèn)題上不能很好被區(qū)分,不適合大規(guī)模數(shù)據(jù)訓(xùn)練。SphereFace在前者的基礎(chǔ)上進(jìn)行改進(jìn),通過(guò)對(duì)最后一層全連接層輸出的改變,使損失函數(shù)完全由特征和權(quán)重之間的角度決定,通過(guò)添加乘性角度裕量m使特征具有可辨別性,但SphereFace損失函數(shù)在訓(xùn)練時(shí)需要計(jì)算一系列的近似值,這導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練并不穩(wěn)定。CosFace通過(guò)添加加性角度裕量,將角度裕量m移至cosθ外部,訓(xùn)練更容易實(shí)現(xiàn),損失函數(shù)更易收斂。ArcFace通過(guò)添加附加角度裕量即將角度裕量m添加在cosθ內(nèi)部,使空間中的決策邊界最大化,在空間上有更好的幾何解釋,能夠更加清晰辨別特征。
本文通過(guò)基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu)中的ResNet 50網(wǎng)絡(luò)結(jié)構(gòu),在Public Figures Face Database(Pubfig)數(shù)據(jù)集(包含200個(gè)ID,每個(gè)ID包含10張不同角度,表情,姿勢(shì)的照片,其中選取每人4張照片作為驗(yàn)證集,包含了1 200個(gè)正樣本對(duì),398 000個(gè)負(fù)樣本對(duì))上進(jìn)行損失函數(shù)對(duì)比分析。
人臉識(shí)別技術(shù),如刷臉付款,刷臉安檢等等,已經(jīng)涉及我們?nèi)粘I畹姆椒矫婷?,但其在小學(xué)生監(jiān)護(hù)人接送安全領(lǐng)域并不普及。本文在人工智能人臉識(shí)別的基礎(chǔ)之上,研究并對(duì)比分析了卷積神經(jīng)網(wǎng)絡(luò)中的不同損失函數(shù),發(fā)現(xiàn)ArcFace損失函數(shù)具有良好的性能,通過(guò)基于四川大學(xué)錦城學(xué)院人工智能實(shí)驗(yàn)室在Pubfig公開(kāi)數(shù)據(jù)集上的訓(xùn)練結(jié)果分析,得到ArcFace損失函數(shù)的人臉識(shí)別模型達(dá)到87%的準(zhǔn)確率,并基于此模型模擬實(shí)時(shí)監(jiān)護(hù)人安全接送人臉識(shí)別,模型能夠準(zhǔn)確識(shí)別人臉,并比對(duì)數(shù)據(jù)庫(kù)中的人臉信息判別是否是監(jiān)護(hù)人。該實(shí)驗(yàn)分析與結(jié)果驗(yàn)證了基于ArcFace損失函數(shù)的人臉識(shí)別在小學(xué)生監(jiān)護(hù)安全領(lǐng)域上的優(yōu)勢(shì)和可行性。
1? 損失函數(shù)
1.1? SoftMax
SoftMax在深度學(xué)習(xí)中常用于多種類別的分類過(guò)程,它讓多個(gè)神經(jīng)元的輸出值映射在0到1之間并且其總和為1,類似概率,我們將輸出值最大的結(jié)點(diǎn)作為預(yù)測(cè)的目標(biāo)類別。Softmax交叉熵?fù)p失函數(shù)公式:
其中,xi為樣本特征,yi為樣本所屬類別,Wj為權(quán)重矩陣的第j列,bj為偏執(zhí)量,N為批處理大小,n為類別數(shù)量。未改良的SoftMax損失函數(shù)只能通過(guò)輸出值對(duì)其分類,并不能通過(guò)優(yōu)化來(lái)緊密結(jié)合相同類別,也不能較大區(qū)分不同類別,這并不適合人臉識(shí)別訓(xùn)練。
1.2? SphereFace
SoftMax損失函數(shù)的決策邊界為(W1-W2)x+b1-b2,SphereFace通過(guò)固定‖W1‖=‖W2‖=1,b1=b2=0,,SphereFace損失函數(shù)的決策邊界為‖x‖(cos(θ1)-cos(θ2))=0,如果我們將特征向量x固定,其決策邊界只取決于θ,SphereFace能夠直接優(yōu)化角度,但是其區(qū)分度并不明顯,于是通過(guò)添加角度裕量m來(lái)控制決策界線:‖x‖(cos(mθ1)-cos(mθ2))=0。SphereFace損失函數(shù)公式如下:
其中,m的大小與角度距離成正相關(guān),由于乘性角度裕量可能會(huì)使cos函數(shù)超出范圍,我們需要對(duì)其進(jìn)行約束來(lái)保證cos函數(shù)單調(diào):
m的添加雖然讓特征有了可判別性,但在實(shí)際訓(xùn)練時(shí),面對(duì)分類類別巨大的數(shù)據(jù)集時(shí),SphereFace損失函數(shù)不容易收斂,所以在實(shí)際訓(xùn)練時(shí)添加了動(dòng)態(tài)參數(shù)lambda來(lái)調(diào)整。SphereFace的改進(jìn)在一定程度上使得相同的類別之間更加緊密,不同類別之間更加有區(qū)分度,但是由于超參數(shù)的添加,訓(xùn)練時(shí)會(huì)相對(duì)棘手。
1.3? CosFace
CosFace將角度裕量m移動(dòng)到了cos函數(shù)的外部,損失函數(shù)公式為:
其中,將L2中的‖xi‖固定為特征規(guī)模大小s,在訓(xùn)練時(shí)CosFace時(shí),沒(méi)有棘手的超參數(shù)lambda,使得訓(xùn)練更容易實(shí)現(xiàn),損失函數(shù)更容易收斂。
1.4? ArcFace
與CosFace相比,ArcFace將加性角度裕量m移動(dòng)到了cosθ的內(nèi)部,損失函數(shù)公式如下:
相較于其他損失函數(shù),ArcFace能在幾何空間上更好詮釋角度距離,它可以與超平面上的地測(cè)線相對(duì)應(yīng)并更直觀地使決策邊界最大化,各個(gè)損失函數(shù)的決策邊界變化如表1所示。
Softmax能對(duì)兩個(gè)類別進(jìn)行分類,但是并不能體現(xiàn)不同類別的之間的差異性以及相同類別之間的緊密性;ArcFace相較其他非線性角度裕量損失函數(shù)來(lái)說(shuō),決策邊界始終保持穩(wěn)定。訓(xùn)練ArcFace時(shí)所需代碼量很少,且與其它損失函數(shù)不同的是,ArcFace自身可以達(dá)到很好的訓(xùn)練效果,不結(jié)合其他損失函數(shù)就能在多種不同類型的訓(xùn)練數(shù)據(jù)集上達(dá)到較高的準(zhǔn)確率以及更好地收斂函數(shù),且適用于許多深度學(xué)習(xí)網(wǎng)絡(luò)框架(MxNet;Pytorch;Tensorflow)。在文獻(xiàn)[3]中,在10個(gè)人臉識(shí)別的基準(zhǔn)上,ArcFace在大量的圖片和視頻數(shù)據(jù)集中都有最高水準(zhǔn)的表現(xiàn)。
2? 實(shí)驗(yàn)
2.1? 實(shí)驗(yàn)數(shù)據(jù)集
實(shí)驗(yàn)數(shù)據(jù)集PubFig為哥倫比亞大學(xué)公開(kāi)人物數(shù)據(jù)集,是一個(gè)大型的真實(shí)人臉數(shù)據(jù)庫(kù),包含從互聯(lián)網(wǎng)上搜集的200個(gè)ID,58 797張的人臉圖片。這些圖片并非是在特定場(chǎng)合與條件拍攝得來(lái),因此姿勢(shì),攝像設(shè)備,光照,成像條件,表情動(dòng)作,場(chǎng)景等參數(shù)都大不相同。作者通過(guò)數(shù)據(jù)集提供的網(wǎng)頁(yè)鏈接進(jìn)行數(shù)據(jù)爬取,清洗其中網(wǎng)頁(yè)不可訪問(wèn)的數(shù)據(jù),不可使用的數(shù)據(jù),非攝像頭獲取的數(shù)據(jù)以及光照不適,遮擋物遮蓋,圖像不清晰等數(shù)據(jù),最后選取每個(gè)人10張不同姿勢(shì)(如圖1所示),表情,光照等照片,其中每人4張圖片作為驗(yàn)證集,包含了1 200個(gè)正樣本對(duì),398 000個(gè)負(fù)樣本對(duì)。在訓(xùn)練之前,采用多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)(MTCNN)對(duì)數(shù)據(jù)集進(jìn)行人臉檢測(cè)和裁剪,圖片數(shù)據(jù)預(yù)處理裁剪大小。
2.2? 實(shí)驗(yàn)設(shè)置與結(jié)果
本文數(shù)據(jù)集訓(xùn)練基于Ubantu 18.04.4操作系統(tǒng),MXNet深度學(xué)習(xí)框架,并在4個(gè)GeForce GTX 1080Ti的GPU上訓(xùn)練,采用Python語(yǔ)言。網(wǎng)絡(luò)結(jié)構(gòu)選擇深度卷積神經(jīng)網(wǎng)絡(luò)中的ResNet50。在PubFig數(shù)據(jù)集上,對(duì)上述四種損失函數(shù)進(jìn)行訓(xùn)練,在實(shí)驗(yàn)過(guò)程中,采用隨機(jī)梯度下降(SGD),學(xué)習(xí)率設(shè)置為0.1,batch size設(shè)置為128,由于數(shù)據(jù)集規(guī)模不大,最大迭代次數(shù)設(shè)置為100次。
由表2和圖2可知,算法在經(jīng)過(guò)10 000個(gè)batch訓(xùn)練之后,其中ArcFace的準(zhǔn)確率最高,達(dá)到了87%,CosFace與ArcFace表現(xiàn)相差不大,SphereFace最高準(zhǔn)確率比ArcFace低了5%,SoftMax相較于其他損失函數(shù)表現(xiàn)較差,由此可見(jiàn)ArcFace損失函數(shù)的性能在PubFig上有很好的的表現(xiàn)。各個(gè)損失函數(shù)在模型訓(xùn)練時(shí),收斂情況良好,由于數(shù)據(jù)集規(guī)模較小,且訓(xùn)練準(zhǔn)確率和驗(yàn)證準(zhǔn)確率都較高,損失函數(shù)都迅速收斂并且效果不錯(cuò),由此可見(jiàn)在PubFig公開(kāi)數(shù)據(jù)集上的試驗(yàn)達(dá)到了預(yù)期的目的。
3? 小學(xué)生監(jiān)護(hù)人接送人臉識(shí)別應(yīng)用
3.1? 應(yīng)用背景
有關(guān)小學(xué)生監(jiān)護(hù)人接送的安全問(wèn)題一直備受社會(huì)關(guān)注,由于小學(xué)生放學(xué)時(shí),人流量大,秩序混亂,小學(xué)生年齡小,安全意識(shí)低,容易發(fā)生拐騙兒童等不安全事件,面對(duì)小學(xué)生的安全接送問(wèn)題,低年級(jí)的學(xué)生應(yīng)由監(jiān)護(hù)人親自接送,學(xué)校也應(yīng)采取相應(yīng)措施防止意外事件發(fā)生。
對(duì)來(lái)接小學(xué)生放學(xué)的監(jiān)護(hù)人進(jìn)行人臉識(shí)別,能夠快速有效地辨別監(jiān)護(hù)人身份,安全接走孩子。當(dāng)出現(xiàn)非監(jiān)護(hù)人接小學(xué)生放學(xué)的特殊情況時(shí),也可以及時(shí)記錄其人臉信息。有效地降低了意外事件發(fā)生的風(fēng)險(xiǎn)。
3.2? 監(jiān)護(hù)人接送人臉識(shí)別基本流程
如圖3所示,在使用系統(tǒng)之前,我們需要收集學(xué)生監(jiān)護(hù)人的基本信息,并將其人臉圖像以及基本信息保存在數(shù)據(jù)庫(kù)中,這部分信息一般在學(xué)生進(jìn)校時(shí)就會(huì)收集,所以信息收集以及數(shù)據(jù)庫(kù)的建立相對(duì)容易。在監(jiān)護(hù)人接小學(xué)生之前,首先通過(guò)攝像設(shè)備獲取其人臉數(shù)據(jù)信息,再與監(jiān)護(hù)人數(shù)據(jù)庫(kù)進(jìn)行對(duì)照,判斷該人是否在庫(kù),如果在庫(kù),則允許接走孩子,如果不在庫(kù),則保存該人的圖像信息,并及時(shí)聯(lián)系學(xué)生監(jiān)護(hù)人確認(rèn)接人者身份,教師或管理人判斷是否允許接走孩子。
其中攝像頭獲取到的圖像作為圖像輸入,運(yùn)用MTCNN算法實(shí)現(xiàn)人臉檢測(cè),并將人臉圖片裁剪為112×112像素大小,通過(guò)基于ArcFace損失函數(shù)訓(xùn)練出的模型來(lái)獲取人臉特征,再通過(guò)和數(shù)據(jù)庫(kù)保存的人臉特征進(jìn)行對(duì)比,判斷該人是否在數(shù)據(jù)庫(kù)中,并輸出結(jié)果。
3.3? 監(jiān)護(hù)人接送人臉識(shí)別檢測(cè)需求
由于學(xué)生放學(xué)時(shí)人員出入量巨大,在處理數(shù)據(jù)時(shí),單線程獲取個(gè)人特征值的時(shí)間應(yīng)不多于150 ms,攝像頭分辨率應(yīng)200萬(wàn)像素以上,識(shí)別精度要求高,速度快,從人臉開(kāi)始檢測(cè)到輸出結(jié)果應(yīng)小于1 s。系統(tǒng)應(yīng)能夠處理人臉識(shí)別時(shí)的各種情況,如豐富的面部動(dòng)作:眨眼、打哈欠、皺眉等;能夠處理不同程度的自然光:高強(qiáng)度曝光、天氣陰暗等;能夠處理不同姿態(tài):歪頭、斜側(cè)臉等;能夠處理不同年齡段的人臉:老年人、中年人、青少年;能夠降低各式發(fā)型以及面部裝飾影響:有劉海、戴帽子或眼鏡、妝容等。
3.4? 簡(jiǎn)易檢測(cè)效果圖
如圖4所示,通過(guò)基于Arcface損失函數(shù)訓(xùn)練得到的人臉識(shí)別模型進(jìn)行小學(xué)生監(jiān)護(hù)安全接送情景模擬,如其中第一張圖是未將人臉信息存儲(chǔ)在數(shù)據(jù)庫(kù)時(shí),則不能識(shí)別人臉。
本研究成員通過(guò)制作人臉數(shù)據(jù)庫(kù)并使用攝像設(shè)備獲得人臉數(shù)據(jù)信息,用基于ArcFace損失函數(shù)訓(xùn)練的模型檢測(cè)人臉,再對(duì)圖像進(jìn)行處理,對(duì)齊人臉并裁剪到112×112像素固定大小,獲取人臉特征信息,并與事先做好的人臉信息數(shù)據(jù)庫(kù)比對(duì),結(jié)果準(zhǔn)確識(shí)別出人臉并標(biāo)注人臉信息。
4? 結(jié)? 論
本文探討了人臉識(shí)別中卷積神經(jīng)網(wǎng)絡(luò)的不同損失函數(shù),并在公開(kāi)數(shù)據(jù)集PubFig上驗(yàn)證ArcFace損失函數(shù)具有較好的表現(xiàn),其準(zhǔn)確率達(dá)到87%。并探究了人臉識(shí)別在監(jiān)護(hù)人接送安全上的應(yīng)用,結(jié)合基于ArcFace損失函數(shù)訓(xùn)練出來(lái)的模型,使用攝像頭獲得人臉數(shù)據(jù)信息并對(duì)比人臉數(shù)據(jù)庫(kù),能夠精準(zhǔn)識(shí)別出是該人是否在庫(kù)。
后續(xù)關(guān)于監(jiān)護(hù)人接送安全系統(tǒng)在網(wǎng)絡(luò)結(jié)構(gòu),識(shí)別速率,處理能力以及硬件設(shè)備等方面還需進(jìn)一步探究和實(shí)現(xiàn)。
參考文獻(xiàn):
[1] LIU W Y,WEN Y D,YU Z D,et al. SphereFace:Deep Hypersphere Embedding for Face Recognition [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).IEEE,2017:6738-6746.
[2] WANG H,WANG Y T,ZHOU Z,et al. Cosface:large margin cosine loss for deep facerecognition [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).IEEE,2018:5265-5274.
[3] DENG J K,GUO J,XUE N N,et al. ArcFace:additive angular margin loss for deep face recognition [C]//2019 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).IEEE,2019:4690-4699.
作者簡(jiǎn)介:胡月文(1999—),女,漢族,四川南充人,本科在讀,研究方向:計(jì)算機(jī)科學(xué)與技術(shù);李丹(1973—),男,漢族,四川綿陽(yáng)人,副教授,碩士,研究方向:自然語(yǔ)言處理。