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