我司最近要作和人臉識別相關的產品,原來使用的是其餘的在線平臺,識別率和識別速度很滿意,可是隨着量起來的話,成本也是愈來愈不能接受(目前該功能咱們是免費給用戶使用的),並且一旦咱們的設備掉線了就沒法使用人臉識別功能。基於這些考慮,我司須要尋找其餘的方案。 經過搜索,目前發現,開源或免費支持離線的方案也有很多。目前初步考慮虹軟 ArcFace和Dlib。經過官方的demo 和 網上的資料,寫了個工程,也能夠在這裏看。 這裏說一下要注意的 攝像頭是使用了 OpenCV 來處理的,這裏可能會涉及到預覽圖和屏幕方向不一致的狀況,我主要是經過一下代碼處理性能
Dlib 和虹軟 ArcFace要作人臉識別前都須要先檢測人臉,要否則後續提取不到人臉特徵人臉特徵比對時,建議將須要識別的測試
人臉特徵庫預先加載到內存,這樣能夠加快速度(固然也佔用比較大的內存)在使用 Dlib 作人臉檢測時要注意,人臉方向和blog
屏幕方向不一致時檢測不到人臉(虹軟 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更適合於手機端平臺。