版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于tensorflow的人臉識(shí)別研究中文摘要人臉是重要的識(shí)別個(gè)體的生物特征,與之相關(guān)的人臉識(shí)別技術(shù)在公共安全領(lǐng)域發(fā)揮著重要作用?;趫D像處理的傳統(tǒng)人臉識(shí)別技術(shù),在特定場(chǎng)景下已經(jīng)達(dá)到高水平,但是在應(yīng)對(duì)光照、姿態(tài)、表情變化等條件下,表現(xiàn)有所不足。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,逐漸突破了傳統(tǒng)人臉識(shí)別技術(shù)的桎梏,復(fù)雜條件下的人臉識(shí)別準(zhǔn)確率得到較大提升。本文著重探討了基于TensorFlow框架的深度學(xué)習(xí)在人臉識(shí)別中應(yīng)用,并將相關(guān)技術(shù)應(yīng)用到人實(shí)時(shí)檢測(cè)、關(guān)系分析等公共安全場(chǎng)景。本文首先深入研究了基于tensorflow的人臉識(shí)別技術(shù)的原理以及其運(yùn)行環(huán)境與方式,其次在已有的tensorflow人臉識(shí)別框架成功運(yùn)行的基礎(chǔ)下對(duì)人臉識(shí)別的特定對(duì)象以及識(shí)別方式進(jìn)行實(shí)驗(yàn)仿真。最后通過(guò)基于人臉識(shí)的嫌疑人警報(bào)器和基于人臉識(shí)別的人物關(guān)系分析實(shí)驗(yàn),驗(yàn)證了基于tensorflow的人臉識(shí)別在特定場(chǎng)景下進(jìn)行識(shí)別的靈活性與優(yōu)越性。其創(chuàng)新點(diǎn)包括:1.利用Tensorflow框架設(shè)計(jì)了特定場(chǎng)景下基于人臉識(shí)別的報(bào)警裝置。該設(shè)計(jì)方案具有架構(gòu)簡(jiǎn)單,輕量化的優(yōu)點(diǎn),對(duì)于設(shè)計(jì)小場(chǎng)景下的人員安全控制有著借鑒意義。2.利用Tensorflow框架設(shè)計(jì)了特定場(chǎng)景下基于人臉識(shí)別的人物關(guān)系分析研究,對(duì)于在海量照片數(shù)據(jù)集下嫌疑人識(shí)別,以及特定人物關(guān)系分析的場(chǎng)景下提供了極具價(jià)值的思路和方法。關(guān)鍵詞:Tensorflow人臉識(shí)別人臉警報(bào)器人物關(guān)系分析AbstractFacesareimportantbiometricsforidentifyingindividuals,andrelatedfacerecognitiontechnologiesplayanimportantroleinthefieldofpublicsafety.Thetraditionalfacerecognitiontechnologybasedonimageprocessinghasreachedaveryhighlevelinspecificscenes,buttheperformanceisnotgoodenoughwhenthelighting,postureandexpressionchanges.Withthedevelopmentofdeeplearningtechnology,thelimitofthetraditionalfacerecognitiontechnologyhasgraduallybeenboughtthroughandtheaccuracyoffacerecognitionundercomplexconditionshasbeenimproved.ThisarticlefocusesontheapplicationofdeeplearningbasedonTensorFlowframeworkinfacerecognitionandappliesrelatedtechnologiestopublicsafetyscenariossuchasreal-timedetectionandrelationshipanalysis.Thispaperfirstdiscussedtheprincipleoffacerecognitiontechnologybasedontensorflowanditsoperatingenvironmentandmethods.Secondly,specificobjectsandrecognitionmethodsoffacerecognitionarechangedoncetheexistingtensorflowfacerecognitionframeworkissuccessfullyoperated.Finally,theflexibilityandsuperiorityoftensorflow-basedfacerecognitioninspecificscenariosaretestedthroughthesirenalarmandthecharacterrelationshipanalysisexperimentsbasedonthefacerecognition.Itsinnovationsinclude:1.UtilizingtheTensorflowframeworktodesignanalarmdevicebasedonfacerecognitioninspecificscenarios.Thedeviceisdesignedunderasimplestructureandisbothlightandportable.Therefore,thisdesigncanbereferredtotheschemeofpersonnelsecurityentryandexitinsmallscenarios.2.UsingTensorflowframeworktodesigntheanalysisofhumanrelationshipbasedonfacerecognitioninspecificscenes.Itprovidesvaluableideasandmethodsfortheidentificationofsuspectsinmassivephotodataandtheanalysisofspecificpersonrelationships.Keywords:tensorflow-basedfacerecognitiontechnologyidentificationFacesirenCharacterrelationshipanalysis緒論背景及意義人臉識(shí)別,是一種人臉面部特征的生物身份的確認(rèn)技術(shù)。隨著公安工作基礎(chǔ)信息化建設(shè)的不斷推進(jìn)以及視頻偵察系統(tǒng)的逐漸完備,大數(shù)據(jù)以及人工智能不斷發(fā)展的社會(huì)背景下,圖像與視頻在提供偵查線索,認(rèn)定犯罪事實(shí),作為證據(jù)上扮演著越來(lái)越重要的角色。在此基礎(chǔ)上發(fā)展的計(jì)算機(jī)人臉識(shí)別技術(shù),與DNA,指紋等生物識(shí)別技術(shù)相比,具有成本低,易采集,方便操作等特點(diǎn)。因此在布控排查、犯罪嫌疑人人像識(shí)別、人像鑒定、重點(diǎn)場(chǎng)所安全門禁等公安實(shí)際工作中發(fā)揮著顯著的作用,成為最活躍的偵查手段之一。例如在春運(yùn)期間,火車站以及高速公路口都布置有人臉識(shí)別的攝像槍進(jìn)行治安布控,金磚五國(guó)會(huì)議、珠海航展等大型活動(dòng)都用到了高效的人臉識(shí)別系統(tǒng)進(jìn)行人員出入管控。進(jìn)行人臉識(shí)別的采集以及識(shí)別除了有傳統(tǒng)的攝像頭拍攝以外,還有近些年出現(xiàn)的3d點(diǎn)陣光源,紅外線等人臉檢測(cè)方法,雖然各有優(yōu)勢(shì),但因其技術(shù)以及傳感器的昂貴,或設(shè)備的笨重,或技術(shù)不成熟,相對(duì)不那么可靠等原因,并沒(méi)有在公安工作中尤其是單警裝備以及基層全面普及。因此,基于傳統(tǒng)攝像頭的人臉識(shí)別以及采集方式依舊是當(dāng)前公安工作的方向。而針對(duì)傳統(tǒng)攝像頭的人臉識(shí)別技術(shù)中,對(duì)算法與框架的優(yōu)化對(duì)于公安工作的人臉識(shí)別技術(shù)既能起到節(jié)約成本的目的,又能提高其準(zhǔn)確性與效率,從而提高人臉識(shí)別技術(shù)的總體效能。神經(jīng)網(wǎng)絡(luò)還沒(méi)有流行之前,傳統(tǒng)的人臉識(shí)別一般根據(jù)人為設(shè)定的特征,例如人臉位置,大小,形狀,同時(shí)結(jié)合面部器官的大小,形狀以及相對(duì)位置,手工提取其特征信息,然后與已有的人臉數(shù)據(jù)庫(kù)進(jìn)行對(duì)比。但如此一來(lái)將會(huì)面臨兩個(gè)問(wèn)題,一是手工提取特征信息會(huì)受提取者的操作水平等影響,第二,也是最重要的一點(diǎn)是人為設(shè)計(jì)的特征易受環(huán)境、設(shè)備,例如光照強(qiáng)度,攝像機(jī)分辨率以及成像質(zhì)量等影響,這些都會(huì)大大地降低人臉識(shí)別的精度和準(zhǔn)確性,使其難以應(yīng)對(duì)公安實(shí)際工作復(fù)雜多變的環(huán)境。神經(jīng)網(wǎng)絡(luò)人臉識(shí)別系統(tǒng)是基于純數(shù)據(jù)的驅(qū)動(dòng)方法,直接從圖像中像素?cái)?shù)據(jù)中去學(xué)習(xí),以此獲得在不同環(huán)境,照明等情況下的識(shí)別特征。目前,隨著計(jì)算機(jī)技術(shù)的不斷成熟,運(yùn)算能力的不斷加強(qiáng),在神經(jīng)網(wǎng)絡(luò)的不斷優(yōu)化以及大數(shù)據(jù)的支持下,使得基于神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別實(shí)用性已經(jīng)大大提高,已經(jīng)可以比較好解決傳統(tǒng)人臉識(shí)別的問(wèn)題?,F(xiàn)在已經(jīng)有許多良好的人臉識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)可以達(dá)到非常高的識(shí)別率。在某種意義上說(shuō),神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別已經(jīng)超過(guò)了人類。但是其所暴露的問(wèn)題也是十分明顯的,首先是神經(jīng)網(wǎng)絡(luò)需要大規(guī)模的數(shù)據(jù)集提高其識(shí)別率,因此需要采集大量的人臉數(shù)據(jù)這需要消耗大量的人力與時(shí)間,甚至當(dāng)數(shù)據(jù)較少時(shí)還不如傳統(tǒng)的“算法+手動(dòng)特征”的識(shí)別模式;其次對(duì)計(jì)算機(jī)的計(jì)算能力是極大的挑戰(zhàn),搭建訓(xùn)練一個(gè)模型往往需要計(jì)算機(jī)有強(qiáng)大的計(jì)算能力;最后是在算法上,神經(jīng)網(wǎng)絡(luò)的算法多變,編寫具有極大的難度。這三個(gè)問(wèn)題使得神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別具有很高的門檻。近些年隨著開(kāi)源深度學(xué)習(xí)框架的興起,特別是tensorflow框架的崛起,使其在人臉識(shí)別領(lǐng)域畫上濃墨重彩的一筆。Tensroflow,作為開(kāi)源的深度學(xué)習(xí)框架,降低了開(kāi)發(fā)成本,我們不用從冗雜的神經(jīng)網(wǎng)絡(luò)開(kāi)始編寫,而是根據(jù)需要或修改或拓展已有的成熟的模型。這極大的降低了難度的同時(shí)使我們能夠運(yùn)用到神經(jīng)網(wǎng)絡(luò)這一強(qiáng)大的工具。然而在面臨移植困難,安裝步驟繁瑣,硬件環(huán)境要求高等問(wèn)題之下,研究一款簡(jiǎn)單有效的基于tensorflow人臉識(shí)別系統(tǒng)是十分有必要的。因此,本文主要圍繞基于tensorflow的框架的人臉識(shí)別技術(shù)進(jìn)行探討,嘗試研究其實(shí)現(xiàn)的環(huán)境,原理,改造對(duì)硬件以及環(huán)境依賴小的人臉識(shí)別系統(tǒng)并探討其在公安實(shí)際工作中的運(yùn)用?;趖ensorflow的人臉識(shí)別的原理深度學(xué)習(xí)理論及其發(fā)展1.人工智能與機(jī)器學(xué)習(xí)人工智能是指機(jī)器能夠模擬人的意識(shí)和思維。人工智能之父AlanMathisonturing在1950年提出圖靈測(cè)試,若機(jī)器能通過(guò)圖靈測(cè)試則可稱之具有人工智能。隨著計(jì)算機(jī)的發(fā)展,目前,機(jī)器已經(jīng)具備迅速學(xué)寫陌生文字的創(chuàng)造能力。機(jī)器學(xué)習(xí)是一種統(tǒng)計(jì)學(xué)方法,利用已有數(shù)據(jù),得出某種模型,再利用此模型預(yù)測(cè)結(jié)果(如圖2.1所示)。機(jī)器學(xué)習(xí)離不開(kāi)數(shù)據(jù)、算法以及這三個(gè)要素。與傳統(tǒng)的馮諾依曼計(jì)算機(jī)工作的原理即指令和數(shù)據(jù)都被預(yù)先儲(chǔ)存,然后按照指令先后順序逐條讀取并運(yùn)行相比,機(jī)器學(xué)習(xí)會(huì)使得模型隨著數(shù)據(jù)的輸入而變得完善,形象的說(shuō)類似于人類經(jīng)驗(yàn)的增加。機(jī)器學(xué)習(xí)最基本扽應(yīng)用為兩點(diǎn),一是對(duì)連續(xù)數(shù)據(jù)的預(yù)測(cè),二是對(duì)離散數(shù)據(jù)的分類,隨著機(jī)器學(xué)習(xí)的發(fā)展其領(lǐng)域日趨廣泛,包括視覺(jué),語(yǔ)音,自然語(yǔ)言。本文所談的人臉識(shí)別便是應(yīng)用最廣的計(jì)算機(jī)視覺(jué)領(lǐng)域的內(nèi)容。新數(shù)據(jù)新數(shù)據(jù)歷史數(shù)據(jù)結(jié)果模型輸入預(yù)測(cè)訓(xùn)練圖2.1機(jī)器學(xué)習(xí)基本模型2.神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)眾所周知,我們的感官,思維,意識(shí)等活動(dòng)離不開(kāi)大腦的活動(dòng),而大腦的活動(dòng)離不開(kāi)神經(jīng)元這一基本單位。隨著我們年齡的增長(zhǎng),不斷地學(xué)習(xí),我們的大腦不斷地發(fā)育,根據(jù)神經(jīng)腦科的統(tǒng)計(jì),成年人的大腦大約有860億個(gè)神經(jīng)元。神經(jīng)元具有樹(shù)突,軸突,細(xì)胞核等機(jī)構(gòu),以K,Na離子的流動(dòng)實(shí)現(xiàn)神經(jīng)細(xì)胞中電信號(hào)的傳遞,而神經(jīng)元之間依靠神經(jīng)遞質(zhì)進(jìn)行化學(xué)信號(hào)的傳播。這些神經(jīng)元形成了有機(jī)生命體的多層次的神經(jīng)網(wǎng)絡(luò)復(fù)雜函數(shù)擬合。同時(shí)我們要知道,隨著我們的認(rèn)知與學(xué)習(xí),大腦也在不斷建立新的非條件反射,從生理結(jié)構(gòu)上說(shuō)便是伴隨著新的神經(jīng)突觸的建立。如今,已有研究團(tuán)隊(duì)用電路模擬人腦的神經(jīng)結(jié)構(gòu),在不久的將來(lái)有可能實(shí)現(xiàn)類腦芯片。其實(shí),早在20世紀(jì)40年代就已經(jīng)有人提出設(shè)想,是否可以利用電腦程序模擬神經(jīng)元結(jié)構(gòu)呢?人們發(fā)現(xiàn),在信息處理時(shí),神經(jīng)元無(wú)非有:多輸入單輸出;突觸兼有興奮和抑制兩種性能;對(duì)時(shí)間和空間有加權(quán);產(chǎn)生脈沖并傳遞;非線性這五個(gè)特點(diǎn)。因此根據(jù)對(duì)神經(jīng)元類似狀態(tài)的描述,1943年,美國(guó)心理學(xué)麥卡洛克(McCulloch)數(shù)學(xué)家皮特斯(Puts)和美國(guó)心理學(xué)麥卡洛克(McCulloch),就提出了簡(jiǎn)稱MP模型的一種神經(jīng)元網(wǎng)絡(luò)模型(如圖2.2所示)。利用MP模型,我們可以搭建一層神經(jīng)網(wǎng)絡(luò),也稱之為感知器。這是一種利用神經(jīng)元網(wǎng)絡(luò)對(duì)信息處理的數(shù)學(xué)模型,從此人們便開(kāi)始對(duì)神經(jīng)元網(wǎng)絡(luò)的研究。感知器只能解決簡(jiǎn)單的線性分類問(wèn)題。如果想要解決更復(fù)雜的問(wèn)題,或是搭建更復(fù)雜的模型,這時(shí)候就需要建立更多層的神經(jīng)網(wǎng)絡(luò),即多層感知器,也叫前饋神經(jīng)網(wǎng)絡(luò)(feedforwardneuralnetwork)。簡(jiǎn)單來(lái)說(shuō)前饋神經(jīng)網(wǎng)絡(luò)相較感知器而言,在輸入和輸出之間還多了隱層,具體指輸入層和輸出層以外的其他層。顧名思義,隱層不直接接受和發(fā)送型號(hào),隱藏在輸入層和輸出層之間,對(duì)外界來(lái)說(shuō)看起來(lái)是一種隱藏狀態(tài)。除此之外,神經(jīng)網(wǎng)絡(luò)還離不開(kāi)另外一個(gè)基礎(chǔ)算法即反向傳播算法,簡(jiǎn)稱BP(BackPropagation)。在該算法中,輸出層通過(guò)不斷地將誤差反向傳播給隱層,并通過(guò)減少誤差進(jìn)行迭代求解,以獲取最優(yōu)的參數(shù)。MP,前饋神經(jīng)網(wǎng)絡(luò),BP構(gòu)成了神經(jīng)網(wǎng)絡(luò)最基礎(chǔ)的原理。深度學(xué)習(xí)起源于以BP感知器為基礎(chǔ)的人工神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)主要以無(wú)監(jiān)督學(xué)習(xí)和監(jiān)督學(xué)習(xí)為代表分為兩大類。監(jiān)督學(xué)習(xí)主要有卷積神經(jīng)網(wǎng)絡(luò)等。其中無(wú)監(jiān)督模型主要包括自動(dòng)編碼器、受限玻爾茲曼機(jī)和深度信念網(wǎng)。軸突軸突細(xì)胞核樹(shù)突求和輸入1輸入3輸入2非線性函數(shù)輸出圖2.2神經(jīng)元模型Tnsorflow簡(jiǎn)述1.tensorflowTensorFlow是一個(gè)深度學(xué)習(xí)框架,是Google在DIstbelief的基礎(chǔ)上進(jìn)行研發(fā)的,并于2015年11月9日發(fā)布第二代人工智能學(xué)習(xí)系統(tǒng)。深度學(xué)習(xí)框架簡(jiǎn)單的來(lái)說(shuō)就是幫助我們利用和學(xué)習(xí)深度學(xué)習(xí)的工具,如果比喻成樂(lè)高,那么就意味著可以在已有的“積木”根據(jù)自己的需要去搭建所需的東西。Tensorflow的命名源自其本身獨(dú)特的運(yùn)行原理,也即“tensor張量”與“flow流動(dòng)”。Tensor,也就是張量。張量是現(xiàn)代機(jī)器學(xué)習(xí)的基礎(chǔ),其核心實(shí)質(zhì)上類似于一個(gè)數(shù)據(jù)容器,用以儲(chǔ)存數(shù)據(jù)。在Python中,張量通常存儲(chǔ)在Nunpy數(shù)組,Numpy是在大部分的AI框架中使用頻率非常高的用于科學(xué)計(jì)算的數(shù)據(jù)包。對(duì)于人臉識(shí)別而言,在圖像中一般為四維張量,而在視屏中為五維張量。“flow”是流動(dòng)的意思,意味著基于數(shù)據(jù)流圖的計(jì)算。張量從一端流向另一端定向流動(dòng)的計(jì)算過(guò)程,將其形象化,因此稱之為tensorflow。從其功能上說(shuō),Tensorflow是將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)傳輸至人工智能神經(jīng)網(wǎng)中進(jìn)行分析和處理的系統(tǒng)。簡(jiǎn)單來(lái)說(shuō),是一種可以訓(xùn)練計(jì)算機(jī)識(shí)別特征、趨勢(shì),并進(jìn)行處理的算法和比較全面的工具集。2.2.2Tensorflow現(xiàn)狀Tensorflow由python進(jìn)行編寫,并由C/C++進(jìn)行引擎加速。在語(yǔ)言與系統(tǒng)支持上TensorFlow支持多種客戶端語(yǔ)言下的安裝和運(yùn)行。截至版本1.12.0,綁定完成并支持版本兼容運(yùn)行的語(yǔ)言有:C,Python,其它綁定完成的語(yǔ)言有:JavaScript、C++、Java、Go和Swift,依然處于開(kāi)發(fā)階段的包括C#、Haskell、Julia、Ruby、Rust和Scala[5]。因此,可以在tensorflow的上層編寫,也可以利用C++在底層進(jìn)行優(yōu)化。可在各種平臺(tái),系統(tǒng)甚至手機(jī)上運(yùn)行tensorflow的模型。Tensorflow支持目前深度學(xué)習(xí)最為流行的網(wǎng)絡(luò)結(jié)構(gòu),例如圖像領(lǐng)域的CNN,語(yǔ)言領(lǐng)域的RNN以及自然處理領(lǐng)域的LSTM等。2.2.3人工智能、機(jī)器學(xué)習(xí)與tensorflow之間的關(guān)系機(jī)器學(xué)習(xí)是人工智能的子集,是實(shí)現(xiàn)人工智能的方法。Tensorflow為機(jī)器學(xué)習(xí)的子集,如圖2.3所示。圖2.3Tensorflow相關(guān)關(guān)系圖T圖2.3Tensorflow相關(guān)關(guān)系圖Tensorflow深度學(xué)習(xí)人工智能機(jī)器學(xué)習(xí)Tensotflow人臉識(shí)別原理1.基本框架利用tensorflow實(shí)現(xiàn)人臉識(shí)別主要包括特定人臉照片輸入與獲取,人臉特征值檢測(cè)與提取,TensorFlow神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí),識(shí)別模型,指定照片人臉,輸出結(jié)果。其基本流程如圖2.4。這其中需要利用到opencv2數(shù)據(jù)庫(kù),ntcnn,facenet等算法而tensorflow則是實(shí)現(xiàn)這些算法的工具。步驟二步驟二步驟一圖2.4人臉識(shí)別流程模型目標(biāo)照片或目標(biāo)視頻人臉識(shí)別模型輸出識(shí)別結(jié)果特定人相照片A人臉特征值檢測(cè)與提取Tensorflow人臉識(shí)別訓(xùn)練特定人相照片B特定人相照片C人臉特征值檢測(cè)與提取人臉特征值檢測(cè)與提取2.算法簡(jiǎn)述本文采用Opencv2實(shí)現(xiàn)圖片以及視屏的讀取以及輸出。Opencv2是基于BSD許可開(kāi)源發(fā)行的計(jì)算機(jī)視覺(jué)庫(kù)??稍诙嗖僮飨到y(tǒng)例如Linux,Windows,Android等上運(yùn)行。同時(shí)提供python等語(yǔ)言接口。因其輕量且高效,因此將其作為視屏以及圖像讀取的算法。MTCNN(Multi-taskconvolutionalneuralnetworks)是多任務(wù)及連卷積神經(jīng)網(wǎng)絡(luò)神對(duì)學(xué)習(xí)模型,采用三階級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)思想。其優(yōu)點(diǎn)是,在訓(xùn)練的同時(shí)采用多任務(wù)使得算法結(jié)構(gòu)更為精細(xì),相比傳統(tǒng)的人臉檢測(cè)算法而言,具有速度快,檢測(cè)精確等特點(diǎn)。Mtcnn總體分為三層網(wǎng)絡(luò),分別是p-net層、r-net層、O-net層。其功能依次為初步確認(rèn)人臉邊框范圍,進(jìn)一步精確人臉?lè)秶?,認(rèn)定人臉關(guān)鍵點(diǎn)。本文利用已經(jīng)訓(xùn)練好且較為成熟的模型進(jìn)行試驗(yàn)。Facenet用于人臉特征的識(shí)別。Facenet也是一種卷積神經(jīng)網(wǎng)絡(luò),主要思想是把人臉圖像映射到一個(gè)多維空間,通過(guò)空間距離表示人臉的相似度。同一個(gè)人臉圖像的空間距離比較小,不同人臉則較大,通過(guò)人臉圖像的空間映射可以實(shí)現(xiàn)人臉識(shí)別。因此,本文想實(shí)現(xiàn)特定對(duì)象的人臉識(shí)別需要在facenet的算法下對(duì)facenet進(jìn)行重新訓(xùn)練?;趖ensorflow的人臉識(shí)別的優(yōu)勢(shì)Tensorflow含有具有多語(yǔ)言,豐富的算法庫(kù),完善的文檔。具有以下特點(diǎn):靈活性,高度可移植性。TensorFlow并不僅僅是一個(gè)深度學(xué)習(xí)庫(kù),只要可以把你的計(jì)算過(guò)程表示稱一個(gè)數(shù)據(jù)流圖的過(guò)程,我們就可以使用TensorFlow來(lái)進(jìn)行計(jì)算。TensorFlow允許我們用計(jì)算圖的方式還建立計(jì)算網(wǎng)絡(luò),同時(shí)又可以很方便的對(duì)網(wǎng)絡(luò)進(jìn)行操作。TensorFlow可以在CPU和GPU上運(yùn)行,可以在臺(tái)式機(jī),服務(wù)器,移動(dòng)設(shè)備上運(yùn)行。因此對(duì)于公安工作而言,可以自由地轉(zhuǎn)戰(zhàn)于辦公室電腦,警務(wù)通等平臺(tái),人臉識(shí)別儀器。TensorFlow采用十分通俗的的python來(lái)構(gòu)建和執(zhí)行我們的計(jì)算圖。但同時(shí)也支持C++的語(yǔ)言??梢灾苯訉憄ython和C++的程序來(lái)執(zhí)行TensorFlow。因此,可以根據(jù)各種公安工作的實(shí)際進(jìn)行改寫,在上層設(shè)計(jì)出針對(duì)不同工作環(huán)境的人臉識(shí)別系統(tǒng)。與其他框架相比,在靈活性與多機(jī)分布與靈活性上有其特有的優(yōu)勢(shì)(見(jiàn)表1)。表1tensorflow與其他算法對(duì)比表框架編程語(yǔ)言主要場(chǎng)景維護(hù)方多gpu模型并行多機(jī)分布式靈活性Torch(py)luaCNN/RNN(中等)通用Facebook可以不行極好CaffePython,C++CNN圖像分類檢測(cè)分割BVLC不行不行不好TensorflowPythonCNN/RNN(best)通用Google可以可以極好由表一可見(jiàn)在場(chǎng)景TensorFlow上具有高等通用的好處,其次其在多gpu模型并行優(yōu)于Caffe,在多機(jī)分布上好于 Tourch與Caffe。而Tensorflow在靈活性上也占盡優(yōu)勢(shì)?;趖ensorflow人臉識(shí)別實(shí)驗(yàn)試驗(yàn)方案實(shí)驗(yàn)?zāi)康模禾骄靠膳渲铆h(huán)境并能跑出例程。實(shí)驗(yàn)內(nèi)容:首先選擇合適的操作系統(tǒng),在本文中由于對(duì)windows系統(tǒng)比較熟悉因此選擇其作為自己的操作系統(tǒng)。環(huán)境配置實(shí)驗(yàn)主要分三個(gè)部分:1.安裝Anaconda配置合適的環(huán)境。2.搭建tensorflow的環(huán)境。3.進(jìn)行例程運(yùn)行,驗(yàn)證實(shí)驗(yàn)環(huán)境是否搭建成功。(其具體實(shí)驗(yàn)流程如圖3.1)。實(shí)驗(yàn)中所遇到的問(wèn)題以及改進(jìn):實(shí)驗(yàn)初期使用VMware虛擬機(jī)用烏班圖系統(tǒng),但因?yàn)橄到y(tǒng)本身的網(wǎng)絡(luò)原因無(wú)法下載opencv,同時(shí)因?yàn)橄螺d的tensorflow與所配置的環(huán)境會(huì)有沖突。因此在tensorflow更新并支持windows后更換使用Windows進(jìn)行實(shí)驗(yàn),一方面Windows的操作界面對(duì)于新手更為熟悉,另一方面其所用的不管是ananconda以及tensorflow都要更新,更利于當(dāng)前以及后續(xù)的實(shí)驗(yàn)。在下載tensorflow本身時(shí),若是利用pip命令下載,所下的tensorflow版本不支持vax指令集,運(yùn)行將會(huì)報(bào)錯(cuò)。解決的方法在于從論壇(/fo40225/tensorflow-windows-wheel/tree/master/1.4.0/py36/CPU/avx2)處先行下載,再切入所在文件夾后安裝。在構(gòu)建python3,7與tensorflow的環(huán)境時(shí)會(huì)出現(xiàn)網(wǎng)絡(luò)斷鏈的情況,根據(jù)以上問(wèn)題,一方面可以重新運(yùn)行一次程序,若還是不成功解決方法可(conda
config
--add
channels
/anaconda/pkgs/free/)添加清華源進(jìn)行下載。實(shí)驗(yàn)結(jié)論:能成功運(yùn)行例程,可見(jiàn)能成功檢測(cè)并框出人臉,能正確識(shí)別并標(biāo)注名字實(shí)驗(yàn)環(huán)境搭建成功(見(jiàn)圖3.2)。打開(kāi)打開(kāi)ananconadaprompt下載anaconada3勾選勾選AddPATH并安裝創(chuàng)建一個(gè)python版本為3.6的,名為tensorflow的環(huán)境conda
create
-n
tensorflow
python=3.6(conda
config
--add
channels
/anaconda/pkgs/free/)成功建立環(huán)境失敗網(wǎng)絡(luò)包斷連成功配置環(huán)境tensorflow-1.4.0-cp36-cp36m-win_amd64opencv-python==7md64scikit-learn==0.22.1=0.22.1scipy==1.2.1numpy==1.16.2pillow-i用cd命令進(jìn)入例程所在文件夾,用python運(yùn)行兩例程序程成功進(jìn)行人臉識(shí)別圖3.1環(huán)境搭建流程圖圖3.2正確識(shí)別人臉特定人臉目標(biāo)實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模涸诶淘械目蚣芘c基礎(chǔ)上更改識(shí)別對(duì)象,使其利用于進(jìn)一步的研究。實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)環(huán)境為配置環(huán)境中所搭建的環(huán)境。首先用conda
activate
tensorflow啟動(dòng)實(shí)驗(yàn)一所搭建的環(huán)境。利用cd命令進(jìn)入實(shí)驗(yàn)文件夾。而后實(shí)驗(yàn)主要分為四部:1.準(zhǔn)備目標(biāo)對(duì)象照片,每個(gè)對(duì)象至少30張照片以上,且每個(gè)照片有且僅有目標(biāo)對(duì)象一張臉。2.執(zhí)行pythondate——preprocess.py程序,對(duì)照片進(jìn)行預(yù)處理,形成面部圖像。3.訓(xùn)練識(shí)別模型。4.更改例程識(shí)別對(duì)象,鎖定需要識(shí)別的照片,對(duì)目標(biāo)照片進(jìn)行人臉識(shí)別。其原理在于,在tensorflow所建立的環(huán)境下,先用MTCNN對(duì)目標(biāo)人物的照片進(jìn)行預(yù)處理,生成后續(xù)可識(shí)別可學(xué)習(xí)的面部人臉邊界與面部特征點(diǎn),其信息保存于pre-img文件夾,以便用于后續(xù)建立模型。接著利用facenet對(duì)文件夾內(nèi)人臉進(jìn)行學(xué)習(xí),生成對(duì)應(yīng)人臉概率數(shù)據(jù)。后續(xù)利用opencv數(shù)據(jù)庫(kù)對(duì)目表照片進(jìn)行讀取識(shí)別后比對(duì)facenet所形成的人臉概率,后利用svc分類器進(jìn)行歸類,最后用opencv標(biāo)記目標(biāo)名稱后輸出(流程圖如圖3.3所示)。遇到的問(wèn)題及解決方案:1.新照片的識(shí)別代碼位置。后經(jīng)過(guò)反復(fù)查校,在identify-face-image.py運(yùn)行文件第十五行可找到識(shí)別照片的名字,修改后可識(shí)別新的照片。(如圖3.4)修改后可針對(duì)目標(biāo)圖片進(jìn)行識(shí)別。2.在對(duì)照片進(jìn)行人臉識(shí)別時(shí),只能識(shí)別以及輸出黑白照片。因而,尋找解決方案。發(fā)現(xiàn)問(wèn)題在運(yùn)行文件identify-face-image.py上。原因在于原版是一灰度圖片的方式讀取的圖片原函數(shù)是frame=cv2.imread(img-path,0)。解決方法是加入flame1,重新把圖片讀取為彩圖,但存在彩圖之后不能進(jìn)行識(shí)別,因此仍然用flame識(shí)別人臉,而后在輸出時(shí)將位置和信息標(biāo)在彩圖frame1上。(如圖3.5)3.對(duì)象名字是中文時(shí)會(huì)出現(xiàn)識(shí)別不出或者亂碼等問(wèn)題。問(wèn)題出現(xiàn)在identify-face-image.py中,其原理是因?yàn)閛pencv不支持中文因此若是中文的話會(huì)變成亂碼。解決方案的話是在第一個(gè)函數(shù)里把opencv的圖片轉(zhuǎn)化成pil的圖片,再加上中文,在轉(zhuǎn)化為opencv圖片。(如圖3.6)實(shí)驗(yàn)結(jié)果:如下圖所示(見(jiàn)圖片3.7)。使用使用訓(xùn)練成功處理后的人臉寫入處理放入清空train—img文件夾pre-img文件夾人物30張以上正臉照片(僅有一人且面部清晰)conda
activate
tensorflow啟動(dòng)實(shí)驗(yàn)一所搭建的環(huán)境Cd指令進(jìn)入實(shí)驗(yàn)文件夾執(zhí)行pythondate—preprocess.py執(zhí)行pythontrain—main進(jìn)行人臉識(shí)別訓(xùn)練人臉識(shí)別模型更改運(yùn)行文件識(shí)別目標(biāo)對(duì)象特定目標(biāo)人臉識(shí)別成功步驟一步驟二步驟三圖3.3特定對(duì)象識(shí)別流程圖圖3.5修改flame函數(shù)圖3.4修改識(shí)別對(duì)象圖3.5修改flame函數(shù)圖3.4修改識(shí)別對(duì)象圖3.6opencv與pil格式轉(zhuǎn)化圖3.6opencv與pil格式轉(zhuǎn)化圖3.7識(shí)別目標(biāo)人臉圖3.7識(shí)別目標(biāo)人臉如圖3.7所示。能成功檢測(cè)到目標(biāo)對(duì)象的人臉并框出人臉部分。能正確識(shí)別出人臉并標(biāo)出對(duì)應(yīng)姓名。實(shí)驗(yàn)成功實(shí)。模擬場(chǎng)景實(shí)驗(yàn)設(shè)計(jì)基于人臉識(shí)別的嫌疑人警報(bào)器設(shè)計(jì)目標(biāo):實(shí)現(xiàn)對(duì)時(shí)實(shí)視屏的人臉別,在此基礎(chǔ)上對(duì)目標(biāo)的實(shí)時(shí)加入報(bào)警器。以此在識(shí)別到嫌疑對(duì)象時(shí),實(shí)現(xiàn)報(bào)警警示的目的。設(shè)計(jì)環(huán)境:總體上使用第三部分搭建的基于tensroflow的實(shí)驗(yàn)環(huán)境,先實(shí)現(xiàn)對(duì)目標(biāo)視屏的人臉檢測(cè),而后在其基礎(chǔ)上利用引入opencv數(shù)據(jù)包后調(diào)用筆記本電腦攝像頭,或外接攝像頭實(shí)現(xiàn)實(shí)時(shí)人臉檢測(cè)。設(shè)計(jì)內(nèi)容。第一部分:首先實(shí)現(xiàn)對(duì)視屏流以及實(shí)時(shí)視屏的人臉檢測(cè)。1.首先實(shí)現(xiàn)對(duì)一段視屏的內(nèi)容進(jìn)行人臉檢測(cè)。與固定照片識(shí)別不同處在于,先對(duì)視屏流數(shù)據(jù)的幀進(jìn)行解析,與照片相同同樣是利用opencv數(shù)據(jù)庫(kù)對(duì)視屏數(shù)據(jù)進(jìn)行截取。而后與固定照片原理類似利用facenet與svm識(shí)別出人臉后進(jìn)行人臉?lè)诸?,后用opencv標(biāo)記,即識(shí)別出視屏人臉。如下圖所示。成功識(shí)別出視屏中人臉,如圖4.1。2.改動(dòng)其調(diào)用對(duì)象為視屏本身為筆記本電腦前置攝像頭。如下圖所示,其15行為加載視屏,將其改為16行的input-video=0即為調(diào)用電腦攝像頭,如圖4.2。3.對(duì)實(shí)時(shí)人臉檢測(cè)器進(jìn)行測(cè)試。無(wú)人人臉場(chǎng)景可見(jiàn)其未檢測(cè)到人臉,如圖4.3。下面進(jìn)行人臉識(shí)別實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為單人情況下。如下圖可見(jiàn)能正確捕捉并識(shí)別本人人臉,見(jiàn)方框標(biāo)記人臉,并正確標(biāo)注出人臉信息。實(shí)現(xiàn)對(duì)人臉的準(zhǔn)確識(shí)別與判斷,如圖4.4。圖4.1視屏人臉識(shí)別圖4.1視屏人臉識(shí)別圖4.2修改加載攝像頭代碼圖4.2修改加載攝像頭代碼圖4.3未檢測(cè)到人臉圖4.3未檢測(cè)到人臉圖4.4成功識(shí)別人臉圖4.4成功識(shí)別人臉第二部分:建立特定人臉的警報(bào)器。1.在實(shí)現(xiàn)對(duì)實(shí)時(shí)視頻流的識(shí)別以及人臉識(shí)別之后在此基礎(chǔ)上針對(duì)其加入兩大部分,首先是犯罪嫌疑人人臉姓名輸入。其次是在識(shí)別到疑似犯罪嫌疑人后的報(bào)警裝置。2.在video.py文件下改動(dòng),如圖4.5,增加輸入名字與警報(bào)的條件函數(shù)。后在target-name處修改名字即可對(duì)特定目標(biāo)進(jìn)行實(shí)時(shí)人臉檢測(cè)警報(bào),修改處(如圖4.6)。圖4.5輸入名字與警報(bào)條件函數(shù)圖4.5輸入名字與警報(bào)條件函數(shù)圖4.6警報(bào)對(duì)象姓名修改處圖4.6警報(bào)對(duì)象姓名修改處設(shè)計(jì)結(jié)果:實(shí)現(xiàn)對(duì)特定犯罪嫌疑人的視屏流實(shí)時(shí)報(bào)警裝置?;谌四樧R(shí)別的犯罪團(tuán)伙關(guān)系分析設(shè)計(jì)目標(biāo):在實(shí)現(xiàn)對(duì)照片的識(shí)別的基礎(chǔ)上,對(duì)目標(biāo)文件夾內(nèi)的含犯罪嫌疑人的照片進(jìn)行提取,進(jìn)而實(shí)現(xiàn)犯罪團(tuán)伙關(guān)系的分析。設(shè)計(jì)環(huán)境:總體上使用第三部分搭建的基于tensroflow的實(shí)驗(yàn)環(huán)境,用python語(yǔ)言編寫查找器。設(shè)計(jì)內(nèi)容:1.實(shí)現(xiàn)人臉識(shí)別,本步驟在第三章的實(shí)驗(yàn)部分已經(jīng)完成。2.編寫人物查找器。其大體思路為,將照片保存至本機(jī)的特定文件夾,運(yùn)行程序,輸入特定目標(biāo)名字。找到特定人物照片后將其另存至目標(biāo)文件夾。如4.7所示依據(jù)上述思路編寫程序。在原先人臉識(shí)別的運(yùn)行程序上是循環(huán)加載文件夾中圖片,然后調(diào)用之前的人臉識(shí)別,名字匹配就把圖片另存至標(biāo)定文件夾。。3.為實(shí)現(xiàn)人像照片的自動(dòng)篩選分析犯罪團(tuán)伙關(guān)系,故進(jìn)行篩選時(shí),帶有目標(biāo)照片所指示的人應(yīng)當(dāng)大于或等于兩人,因此此時(shí)在上面的篩查器上進(jìn)行改動(dòng),使其可以在面對(duì)多人的照片是時(shí)識(shí)別到目標(biāo)照片并篩選出來(lái)。其原理和上述基本一致,多了的步驟在于把識(shí)別到的人臉,全部存在people_list列表里返回,然后在這個(gè)列表里看有沒(méi)有跟目標(biāo)名匹配的,若有則將其復(fù)制到目標(biāo)文件夾中,如圖4.8所示。4.運(yùn)行程序輸入識(shí)別庫(kù)中已有目標(biāo)對(duì)象的姓名即可對(duì)其照片進(jìn)行提取。如4.9,4.10所示。.圖4.7編寫總思路圖4.7編寫總思路圖4.8照片提取部分代碼圖4.8照片提取部分代碼圖4.9特定照片姓名輸入圖4.9特定照片姓名輸入圖4.10提取出目標(biāo)照片圖4.10提取出目標(biāo)照片實(shí)戰(zhàn)模擬:現(xiàn)假設(shè)涉黑犯罪團(tuán)伙A為六人,該團(tuán)伙帶有明顯的協(xié)同性質(zhì),之間經(jīng)常一起行動(dòng)且均為好友關(guān)系?,F(xiàn)已抓獲犯罪團(tuán)伙頭目張某與副頭目李某?,F(xiàn)將其人臉?shù)浫霐?shù)據(jù)庫(kù),并提取其手機(jī)照片若干?,F(xiàn)想理清兩個(gè)頭目與團(tuán)伙其余人的人物關(guān)系,假設(shè)用相片同框次數(shù)衡量其親密度。兩人在同一照片中出現(xiàn)次數(shù)越多,則反應(yīng)其任務(wù)關(guān)系越親密。現(xiàn)分別對(duì)兩頭目手機(jī)相冊(cè)照片進(jìn)行提取,如圖4.11所示。圖4.11圖4.11根據(jù)以下照片,可進(jìn)行同框次數(shù)統(tǒng)計(jì)。如表1,表2所示。張某手機(jī)照片李某手機(jī)照片總數(shù)量3020無(wú)用數(shù)量2015有用數(shù)量105表1相關(guān)照片統(tǒng)計(jì)表表1相關(guān)照片統(tǒng)計(jì)表表二照片相關(guān)性示意圖表二照片相關(guān)性示意圖張某4李某31嫌疑人a1嫌疑人b1嫌疑人c1嫌疑人d根據(jù)統(tǒng)計(jì)數(shù)據(jù)用線條粗細(xì)來(lái)反映同框次數(shù)則可繪制如下人物關(guān)系圖4.12。李某李某犯罪嫌疑人b犯罪嫌疑人b犯罪嫌疑人c犯罪嫌疑人c犯罪嫌疑人a張某犯罪嫌疑人a張某犯罪嫌疑人c犯罪嫌疑人c圖4.12人物關(guān)系初步分析示意圖圖4.12人物關(guān)系初步分析示意圖設(shè)計(jì)結(jié)果:根據(jù)tensorflow的人臉識(shí)別系統(tǒng),可實(shí)現(xiàn)對(duì)照片的自動(dòng)篩選。在面對(duì)提取的嫌疑人存儲(chǔ)設(shè)備如手機(jī),硬盤中的海量照片,可通過(guò)該篩查器迅速篩選出涉及嫌疑人的照片。這大大節(jié)約了人工手動(dòng)篩選照片的時(shí)間,極大地大提高了工作效率。也為進(jìn)一步的人物關(guān)系分析圖提供了具有針對(duì)性的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《經(jīng)濟(jì)發(fā)展與農(nóng)業(yè)》課件
- 《稅法知識(shí)及技巧》課件
- 公司新年新春團(tuán)拜會(huì)活動(dòng)概述活動(dòng)模板奮楫再出發(fā)模板
- 2024年補(bǔ)充福利采購(gòu)協(xié)議
- 2024學(xué)校臨時(shí)校園后勤服務(wù)保障人員用工協(xié)議2篇
- 2024年非全日制工合同
- 2024年度專業(yè)月嫂服務(wù)保障合同模板3篇
- 2024年銷售與市場(chǎng)勞動(dòng)合同
- 2024年糜慧夫妻房產(chǎn)分割合同版B版
- 2024年財(cái)產(chǎn)分配合同:離婚雙方自愿協(xié)商結(jié)果2篇
- 中華傳統(tǒng)文化之戲曲瑰寶學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 公路工程利用鋰渣技術(shù)規(guī)范 第一部分:路基工程-編制說(shuō)明
- 裝飾裝修設(shè)備表
- 基于老舊小區(qū)加裝電梯特殊安全及風(fēng)險(xiǎn)控制的研究
- 甘肅省蘭州市(2024年-2025年小學(xué)三年級(jí)語(yǔ)文)人教版綜合練習(xí)(上學(xué)期)試卷(含答案)
- 2024年人教版小學(xué)四年級(jí)信息技術(shù)(上冊(cè))期末試卷及答案
- 譯林版小學(xué)英語(yǔ)二年級(jí)上全冊(cè)教案
- DL∕T 821-2017 金屬熔化焊對(duì)接接頭射線檢測(cè)技術(shù)和質(zhì)量分級(jí)
- DL∕ T 1195-2012 火電廠高壓變頻器運(yùn)行與維護(hù)規(guī)范
- 小學(xué)五年級(jí)英語(yǔ)語(yǔ)法練習(xí)
- NB-T32004-2018光伏并網(wǎng)逆變器技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論