高見
(揚(yáng)州市職業(yè)大學(xué),江蘇 揚(yáng)州 225000)
當(dāng)前我國數(shù)字化的腳步進(jìn)一步加快,加快經(jīng)濟(jì)增長的同時也對信息領(lǐng)域的技術(shù)更新進(jìn)行了考驗。以人臉識別系統(tǒng)為例,公眾對于人臉識別領(lǐng)域的需求隨著時間的推移越來越變得多樣化和復(fù)雜化,對于人臉識別系統(tǒng)的技術(shù)創(chuàng)新要求也越來越高。本文基于TensorFlow框架對人臉識別技術(shù)進(jìn)行相應(yīng)的研究,并有針對性地設(shè)置相關(guān)的MTCNN模型,同時對其進(jìn)行相應(yīng)的驗證。
Python是一種跨平臺,使用于分布式計算環(huán)境的面向?qū)ο笳Z言,Python是目前使用最廣泛的語言之一,Python具有通用性、穩(wěn)定性、跨平臺性等多個優(yōu)點,并且安全可靠。選擇Python作為基礎(chǔ)語言完成系統(tǒng)主要有以下幾個原因:首先是相對于C、C++和Java等語言,Python語言丟棄了此類語言中的一些人們較為難理解,難使用的功能,例如:頭文件、運算符重載等。還大大降低了出現(xiàn)錯誤的可能性,更實用,更方便;其次是Python語言的面向?qū)ο笮?,Python的面向?qū)ο筇匦?,使Python比較容易與實際生活相結(jié)合,更符合人們的思維方式;最后是Python的跨平臺性,即可移植性,Python語言可以不做修改甚至是做少量的修改就可以在其它平臺上運行,比如Python在win下運行的文件拷貝到linux下也是可以運行的。正是由于Python的這些優(yōu)點,使Python在開發(fā)平臺上被越來越多的運用,使得Python也被更經(jīng)常的用于企業(yè)網(wǎng)站等的建立。所以本研究選擇Python語言作為設(shè)計的基礎(chǔ)語言[1]。
Python語言是構(gòu)建本次系統(tǒng)的基礎(chǔ),但是整個系統(tǒng)都是基于TensorFlow架構(gòu)而進(jìn)行的項目,所以有必要對TensorFlow項目進(jìn)行相應(yīng)的簡述。TensorFlow架構(gòu)有別于傳統(tǒng)的處理端(CLIENT)/服務(wù)器(SERVER)架構(gòu)模式的改進(jìn)和優(yōu)化而形成的瀏覽器(Browser)/服務(wù)器(SERVER)架構(gòu)模式,不單是處理端系統(tǒng)和服務(wù)器系統(tǒng)分別設(shè)置在兩臺計算機(jī)上,由處理端系統(tǒng)將用戶的需求進(jìn)行上報,提供到相應(yīng)的服務(wù)器系統(tǒng)中,再由服務(wù)器系統(tǒng)將結(jié)果反饋到處理端系統(tǒng)。TensorFlow程序在實施運行的基礎(chǔ)上,兼顧一定的準(zhǔn)確性和穩(wěn)定性。TensorFlow還具備完全開源性,可在智能手機(jī)或數(shù)據(jù)服務(wù)中心集群上運行,重要的是基于數(shù)據(jù)流圖(data flow graphs),并可以廣泛的應(yīng)用于語音或圖像分類的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域。TensorFlow系統(tǒng)主要有三種應(yīng)用特點:首先是其基本運作為模塊化運作,處理端機(jī)和服務(wù)器運行的場所不同、職責(zé)不同,但跟傳統(tǒng)的模塊化程序相比,TensorFlow系統(tǒng)能夠在處理端程序和服務(wù)器程序中分別安裝數(shù)據(jù)庫和管理系統(tǒng);其次是TensorFlow系統(tǒng)需要進(jìn)行相應(yīng)的前臺程序和后臺程序開發(fā),并配備數(shù)據(jù)庫來滿足不同的需求;最后是TensorFlow系統(tǒng)通常采用兩層結(jié)構(gòu)進(jìn)行服務(wù)器的架構(gòu),通過兩層結(jié)構(gòu)最大化地發(fā)揮TensorFlow系統(tǒng)擁有兩部分硬件的優(yōu)勢[2]。
根據(jù)實際需求,識別系統(tǒng)在Windows XP/7操作系統(tǒng)環(huán)境下,以eclipse為開發(fā)平臺,Python為基礎(chǔ)開發(fā)語言,主要用swing庫完成設(shè)計,并用MySQL建立網(wǎng)絡(luò)數(shù)據(jù)庫,本系統(tǒng)采用JDBC連接數(shù)據(jù)庫,并通過TensorFlow進(jìn)行操作,對人臉信息的識別,修改和對人臉信息獲取對象的處理端信息資料的添加和處理信息獲取人臉記錄的添加、修改等功能?;緦崿F(xiàn)了一個識別系統(tǒng)基本要有的功能[3]。
TensorFlow框架下的人臉識別系統(tǒng)十分復(fù)雜,其關(guān)鍵技術(shù)分為信息獲取、數(shù)據(jù)管理與識別管理、特征向量管理三個方面:首先是信息獲取,在進(jìn)行像素識別時需要對識別端和處理端的及帶像素進(jìn)行抽樣,進(jìn)而得出相應(yīng)的采樣指定時,在此期間如果識別端和處理端的像素處于頻率非理想狀態(tài),就會導(dǎo)致系統(tǒng)的IQ正交性受到嚴(yán)重影響,進(jìn)而使得信息獲取嚴(yán)重受阻,所以需要信息獲取技術(shù)來對信道進(jìn)行相應(yīng)的估計和均衡,針對識別端和處理端進(jìn)行數(shù)據(jù)的固定,保證多途徑下的區(qū)域像素連續(xù)性;其次是數(shù)據(jù)管理和識別管理,數(shù)據(jù)管理和識別管理主要是通過相關(guān)值的共軛乘積搜索相關(guān)的峰值來約定發(fā)射幀的起始位置,進(jìn)而獲得相應(yīng)參數(shù)完成數(shù)據(jù)管理和識別管理;最后是特征向量管理,特征向量管理主要是基于特征字的幀結(jié)構(gòu),來確定連續(xù)像素載波殘差的間隔相位差,進(jìn)而算出整體的頻率偏差后完成載波捕獲和追蹤[4]??梢哉f信息獲取、數(shù)據(jù)管理與識別管理、特征向量管理三個技術(shù)幫助了人臉圖像識別像素實現(xiàn)了穩(wěn)定識別。一個項目的開發(fā)需要對系統(tǒng)的現(xiàn)狀進(jìn)行分析,對它的目標(biāo),需求的功能進(jìn)行分析,從而制定出一個比好符合需求的方案,并盡量做出一個優(yōu)化系統(tǒng),隨著相關(guān)技術(shù)的發(fā)展,越來越先進(jìn)的信息獲取技術(shù)可以更好的記錄人臉各個方面的情況,也便于識別和管理。一個好的人臉識別系統(tǒng)需要滿足一個用戶日常情況的記錄,對進(jìn)入系統(tǒng)掃描區(qū)域的人臉進(jìn)行相應(yīng)的識別,如果確認(rèn)符合數(shù)據(jù)庫內(nèi)的相關(guān)要求,就進(jìn)一步識別信息詳細(xì)記錄人臉的各項參數(shù)[5]。
信息獲取模塊的主要功能對面部的信息進(jìn)行錄入、修改、識別、刪除,具體分為處理端未確認(rèn)、處理端已確認(rèn)和處理端已駁回三種不同的場景。當(dāng)信息獲取模塊將面部錄入系統(tǒng)后,自動轉(zhuǎn)入處理端未確認(rèn)狀態(tài)。而處理端可以執(zhí)行兩種操作:駁回、確認(rèn)。當(dāng)處理端駁回面部時,需要說明駁回原因,信息獲取模塊根據(jù)處理端駁回原因可以選擇進(jìn)行修改或者作廢該面部。除此之外,在信息獲取系統(tǒng)錄入面部的同時,需要錄入處理端的基本信息,后臺將己經(jīng)提交的面部信息中關(guān)于處理端的基本信息存入數(shù)據(jù)庫中的處理端表單中,具體數(shù)據(jù)依照所應(yīng)用領(lǐng)域的類型不同進(jìn)行相應(yīng)的調(diào)整[6]。
數(shù)據(jù)管理模塊是需要依據(jù)面部來制定處理任務(wù)環(huán)節(jié)和所需要的表格。處理模塊在接受到面部后依照人臉的各種參數(shù)錄入,在完成處理前、處理中和處理后工序時對面部的不同階段信息進(jìn)行確認(rèn)。在此界面用戶可以按不同條件匯總處理任務(wù)信息,或者選擇當(dāng)前記錄,查看該后臺下所有工序的任務(wù)信息[7]。
人臉識別的步驟使用Inception模型,該模型在VGGface2數(shù)據(jù)集里進(jìn)行了訓(xùn)練,在這里是形成了pb文件,直接進(jìn)行使用。人臉識別是檢測到人臉后的關(guān)鍵步驟,嵌入特征向量(embedding)是通過Inception網(wǎng)絡(luò)識別獲得的。獲得到人臉特征向量的代碼:
從pb文件中找到模型的入口輸入、出口輸出并加載,其工作代碼如下:
以上步驟進(jìn)行完,這時獲得了兩種人臉的特征向量,分別是自己創(chuàng)建的圖片庫里的人臉特征向量和離線視頻里截取到的人臉特征向量,比較這兩者,當(dāng)特征向量之間比對的余弦距離較大時,就可以識別出人臉[8]。
總而言之,在當(dāng)前技術(shù)創(chuàng)新的大背景下,相關(guān)人臉識別系統(tǒng)的開發(fā)團(tuán)隊需要找到自身的定位,一方面抓住新技術(shù)的機(jī)遇,另一方面針對系統(tǒng)的特點形成有效的優(yōu)化模式,保證人臉識別技術(shù)的穩(wěn)步發(fā)展。同時人臉識別行業(yè)的風(fēng)向仍在不斷變化,相關(guān)系統(tǒng)的研發(fā)人員還需要加強(qiáng)學(xué)習(xí),積極投入新的技術(shù),在不斷變化的風(fēng)向中保持自身的優(yōu)勢,從而不被白熱化的技術(shù)競爭所淘汰。