国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于級聯(lián)卷積網(wǎng)絡(luò)的移動端人臉識別系統(tǒng)實現(xiàn)

2021-09-10 06:25馬無錫羅堅
關(guān)鍵詞:人臉識別

馬無錫 羅堅

摘? 要:考慮到現(xiàn)有人臉識別算法的準確率和可移植性,設(shè)計并且實現(xiàn)了一個基于Android平臺的人臉識別考勤系統(tǒng)。該系統(tǒng)可以直接部署到采用Android系統(tǒng)的移動設(shè)備,通過攝像頭采集圖片并根據(jù)已錄入的人臉庫數(shù)據(jù)對檢測到的人臉進行識別和考勤登記。本系統(tǒng)采用一種基于級聯(lián)卷積網(wǎng)絡(luò)的人臉檢測算法MTCNN和人臉特征提取算法FaceNet來實現(xiàn)人臉識別??紤]到移動設(shè)備計算能力的有限性,采用NCNN框架將兩種算法進行移植到Android平臺。最終測試表明,本文系統(tǒng)的實時性和準確率基本滿足實際需要。

關(guān)鍵詞:人臉識別;算法移植;MTCNN;FaceNet

中圖分類號:G255? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ?文章編號:1672-0105(2021)01-0063-05

A Face Recognition System on Mobile Devices Based on Cascaded Convolutional Networks

MA Wu-xi, LUO Jian

(Zhejiang Industry & Trade Vocational College, Wenzhou,325003,China)

Abstract:? In this paper, according to the accuracy and portability of existing face recognition algorithm, a face recognition system which based on the Android platform is used in attendance. The system can take photos and identify the registered people who in the database, and it can be directly deployed to mobile devices using the Android system. In the algorithm, the face detection algorithm called MTCNN based on cascaded convolutional network and Face feature extraction algorithm called FaceNet are used to realize the face recognition. Considering the limited computing power of mobile devices, the deep learning framework called NCNN was used to transplant algorithms to the Android platform. Finally, the accuracy and real time of the system in this paper meet the actual needs.

Key Words:? face recognition; algorithm transplant; MTCNN; FaceNet

一、引言

人臉識別一直以來是人工智能領(lǐng)域與生物特征領(lǐng)域非?;钴S的研究方向,主要包括人臉檢測和識別兩個部分。近年來,隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,人臉識別技術(shù)非常成熟,已經(jīng)廣泛應(yīng)用到商業(yè)、文化、安全等很多領(lǐng)域,扮演著非常重要的角色。

對于人臉識別系統(tǒng),正確率和實時性是衡量系統(tǒng)的兩個關(guān)鍵性指標,也是眾多人臉識別算法自始至終不斷超越的目標。人臉識別算法從傳統(tǒng)依賴于人工設(shè)計特征和機器學(xué)習(xí)組合的方式轉(zhuǎn)化成基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法,在檢測和識別的正確率上有了很大的提升。這也是目前人臉識別得以廣泛應(yīng)用到我們生活中的重要原因。

基于深度學(xué)習(xí)的目標檢測算法,從Ross Girshick提出的RCNN系列算法[1-3](包括:Region-CNN、Fast Rcnn、Faster Rcnn)到后續(xù)的SSD[4](Single Shot MultiBox Detector)、YOLO(You Only Look Once)系列算法[5-7]以及專門用于人臉檢測的MTCNN(Multi-task Cascaded Convolutional Networks)算法[8],不僅在檢測速度上有了巨大的提高,而且檢測目標的完整性以及對于小目標的檢測能力越來越強。在人臉識別方面,F(xiàn)acebook提出的DeepFace[9]、湯曉鷗團隊的DeepID系列算法[10]、Brandon的OpenFace[11]、中科院的SeetaFace以及谷歌的FaceNet[12]等算法,在識別準確性上均有很高的準確率。

本文采用人臉檢測算法MTCNN和人臉識別算法FaceNet通過移動端深度學(xué)習(xí)框架NCNN移植到Android平臺,并開發(fā)了一款人臉識別APP,用來實現(xiàn)對上課學(xué)生的點名,從而大大提升了傳統(tǒng)點名方式的效率。

二、算法介紹

(一)MTCNN算法簡介

MTCNN是Kaipeng Zhang等人于2016年提出的一種級聯(lián)卷積網(wǎng)絡(luò)結(jié)構(gòu)。它采用多任務(wù)學(xué)習(xí)的方式,可以同時完成人臉檢測和人臉關(guān)鍵點檢測兩個任務(wù),主要輸出人臉區(qū)域的檢測框以及眼睛、鼻子、嘴角五個關(guān)鍵點。該算法主要由三個網(wǎng)絡(luò)組成,從粗檢測到細檢測分別為:Proposal Network(P-Net)、Refine Network(R-Net)、Output Network(O-Net),每個網(wǎng)絡(luò)以前一個網(wǎng)絡(luò)的輸出作為輸入,具體的人臉檢測流程如圖1所示。

MTCNN算法使用的級聯(lián)卷積結(jié)構(gòu),以及訓(xùn)練過程中采用“在線困難樣本挖掘”和“人臉對齊聯(lián)合學(xué)習(xí)”策略,極大地提升了檢測效果。該算法在準確率和實時性上的優(yōu)勢使其成為人臉檢測項目中普遍采用的一種方案??紤]到實際應(yīng)用中人不一定正對攝像頭,為了提高算法的人臉檢測效果,在原來人臉訓(xùn)練數(shù)據(jù)集上增加了側(cè)臉樣本。為比較MTCNN算法和其他人臉檢測算法在檢測率、誤檢率以及檢測速度等指標上的差異,使用論文[13]中的人臉數(shù)據(jù)集來進行測試,測試結(jié)果見表1。

從表1可看出MTCNN的檢測速度是最快的,檢測準確率處于MMOD和SSD兩種算法之間,在漏檢率上明顯低于其他兩種算法。考慮到MTCNN采用的訓(xùn)練集圖片比較清晰,而漏檢的圖片分辨率較低不夠清晰,因此在后期的訓(xùn)練集中加入模糊的樣本重新對其進行訓(xùn)練,可以有效降低其漏檢率。

(二)FaceNet算法簡介

FaceNet是谷歌公司在2015年提出的一種使用深度學(xué)習(xí)來進行人臉驗證的方法,與其他做人臉識別的深度學(xué)習(xí)不同的是,F(xiàn)aceNet并沒有采用傳統(tǒng)的softmax的方式先進行樣本的分類學(xué)習(xí),然后再將其中某一層的輸出來作為特征,而是直接使用端對端的學(xué)習(xí)方式,將一個圖像映射到歐式空間的編碼方法。該算法的優(yōu)點是只需要裁剪的臉部區(qū)域,不需要額外的處理,如3D對齊等,即可以作為模型的輸入得到圖像的特征編碼,再基于這個編碼可以做人臉識別、人臉驗證和人臉聚類等操作。

三、系統(tǒng)實現(xiàn)

(一)系統(tǒng)框架

本文的識別系統(tǒng)功能分為兩部分:人臉采集和人臉驗證。人臉采集功能主要用來建立人臉庫,由管理員將需要識別的人員通過攝像頭對其臉部進行拍攝1至3張照片(不同角度)作為庫存圖片,并輸入用戶身份信息以供后期查閱。人臉驗證功能主要是根據(jù)用戶拍攝的待識別圖片,檢測出其中的人臉區(qū)域并提取特征,再將特征與人臉庫中預(yù)存的特征進行比對,從而找出最匹配的人臉作為識別結(jié)果。整個系統(tǒng)的實現(xiàn)流程如圖2所示。

(二)算法移植

MTCNN和FaceNet兩個算法,在網(wǎng)上有很多的開源方案,但是基本上都是基于TensorFlow、Caffe、Mxnet等框架的復(fù)現(xiàn)。這些PC端的主流框架在移動端顯得往往過于龐大,而且這些框架非常依賴于GPU,在CPU上訓(xùn)練和測試的時間往往會很長。所以,我們需要將基于PC實現(xiàn)的算法以及訓(xùn)練得到的模型進行移植和壓縮才能放到移動端使用,以達到實時性檢測識別的要求。在此,我們選擇騰訊開源的移動端深度學(xué)習(xí)框架NCNN來進行算法的移植和模型的壓縮。

深度學(xué)習(xí)模型經(jīng)過壓縮后,在檢測精度上必然有一定的損失,但是經(jīng)過測試,壓縮模型的效果依然可以滿足實際需要,因此可以用來在移動端進行檢測。MTCNN移植后的人臉檢測效果如圖3所示。

在MTCNN檢測到人臉的基礎(chǔ)上采用移植后的FaceNet來進行特征的提取,并計算人臉的相似性,具體效果如圖4所示。從圖中可以明顯看出,兩個相似人臉的歐式距離明顯小于1,而非相似人臉間的歐式距離大于1。

(三)人臉矯正

在實際檢測人臉的過程中,人臉往往會有傾斜,會對人臉特征的提取產(chǎn)生影響,從而導(dǎo)致人臉識別時候誤差的產(chǎn)生。因此,在提取人臉特征之前需要先對人臉進行校正,才能保證所提取特征的準確性?;谠谌四槞z測階段已經(jīng)得到了五個關(guān)鍵點(眼睛、鼻子,嘴角),在此,我們以兩只眼睛的關(guān)鍵點作為校正的標準,即在正臉情況下,兩只眼睛的連線應(yīng)該是處于水平狀態(tài)。根據(jù)眼睛關(guān)鍵點的連線與水平線的夾角來計算得到人臉向左或者向右傾斜的角度,從而對人臉進行放射變換來進行校正即可,具體過程如圖5所示。其中,圖5-a是原圖人臉檢測的結(jié)果,圖5-b是為做校正前的人臉圖片,圖5-c是校正過后的人臉圖片。

四、系統(tǒng)集成

(一)開發(fā)環(huán)境

本文系統(tǒng)實現(xiàn)平臺為Android 7.0系統(tǒng),采用的編程軟件為Android Studio3.3,并使用最新的NCNN作為深度學(xué)習(xí)框架。主要使用的編程語言為Java,編程平臺為64位Windows系統(tǒng),測試平臺為華為Mate30手機。

(二)界面設(shè)計

用戶界面如圖6所示,主要分為人臉登記、人臉識別、人臉庫查看三個部分。人臉登記部分的流程為:選擇人臉登記;通過攝像頭采集等待需要錄入的學(xué)生人臉照片,并填寫姓名、班級、學(xué)號等信息,點擊“保存”按鈕將人臉圖片保存至人臉庫。識別部分的流程為:點擊“考勤”按鈕;通過攝像頭從多個角度拍攝多張學(xué)生的集體照片,然后點擊“識別”按鈕,等待該班級的考勤結(jié)果。人臉庫查看流程為:點擊“人臉庫”按鈕,根據(jù)班級選擇需要查看的班級成員的人臉圖片,并進行相應(yīng)的編輯、刪除操作。

(三)數(shù)據(jù)庫設(shè)計

本文系統(tǒng)采用Android平臺下使用較為廣泛的SQLite作為數(shù)據(jù)庫平臺。SQLite是一種開源、跨平臺的輕量級數(shù)據(jù)庫,具有占用系統(tǒng)資源少、查詢速度快的特點。在本系統(tǒng)中,主要用于存放人臉庫中每個學(xué)生的姓名、班級、學(xué)號等基本個人信息以及考勤信息。為了保證后期的識別速度,在人臉登記時候?qū)⑺杉娜四槇D片的特征向量也保存到數(shù)據(jù)庫中,在進行識別的時候省去了對人臉庫圖片特征的提取。具體的數(shù)據(jù)表內(nèi)容及映射關(guān)系如圖7所示。

(四)系統(tǒng)測試

為考察本文人臉識別考勤系統(tǒng)的性能,在上課時對教室內(nèi)的學(xué)生進行圖像采集進行考勤計數(shù)(如圖6所示),主要測試系統(tǒng)的識別準確率、誤檢率、漏檢率以及檢測速度四個指標,測試結(jié)果如表2所示。

從表2可以看出,圖片中的人臉均被檢測到,識別準確率達到了98.29%,未能達到理想的100%。分析其原因,有些學(xué)生坐得太靠后,導(dǎo)致采集到的人臉圖片較小,所提取到的人臉特征和庫內(nèi)所存的人臉特征相差較大,因此未被準確識別。后續(xù)會在人臉庫中對同一個人增加多個尺度及形態(tài)的底圖用于匹配,可以極大地提高識別率。在Android系統(tǒng)上,單張照片的檢測、識別速度為516毫秒,基本達到了實時效果。

五、結(jié)論

本文基于深度學(xué)習(xí)框架NCNN,將人臉檢測算法MTCNN以及人臉識別算法FaceNet移植到Android平臺,并開發(fā)了一套識別系統(tǒng),主要實現(xiàn)了人臉庫的錄入以及人臉驗證功能,目前用于教師在上課的時候進行學(xué)生的點名。教師在點名的時候,在講臺上通過手機從不同角度拍攝教室內(nèi)學(xué)生的照片,然后軟件會進行人臉識別,統(tǒng)計出有哪些學(xué)生在教室內(nèi),大大減少了教師對學(xué)生點名所消耗的時間,同時拍攝的照片也可以作為現(xiàn)場備案。目前只是將數(shù)據(jù)保存在APP本地,并未上傳至服務(wù)器,對于照片中過小的人臉有存在漏檢的情況,這些都需要后期再進行完善。

參考文獻:

[1] Ross Girshick,Jeff Donahue,etc.Rich feature hierarchies for accurate object detection and semantic segmentation[J]. IEEE Conference on Computer Vision and Pattern Recognition,2014(06):23-28.

[2] Ross Girshick.Fast R-CNN[J]. IEEE International Conference on Computer Vision (ICCV), 2015(09):1440-1448.

[3] Shaoqing Ren,Kaiming He,Ross Girshick,Jian Sun.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J].Advances in Neural Information Processing Systems 28 (NIPS 2015).

[4] Wei Liu,Dragomir Anguelov,Dumitru Erhan,etc.SSD: Single Shot MultiBox Detector[J].ECCV: Computer Vision,2016:21-37.

[5] Joseph Redmon,Santosh Divvala,Ross Girshick,etc.You Only Look Once: Unified, Real-Time Object Detection[J].The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016:779-788.

[6] Joseph Redmon,Ali Farhadi.YOLO9000: Better, Faster, Stronger[J].The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017:7263-7271.

[7] Joseph Redmon,Ali Farhadi.YOLOv3: An Incremental Improvement[J].Computer Science:Computer Vision and Pattern Recognition,2018:4.

[8] Kaipeng Zhang,Zhanpeng Zhang,Zhifeng Li,ect.Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks[J].IEEE Signal Processing Letters,2016:1499-1503.

[9] Yaniv Taigman,Ming Yang,MarcAurelio Ranzato,etc.DeepFace: Closing the Gap to Human-Level Performance in Face Verification[J].IEEE:Conference on Computer Vision and Pattern Recognition,2014(06):1701-1708.

[10] Yi Sun;Xiaogang Wang;Xiaoou Tang.Deep Learning Face Representation from Predicting 10,000 Classes[J].IEEE:Conference on Computer Vision and Pattern Recognition,2014(06):23-28.

[11] Brandon Amos, Bartosz Ludwiczuk,? Mahadev Satyanarayanan.OpenFace: A general-purpose face recognition library with mobile applications[J]. Computer Science,2016.

[12] Florian Schroff, Dmitry Kalenichenko,James Philbin.FaceNet: A Unified Embedding for Face Recognition and Clustering[J].Computer Science:Computer Vision and Pattern Recognition,2015,06

[13] Yi Sun,Xiaogang Wang,Xiaoou Tang.Deep Convolutional Network Cascade for Facial Point Detection[J].IEEE:Conference on Computer Vision and Pattern Recognition (CVPR), 2013:3476-3483

[14] Liu, Wei,Anguelov, Dragomir,Erhan, Dumitr.SSD: Single Shot MultiBox Detector[J].ECCV: Computer Vision 2016:21-37

[15] D. E. King.Max-margin object detection[J]. arXiv preprint arXiv:1502.00046, 2015.)

(責(zé)任編輯:潘修強)

猜你喜歡
人臉識別
人臉識別的“國標”來了
AI企業(yè)云從科技全球FRVT測試中獲得雙冠
基于改進的2DPCA人臉識別方法
中科視拓開放商業(yè)版本人臉識別算法
人臉識別好用但不能濫用
睡夢中被刷臉盜走萬元
榮耀暢玩7C:人臉識別
iPhoneX來了!
刷臉支付
刷臉(雙語加油站)
金乡县| 岱山县| 元阳县| 安国市| 扎兰屯市| 洛川县| 噶尔县| 霞浦县| 墨玉县| 龙游县| 册亨县| 府谷县| 新巴尔虎右旗| 靖州| 介休市| 泊头市| 合肥市| 德兴市| 来宾市| 洞口县| 靖安县| 龙游县| 琼中| 资中县| 长汀县| 内丘县| 叶城县| 雅安市| 新田县| 宜春市| 阿勒泰市| 普定县| 明溪县| 三穗县| 崇文区| 宜章县| 博乐市| 镇江市| 湖州市| 阜新市| 澎湖县|