2 有用
32 下载

【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)

依赖

  • opencv3
  • numpy
  • tensorflow ( 1.1.0-rc or 1.2.0 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

为了获得最佳准确性,请在输入新主题时尝试模仿下图中所做的操作:

Flags:

--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帧后立即做出选择。 这种方法的一个好处是,随着时间的推移,随着置信点的增加,人在摄像机前停留的时间越长,结果就越准确和可信。 另外,你可以通过多线程或处理技巧来提高性能。

演示:

点击图片获得完整现场演示视频:

来源https://github.com/vudung45/FaceRec

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(6)

0/250
礼貌的煎饼 • 6
下载后的评价
谢谢分享
2021-12-14 回复
个性的茶壶 • 3
下载后的评价
感谢分享
2022-05-06 回复
飞奔的蚂蚁 • 2
下载后的评价
感谢分享
2023-02-09 回复
礼貌的煎饼 • 6
下载后的评价
感谢分享
2023-12-26 回复
礼貌的煎饼 • 6
下载后的评价
感谢分享
2023-12-26 回复
文雅的感冒药 • 19
下载后的评价
感谢分享
2024-03-08 回复