人臉識別技術在HBase中的探索和應用

2021-09-19 17:56:42 字數 1495 閱讀 6804

一、hbase基礎與儲存的優勢

hbase主要具有五大核心優勢,即海量儲存、列式儲存、易擴充套件、高併發以及稀疏矩陣。hbase所能夠應用的場景包括物件儲存、使用者畫像推薦、聊天訊息實時流、索引、報表以及軌跡資料和監控資料等。

日誌記錄

對於離線人臉識別而言,只需要將資料儲存在本地即可,不需要在雲端進行匹配,而需要定期將資料批量寫入伺服器。而對於人臉搜尋這樣的場景,比如門禁場景,當人去刷臉的時候,客戶端會扣取中的人臉圖,先判斷中是否有人,如果有人才會去雲端進行多執行緒搜尋,只要其中乙個執行緒能夠搜尋成功就認為搜尋成功,之後就可以開啟門禁。以上這些都屬於日誌批量寫入的場景。

其次是列式儲存場景,一些資料可能存在交叉,但是又不完全一樣,比如上圖中的6種場景,人臉搜尋、人臉檢驗、人臉校驗、人臉屬性檢測、人臉特徵以及人臉活體等。在京東基於hbase的人臉識別實踐中,主表的rowkey設計使用的data_time_uuid,其中time為最大時間減去當前時間,這樣使得最新的資料放在最上面,而uuid則是隨機id。因為直接通過主表查詢資料比較麻煩,因此根據不同的業務維度建立不同的索引表,索引表中儲存了當前的主表的rowkey。因此可以按照不同的業務維度找索引表,進而找到主表中的資料。

三、hbase資料分析

如下圖所示,在剛開始的時候,按照不同的型別、不同的時間和不同的使用者進行統計,寫不同的work,如果統計的維度越多,那麼work就越多,那麼當需求無限增加,那麼就需要使用更多地任務。並且這樣一來使得任務管理變得異常繁瑣。

因此,對於上述部分進行了如下圖所示的改進。上層的各種應用將會把資料寫入到hbase裡面,同時實時地接入kafka直接進入資料倉儲裡面,此外,資料倉儲每天會增量地將hbase中的資料增量地抽取過去。

如下圖所示的是資料倉儲的設計,當將資料抽取過來之後需要對於資料進行清洗。因為有些字段沒有作用,因此需要進行清洗之後,按照維度進行劃分,最後按照需求歸入到不同應用裡面提供服務。

hbase中的資料將會主要應用於兩個方面,其一是統計報表,離線查詢基於hive實現,因此這樣就比較方便。另外乙個方面就是實時資料大屏,需要將資料實時寫入hbase,並對外提供api服務。

四、hbase使用中遇到的問題

在使用hbase的過程中也遇到了很多的問題,第乙個就是因為專案是基於spring實現的,但由於spring hbase效能較差,發現當資料量變大之後,其讀寫效能變得很差,主要原因就是經常會出現需要重新連線的情況,根據這樣的情況,在實踐中選用了原生的api。其次,還出現了hbase的熱點問題,在實踐中採用預分割槽的方式進行了解決。

人臉識別技術在HBase中的探索和應用

一 hbase基礎與儲存的優勢 hbase主要具有五大核心優勢,即海量儲存 列式儲存 易擴充套件 高併發以及稀疏矩陣。hbase所能夠應用的場景包括物件儲存 使用者畫像推薦 聊天訊息實時流 索引 報表以及軌跡資料和監控資料等。日誌記錄 對於離線人臉識別而言,只需要將資料儲存在本地即可,不需要在雲端進...

耐克人臉識別 人臉識別技術在樓宇對講領域的應用

對於小區住戶,目前絕大多數樓宇對講系統所採用都是刷卡開鎖的方式,小區住戶一般都會配置相應的id卡,使用id卡進行門禁開鎖。但是刷卡開鎖存在較大的使用不便和安全隱患 首先使用者很容易丟失或會忘記攜帶自己的id卡,這樣就會給住戶進出小區會帶來不便 其次這種id卡很容易複製帶來安全隱患,一旦使用者的id卡...

人臉識別中的rank n

人臉識別中的rank n 代表的意思 原創這個暱稱唯一 最後發布於2017 09 02 11 05 13 閱讀數 2247 收藏 展開rank 1 看一些 總是在結果中看到rank 1,等等,但是就不知道什麼意思,今天終於搞明白了,備註一下。意思rank 1,就是第一次命中 rank k,就是在第k...