阿里雲視覺智慧開放平臺的人臉1:N搜尋的開源替代-Java版(文末賦開源地址)

divenswu發表於2021-12-29

一、人臉檢測相關概念

人臉檢測(Face Detection)是檢測出影像中人臉所在位置的一項技術,是人臉智慧分析應用的核心組成部分,也是最基礎的部分。人臉檢測方法現在多種多樣,常用的技術或工具大多有insightface、pcn、libfacedetection、Ultra-Light-Fast-Generic-Face-Detector-1MB、CenterFace、RetinaFace MobileNet0.25等等。目前具有廣泛的學術研究價值和業務應用價值,比如人臉識別、人臉屬性分析(年齡估計、性別識別、顏值打分和表情識別)、人臉Avatar、智慧視訊監控、人臉影像過濾、智慧影像裁切、人臉AR遊戲等等。

二、人臉識別的相關概念

人臉識別(Facial Recognition),即通過視訊採集裝置獲取使用者的面部影像,再利用核心的演算法對其臉部的五官位置、臉型和角度進行計算分析,進而和自身資料庫裡已有的範本進行比對,從而判斷出使用者的真實身份.人臉識別演算法,在檢測到人臉並定位面部關鍵特徵點之後,主要的人臉區域就可以被裁剪出來,經過預處理之後,饋入後端的識別演算法。識別演算法要完成人臉特徵的提取,並與庫存的已知人臉進行比對,完成最終的分類。服務架構圖如下:

三、人臉比對的相關概念

人臉比對演算法的輸入是兩張人臉圖片(人臉特徵),輸出是兩個特徵之間的相似度。人臉驗證、人臉識別、人臉檢索都是在人臉比對的基礎上加一些策略來實現。相對人臉提特徵過程,單次的人臉比對耗時相對較短。另外值得一提的是人臉相似度計算一般使用的是cos距離,可以將相似度控制在[-1,1]中。

四、人臉識別的M:N模式

M:N 是通過計算機對場景內所有人進行面部識別並與人像資料庫進行比對的過程。M:N作為一種動態人臉比對,其使用率非常高,能充分應用於多種場景,例如公共安防,迎賓,機器人應用等。但是M:N模式仍存在很大的弊端,因為其必須依靠海量的人臉資料庫才能執行,並且由於識別基數過大,裝置解析度不足等因素,使M:N模式會產生很高的錯誤率從而影響識別結果。

五、開源人臉識別、人臉搜尋服務

該專案是阿里雲視覺智慧開放平臺的人臉1:N的開源替代,專案中使用的模型均為開源模型,專案支援milvus和proxima向量儲存庫,並具有較高的自定義能力。其次專案使用純Java開發,免去使用Python帶來的服務不穩定性,支援docker一鍵部署、支援Java客戶端,restful介面等。

專案開源地址:https://gitee.com/open-visual/face-search

相關文章