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