本系統(tǒng)采用華為的 FusionInsight 大數(shù)據(jù)平臺架構(gòu),與傳統(tǒng)的服務(wù)器架構(gòu)相比,數(shù)據(jù)處理能力大幅提升,主要優(yōu)勢如下:
支持海量數(shù)據(jù)處理,可支持百億級人臉庫
可實現(xiàn)數(shù)據(jù)存儲,處理,分析一體化結(jié)構(gòu)
實時性,基于 storm 集群的深度學(xué)習(xí)算法可實時處理識別,對比,搜索運算
高效性,對于人像庫之間的查重對比,時間可縮短到原來的 1/10
安全性高,對網(wǎng)絡(luò)安全,數(shù)據(jù)安全,主機安全均可提供全面解決方案
業(yè)務(wù)背景
人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術(shù)。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部的一系列相關(guān)技術(shù),通常也叫做人像識別、面部識別。
我們的用戶在使用傳統(tǒng)的人臉識別系統(tǒng)過程中面臨以下幾個問題:
用戶目前只能從第三方獲取視頻數(shù)據(jù),無法直接取到人臉照片
既要從視頻中實時提取人臉圖片,又要進行實時比對
用戶要面對眾多廠商的攝像設(shè)備,而原有的攝像機拍攝角度很難滿足人臉抓拍的要求
用戶需要建立多種業(yè)務(wù)的人臉庫,總量達百億級
用戶需要經(jīng)常進行大規(guī)模人臉庫之間的查重操作,以往處理一次需要幾個月的時間
針對上述問題,我們采用深度學(xué)習(xí)的人臉識別算法并基于華為的大數(shù)據(jù)平臺成功的為用戶解決了現(xiàn)有的問題,并大幅度提高了系統(tǒng)的性能。
解決方案介紹
1.系統(tǒng)的基本功能
實時接收。實時接收外部設(shè)備抓拍的人臉照片,保存到 HDFS 中。
實時人臉檢測。對抓拍的照片實時進行人臉檢測和特征提取,將人臉特征存儲到抓拍人臉庫,并在數(shù)據(jù)庫中關(guān)聯(lián)人臉特征和抓拍的人臉照片,用于后續(xù)的檢索功能。
實時黑名單比對。將從實時抓拍照片中提取出的人臉特征與黑名單庫的記錄對比,如果抓拍的照片與黑名單庫的記錄匹配,則報警。
離線人臉識別。使用用戶提交的人臉照片,檢測出照片中的人臉,并提取人臉的特征,將特征與人臉注冊庫或人臉黑名單庫或人臉抓拍庫中的特征記錄對比,找出匹配的人。
人臉庫管理??梢允謩踊蜃詣优幚斫⑷四槑?注冊庫、黑名單庫和抓拍庫),對人臉庫可以進行增加和刪除操作。
用戶接口。用戶可以通過 web 頁面進行人臉庫的管理操作、離線人臉?biāo)阉鳌⒉樵冏ヅ挠涗?人臉軌跡和接收黑名單報警等功能。
2.系統(tǒng)的設(shè)計性能
注冊人臉庫支持 1000 萬個人像記錄,并支持平滑擴容至 100 億級人像記錄
注冊人臉庫的離線檢索時間要小于 10 秒
從接收到照片到完成重點黑名單庫的對比要小于2秒
根據(jù)業(yè)務(wù)需要,系統(tǒng)支持把抓拍庫的內(nèi)容錄入注冊庫
3.系統(tǒng)示意圖
4.系統(tǒng)的整體設(shè)計
本系統(tǒng)采用基于深度學(xué)習(xí)的人臉識別算法,通過多臺華為 FusionInsight 服務(wù)器集群和一臺 WEB 服務(wù)器實現(xiàn)一個完整的人臉識別系統(tǒng),并可根據(jù)需要進行平滑擴展。
本方案針對大型以及超大型人臉識別系統(tǒng),人臉識別系統(tǒng)可對提交的照片進行實時動態(tài)識別或動靜態(tài)比對。在方案中,系統(tǒng)可以自動采集數(shù)據(jù)進行對比處理,也可以是工作人員通過查詢終端提交人像圖片,系統(tǒng)會對提交的照片進行特征提取,并與保存在內(nèi)存注冊庫中的人像圖片結(jié)構(gòu)化特征數(shù)據(jù)進行快速匹配。最后,根據(jù)工作人員設(shè)定的相似度閾值顯示相關(guān)人員的身份信息。
01
系統(tǒng)的邏輯架構(gòu)
系統(tǒng)業(yè)務(wù)邏輯包含三塊內(nèi)容:
人臉采集系統(tǒng):人臉采集系統(tǒng)包括專業(yè)人臉抓拍機和普通高清網(wǎng)絡(luò)攝像機+人臉檢測服務(wù)器,是將前端采集到的視頻圖片等非結(jié)構(gòu)化數(shù)據(jù)進行分析處理,定位檢測獲取人臉圖片,并結(jié)合人員身份信息采集系統(tǒng)獲取人員身份信息進行關(guān)聯(lián)管理。
人臉比對系統(tǒng):人臉比對系統(tǒng)是對人臉采集系統(tǒng)傳輸?shù)臄?shù)據(jù)進行智能分析處理,進行人臉圖片建模、通過人臉眼睛、鼻子、嘴、下巴等局部構(gòu)成,對這些局部和它們之間結(jié)構(gòu)關(guān)系的幾何描述,進行人臉特征數(shù)據(jù)提取入庫,并根據(jù)平臺業(yè)務(wù)需求進行實時比對識別和事后人臉檢索應(yīng)用。
人臉庫:人臉庫包括人臉抓拍庫、人臉注冊庫、黑名單庫,其中抓拍庫包括場景下?lián)溉〉娜四樞D、人臉特征數(shù)據(jù),是人臉采集系統(tǒng)采集的人臉圖片存儲庫,用于人臉比對系統(tǒng)進行人臉圖片比對檢索;注冊庫包括標(biāo)準(zhǔn)人臉圖片、人員身份信息、人臉特征數(shù)據(jù),是系統(tǒng)設(shè)定前批量導(dǎo)入的重點人員庫,用于人臉比對系統(tǒng)進行人臉圖片比對檢索;黑名單庫是注冊庫中將部分重點人員進行布控組成,用于實時比對人臉采集系統(tǒng)傳輸?shù)娜四槇D片。
02
人臉業(yè)務(wù)庫
系統(tǒng)數(shù)據(jù)庫應(yīng)包含三種業(yè)務(wù)庫:人臉抓拍庫、人臉注冊庫和黑名單庫。
人臉抓拍庫-包含抓拍現(xiàn)場圖片、人臉小圖和結(jié)構(gòu)化的人臉特征數(shù)據(jù)、抓拍地點、抓拍時間等信息,此類庫的主要業(yè)務(wù)應(yīng)用場景是圖片檢索比對,查詢目標(biāo)人員的人像出沒地點、時間等信息;
人臉注冊庫-主要是導(dǎo)入一些大規(guī)模的人像圖片、結(jié)構(gòu)化的人臉特征數(shù)據(jù)和身份信息,如一個地級市當(dāng)?shù)氐纳绫H讼裥畔斓?導(dǎo)入后主要的應(yīng)用場景是圖片檢索比對和身份信息查詢,確定人員身份;
黑名單庫-包含高危人員、特殊人員的人臉圖片、結(jié)構(gòu)化的人臉特征數(shù)據(jù)和人員身份信息,主要的應(yīng)用場景是在各個人臉卡口進行實時人流的人臉比對預(yù)警。
一般來說人臉抓拍庫和人臉注冊庫做為靜態(tài)庫,適用于事后查詢檢索目標(biāo)、黑名單庫作為動態(tài)庫,用于實時比對報警。一個或多個黑名單也可以進行勾選布控,形成具有針對性的人臉布控庫,與前端實時視頻進行人臉比對報警。
03
業(yè)務(wù)流程
系統(tǒng)數(shù)據(jù)流包含人臉實時比對和人臉歷史查詢。其中實時比對發(fā)生在事前或事中,當(dāng)系統(tǒng)發(fā)現(xiàn)有布控人員出現(xiàn)時,執(zhí)勤人員可以迅速作出反應(yīng);歷史查詢則是針對事后重點人員排查,可通過可疑人員圖片查詢系統(tǒng)記錄的人員信息。
實時視頻人臉比對:普通高清網(wǎng)絡(luò)攝像機通過人臉檢測服務(wù)器或?qū)I(yè)人臉抓拍相機分析視頻中的人臉,提取人臉圖片轉(zhuǎn)發(fā)給平臺服務(wù)器,服務(wù)器通過智能算法,從抓拍的人臉中提取特征數(shù)據(jù),與黑名單庫中的人臉特征數(shù)據(jù)庫進行遍歷檢索,最后由平臺展現(xiàn)人臉比對結(jié)果。
圖片檢索人臉比對:通過平臺客戶端提交需檢索的人臉圖片,平臺服務(wù)器提取人臉圖片特征數(shù)據(jù),與人臉抓拍庫或人臉注冊庫中的人臉特征數(shù)據(jù)進行遍歷比對,最后由平臺展現(xiàn)比對結(jié)果。
04
華為大數(shù)據(jù)平臺
FusionInsight 是華為企業(yè)級大數(shù)據(jù)存儲、查詢、分析的統(tǒng)一平臺,能夠幫助用戶快速構(gòu)建海量數(shù)據(jù)信息處理系統(tǒng),通過對巨量信息數(shù)據(jù)實時與非實時的分析挖掘,發(fā)現(xiàn)全新價值點。FusionInsight 解決方案由 5 個子產(chǎn)品 FusionInsight HD、FusionInsight MPPDB、FusionInsight Miner、FusionInsight Farmer 和 FusionInsight Manager 構(gòu)成。
FusionInsight HD:企業(yè)級的大數(shù)據(jù)處理環(huán)境,是一個分布式數(shù)據(jù)處理系統(tǒng),對外提供大容量的數(shù)據(jù)存儲、分析查詢和實時流式數(shù)據(jù)處理能力。
FusionInsight MPPDB:企業(yè)級的MPP關(guān)系型數(shù)據(jù)庫,基于列存儲和MPP架構(gòu),是為面向結(jié)構(gòu)化數(shù)據(jù)分析而設(shè)計開發(fā)的,能夠有效處理PB級別的數(shù)據(jù)量。
FusionInsight MPPDB在核心技術(shù)上跟傳統(tǒng)數(shù)據(jù)庫有巨大差別,可以解決很多行業(yè)用戶的數(shù)據(jù)處理性能問題,可以為超大規(guī)模數(shù)據(jù)管理提供高性價比的通用計算平臺,并可用于支撐各類數(shù)據(jù)倉庫系統(tǒng)、BI(Business Intelligence)系統(tǒng)和決策支持系統(tǒng),統(tǒng)一為上層應(yīng)用的決策分析等提供服務(wù)。
FusionInsight Miner:企業(yè)級的數(shù)據(jù)分析平臺,基于華為FusionInsight HD的分布式存儲和并行計算技術(shù),提供從海量數(shù)據(jù)中挖掘出價值信息的平臺。
FusionInsight Farmer:企業(yè)級的大數(shù)據(jù)應(yīng)用容器,為企業(yè)業(yè)務(wù)提供統(tǒng)一開發(fā)、運行和管理的平臺。
FusionInsight Manager:企業(yè)級大數(shù)據(jù)的操作運維提供,提供高可靠、安全、容錯、易用的集群管理能力,支持大規(guī)模集群的安裝部署、監(jiān)控、告警、用戶管理、權(quán)限管理、審計、服務(wù)管理、健康檢查、問題定位、升級和補丁等功能。
分布式系統(tǒng)
HDFS 是 Hadoop 的分布式文件系統(tǒng),實現(xiàn)大規(guī)模數(shù)據(jù)可靠的分布式讀寫。HDFS 針對的使用場景是數(shù)據(jù)讀寫具有“一次寫,多次讀”的特征,而數(shù)據(jù)“寫”操作是順序?qū)?也就是在文件創(chuàng)建時的寫入或者在現(xiàn)有文件之后的添加操作。HDFS 保證一個文件在一個時刻只被一個調(diào)用者執(zhí)行寫操作,而可以被多個調(diào)用者執(zhí)行讀操作。
分布式處理引擎
MapReduce 是 Hadoop 的核心,是 Google 提出的一個軟件架構(gòu),用于大規(guī)模數(shù)據(jù)集(大于 1TB)的并行運算。概念“Map(映射)”和“Reduce(化簡)”,及他們的主要思想,都是從函數(shù)式編程語言借來的,還有從矢量編程語言借來的特性。當(dāng)前的軟件實現(xiàn)是指定一個 Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的 Reduce(化簡)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。
MapReduce 是用于并行處理大數(shù)據(jù)集的軟件框架。MapReduce 的根源是函數(shù)性編程中的 map 和 reduce 函數(shù)。Map 函數(shù)接受一組數(shù)據(jù)并將其轉(zhuǎn)換為一個鍵/值對列表,輸入域中的每個元素對應(yīng)一個鍵/值對。Reduce 函數(shù)接受 Map 函數(shù)生成的列表,然后根據(jù)它們的鍵縮小鍵/值對列表。MapReduce 起到了將大事務(wù)分散到不同設(shè)備處理的能力,這樣原本必須用單臺較強服務(wù)器才能運行的任務(wù),在分布式環(huán)境下也能完成了。
統(tǒng)一資料管理和調(diào)度
為了實現(xiàn)一個 Hadoop 集群的集群共享、可伸縮性和可靠性,并消除早期 MapReduce框架中的 JobTracker 性能瓶頸,開源社區(qū)引入了統(tǒng)一的資源管理框架 YARN。YARN 分層結(jié)構(gòu)的本質(zhì)是 ResourceManager。這個實體控制整個集群并管理應(yīng)用程序向基礎(chǔ)計算資源的分配。
ResourceManager 將各個資源部分(計算、內(nèi)存、帶寬等)精心安排給基礎(chǔ) NodeManager(YARN 的每節(jié)點代理)。ResourceManager 還與Application Master 一起分配資源,與 NodeManager 一起啟動和監(jiān)視它們的基礎(chǔ)應(yīng)用程序。在此上下文中,Application Master 承擔(dān)了以前的 TaskTracker 的一些角色,ResourceManager 承擔(dān)了 JobTracker 的角色。Application Master 管理一個在 YARN 內(nèi)運行的應(yīng)用程序的每個實例。Application Master 負責(zé)協(xié)調(diào)來自 ResourceManager 的資源,并通過 NodeManager 監(jiān)視容器的執(zhí)行和資源使用(CPU、內(nèi)存等的資源分配)。請注意,盡管目前的資源更加傳統(tǒng)(CPU 核心、內(nèi)存),但未來會帶來基于手頭任務(wù)的新資源類型(比如圖形處理單元或?qū)S锰幚碓O(shè)備)。
從 YARN 角度講,Application Master 是用戶代碼,因此存在潛在的安全問題。YARN 假設(shè) Application Master 存在錯誤或者甚至是惡意的,因此將它們當(dāng)作無特權(quán)的代碼對待。NodeManager 管理一個 YARN 集群中的每個節(jié)點。
NodeManager 提供針對集群中每個節(jié)點的服務(wù),從監(jiān)督對一個容器的終生管理到監(jiān)視資源和跟蹤節(jié)點健康。MRv1 通過插槽管理 Map 和 Reduce 任務(wù)的執(zhí)行,而 NodeManager 管理抽象容器,這些容器代表著可供一個特定應(yīng)用程序使用的針對每個節(jié)點的資源。
分布式數(shù)據(jù)庫
數(shù)據(jù)存儲使用 HBase 來承接,HBase 是一個開源的、面向列(Column-Oriented)、適合存儲海量非結(jié)構(gòu)化數(shù)據(jù)或半結(jié)構(gòu)化數(shù)據(jù)的、具備高可靠性、高性能、可靈活擴展伸縮的、支持實時數(shù)據(jù)讀寫的分布式存儲系統(tǒng)。
存儲在 HBase 中的表的典型特征:
大表(BigTable):一個表可以有上億行,上百萬列
面向列:面向列(族)的存儲、檢索與權(quán)限控制
稀疏:表中為空(null)的列不占用存儲空間
流處理服務(wù)
Apache Storm 是一個分布式、可靠、容錯的實時流式數(shù)據(jù)處理的系統(tǒng)。在 Storm 中,先要設(shè)計一個用于實時計算的圖狀結(jié)構(gòu),我們稱之為拓撲(topology)。這個拓撲將會被提交給集群,由集群中的主控節(jié)點(master node)分發(fā)代碼,將任務(wù)分配給工作節(jié)點(worker node)執(zhí)行。一個拓撲中包括 spout 和 bolt 兩種角色,其中 spout 發(fā)送消息,負責(zé)將數(shù)據(jù)流以 tuple 元組的形式發(fā)送出去;而 bolt 則負責(zé)轉(zhuǎn)換這些數(shù)據(jù)流,在 bolt 中可以完成計算、過濾等操作,bolt 自身也可以隨機將數(shù)據(jù)發(fā)送給其他 bolt。由 spout 發(fā)射出的 tuple 是不可變數(shù)組,對應(yīng)著固定的鍵值對。
業(yè)務(wù)處理邏輯被封裝進 Storm 中的 topology 中。一個 topology 是由一組 Spout 組件(數(shù)據(jù)源)和 Bolt 組件(邏輯處理)通過 Stream Groupings 進行連接的有向無環(huán)圖(DAG)。Topology 里面的每一個 Component(Spout/Bolt)節(jié)點都是并行運行的。 在 topology 里面, 可以指定每個節(jié)點的并行度, storm 則會在集群里面分配相應(yīng)的 Task 來同時計算,以增強系統(tǒng)的處理能力。
調(diào)用了華為哪些能力
使用 HBase 的 JAVA API 實現(xiàn)了對 HBase 數(shù)據(jù)庫的表的創(chuàng)建、刪除和數(shù)據(jù)的增刪改功能。使用的 API 如下:
org.apache.hadoop.hbase.client.HBaseAdmin 類:
org.apache.hadoop.hbase.HTableDescriptor:
org.apache.hadoop.hbase.client.HTable:
org.apache.hadoop.hbase.client.Put
org.apache.hadoop.hbase.client.Get
使用了HDFS的JAVA API 實現(xiàn)了對HDFS上的照片文件的讀取
Kafka java api, 實現(xiàn)了 kafka 的生產(chǎn)者和消費者,storm 的 spout 中實現(xiàn) kafka 消費者,從 kafka 訂閱人臉照片,實現(xiàn)人臉照片的實時采集
消費者 API:
生產(chǎn)者 API:
使用 stormAPI 實現(xiàn)對拓撲的提交,查詢和刪除操作
合作伙伴介紹
北京恒遠華信息技術(shù)有限公司成立于 2001 年,公司自成立以來始終專注于政府行業(yè)和大型企事業(yè)單位的通信網(wǎng)絡(luò)及信息化建設(shè),緊跟 IT 技術(shù)的發(fā)展,在云計算、存儲、數(shù)據(jù)網(wǎng)絡(luò)、WLAN、數(shù)據(jù)中心建設(shè)和智能光網(wǎng)絡(luò)建設(shè)方面能提供最新的極具競爭力的產(chǎn)品解決方案及服務(wù)。恒遠華多年來一直以華為為最重要的合作伙伴,與華為攜手承建過多項國家級重點通信工程。
近年來,隨著華為大數(shù)據(jù)平臺的建設(shè)量的增加出現(xiàn)了基于大數(shù)據(jù)平臺的人臉識別需求,恒遠華基于華為大數(shù)據(jù)平臺開發(fā)了專門針對特定行業(yè)的人臉識別業(yè)務(wù),獲得行業(yè)內(nèi)的積極評價。
原文標(biāo)題:案例 | 基于華為大數(shù)據(jù)平臺的人臉識別
文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。