• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于CNN的人臉識(shí)別研究與實(shí)現(xiàn)

    2021-02-19 05:28:04谷廣兵沈曉萍王玉婷
    現(xiàn)代信息科技 2021年13期
    關(guān)鍵詞:人臉檢測(cè)

    谷廣兵 沈曉萍 王玉婷

    摘 ?要:人臉識(shí)別技術(shù)是人工智能一個(gè)典型的應(yīng)用場(chǎng)景,為了實(shí)現(xiàn)基于微信小程序的人臉登錄功能,文章對(duì)人臉區(qū)域檢測(cè)、人臉特征提取、人臉判別內(nèi)容進(jìn)行了研究。人臉區(qū)域檢測(cè)通過(guò)tensorflow-ssd 進(jìn)行模型搭建并采用widerface進(jìn)行模型參數(shù)的訓(xùn)練。人臉特征提取采用facenet進(jìn)行模型搭建并采用LFW數(shù)據(jù)集進(jìn)行模型參數(shù)的訓(xùn)練,然后采用歐式距離進(jìn)行人臉相似度計(jì)算,以TensorFlow將訓(xùn)練好的模型以PB格式存儲(chǔ),通過(guò)Python完成上述功能模塊的封裝,并與前端微信小程序完成數(shù)據(jù)交互。通過(guò)測(cè)試,系統(tǒng)可以完成人臉注冊(cè)、人臉登錄功能。

    關(guān)鍵詞:TensorFlow;SSD;facenet;人臉檢測(cè);人臉匹配

    中圖分類(lèi)號(hào):TP391.4 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)13-0014-05

    Research and Implementation of Face Recognition Based on CNN

    GU Guangbing, SHEN Xiaoping, WANG Yuting

    (Jiaxing Vocational & Technical College, Jiaxing ?314036, China)

    Abstract: Face recognition technology is a typical application scenario of artificial intelligence. In order to realize the face login function based on WeChat applet, the paper studies face region detection, face feature extraction and face discrimination. The face region detection model is built by tensorflow-ssd, and the model parameters are trained by wideface. Face feature extraction uses facenet to build the model and LFW data set to train the model parameters, then uses European distance to calculate the face similarity, stores the trained model in Pb format with tensorflow, completes the packaging of the above functional modules through python, and completes the data interaction with the front-end WeChat applet. Through the test, the system can complete the face registration and face login functions.

    Keywords: TensorFlow; SSD; facenet; face detection; face matching

    0 ?引 ?言

    人臉識(shí)別[1]是人工智能技術(shù)落地的一個(gè)重要體現(xiàn)。在當(dāng)今社會(huì)中,人臉識(shí)別廣泛應(yīng)用在考勤、門(mén)禁、醫(yī)療診斷、公共安全系統(tǒng)、監(jiān)視系統(tǒng)等領(lǐng)域,與人臉識(shí)別有關(guān)的應(yīng)用智能化最高,相關(guān)業(yè)務(wù)落地更深入。以曠視集團(tuán)、商湯科技、科大訊飛為代表的一批企業(yè)在該方面的研究較為超前,提供了API接口,具備明顯的發(fā)展優(yōu)勢(shì)??傊?,人臉識(shí)別作為新興技術(shù),有很好的安全性、可靠性和有效性,并且在很多新興生物特征識(shí)別技術(shù)中脫穎而出。

    本文以深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)[2],通過(guò)數(shù)據(jù)集的選取、數(shù)據(jù)集的清洗與打包、模型的訓(xùn)練與測(cè)試、PB模型文件的轉(zhuǎn)化,并最終以微信小程序?yàn)榭蛻?hù)端,以flask框架為服務(wù)端完成系統(tǒng)的實(shí)現(xiàn),完成人臉驗(yàn)證的功能,從而讓新興技術(shù)成果能很好地轉(zhuǎn)化。

    1 ?技術(shù)分析

    本文研究過(guò)程中,以深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)、TensorFlow為技術(shù)核心。深度學(xué)習(xí)[3]是一種含有多隱藏層的多層感知器,在已知網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)結(jié)構(gòu)內(nèi)部參數(shù)的前提下,通過(guò)“前向運(yùn)算”完成目標(biāo)任務(wù)分類(lèi)的功能,屬于“怎么用”的范疇;通過(guò)“反向傳播”可以完成網(wǎng)絡(luò)參數(shù)的學(xué)習(xí),也就是一種有監(jiān)督的學(xué)習(xí)過(guò)程,屬于“怎么學(xué)”的范疇。TensorFlow 是一個(gè)基于數(shù)據(jù)流圖的可用于大規(guī)模分布式數(shù)值計(jì)算的開(kāi)源框架,主要分為計(jì)算圖的搭建、計(jì)算圖的訓(xùn)練兩大部分。

    1.1 ?卷積神經(jīng)網(wǎng)絡(luò)

    深度學(xué)習(xí)涉及卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、自動(dòng)編碼機(jī)(Autoencoder)等內(nèi)容。卷積神經(jīng)網(wǎng)絡(luò)主要用來(lái)解決圖像問(wèn)題,因此也是本文所采用的網(wǎng)絡(luò)模型。

    卷積神經(jīng)網(wǎng)絡(luò)是以卷積結(jié)構(gòu)為主搭建起來(lái)的深度網(wǎng)絡(luò),可以自動(dòng)提取所輸入圖片的特征,并且對(duì)圖片的變形(如平移、比例縮放)等具有高度不變性。卷積神經(jīng)網(wǎng)絡(luò)包括兩個(gè)重要的內(nèi)容“卷積”和“池化”。通過(guò)卷積中的卷積核(或者稱(chēng)為濾波器),可以幫助我們找到特定的局部圖像特征(如邊緣),用于后面的網(wǎng)絡(luò)模型中,如圖1 所示。

    由于相鄰像素傾向于具有相似的值,同理,卷積層相鄰的輸出像素包含的大部分信息都是冗余的,此時(shí)通過(guò)引入“池化層”可以在某個(gè)位置找到強(qiáng)邊緣,降低數(shù)據(jù)的冗余,簡(jiǎn)化網(wǎng)絡(luò)的參數(shù),如圖2 所示。

    1.2 ?TensorFlow

    TensorFlow作為一個(gè)數(shù)據(jù)流編程的系統(tǒng),被廣泛用于機(jī)器學(xué)習(xí)。其核心概念包括Graph、Session、tensor:

    (1)Graph主要構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù),實(shí)際應(yīng)用中,可以將訓(xùn)練、測(cè)試過(guò)的模型保存成PB文件,以供后續(xù)使用。以下為相關(guān)程序代碼:

    #將Graph模型保存為PB文件

    import tensorflow as tf

    g = tf.Graph()

    tf.train.write_graph(g.as_graph_def(),”.”,“graph_frozen.pb”)

    #加載PB,還原Graph模型

    with tf.gfile.GFile(graph_frozen.pb,’rb’) as fid:

    serialized_graph = fid.read()

    od_graph_def.ParseFromString(serialized_graph)

    tf.import_graph_def(od_graph_def,name=’’)

    (2)上述Graph必須在Session這個(gè)上下文中完成執(zhí)行,通常將與Graph有關(guān)的操作稱(chēng)之為“前端計(jì)算”,將與Session有關(guān)的操作稱(chēng)之為“后端計(jì)算”。在Session執(zhí)行中,可以指定資源設(shè)備情況、數(shù)據(jù)情況,對(duì)Graph進(jìn)行feed數(shù)據(jù)tensor填充,tensor指的是網(wǎng)絡(luò)解點(diǎn)之間傳輸?shù)臄?shù)據(jù)。相關(guān)程序代碼為:

    #指定CPU資源

    tf.device(‘/cpu:0’):

    #按需分配GPU資源

    gpu_options = tf.GPUOptions(allow_growth=True)

    config = tf.ConfigProto(gpu_options=gpu_options)

    with tf.Session(config=config) as sess:

    ….

    #注入數(shù)據(jù)

    sess.run(OperaInstance,feed_dict=dict_sample)

    2 ?人臉檢測(cè)與人臉匹配模型構(gòu)建

    人臉檢測(cè)與人臉匹配[4]模型是系統(tǒng)實(shí)現(xiàn)的主要功能,如圖3所示為人臉檢測(cè)、識(shí)別的主要流程圖,分別要經(jīng)過(guò)人臉數(shù)據(jù)采集、人臉數(shù)據(jù)預(yù)處理,人臉特征提取,人臉相似度度量。其中,人臉數(shù)據(jù)采集需要捕捉人臉信息,并上傳至服務(wù)端,服務(wù)端進(jìn)行臨時(shí)存儲(chǔ);預(yù)處理是提取一個(gè)如同(449 330 122 149)的人臉坐標(biāo)信息;人臉特征提取主要是提取128維的特征向量,人臉相似度比對(duì),是對(duì)數(shù)據(jù)庫(kù)中預(yù)存的人臉特征進(jìn)行歐拉計(jì)算,選取差距最小的預(yù)存信息。

    2.1 ?人臉檢測(cè)

    人臉檢測(cè)屬于目標(biāo)檢測(cè)的一種,作為人臉識(shí)別業(yè)務(wù)的重要一環(huán),受人臉姿態(tài)和表情變化、大小、位置、遮擋等因素的影響。目前存在較多的人臉檢測(cè)模型,如R-CNN、SSD、Yolo、MTCNN等。本文所采用的SSD模型[5,6],屬于one-stage檢測(cè)模型,以resnet作為前置網(wǎng)絡(luò)。本模型采用widerface作為數(shù)據(jù)集,該數(shù)據(jù)集背景場(chǎng)景差異較大,因此訓(xùn)練出來(lái)的模型更具有適應(yīng)性。本文采用https: //github.com/tensorflow/models所提供的系統(tǒng)框架進(jìn)行模型的搭建,最終將訓(xùn)練的模型網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)生成PB文件。具體業(yè)務(wù)流程如表1所示。

    2.2 ?人臉匹配

    本節(jié)所述人臉匹配專(zhuān)注于人臉識(shí)別,即通過(guò)當(dāng)前人臉和數(shù)據(jù)庫(kù)中所存人臉進(jìn)行對(duì)比,屬于1∶N的識(shí)別歸類(lèi),其主要分為人臉特征表示、人臉相似度度量?jī)蓚€(gè)方面。FaceNet[7]采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)學(xué)習(xí)人臉到歐式空間的映射,因此歐式空間里距離的度量關(guān)聯(lián)著人臉相似度,同一個(gè)人的不同圖像在空間中的距離很小,不同人的圖像在空間中有較大的距離。并采用triplet_loss[8]來(lái)衡量訓(xùn)練過(guò)程中樣本之間的距離誤差,網(wǎng)絡(luò)直接輸出為128維度的向量空間。

    本文采用https: //github.com/davidsandberg/facenet.git所提供的系統(tǒng)框架進(jìn)行模型的搭建,最終將訓(xùn)練的模型網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)生成PB文件。具體業(yè)務(wù)流程如表2所示。

    3 ?程序?qū)崿F(xiàn)

    前述內(nèi)容分別完成了基于CNN的人臉檢測(cè)、人臉匹配模型的訓(xùn)練,并將模型保存為PB文件。本文將采用微信小程序作為客戶(hù)端,微信小程序是基于手機(jī)微信的一種客戶(hù)端集成平臺(tái),具有功能強(qiáng)大的組件庫(kù),本文將采用媒體組件camera實(shí)時(shí)捕捉用戶(hù)人臉,使用畫(huà)布canvas展示人臉圖像。在服務(wù)端語(yǔ)言選擇上,使用Python語(yǔ)言,可以提取PB文件中的網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),通過(guò)封裝Python函數(shù)的方式,完成輸入數(shù)據(jù)的前向運(yùn)算,并使用flask作為服務(wù)端框架,完成人臉識(shí)別程序的開(kāi)發(fā)工作。該程序業(yè)務(wù)流程圖如圖4所示。

    3.1 ?人臉注冊(cè)

    人臉注冊(cè)模塊可以選擇從相冊(cè)中選擇,也可以選擇相機(jī)按鈕從系統(tǒng)中實(shí)時(shí)采集。后端/frServer/register 接口負(fù)責(zé)對(duì)上傳信息進(jìn)行校驗(yàn),主要是針對(duì)人臉坐標(biāo)位置的提取,如果此時(shí)未能檢測(cè)出人臉,則返回“error”信息,效果圖如圖5所示。

    3.2 ?人臉登錄

    人臉登錄模塊將通過(guò)攝像頭捕捉當(dāng)前人臉區(qū)域,后端接口調(diào)用/frServer/login。通過(guò)完成人臉框提取,如圖6、圖7所示,進(jìn)一步調(diào)用特征提取函數(shù),提取128維特征向量,通過(guò)與數(shù)據(jù)庫(kù)中存儲(chǔ)的特征進(jìn)行歐式距離計(jì)算,找出相似度最高的數(shù)據(jù),從而驗(yàn)證成功進(jìn)行跳轉(zhuǎn),如圖8所示。如果未能找出相似度數(shù)據(jù),則提示登錄失敗,如圖9所示,更換其他方式登錄。

    4 ?結(jié) ?論

    人臉識(shí)別技術(shù)是深度學(xué)習(xí)的重要研究方向,在當(dāng)前人工智能領(lǐng)域有著廣泛的應(yīng)用,本文主要側(cè)重于研究人臉區(qū)域識(shí)別、人臉特征向量提取,在研究過(guò)程中,運(yùn)用了深度學(xué)習(xí)網(wǎng)絡(luò)中的SSD、facenet模型,以及resnet、triplet等深度學(xué)習(xí)網(wǎng)絡(luò),分別進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)打包、模型參數(shù)選取、模型訓(xùn)練、數(shù)據(jù)驗(yàn)證等。在后續(xù)的研究過(guò)程中,將側(cè)重于人臉關(guān)鍵點(diǎn)提取、人臉屬性判定的研究。

    目前,隨著人臉識(shí)別算法的發(fā)展,人臉識(shí)別精度也越來(lái)越高,但同時(shí)也面臨諸如低質(zhì)量人臉識(shí)別、人臉?lè)纻蔚葐?wèn)題。相信隨著相關(guān)技術(shù)的發(fā)展以及法律制度的健全,上述問(wèn)題會(huì)得到很好的解決。

    參考文獻(xiàn):

    [1] 張晶晶,李秋艷,劉碩,等.基于深度學(xué)習(xí)的人臉識(shí)別在身份認(rèn)證領(lǐng)域應(yīng)用綜述 [J].數(shù)據(jù)通信,2021(4):1-6.

    [2] 張廣才,何繼榮,高文朋.基于深度學(xué)習(xí)的人臉識(shí)別研究 [J].無(wú)線(xiàn)互聯(lián)科技,2019,16(19):133-135.

    [3] 郭麗麗,丁世飛.深度學(xué)習(xí)研究進(jìn)展 [J].計(jì)算機(jī)科學(xué),2015,42(5):28-33.

    [4] 余璀璨,李慧斌.基于深度學(xué)習(xí)的人臉識(shí)別方法綜述 [J].工程數(shù)學(xué)學(xué)報(bào),2021,38(4):451-469.

    [5] WU W Y,QIAN C,YANG S,et al. Look at boundary:a boundary-aware face alignment algorithm [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City:IEEE,2018:2129-2138.

    [6] LIU W,ANGUELOV D,ERHAN D,et al. SSD:single shot multibox detector [C]// European Conferenceon Computer Vision,Amsterdam,Netherlands,2016:21-37.

    [7] SCHROFF F,KALENICHENKO D,PHILBIN J. FaceNet:a united embedding for face recognition andclustering [C]//IEEE Conference on Computer Vision and Pattern Recognition,Boston,MA,USA. IEEE,2015:815-823.

    [8] YI D,LEI Z,LIAO S C,et al. Learning face representation from scratch [EB/OL].(2014-11-28).https://arxiv.org/abs/1411.7923.

    作者簡(jiǎn)介:谷廣兵(1986—),男,漢族,河南漯河人,講師,碩士,研究方向:計(jì)算機(jī)視覺(jué)、大數(shù)據(jù)技術(shù)、工業(yè)互聯(lián)網(wǎng)。

    猜你喜歡
    人臉檢測(cè)
    膚色與唇色信息相結(jié)合的人臉檢測(cè)
    科技資訊(2017年18期)2017-07-19 16:35:31
    人臉檢測(cè)技術(shù)綜述
    基于Android的車(chē)載疲勞駕駛監(jiān)控系統(tǒng)研究與設(shè)計(jì)
    一種魯棒的長(zhǎng)期人臉特征點(diǎn)跟蹤系統(tǒng)
    基于改進(jìn)的Adaboost算法在人臉檢測(cè)與識(shí)別中的應(yīng)用與研究
    JNI技術(shù)在基于OpenCV的人臉與微笑檢測(cè)中的應(yīng)用
    基于人臉特征定位的SNS網(wǎng)站應(yīng)用組件研究與設(shè)計(jì)
    基于Android平臺(tái)的人臉識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
    基于Matlab的人臉檢測(cè)實(shí)驗(yàn)設(shè)計(jì)
    基于交互式隨機(jī)動(dòng)作的人臉活體檢測(cè)
    东山县| 四子王旗| 秭归县| 景宁| 横山县| 桦川县| 河池市| 榆社县| 漯河市| 阿瓦提县| 东阿县| 屏山县| 潢川县| 温泉县| 平度市| 阳东县| 高台县| 睢宁县| 宝应县| 新营市| 台中市| 莎车县| 水城县| 高邮市| 恩施市| 义乌市| 关岭| 安龙县| 泰宁县| 尉犁县| 柞水县| 克什克腾旗| 平远县| 浦江县| 东丰县| 恩平市| 施秉县| 全南县| 平和县| 梓潼县| 贵溪市|