AI识别照片是谁,人脸识别face_recognition开源项目安装使用 | 机器学习

简介: AI识别照片是谁,人脸识别face_recognition开源项目安装使用 | 机器学习

前言

最近碰到了照片识别的场景,正好使用了face_recognition项目,给大家分享分享。face_recognition项目能做的很多,人脸检测功能也是有的,是一个比较成熟的项目。该项目的github地址:github仓库


本文主要是对该项目的安装使用,后面会更新一篇我自己写的实现人脸检测的代码,可以直接使用。


环境安装

首先我们看看官方给出的人脸识别效果图




我们看一下README关于安装环境的信息

image.png



官方给出的可安装操作系统是Mac和Linux,但是我想在windows安装,继续往下看。


image.png


windows虽然不是官方支持,但是也能装,不就是个dlib吗?好的,那就开始装。


我们直接安装requirements_dev.txt,这里要注意,把pip去掉。

image.png



注意一点安装dlib的时候会报错,需要先安装cmake,安装命令如下:


pip install cmake -i https://pypi.douban.com/simple


除此之外,项目还需要安装opencv-python,安装命令如下:


pip install opencv-python -i https://pypi.douban.com/simple


代码使用

先做一下说明,在使用face_recognition运行的时候,可以选择安装face_recognition命令进行运行的模式,也可以使用face_recognition模块构建代码运行。为了二次开发,我还是先试试代码的方式,主要试试人脸识别模块。

官方代码如下:
import face_recognition
# Load the jpg files into numpy arrays
biden_image = face_recognition.load_image_file("biden.jpg")
obama_image = face_recognition.load_image_file("obama.jpg")
unknown_image = face_recognition.load_image_file("obama2.jpg")
# Get the face encodings for each face in each image file
# Since there could be more than one face in each image, it returns a list of encodings.
# But since I know each image only has one face, I only care about the first encoding in each image, so I grab index 0.
try:
    biden_face_encoding = face_recognition.face_encodings(biden_image)[0]
    obama_face_encoding = face_recognition.face_encodings(obama_image)[0]
    unknown_face_encoding = face_recognition.face_encodings(unknown_image)[0]
except IndexError:
    print("I wasn't able to locate any faces in at least one of the images. Check the image files. Aborting...")
    quit()
known_faces = [
    biden_face_encoding,
    obama_face_encoding
]
# results is an array of True/False telling if the unknown face matched anyone in the known_faces array
results = face_recognition.compare_faces(known_faces, unknown_face_encoding)
print("Is the unknown face a picture of Biden? {}".format(results[0]))
print("Is the unknown face a picture of Obama? {}".format(results[1]))
print("Is the unknown face a new person that we've never seen before? {}".format(not True in results))

代码说明:


1、首先可以看到将两个人脸的数据加到了known_faces列表内。


2、然后用未知图数据进行识别判断。


看一下加入到known_faces的照片




看一下需要识别的照片




看一下执行结果

image.png



我们可以看到在拜登的识别中提示false,在奥巴马识别中提示true。这里要注意一点,我们看一下compare_faces方法参数。


image.png


参数tolerance最佳为0.6,越低越严格,所以可以按照自己的需求调整。


总结

经过我多次测试,在脸型比较接近的情况下,还是会有误差,需要按照自己的情况进行调整。


分享:


       生活最沉重的负担不是工作,而是无聊。——《罗曼·罗兰》


如果本文对你有帮助的话,点个赞吧,谢谢!


相关文章
|
1月前
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
77 3
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
MMAudio:开源 AI 音频合成项目,根据视频或文本生成同步的音频
MMAudio 是一个基于多模态联合训练的高质量 AI 音频合成项目,能够根据视频内容或文本描述生成同步的音频。该项目适用于影视制作、游戏开发、虚拟现实等多种场景,提升用户体验。
64 7
MMAudio:开源 AI 音频合成项目,根据视频或文本生成同步的音频
|
22天前
|
存储 人工智能 数据库
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
Codel是一款全自主AI代理工具,支持在终端、浏览器和编辑器中执行复杂任务和项目。它运行在沙盒化的Docker环境中,具备自主操作能力,内置浏览器和文本编辑器,所有操作记录存储于PostgreSQL数据库。Codel能够自动完成复杂任务,如创建项目结构、进行网络搜索等,适用于自动化编程、研究与开发、教育与培训以及数据科学与分析等多个领域。
59 11
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
|
1月前
|
人工智能 物联网 Shell
今日 AI 开源|共 12 项|开源的DIY健康追踪项目,基于低成本的智能戒指构建私人的健康监测应用
本文介绍了多个开源项目,涵盖了从量子计算错误纠正到视频生成和编辑的广泛应用领域。这些项目展示了AI技术在不同领域的创新和应用潜力。
176 10
今日 AI 开源|共 12 项|开源的DIY健康追踪项目,基于低成本的智能戒指构建私人的健康监测应用
|
27天前
|
存储 人工智能 缓存
官宣开源 阿里云与清华大学共建AI大模型推理项目Mooncake
近日,清华大学和研究组织9#AISoft,联合以阿里云为代表的多家企业和研究机构,正式开源大模型资源池化项目 Mooncake。
|
28天前
|
存储 人工智能 缓存
官宣开源|阿里云与清华大学共建AI大模型推理项目Mooncake
2024年6月,国内优质大模型应用月之暗面Kimi与清华大学MADSys实验室(Machine Learning, AI, Big Data Systems Lab)联合发布了以 KVCache 为中心的大模型推理架构 Mooncake。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之解释性AI与可解释性机器学习
随着人工智能技术的广泛应用,机器学习模型越来越多地被用于决策过程。然而,这些模型,尤其是深度学习模型,通常被视为“黑箱”,难以理解其背后的决策逻辑。解释性AI(Explainable AI, XAI)和可解释性机器学习(Interpretable Machine Learning, IML)旨在解决这个问题,使模型的决策过程透明、可信。
64 2
|
1月前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI:机器学习的魔法与代码
【10月更文挑战第33天】本文将带你走进AI的世界,了解机器学习的原理和应用。我们将通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是AI新手还是有经验的开发者,这篇文章都会给你带来新的启示。让我们一起探索AI的奥秘吧!
|
1月前
|
存储 人工智能 文字识别
AI与OCR:数字档案馆图像扫描与文字识别技术实现与项目案例
本文介绍了纸质档案数字化的技术流程,包括高精度扫描、图像预处理、自动边界检测与切割、文字与图片分离抽取、档案识别与文本提取,以及识别结果的自动保存。通过去噪、增强对比度、校正倾斜等预处理技术,提高图像质量,确保OCR识别的准确性。平台还支持多字体识别、批量处理和结构化存储,实现了高效、准确的档案数字化。具体应用案例显示,该技术在江西省某地质资料档案馆中显著提升了档案管理的效率和质量。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
40 2