【Demo】Python中基于Tensorflow实现人脸识别
文件列表(压缩包大小 82.85M)
免费
概述
【Demo】Python中基于Tensorflow实现人脸识别
1. Install the dependencies
2. Download the pretrained models here: https://drive.google.com/file/d/0Bx4sNrhhaBr3TDRMMUN3aGtHZzg/view?usp=sharing
Then extract those files into models
3. In terminal do, source ./venv/bin/activate
then navigate to FaceRec folder location
4. Run main.py
Python3 (3.5 ++ is recommended)
`python3 main.py` to run the program
`python3 main.py --mode "input"` to add new user. Start turning left, right, up, down after inputting the new name. Turn slowly to avoid blurred images
为了获得最佳准确性,请在输入新主题时尝试模仿下图中所做的操作:
--mode“ input”
将新用户添加到数据集中
面部识别架构:Facenet Inception Resnet V1
Davidsandberg repo中提供了预训练的模型 有关该模型的更多信息:https://arxiv.org/abs/1602.07261
人脸检测方法:MTCNN 有关MTCNN人脸检测的更多信息:https://kpzhang93.github.io/MTCNN_face_detection_alignment/
这两个模型同时运行
Tensorflow:Google深度学习框架 OpenCV:图像处理(VideoCapture,调整大小,..)
为了使此repo尽可能简单,我可能会在单独的repo中使用“插件”:
鉴于Facenet模型准确性的限制,你可以通过多种方法来提高实际应用中的准确性。 我的建议之一是为屏幕上检测到的每个面部创建一个跟踪器,然后实时对每个面部进行识别。 然后,在经过一定数量的帧(3到10帧,取决于你的机器速度)之后,确定每个跟踪器中的人。 继续做同样的事情,直到跟踪器消失或失去跟踪。 结果可能如下:
{"Unknown" :3, "PersonA": 1, "PersonB": 20} ---> 该跟踪器正在跟踪人B
这肯定会提高你的程序能力,因为经过一定数量的帧后,结果很可能会倾向于图片中的正确对象,而不是像通常那样立即决定在1帧后立即做出选择。 这种方法的一个好处是,随着时间的推移,随着置信点的增加,人在摄像机前停留的时间越长,结果就越准确和可信。 另外,你可以通过多线程或处理技巧来提高性能。
如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈