宙視達專業(yè)視頻結(jié)構(gòu)化及千萬級人臉庫比對服務(wù)器系統(tǒng)架構(gòu)及優(yōu)勢說明
整個系統(tǒng)采用中間件服務(wù)器也即解析服務(wù)器,實現(xiàn)了端云結(jié)合的體系架構(gòu)。充分的發(fā)揮了前端智能攝像機的邊緣計算作用,將大量沒有人經(jīng)過的視頻幀進行了過濾,每路視頻25幀*60分*60秒*24小時=216萬張幀,有人經(jīng)過的可能只有2000-5000張,智能攝像機就是把這幾千張照片找出來,也充分的發(fā)揮了具有專業(yè)計算能力的結(jié)構(gòu)化服務(wù)器在算法上的絕對優(yōu)勢,讓整個系統(tǒng)的可用性及監(jiān)控監(jiān)管的力度大幅度的提升。
具備有行業(yè)最完整的21項屬性102個不同值的結(jié)構(gòu)化檢測能力,性別:不確定、男性、女性。年齡階段:不確定、幼兒、青年、中年、老年。戴眼鏡:不確定、戴眼鏡、無眼鏡。使用手機:不確定、未使用手機、使用手機。背包:不確定、無背包、單肩包、雙肩包。撐傘:不確定、打傘、未打傘。帽子:不確定、無帽、普通帽、安全帽。吸煙:不確定、吸煙、未吸煙。交通工具:不確定、沒坐車、摩托車、自行車、三輪車、無交通工具。手提物:不確定、有提、無手提物。上裝大類:不確定、長袖、短袖。上裝顏色:不確定、紅色、橙色、黃色、綠色、藍色、紫色、粉色、黑色、白色、灰色、棕色。上裝紋理:不確定、純色、圖案、碎花、條紋或格子。上裝細分:不確定、T恤、無袖、襯衫、西裝、毛衣、夾克、羽絨服、風(fēng)衣、外套。下裝種類:不確定、長褲、短褲、長裙、短裙。下裝顏色:不確定、紅色、橙色、黃色、綠色、藍色、紫色、粉色、黑色、白色、灰色、棕色。遮擋:不確定、無遮擋、輕度遮擋、重度遮擋。身體朝向:不確定、正面、背面、左側(cè)面、右側(cè)面。是否殘疾:不確定、正常人體、非正常人體。上方殘疾:不確定、有上方截肢、無上方截肢。下方殘疾:不確定、有下方截肢、無上方截肢。
中間件服務(wù)器不僅只是將攝像機的圖片流,推送給結(jié)構(gòu)化服務(wù)器,這中間需要一個緩存與調(diào)度機制,把結(jié)構(gòu)化服務(wù)器的作用最大化。而且所有的照片存儲,檢索,回放等功能,也由中間件服務(wù)器來實現(xiàn)。使得結(jié)構(gòu)化服務(wù)器只需完成最原始的智能分析即可,通過API把計算能力提供給中間件服務(wù)器,而邊緣計算攝像機也只需完成最基本的人車檢測即可,無需承載復(fù)雜的算法。而中間件服務(wù)器的功能定義,及向上級平臺的接口。
整個系統(tǒng)采用中間件服務(wù)器也即解析服務(wù)器,實現(xiàn)了端云結(jié)合的體系架構(gòu)。充分的發(fā)揮了前端智能攝像機的邊緣計算作用,將大量沒有人經(jīng)過的視頻幀進行了過濾,每路視頻25幀*60分*60秒*24小時=216萬張幀,有人經(jīng)過的可能只有2000-5000張,智能攝像機就是把這幾千張照片找出來。也充分的發(fā)揮了具有專業(yè)計算能力的人臉比對服務(wù)器在算法上的絕對優(yōu)勢。
可對人臉進行分析,獲得眼、口、鼻輪廓等72個關(guān)鍵點定位準確識別多種人臉屬性,如性別、年齡、表情、情緒,正臉系數(shù)等信息。該技術(shù)可適應(yīng)大角度側(cè)臉,遮擋,模糊,表情變化等各種實際環(huán)境。通過模式匹配的方式,512個特征征相當于512個字段,即相當于數(shù)據(jù)庫查詢的方式實現(xiàn)千萬級人員庫的秒級檢索。
中間件服務(wù)器不僅只是將攝像機的圖片流,推送給結(jié)構(gòu)化服務(wù)器,這中間需要一個緩存與調(diào)度機制,把比對服務(wù)器的作用最大化。而且所有的照片存儲,檢索,回放等功能,也由中間件服務(wù)器來實現(xiàn)。使得比對服務(wù)器只需完成最原始的比對即可,通過API把計算能力提供給中間件服務(wù)器,而邊緣計算攝像機也只需完成最基本的人臉檢測即可,無需承載復(fù)雜的高精度的比對算法。 智能人臉中間件識別服務(wù)器
中間件服務(wù)器同時也承載了應(yīng)用層的一些比對邏輯,在以圖搜圖或陌生人軌跡的應(yīng)用場景中就發(fā)揮了很大的作用。本項目610個攝像機一年產(chǎn)生了1.8億張照片,常規(guī)的系統(tǒng)架構(gòu)是需要把1.8億張照片保存在比對服務(wù)器中。檢索的時候需要超高性能的服務(wù)器,將提供的照片與在一秒或幾秒與抓拍保存的這1.8億張照片進行比對。提供的照片可能是5年前的證件照,即便這個人在1.8億張里有100張照片,大部分的非正臉照片也是比對不成功的,達不到85%的相似度。
而我們通過中間件服務(wù)器的方案,在比對服務(wù)器中只需保存不重復(fù)的最多1000萬個人員的臨時模版,而且每個模版都是當前在這610個攝像機前經(jīng)過所抓拍的最為正臉的照片。每抓拍到一張照片,就去比對服務(wù)器中檢索,如果不存在則新建一個模版。如果存在且當前所抓照片正臉系數(shù)比庫中的還要高,就替換為剛抓的照片,如果要低則只返回ID號。實現(xiàn)了抓拍的當時對所有的照片已經(jīng)進行了清洗,已經(jīng)標注了一個唯一的FACEID,只是臨時的,沒詳細的身份信息,但活動的頻率與軌跡已經(jīng)是在存入抓拍記錄時就計算好了的。
對這1.8億張照片進行檢索時就優(yōu)化為,從1000萬張正臉的臨時模版中去找到這個臨時的FACEID,再根據(jù)這個FACEID去抓拍記錄中進行數(shù)據(jù)庫級別的查尋,速度可以在秒級。同時5年前的照片與最正臉的當前照片比對容易成功,而這個最正臉的照片與這610個攝像機中100張照片,都能比對成功。同樣的攝像機抓的最正臉的模版,與第二次經(jīng)過類似場景的照片,相似度可以達到百分之百。
三、高性能檢索服務(wù)器 動態(tài)人臉分析識別中間件服務(wù)器
檢索服務(wù)器是整個系統(tǒng)結(jié)構(gòu)化后非多媒體數(shù)據(jù)的集中存儲服務(wù)器,人形結(jié)構(gòu)化的屬性特征及各中間件服務(wù)器的人臉抓拍記錄的保存,但并不包含任何圖片及視頻數(shù)據(jù),建立高性能的索引,保證對上十億條標準線性數(shù)據(jù)的秒級檢索。1年有1.8億條抓拍記錄,1年產(chǎn)生的人形結(jié)構(gòu)化數(shù)據(jù)至少是人臉數(shù)據(jù)的兩倍為3.6億條,1.8+3.6=5.4億條數(shù)據(jù)。適當做些性能的冗余,面對突發(fā)性的數(shù)據(jù)增漲。10億條記錄平均每條記錄按100個字節(jié),即93GB。整個存儲量相對于視頻錄像來說并不算大的,并發(fā)寫入的速度也不會太大,但檢索的效率要求極高。存儲的硬件自然要求比較高,數(shù)據(jù)庫產(chǎn)品的選擇也很重要,但應(yīng)用層的一些策略更起決定性作用。
標準的數(shù)據(jù)庫是針對企業(yè)級應(yīng)用,不僅有增加刪除,而且有更新動作。但人臉抓拍記錄,及結(jié)構(gòu)化數(shù)據(jù)都是具有嚴格的時間先后順序,完全線性的存儲。而且各通道之間也是完全孤立,沒有任何關(guān)聯(lián)性的,這些數(shù)據(jù)也是不可攥改的。針對這樣的特性,我們完全可以把它按功能分割成不同的數(shù)據(jù)表,不同的數(shù)據(jù)庫,或不同的數(shù)據(jù)庫服務(wù)器。高性能檢索服務(wù)器正是在不成倍的增加硬件成本的前提下,實現(xiàn)十倍以上的速度提升,在應(yīng)用層做深度的定制。
周期性的刪除一年前或是三年前的記錄,用簡單的刪除語句,就算是一個月刪除一次,也是上億條記錄,如果集中到一個數(shù)據(jù)庫,一張表,可能需要數(shù)分鐘的時間,而且會留下大量的碎片空間,長時間穩(wěn)定運行很受影響。目前的數(shù)據(jù)庫產(chǎn)品,要找到針對性解決這個問題的并不容易。我們在應(yīng)用層就可以輕易解決這個問題,采用截斷表或是刪除表的方式,速度極快,可以達到毫秒極,相當于Format /q的作用是一樣的。我們每個月建立一張獨立的表格,從安防的應(yīng)用場景來看,檢索的時候一般也是有一定時間周期的,只要檢索的時候根據(jù)時間段分別從不同表格去檢索,最后匯總即可,我們就可以按表格來截斷或是刪除即可。這樣不僅刪除的速度可以達到秒級,寫入的速度也會極大的提升。
這樣的技術(shù)方案,即便是十年時間而且攝像機的數(shù)量達到十倍以上,達到1000億條記錄,通過2-3臺服務(wù)器集成的方式,將不同的攝像機分布在不同的服務(wù)器上,也是可以達到同樣的秒級檢索的要求的,成本只需要按單臺服務(wù)器承載數(shù)量的倍數(shù)增加即可。