简单的人脸识别
开发环境的配置
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。