1. 程式人生 > >人臉識別openface

人臉識別openface

首先安裝上面三個庫,你可以手動安裝或直接使用Docker 


我使用Docker,Ubuntu系統:
$ docker pull bamos/openface
$ docker run -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash
$ cd /root/openface
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

建立一個目錄用來儲存待訓練的圖片資料:

$ mkdir training_images
  • 1
  • 1

為要識別的人建立單獨的目錄:

$ cd training_images

$ mkdir obama
$ mkdir print_panda
$ mkdir xiao_ming
$ mkdir trump
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

把收集的每個人的圖片拷貝到對應的目錄,確保每張圖片只有一張臉。不用特意的提取臉,OpenFace會自動幹這個活。

提取和aligned:

$ cd ..
$ ./util/align-dlib.py ./training_images/ align outerEyesAndNose ./aligned-images/ --size 96
  • 1
  • 2
  • 1
  • 2

生成的./aligned-images/目錄包含了處理過的圖片。

提取特徵:

$ ./batch-represent/main.lua -outDir ./generated-embeddings/ -data ./aligned-images/
  • 1
  • 1

開始訓練:

$ ./demos/classifier.py train ./generated-embeddings/
  • 1
  • 1

生成的SVM模型位於./generated-embeddings/classifier.pkl。

使用訓練的模型進行識別:

$ ./demos/classifier.py infer ./generated-embeddings/classifier.pkl test_image.jpg
  • 1
  • 1

如果結果不理想,嘗試新增更多的訓練資料,最好包含各種角度。