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,越低越严格,所以可以按照自己的需求调整。


总结

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


分享:


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


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


相关文章
|
人工智能 IDE 开发工具
2.4k star 开源项目,Wingman AI + 知识图谱,如何帮你搭建‘私人大脑’?学术/项目必备,让笔记真正活起来!
MindForger 是一款灵感源于人脑思维机制的桌面 Markdown IDE,帮助用户构建私人知识体系。它通过强大的语义联想与结构重构功能,解决笔记混乱、缺乏智能联接等痛点。核心功能包括 TAYR/TAYW 联想、知识图谱浏览器、Markdown 编辑器和 AI 助手 Wingman。支持本地隐私保护,跨平台使用,开源 GPLv2 许可。项目地址:https://github.com/dvorka/mindforger。
589 4
|
人工智能 Rust 自然语言处理
37.1K star!AI模型全能工具箱,这个开源项目让智能体开发更简单!
"Awesome MCP Servers 是当前最全面的模型上下文协议服务器集合,为AI开发者提供开箱即用的工具链支持。通过标准化协议实现AI模型与各类资源的无缝对接,堪称智能体开发的瑞士军刀!"
815 7
|
人工智能 自然语言处理 安全
90.9K star!一键部署AI聊天界面,这个开源项目让大模型交互更简单!
"像使用微信一样操作大模型!Open WebUI 让AI对话从未如此简单"
2250 0
|
人工智能 Cloud Native Java
2025 开源之夏开启报名|AI + 云原生,10个开源项目、24个课题任您挑选
“开源之夏”是由中国科学院软件研究所发起的暑期活动,旨在鼓励高校学生参与开源软件开发与维护。活动联合各大开源社区提供项目任务,面向全球年满18周岁的高校学生开放报名。每位学生最多可申请一个项目。阿里云云原生提报了包括Apache Dubbo、RocketMQ、Seata等在内的10个开源项目共24个课题,涵盖技术优化、功能实现及AI应用等领域。活动流程包括选题、申请、开发与结项考核,具体信息可访问官网了解。
3845 32
|
数据安全/隐私保护 计算机视觉 Python
一键生成眨眼照片app,一键生成眨眼照片,秒解人脸识别软件
这段代码使用了dlib的人脸检测和关键点定位功能来识别眼睛区域,然后通过图像处理技术模拟眨眼效果
|
算法 数据安全/隐私保护 计算机视觉
人脸识别图片眨眼生成器,一键生成眨眼照片,照片眨眼生成器免费
要使用此代码,您需要先下载dlib的68点人脸关键点模型文件(shape_predictor_68_face_landmarks.dat)
|
机器学习/深度学习 人工智能 程序员
MiniMind:3小时训练26MB微型语言模型,开源项目助力AI初学者快速入门
在大型语言模型(LLaMA、GPT等)日益流行的今天,一个名为MiniMind的开源项目正在AI学习圈内引起广泛关注。项目让初学者能够在3小时内从零开始训练出一个仅26.88MB大小的微型语言模型。
1002 1
|
人工智能 自然语言处理 监控
17.1K star!两小时就能训练出专属与自己的个性化小模型,这个开源项目让AI触手可及!
🔥「只需一张消费级显卡,2小时完成26M参数GPT训练!」 🌟「从零构建中文大模型的最佳实践指南」 🚀「兼容OpenAI API,轻松接入各类AI应用平台」
1268 1
|
人工智能 数据可视化 JavaScript
2.1k star! 抓紧冲,DeepChat:连接AI与个人世界的智能助手的开源项目
DeepChat是一款开源跨平台智能助手工具,采用Apache-2.0协议,已获2.1k星标。它支持Windows/macOS/Linux,兼容20+主流AI服务,如OpenAI、Gemini等,还支持本地部署的开源模型。其核心功能包括全模型兼容架构、智能搜索增强、可视化工具平台(MCP)、多模态呈现及隐私安全设计。DeepChat适用于程序员助手、内容创作、学习研究、数据分析和智能办公五大场景。项目优势在于智能搜索决策、零配置工具链和企业级扩展性,是探索AI应用的理想选择。项目地址:https://github.com/ThinkInAIXYZ/deepchat。
1136 0
|
人工智能 自然语言处理 搜索推荐
Manus爆火,我发现平替开源项目OpenManus带你玩转AI智能体开发,无需邀请码!
在AI技术日新月异的今天,OpenManus像一把打开智能体开发大门的万能钥匙,让每个人都能轻松构建自己的AI助手!
898 0

热门文章

最新文章