您的位置:首页 > 运维架构

OpenFace做人脸识别

2017-03-08 09:08 218 查看
转载:http://blog.topspeedsnail.com/archives/10933

OpenFace – Free and open source face recognition with deep neural networks.

OpenFace源代码:https://github.com/cmusatyalab/openface/

OpenCV源代码:https://github.com/opencv/opencv

dlib源代码:https://github.com/davisking/dlib

首先安装上面三个库,你可以手动安装或直接使用Docker

我使用Docker,Ubuntu系统:

$ docker pull bamos/openface
$ docker run -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash
$ cd /root/openface


创建一个目录用来保存待训练的图片数据:

$ mkdir training_images


为要识别的人创建单独的目录:

$ cd training_images

$ mkdir obama
$ mkdir print_panda
$ mkdir xiao_ming
$ mkdir trump


把收集的每个人的图片拷贝到对应的目录,确保每张图片只有一张脸。不用特意的提取脸,OpenFace会自动干这个活。

提取和aligned:

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


生成的./aligned-images/目录包含了处理过的图片。

提取特征:

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


开始训练:

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


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

使用训练的模型进行识别:

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


如果结果不理想,尝试添加更多的训练数据,最好包含各种角度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: