Python实现人脸识别功能,face_recognition的使用 | 机器学习

简介: Python实现人脸识别功能,face_recognition的使用 | 机器学习

前言

接着上一篇:AI识别照片是谁,人脸识别face_recognition开源项目安装使用 | 机器学习_阿良的博客-CSDN博客


根据项目提供的demo代码,调整了一下功能,自己写了一个识别人脸的工具代码。


环境部署

按照上一篇的安装部署就可以了。


代码

不废话,直接上代码。


#!/user/bin/env python
# coding=utf-8
"""
@project : face_recognition
@author  : 剑客阿良_ALiang
@file   : test.py
@ide    : PyCharm
@time   : 2022-01-11 19:50:58
"""
import face_recognition
known_faces = [[], []]
def add_person(image_path: str, name: str):
    image = face_recognition.load_image_file(image_path)
    try:
        encoding = face_recognition.face_encodings(image)[0]
        known_faces[0].append(name)
        known_faces[1].append(encoding)
    except IndexError:
        print("I wasn't able to locate any faces in at least one of the images. Check the image files. Aborting...")
def compare(new_image: str):
    new1 = face_recognition.load_image_file(new_image)
    unknown_face_encoding = face_recognition.face_encodings(new1)[0]
    results = face_recognition.compare_faces(known_faces[1], unknown_face_encoding,0.5)
    print(known_faces[0])
    print(results)
    name = ''
    for i in range(0, len(known_faces[0])):
        if results[i]:
            print(i)
            name = known_faces[0][i]
            break
    if name == '':
        return 'I do not who'
    else:
        return name
if __name__ == '__main__':
    add_person('data/1.jpg', '杨幂')
    add_person('data/2.jpg', '迪丽热巴')
    add_person('data/3.jpg', '宋轶')
    add_person('data/4.jpg', '邓紫棋')
    print(compare('data/121.jpg'))
    print(compare('data/123.jpg'))

代码说明:


1、先将一些人脸录进去,指定人物名称,方法为add_person。


2、compare方法用来判断照片是谁。


先看一下我准备的照片。


image.png


看一下需要验证的照片

image.png



执行结果


image.png


可以看出已经识别出杨幂和邓紫棋了。


总结

还是要提醒一下,我多次测试了各类图片,识别还是有一定的误差率的。可以根据自己的情况调整代码。


分享:


       这个世界上没有奇迹,有的只是偶然和必然,以及是谁在做些什么。一直期望着能出现奇迹的人们是不会发生奇迹,只有想要用自己的双手创造奇迹的人们,救赎之手才会伸向他们。


                                                                                                               ——《悠久之翼》


相关文章
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
3月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
179 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
3月前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
88 2
|
3月前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
172 1
|
3月前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
225 1
|
3月前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
105 3
|
3月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
47 1
|
3月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
69 0
|
3月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
107 0
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
Python在数据科学中的应用:从数据处理到模型训练
Python在数据科学中的应用:从数据处理到模型训练

热门文章

最新文章

推荐镜像

更多