OpenFace是一種使用深度神經網絡進行人臉識別的Python和Torch實現,它基於CVPR 2015論文FaceNet:由Florian Schroff,Dmitry Kalenichenko和James Philbin在Google 進行的面部識別和聚類統一嵌入。Torch允許網絡在CPU或CUDA上執行。OpenFace是改進的神經網絡訓練技術,可將準確度從76.1%提高到92.9%。
該研究得到了美國國家科學基金會(NSF)的資助,編號為CNS-1518865。英特爾公司,谷歌,沃達豐,NVIDIA和Conklin Kistler家族基金提供了額外的支持。
自由開源人臉識別神經網絡
以下概述顯示了來自公開可用的LFW數據集的Sylvestor Stallone單個輸入圖像的工作流程。
使用dlib或OpenCV中預先訓練的模型檢測面部。
轉換神經網絡的面部。該存儲庫使用dlib的實時姿勢估計和OpenCV的仿射變換來嘗試使眼睛和下唇出現在每個圖像上的相同位置。
使用深度神經網絡在128維單位超球面上表示(或嵌入)面部。嵌入是任何人臉上的通用表示。與其他面部表示不同,這種嵌入具有良好的特性,即兩個面嵌入之間的較大距離意味著面部可能不是同一個人。與其他特徵之間的歐幾里德距離無意義的人臉識別技術相比,此屬性使聚類,相似性檢測和分類任務更容易。
將您喜歡的聚類或分類技術應用於功能以完成識別任務。請參閱下面的分類和相似性檢測示例,包括在線網絡演示。
存儲庫中有什麼?
batch-represent:從一批圖像生成表示。示例目錄結構。
demos / web:實時網絡演示。
demos / compare.py:演示來比較兩個圖像。
demos / vis-outputs.lua:演示可視化網絡的輸出。
demos / classifier.py:演示以訓練和使用分類器。
evaluation:LFW精度評估腳本。
openface:Python庫代碼。
models:openface和第三方庫的模型目錄。
tests:測試腳本和庫代碼,包括神經網絡訓練。
training:編寫新的OpenFace神經網絡模型的腳本。
util:實用程序腳本。
地址:
https://github.com/cmusatyalab/openface
閱讀更多 Lonelywhitehat 的文章