配置运行模型所需的环境
用Pycharm打开项目
打开terminal,创建基于python 3.6的虚拟环境
conda create --name face_reco python=3.6
conda activate face_reco
安装dlib库,里面有人脸识别用的框架
conda install -c https://conda.anaconda.org/conda-forge dlib
把模型中的requirement.txt文件内容改为如下适合python3.6版本的包
# dlib==19.17.0
# numpy==1.22.0
numpy==1.19.5
#scikit-image==0.18.3
scikit-image==0.17.2
# pandas==1.3.4
pandas==1.1.5
opencv-python==4.5.4.58
安装模型所需的依赖
pip install -r requirements.txt
打开项目中的README.rst打开报错,需要在Pycharm配置解释器
在pycharm中配置之间安装好的解释器
打开成功:
测试识别效果
把提取好的人脸特征放在data目录下
填写网络摄像头的地址
在face_reco_from_camera_single_face.py文件中314行,括号内的内容换为如下内容
rtsp://摄像头账户名:密码@ip/Streaming/Channels/2
运行程序.
模型的执行流程
关于模型的零散知识点
什么是欧氏距离?
勾股定理就属于欧式距离
欧氏距离(Euclidean distance)是指在n维空间中两个点之间的直线距离。假设有两个点A(x₁, x₂, …, xₙ)和B(y₁, y₂, …, yₙ),它们之间的欧氏距离可以用以下公式表示:
d(A, B) = √((x₁ - y₁)² + (x₂ - y₂)² + … + (xₙ - yₙ)²)
其中,d(A, B)表示点A和点B之间的欧氏距离。这个公式基于勾股定理,将每个坐标轴上的差值平方相加后再开根号得到两点之间的距离。
欧氏距离常被用作特征向量之间的相似度度量。
模型中使用的dlib库是什么?
dlib是一个C++工具库,提供了一系列用于机器学习、计算机视觉和图像处理任务的功能。它由Davis King在开源社区中开发和维护,被广泛用于学术研究和工业应用中。
dlib工具库具有以下主要特点:
-
机器学习算法:dlib实现了多种机器学习算法,如支持向量机(SVM)、k-最近邻(k-NN)、决策树和集成学习(如随机森林),这些算法可用于分类、回归和聚类等任务。
-
计算机视觉:dlib提供了丰富的计算机视觉功能,包括人脸检测、人脸关键点定位、人脸特征提取、姿态估计、物体检测和跟踪等。这些功能在人脸识别、人脸表情分析、人脸美化、目标检测和视频分析等领域具有广泛应用。
-
图像处理:dlib提供了一系列图像处理函数,如图像变换、滤波、直方图均衡化、边缘检测和形态学操作等。这些函数能够帮助用户进行图像增强、特征提取和图像分析等任务。
-
工具和实用函数:dlib还提供了一些实用的工具和函数,如线性代数运算、文件IO、图像IO、多线程支持和计时器等,方便用户进行开发和性能优化。
总之,dlib是一个功能强大且灵活的C++工具库,适用于各种机器学习、计算机视觉和图像处理任务,为开发者提供了丰富的功能和便捷的工具。