董澤群
(吉林大學(xué),吉林 長春 130000)
在21世紀(jì),隨著社會(huì)的不斷進(jìn)步和經(jīng)濟(jì)技術(shù)的發(fā)展,恐怖襲擊、社會(huì)矛盾、交通事故的發(fā)生率也增加了。在日新月異的交易市場(chǎng)上,消費(fèi)者的流動(dòng)變化莫測(cè)。另外,在我國龐大的人口群落中,管理人員流動(dòng)成為了政府必須做的事情,所以,人臉識(shí)別就應(yīng)運(yùn)而生。
大數(shù)據(jù)技術(shù),也稱超大規(guī)模數(shù)據(jù)處理技術(shù),是隨著社會(huì)的發(fā)展而產(chǎn)生的一種高效處理數(shù)據(jù)的技術(shù)。許多大規(guī)模數(shù)據(jù)集合通常有著很高的實(shí)時(shí)性。大數(shù)據(jù)包括交易數(shù)據(jù)和行為數(shù)據(jù),可以幫助我們對(duì)海量人臉照片或視頻中的人臉進(jìn)行識(shí)別,進(jìn)而對(duì)這些數(shù)據(jù)進(jìn)行挖掘,并管理挖掘出的數(shù)據(jù),用于后期的事件檢索,這樣就可以幫助我們處理很多事情。Hadoop是用于開發(fā)在分布式計(jì)算環(huán)境中執(zhí)行的大數(shù)據(jù)處理應(yīng)用程序的框架,簡稱“HDFS”,它的誤差很小,并且使用的設(shè)備通常都很便宜,可以有效降低使用成本。利用Hadoop數(shù)據(jù)高吞吐量的特點(diǎn)來訪問大量的數(shù)據(jù),進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的分布式管理。Hadoop的兩大核心是HDFS和MapReduce。
人臉檢測(cè)是確定輸入圖像中所有面的位置和大小的過程,其目的是準(zhǔn)確地分割圖像中的面孔。人臉檢測(cè)的基本思想是通過統(tǒng)計(jì)學(xué)或其他知識(shí)對(duì)面孔進(jìn)行建模,并將所有可能的檢測(cè)區(qū)域與人臉模型進(jìn)行比較,以獲得可能的面孔。人臉識(shí)別方法大致可以分為統(tǒng)計(jì)學(xué)方法和基于知識(shí)的方法,前者將人臉圖像作為高維向量,將人臉檢測(cè)轉(zhuǎn)化為高維分布式信號(hào)檢測(cè);后者使用人的面孔。對(duì)于人臉識(shí)別的空間分布的理解,已經(jīng)建立了若干規(guī)則,可將人臉檢測(cè)問題轉(zhuǎn)化為假設(shè)和驗(yàn)證問題。人臉檢測(cè)的基本思想是用相關(guān)知識(shí)和統(tǒng)計(jì)學(xué)來進(jìn)行人臉建模,并比較區(qū)域內(nèi)人面模型之間的匹配程度,從而得到人臉可能存在的區(qū)域。
人臉檢測(cè)的基本方法可以分為兩類,即基于特征和基于圖像的人臉檢測(cè)方法。機(jī)器學(xué)習(xí)是人臉檢測(cè)和識(shí)別領(lǐng)域的重要方法,這是一種不完全的模式識(shí)別方法,主要用于估算系統(tǒng)的輸入/輸出與系統(tǒng)輸出的可靠性之間的關(guān)系,學(xué)習(xí)預(yù)測(cè)模型顯示見圖1.我們選用的機(jī)器學(xué)習(xí)算法是Adaboost算法,這個(gè)算法非常好,它是一種實(shí)時(shí)的人臉檢測(cè)算法,可以大幅度提高人臉檢測(cè)的速度。
圖1 根據(jù)樣本學(xué)習(xí)模型
Adaboost算法是一種分類器算法,是由Yoav Freund和Robert E.Schapire在1995年提出的,其基本思想是利用大量簡單的分類器疊加特定的方法,形成具有較強(qiáng)分類能力的強(qiáng)分類器。理論證明,簡單分類器的分類能力優(yōu)于隨機(jī)猜測(cè),當(dāng)簡單量詞接近無窮大時(shí),強(qiáng)分類器的錯(cuò)誤率趨于零[1]。
Adaboost算法的具體流程是這樣的:給定一個(gè)訓(xùn)練數(shù)據(jù)集T={(x1,y1),(x2,y2),…,(xN,yN)},在這個(gè)實(shí)例中,實(shí)例x∈X,而實(shí)例空間x∈Rn,yi在集合{-1,+1}里,Adaboost的目的就是從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)訓(xùn)練一系列的弱分類器,有時(shí)也是基本分類器,然后將這些弱分類器聯(lián)合進(jìn)而組成如下一個(gè)強(qiáng)分類器[2]。通過對(duì)一系列的分類器進(jìn)行組合,最終的分類器如下:
所以,我們使用Adaboost算法來對(duì)人臉圖像進(jìn)行處理,最終便可以成功完成人臉識(shí)別這一任務(wù)。
本文針對(duì)上述人臉識(shí)別的方法,提出擴(kuò)展Hadoop功能的設(shè)計(jì)思路,使其支持對(duì)人臉圖像、視頻的處理,并將當(dāng)前大數(shù)據(jù)技術(shù)中主流框架Hadoop與上述算法相結(jié)合,進(jìn)而提出一種對(duì)大量人臉數(shù)據(jù)進(jìn)行處理的解決方案。該解決方案的優(yōu)勢(shì)主要體現(xiàn)在以下3方面:①可以將人臉識(shí)別和海量視頻數(shù)據(jù)劃分到集群中的每個(gè)節(jié)點(diǎn)上,實(shí)現(xiàn)高并發(fā)性,大大提高了人臉識(shí)別圖像處理的速度。②Hadoop平臺(tái)的安全性保證了視頻數(shù)據(jù)存儲(chǔ)的安全性,減少了圖像和視頻數(shù)據(jù)的不正確存儲(chǔ)及不必要的服務(wù)器崩潰損失。③Hadoop平臺(tái)具有很高的可擴(kuò)展性,因?yàn)槿四様?shù)據(jù)隨著時(shí)間的推移,所需的存儲(chǔ)容量增加、計(jì)算能力增強(qiáng)。Hadoop可以很容易地?cái)U(kuò)展到當(dāng)前集群,而且價(jià)格低廉的PC節(jié)點(diǎn)也可以降低擴(kuò)展成本。這些優(yōu)點(diǎn)使得使用Hadoop集群成為可能,使用Hadoop可以明顯地降低成本。
具體的系統(tǒng)設(shè)計(jì)思想如下:①用戶上傳經(jīng)過本文前段給出的人臉識(shí)別圖像處理后的數(shù)據(jù),將人臉數(shù)據(jù)存儲(chǔ)到HDFS中。由于人臉數(shù)據(jù)是一種結(jié)構(gòu)復(fù)雜、數(shù)據(jù)間關(guān)聯(lián)性非常強(qiáng)、要求準(zhǔn)確率非常高的數(shù)據(jù)結(jié)構(gòu),HDFS如何存儲(chǔ)、如何保證存儲(chǔ)過程中人臉關(guān)鍵信息不會(huì)丟失是兩個(gè)主要問題,這些問題可以用HDFS不斷優(yōu)化來解決。②對(duì)Hadoop框架的人臉數(shù)據(jù)類型接口和輸入/輸出格式接口進(jìn)行擴(kuò)展。由于Hadoop使用分布式集群體系結(jié)構(gòu),遠(yuǎn)程調(diào)用協(xié)議實(shí)現(xiàn)了集群節(jié)點(diǎn)之間的通信。遠(yuǎn)程調(diào)用協(xié)議通過將數(shù)據(jù)信息串行化為二進(jìn)制來實(shí)現(xiàn)節(jié)點(diǎn)之間的通信。因此,我們對(duì)接口的拓展主要是為了讓Hadoop中Map和Reduce階段的數(shù)據(jù)可以高效傳輸、處理。③將上述人臉識(shí)別算法嵌入到Hadoop框架中,對(duì)處理后的人臉數(shù)據(jù)進(jìn)行分布式計(jì)算處理,將辨認(rèn)出的人臉和環(huán)境信息保存于Hbase數(shù)據(jù)庫,實(shí)現(xiàn)系統(tǒng)的人臉識(shí)別功能[3]。通過上述方法,我們已經(jīng)掌握了人臉數(shù)據(jù),可幫助我們有效解決安全、刑偵、廣告推廣等各種問題。
基于Hadoop的人臉識(shí)別系統(tǒng)的設(shè)計(jì)功能,處理用戶上傳的在線分布式人臉識(shí)別系統(tǒng)的人臉監(jiān)控視頻數(shù)據(jù)和圖像照片數(shù)據(jù)。系統(tǒng)功能主要包括:①面向上傳日常照片的人進(jìn)行登錄,保存人物Hbase的人臉數(shù)據(jù)。②在線上傳監(jiān)控視頻(以下以“視頻”代稱)數(shù)據(jù)和人臉圖像數(shù)據(jù),分析圖像數(shù)據(jù),找到指定人員的臉部信息,處理并儲(chǔ)存該數(shù)據(jù)。系統(tǒng)功能期望圖具體如圖2所示。
圖2 系統(tǒng)功能期望圖
我們可以在搭建Hadoop平臺(tái)的同時(shí)構(gòu)架一個(gè)Web界面,由此來設(shè)計(jì)并且監(jiān)控整個(gè)系統(tǒng)。通過對(duì)系統(tǒng)的一步一步構(gòu)建,實(shí)現(xiàn)了用戶的友好性,用戶無需通過煩瑣的操作來控制系統(tǒng),只需要通過軟件,按步驟一步一步操作即可。
我們通過對(duì)人臉識(shí)別系統(tǒng)進(jìn)行探索,大范圍地應(yīng)用人臉識(shí)別算法,這對(duì)促進(jìn)社會(huì)發(fā)展能起到非常大的作用,而使用大數(shù)據(jù)技術(shù),我們可以將這個(gè)效果擴(kuò)散開來,最后形成一套成熟的系統(tǒng),這樣就可以幫助我們來準(zhǔn)確分析,大范圍分析人臉數(shù)據(jù)。本文實(shí)現(xiàn)了一個(gè)基于Hadoop的人臉識(shí)別系統(tǒng),首先分析了當(dāng)前廣告、安防領(lǐng)域存在的關(guān)于人臉數(shù)據(jù)存儲(chǔ)和海量人臉數(shù)據(jù)分析的問題,通過對(duì)Hadoop框架中分布式文件系統(tǒng)HDFS、分布式計(jì)算模型MapReduce、分布式數(shù)據(jù)庫Hbase的結(jié)構(gòu)和原理進(jìn)行分析,在掌握Hadoop內(nèi)部原理的基礎(chǔ)上,實(shí)現(xiàn)對(duì)Hadoop已有的數(shù)據(jù)類型接口和文件輸入/輸出格式接口進(jìn)行擴(kuò)展,進(jìn)而實(shí)現(xiàn)Hadoop平臺(tái)對(duì)視頻數(shù)據(jù)處理的支持。
[1]姜濤.室外動(dòng)態(tài)場(chǎng)景中的人臉識(shí)別[D].成都:電子科技大學(xué),2015.
[2]馬玉剛.基于Adaboost算法的道路行人識(shí)別系統(tǒng)的研究[D].沈陽:東北大學(xué),2012.
[3]孫鐘前.基于上下文信息的運(yùn)動(dòng)目標(biāo)跟蹤算法的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.