1. 程式人生 > >人臉識別演算法虹軟arcface和Dlib對比

人臉識別演算法虹軟arcface和Dlib對比

我司最近要做和人臉識別相關的產品,原來使用的是其他的線上平臺,識別率和識別速度很滿意,但是隨著量起來的話,成本也是越來越不能接受(目前該功能我們是免費給使用者使用的),而且一旦我們的裝置掉線了就無法使用人臉識別功能。基於這些考慮,我司需要尋找其他的方案。 通過搜尋,目前發現,開源或免費支援離線的方案也有不少。目前初步考慮虹軟 ArcFace和Dlib。通過官方的demo 和 網上的資料,寫了個工程,也可以在這裡看。 這裡說一下要注意的 攝像頭是使用了 OpenCV 來處理的,這裡可能會涉及到預覽圖和螢幕方向不一致的情況,我主要是通過一下程式碼處理

在這裡插入圖片描述 Dlib 和虹軟 ArcFace要做人臉識別前都需要先檢測人臉,要不然後續提取不到人臉特徵人臉特徵比對時,建議將需要識別的

人臉特徵庫預先載入到記憶體,這樣可以加快速度(當然也佔用比較大的記憶體)在使用 Dlib 做人臉檢測時要注意,人臉方向和

螢幕方向不一致時檢測不到人臉(虹軟 ArcFace 不存在這個問題),如果不一致,需要將圖片的人臉方向轉為和螢幕方向一

致時再來做人臉檢測虹軟 ArcFace 做人臉識別時,要注意你下載的憑條 SDK 與 APP_Id、SDK_key 要一致(這個是沒懂要

搞這麼多驗證資料)。

庫的引用直接安裝文件操作即可。虹軟 ArcFace 做人臉識別時,要使用人臉檢測時的人臉角度,要不然提取不到人臉特徵,

可以參考一下程式碼說明

在這裡插入圖片描述 Dlib測試結果機型 一次人臉檢測耗時 一次一個人臉特徵提取耗時 一次人臉特徵比對耗時

堅果 U1 280毫秒左右 6800毫秒左右 0.03毫秒左右

堅果 pro 293毫秒左右 1060毫秒左右 0.002毫秒左右

虹軟測試結果機型一次 人臉檢測耗時 一次一個人臉特徵提取耗時 一次人臉特徵比對耗時

堅果 U1 43毫秒左右 943毫秒左右 0.883毫秒左右

堅果 pro 220毫秒左右 314毫秒左右 0.308毫秒左右

從該測試可以看出 Dlib 和 虹軟 ArcFace 的優缺點,兩個的效能瓶頸都在人臉特徵提取,Dlib尤為突出。相對比Dlib,虹軟

ArcFace更適合