用Python做人臉識別

用Python做人臉識別

1 人贊了文章

之前用facenet做了一個人臉識別的Demo,所以在此記錄一下。

但因為我的水平十分有限,疏漏之處請多見諒。

1,這個流程大致是先用mtcnn檢測人臉位置,得到一個人臉的bounding box。

2,然後用opencv根據上一個bounding box把人臉裁剪出來,並對齊,因為實際裁剪出來的人臉,大的大,小的小(比如封面的3個人臉由於遠近造成的人臉圖片大小不一),但神經網路的輸入是要統一大小的,比如96*96的圖片,或者160*160的圖片,所以所有人臉得對齊到統一圖片大小上。如下圖所示:

3,對齊之後把圖片輸入進facenet模型,會得到這個人臉的一個128位特徵向量。

4,最後用訓練好的SVM分類器對這個特徵向量進行分類,得到這個人臉是誰的結果。

代碼地址:

https://github.com/Skyendless/FaceRecognition?

github.com圖標
推薦閱讀:

Jeff Dean等提出動態控制流編程模型,大規模機器學習性能提升21%
損失函數——負對數似然
基於雷達探測與圖像識別的飛機跑道異物智能檢測 | CV | 解讀技術
深入淺出Meta Learning - 讓機器學會如何去學習

TAG:人臉識別 | 機器學習 | Python |