appleshan / OpenCV_face-recognition_001

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

简单的人脸识别

开发环境的配置

1. 安装 Anaconda

  • Windows

官网下载地址 https://www.anaconda.com/download/ 选择相应的 Anaconda 进行安装(可能会很慢)

win10 64 位系统选择安装的是 Anaconda3-2020.11-Windows-x86_64.exe 这个版本。 下载好了安装包,就像安装普通软件一样,安装就行。一路点下去,在 Advanced Option 界面时,如果你电脑 里面没有其他版本 Python 就两个都选了。

安装完了可以测试一下,打开 cmd,输入 conda –version

  • Linux

使用 Linux 发行版的包管理器安装,例如在 Arch Linux :

yay -S miniconda3
sudo ln -s /opt/miniconda3/etc/profile.d/conda.sh /etc/profile.d/conda.sh

2. 安装 pip

python -m pip install --upgrade pip

3. 更改 Python 包的下载源

在国内访问 conda 默认的下载源速度较慢,我们可以通过设置更改镜像源,从国内镜像站点下载,提高下载速度。

配置 conda,修改 ~/.condarc

一般使用 清华源 ,当清华源不可用的时候参考以下内容。

# @See https://mirrors.bfsu.edu.cn/help/anaconda/
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
  - https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
  msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
  bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
  menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
  pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud

配置 pip,修改 ~/.config/pip/pip.conf

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

4. Python 虚拟环境配置

你需要到的依赖库主要有:

  • python3.7.1
  • tensorflow 2.1.0(文章中 1.13.1) 一定要用 conda 安装 TensorFlow(https://zhuanlan.zhihu.com/p/46579831)。 tensorflow 有两种:CPU 版本、GPU 加速版本。 pip 安装 TensorFlow,GPU 支持所需的 CUDA 和 CuDNN 库需要手动安装; conda 安装 TensorFlow,GPU 支持所需的 CUDA 和 CuDNN 库会自动安装成功。 NVIDIA 驱动程序都必须单独安装。
  • keras 2.3.1(文章中 2.2.4)
  • scikit-learn 0.20.3
  • numpy(这个随便)
  • opecv-python 4.1.0.25

安装方法: 注意:tensorflow 与 tensorflow-gpu 二选一。

# "face-recognition"是个自定义的名字,可以改
conda create –n face-recognition python=3.7

conda activate face-recognition

# 安装 CPU 版本的 TensorFlow
conda install tensorflow=2.1.0
# 安装 GPU 加速版本的 TensorFlow
conda install tensorflow-gpu=2.1.0

conda install keras=2.3.1
conda install scikit-learn=0.20.3

# conda 中不容易找到 opencv-python
pip3 install opencv-python==4.1.0.25

安装完 opencv-python 之后,需要找到 Haar人脸特征分类器,识别人脸的程序中要用到。 例如我这部电脑上人脸识别分类器的存储路径: ~/.conda/pkgs/opencv-4.1.0-py37h3aa1047_6/share/opencv4/haarcascades/haarcascade_frontalface_alt2.xml

也可以到 opencv 的 Github 项目仓库 下载

5. Python 运行环境

在 VS Code 中配置基于 Anaconda 的 Python 运行环境

在 VS Code 的 Python 解释器配置中选择刚刚创建的虚拟环境里的 python。 例如:~/.conda/envs/face-recognition/bin/python3.7

在 Pycharm 中配置基于 Anaconda 的 Python 运行环境

首先去 Pycharm 官网,或者直接输入网址: http://www.jetbrains.com/pycharm/download/#section=windows , 下载 PyCharm 安装包,根据自己电脑的操作系统进行选择,对于 windows 系统选择下图的框框所包含的安装包。 这个也可以从网上找很多,而且安装很成功,个人学习的话,建议安装免费版本。

打开 Pycharm,随便先创建一个工程或者.py 文件。 点击 File→Setting,打开界面找到 Python Interpreter,在这里选择你刚才用 conda 创建的虚拟环境里的 python,具体可以找找教程。 例如:~/.conda/envs/face-recognition/bin/python3.7

Run

gain_face.py

获取人的脸部信息,并保存到所属文件夹

face_train.py

人脸特征训练,并保存 CNN 网络模型到文件

face_recognition.py

循环检测识别人脸

需要在本地 Python 环境中找到人脸特征分类器,然后改写变量 cascade_path。

参考

Python+Tensorflow+Opencv的人脸识别

About


Languages

Language:Python 100.0%