Coder Social home page Coder Social logo

face_recognition_client's Introduction

客户端界面

使用说明

  1. 点击“打开本地摄像头”按钮,在“摄像头采集信息”栏目中即会显示摄像头采集到的信息。
  2. 点击“打开网络摄像头”按钮,在“摄像头采集信息”栏目中即会显示通过WIFI传输到的视频信息。传输协议是UDP,目的是显示树莓派采集到的视频。
  3. 在打开摄像头后,点击获取人脸,左边会显示对齐后的人脸图片,大小为96*96.第一次使用时,数据集为空,在获得人脸图片后,点击新建人脸数据按钮,输入姓名,此时人脸图片保存在faces文件夹下。
  4. 当人脸图片上出现图片时,才可点击“人脸识别”按钮,点击后会在人脸图片下方显示预测的姓名和欧式距离。欧式距离,值越小,表示越相似。当距离大于一定阈值(默认为0.4),其姓名会显示为unknown。
  5. 点击“报错”功能按钮,把误识的人脸存入对应的人脸数据集中。例如:数据集中有5种人脸,分别标号为1、2、3、4、5,采集人脸其实为5号,却被误识为1、2、3、4或者unknown,这时点击“报错”按钮,把采集人脸存为5号人脸文件夹中即可。
  6. 阈值是影响人脸识别的关键因素,默认为0.4,可自行调整。
  7. 有2种模型可供下载,在model文件夹中可得下载链接
    1. 此种模型在微软MS-Celeb-1M数据集上训练,在LFW上测试的准确率可达87%以上。
    2. 此种模型在模型1的基础上,在LFW上继续训练,在LFW上测试的准确率可达91%以上。
  8. 可以自己训练模型,参考我的另一个项目:https://github.com/yeziyang1992/Python-Tensorflow-Face-v2.0

代码思路

  1. 开发环境
    • 开发平台:win10
    • 开发软件:PyCharm
    • 界面开发:PyQt5
  2. 文档说明
    1. face_lib文件夹
      • align_dlib.py文件:主要进行人脸对齐。
      • face_recg.py文件: 进行人脸识别,其中阈值为0.4,可根据相应情况进行修改。
      • my.api.py文件: 自己写的各种函数方法。
      • udp_recv.py文件:包含进行udp协议传输视频的类。
    2. faces文件夹 每一个文件夹名字必须是英文字母,代表一个类,其每一个类别中可以有多张图片,但数量过多,识别过慢。图片必须是96*96大小的经过对齐的jpg格式图片。
    3. model文件夹 存放你训练的模型。
    4. gui.py文件 一些界面相关的函数。
    5. inference.py文件 神经网络函数。
    6. main.py文件

face_recognition_client's People

Contributors

yeziyang1992 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.