当前位置:首页 > 科技  > 软件

七个上热搜的GitHub开源人脸识别项目

来源: 责编: 时间:2023-10-16 17:09:12 165观看
导读大家好,我是Echa。人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术 (Biometric Recognition or Biometrics)。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的

大家好,我是Echa。42e28资讯网——每日最新资讯28at.com

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术 (Biometric Recognition or Biometrics)。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。42e28资讯网——每日最新资讯28at.com

人脸识别流程图人脸识别流程图42e28资讯网——每日最新资讯28at.com

生物识别包括人脸识别、语音识别、指纹识别、视网膜或虹膜识别。其中人脸识别是目前在身份认证或者身份查找应用中使用最广的生物识别技术。42e28资讯网——每日最新资讯28at.com

常用的生物特征识别技术常用的生物特征识别技术42e28资讯网——每日最新资讯28at.com

人脸识别特指利用分析比较人脸视觉特征信息进行身份鉴别的计算机技术。广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

传统的人脸识别技术主要是基于可见光图像的人脸识别,人们也比较熟悉这样的识别方式。不过,这种方式的缺点其实非常明显,光线的限制性非常大。随着技术发展,也出现了一些新的解决方案,例如:三维图像人脸识别、热成像人脸识别等。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

借此机会,小编今天给大家好物分享7个上热搜的GitHub开源人脸识别项目,希望对大家有所帮助。人脸识别是机器学习热门领域之一,在 Github上有很多项目实现了各种人脸识别功能。接下来小编给大家一一介绍。42e28资讯网——每日最新资讯28at.com

全文大纲

PaddleDetection - 是一个基于PaddlePaddle的目标检测端到端开发套件。42e28资讯网——每日最新资讯28at.com

InsightFace - 是一个基于PyTorch和MXNet的开源2D 3D深度人脸识别分析工具。42e28资讯网——每日最新资讯28at.com

OpenFace -是一个用于计算机视觉和机器学习的工具,能够进行各种面部识别检测。42e28资讯网——每日最新资讯28at.com

face_recognition - 是一个强大、简单、易上手的人脸识别开源项目。42e28资讯网——每日最新资讯28at.com

deepface - 是python的轻量级面部识别和面部属性分析(年龄,性别,情感和种族)框架。42e28资讯网——每日最新资讯28at.com

facenet - 是谷歌公司与 2015 年提出了基于深度学习的人脸识别系统。42e28资讯网——每日最新资讯28at.com

CompreFace - 是领先的免费开源人脸识别系统。42e28资讯网——每日最新资讯28at.com

PaddleDetection - 是一个基于PaddlePaddle的目标检测端到端开发套件。

Github:https://github.com/PaddlePaddle/PaddleDetection42e28资讯网——每日最新资讯28at.com

PaddleDetection 官网PaddleDetection 官网42e28资讯网——每日最新资讯28at.com

PaddleDetection为基于飞桨 PaddlePaddle 的端到端目标检测套件,内置30+模型算法及250+预训练模型,覆盖目标检测、实例分割、跟踪、关键点检测等方向,其中包括服务器端和移动端高精度、轻量级产业级SOTA模型、冠军方案和学术前沿算法,并提供配置化的网络模块组件、十余种数据增强策略和损失函数等高阶优化支持和多种部署方案,在打通数据处理、模型开发、训练、压缩、部署全流程的基础上,提供丰富的案例及教程,加速算法产业落地应用。42e28资讯网——每日最新资讯28at.com

PaddleDetection 模型截图:42e28资讯网——每日最新资讯28at.com

PaddleDetection 人脸检测PaddleDetection 人脸检测42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

PaddleDetection 小目标检测42e28资讯网——每日最新资讯28at.com

PaddleDetection 2D关键点检测PaddleDetection 2D关键点检测42e28资讯网——每日最新资讯28at.com

PaddleDetection 多目标追踪PaddleDetection 多目标追踪42e28资讯网——每日最新资讯28at.com

InsightFace - 是一个基于PyTorch和MXNet的开源2D 3D深度人脸识别分析工具。

Github :https://github.com/deepinsight/insightface42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

InsightFace 官网42e28资讯网——每日最新资讯28at.com

InsightFace是一个基于PyTorch和MXNet的开源2D 3D深度人脸识别分析工具,与MXNet相比,基于OneFlow的实现方案在性能方面更优秀,OneFlow在数据并行时速度是其2.82倍;模型并行时速度是其2.45倍;混合并行+Partial fc时速度是其1.38倍。42e28资讯网——每日最新资讯28at.com

基于OneFlow实现的代码已合并至 insightface的项目仓库,其中包含了数据集制作教程、训练和验证脚本、预训练模型以及和MXNet模型的转换工具。InsightFace高效地实现了丰富的 最先进的人脸识别、人脸检测和人脸对齐算法,这些算法针对训练和部署进行了优化,该解决方案的准确性非常高——在LFW数据集上为99.86%。42e28资讯网——每日最新资讯28at.com

ArcFace、SubCenter-ArcFace、RetinaFace等都是InsightFace支持的项目。42e28资讯网——每日最新资讯28at.com

InsightFace 模型截图

InsightFace 模型InsightFace 模型42e28资讯网——每日最新资讯28at.com

OpenFace -是一个用于计算机视觉和机器学习的工具,能够进行各种面部识别检测。
42e28资讯网——每日最新资讯28at.com

Github:https://github.com/TadasBaltrusaitis/OpenFace42e28资讯网——每日最新资讯28at.com

OpenFace 官网OpenFace 官网42e28资讯网——每日最新资讯28at.com

OpenFace是一个用于计算机视觉和机器学习的工具,能够进行各种面部识别检测,包括:特征点检测、头部姿态识别、面部动作识别和眼睛注视识别。42e28资讯网——每日最新资讯28at.com

OpenFace 一个旨在为计算机视觉和机器学习研究人员、情感计算社区和有兴趣构建基于面部行为分析的交互式应用程序的人使用的工具。OpenFace是第一个能够进行面部地标检测、头部姿态估计、面部动作单元识别和眼睛-注视估计的工具包,它具有可用的源代码,可用于运行和训练模型。代表 OpenFace 核心的计算机视觉算法在上述所有任务中都展示了最先进的结果。此外,我们的工具能够实时性能,并能够运行在非专业的硬件上, 例如一个简单的网络摄像头。42e28资讯网——每日最新资讯28at.com

OpenFace 是基于 Python 和Torch 的神经网络算法实现,它的理论来自facenet。42e28资讯网——每日最新资讯28at.com

它的功能包括:42e28资讯网——每日最新资讯28at.com

(1)面部标志检测

42e28资讯网——每日最新资讯28at.com

OpenFace 面部标志检测42e28资讯网——每日最新资讯28at.com

(2)面部标志和头部姿势跟踪

42e28资讯网——每日最新资讯28at.com

OpenFace 面部标志和头部姿势跟踪42e28资讯网——每日最新资讯28at.com

(3)面部动作单元识别

42e28资讯网——每日最新资讯28at.com

OpenFace 面部动作单元识别42e28资讯网——每日最新资讯28at.com

(4)凝视跟踪

OpenFace 凝视跟踪OpenFace 凝视跟踪42e28资讯网——每日最新资讯28at.com


42e28资讯网——每日最新资讯28at.com

(5)面部特征提取

42e28资讯网——每日最新资讯28at.com

OpenFace 面部特征提取42e28资讯网——每日最新资讯28at.com

face_recognition - 是一个强大、简单、易上手的人脸识别开源项目。

GitHub: https://github.com/ageitgey/face_recognition42e28资讯网——每日最新资讯28at.com

face_recognition 官网face_recognition 官网42e28资讯网——每日最新资讯28at.com

face_recognition 是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,并且兼容树莓派系统。本项目是一个非常简洁的人脸识别库,可以使用 Python 和命令行工具提取、识别、操作人脸。本项目的人脸识别是基于业内领先的 C++ 开源库 dlib 中的深度学习模型,用 Labeled Faces in the Wild 人脸数据集进行测试,有高达 99.38% 的准确率。但对小孩和亚洲人脸的识别准确率尚待提升。42e28资讯网——每日最新资讯28at.com

其中,Labeled Faces in the Wild是美国麻省大学安姆斯特分校(University of Massachusetts Amherst)制作的人脸数据集,该数据集包含了从网络收集的13,000多张面部图像。42e28资讯网——每日最新资讯28at.com

本项目还提供了简易的face_recognition命令行工具,可以用它处理整个文件夹里的图片。42e28资讯网——每日最新资讯28at.com

它的主要功能包括:42e28资讯网——每日最新资讯28at.com

(1)定位图片中的所有人脸

import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_locations = face_recognition.face_locations(image)

face_recognition 定位图片中的所有人脸face_recognition 定位图片中的所有人脸42e28资讯网——每日最新资讯28at.com

(2)识别人脸关键点,包括眼睛、鼻子、嘴和下巴。

import face_recognitionimage = face_recognition.load_image_file("your_file.jpg")face_landmarks_list = face_recognition.face_landmarks(image)

42e28资讯网——每日最新资讯28at.com

face_recognition 识别人脸关键点,包括眼睛、鼻子、嘴和下巴42e28资讯网——每日最新资讯28at.com

识别人脸关键点在很多领域都很有用,比如本项目的自动化妆案例( digital make-up):42e28资讯网——每日最新资讯28at.com

https://github.com/ageitgey/face_recognition/blob/master/examples/digital_makeup.py。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

(3)识别图片中的人是谁

import face_recognitionknown_image = face_recognition.load_image_file("biden.jpg")unknown_image = face_recognition.load_image_file("unknown.jpg")biden_encoding = face_recognition.face_encodings(known_image)[0]unknown_encoding = face_recognition.face_encodings(unknown_image)[0]results = face_recognition.compare_faces([biden_encoding], unknown_encoding)

42e28资讯网——每日最新资讯28at.com

face_recognition 识别图片中的人是谁42e28资讯网——每日最新资讯28at.com

(4)实时人脸检测

deepface - 是python的轻量级面部识别和面部属性分析(年龄,性别,情感和种族)框架。
42e28资讯网——每日最新资讯28at.com

Github:https://github.com/serengil/deepface42e28资讯网——每日最新资讯28at.com

deepface 官网deepface 官网42e28资讯网——每日最新资讯28at.com

deepface是python的轻量级面部识别和面部属性分析(年龄,性别,情感和种族)框架。您只需几行代码就可以应用面部分析。它弥合了软件工程和机器学习研究之间的鸿沟,非常适合想开车但不会造车的你。42e28资讯网——每日最新资讯28at.com

Deepface是一个混合人脸识别软件包。它目前包装了许多最先进的人脸识别模型:VGG-Face、Google FaceNet、OpenFace、Facebook DeepFace、DeepID、ArcFace、Dlib和SFace。默认配置使用VGG-Face模型。42e28资讯网——每日最新资讯28at.com

实验表明,人类在面部识别任务上的准确率为97.53%,而这些模型已经达到并通过了这个准确率水平。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

根据实验测试,性能较好的有:FaceNet、VGG-Face、ArcFace和Dlib。可以在其创建者声明的Labeled Faces in the Wild和YouTube Faces in the Wild数据集中找到这些模型的得分。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

deepface主要提供以下人脸识别算法,具体对应功能为:42e28资讯网——每日最新资讯28at.com

(1)人脸验证

deepface 人脸验证deepface 人脸验证42e28资讯网——每日最新资讯28at.com

(2)人脸识别

dfs = DeepFace.find(img_path = "img1.jpg", db_path = "C:/workspace/my_db")

人脸识别人脸识别42e28资讯网——每日最新资讯28at.com

(3)人脸属性分析

DeepFace.stream(db_path = "C:/User/Sefik/Desktop/database")

deepface 人脸属性分析deepface 人脸属性分析42e28资讯网——每日最新资讯28at.com

(4)人脸检测

deepface 人脸检测deepface 人脸检测42e28资讯网——每日最新资讯28at.com

(5)人脸特征提取

backends = [  'opencv',   'ssd',   'dlib',   'mtcnn',   'retinaface',   'mediapipe',  'yolov8',  'yunet',]#face verificationobj = DeepFace.verify(img1_path = "img1.jpg",         img2_path = "img2.jpg",         detector_backend = backends[0])#face recognitiondfs = DeepFace.find(img_path = "img.jpg",         db_path = "my_db",         detector_backend = backends[1])#embeddingsembedding_objs = DeepFace.represent(img_path = "img.jpg",         detector_backend = backends[2])#facial analysisdemographies = DeepFace.analyze(img_path = "img4.jpg",         detector_backend = backends[3])#face detection and alignmentface_objs = DeepFace.extract_faces(img_path = "img.jpg",         target_size = (224, 224),         detector_backend = backends[4])

deepface 人脸特征提取deepface 人脸特征提取42e28资讯网——每日最新资讯28at.com

(6)人脸实时分析

objs = DeepFace.analyze(img_path = "img4.jpg",         actions = ['age', 'gender', 'race', 'emotion'])

deepface 人脸实时分析deepface 人脸实时分析42e28资讯网——每日最新资讯28at.com

facenet - 是谷歌公司与 2015 年提出了基于深度学习的人脸识别系统。

Github:https://github.com/davidsandberg/facenet42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

facenet 官网42e28资讯网——每日最新资讯28at.com

FaceNet是谷歌公司与 2015 年提出了基于深度学习的人脸识别系统。FaceNet是一个多用途的识别系统,可以同时用于人脸验证(是否是同一人)、识别(这个人是谁)和聚类(寻找类似的人)。42e28资讯网——每日最新资讯28at.com

在使用标准“人面数据库”进行测试时,FaceNet 的识别精度可以达到近乎百分之百,在面对 2.5 亿张人脸的庞大数据库时,仍能保持 86% 的识别正确率。目前提供的两个预训练模型,在LFW的成绩分别是99.05%和99.65%。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

FaceNet 的基本原理是通过直接训练一个深度卷积神经网络,将人脸图像映射到 128 维的欧几里得空间,不同人脸图像在欧几里得空间中的距离与图像相似度相关:那么两幅人脸图像特征向量间的“欧式距离”越小,表示两幅图像是同一个人的可能性越大。42e28资讯网——每日最新资讯28at.com

使用FaceNet推理的过程大致为以下几个步骤:42e28资讯网——每日最新资讯28at.com

  • 数据预处理:常规人脸识别数据集中的图像往往包含整个人体头部及部分环境背景,并且人脸时常有倾斜(歪头、侧脸),在将此类图像输入至模型以前,需要对图像“真人脸”部分进行切图,去除无关的背景信息,并对切出的人脸图像进行对齐,而后才可用于训练。
  • 按照特定规则加载数据集:FaceNet 系统使用了一种新型的数据导入方式:以两张匹配的图片(同一个人的两张图片)以及一张不匹配的图片(另一个人的一张图片)为一个三元组,并以组为单位载入数据集。
  • 使用大型骨干网络提取人脸特征信息:选择合适的深度卷积神经网络,对输出层进行修改后,即可进行人脸特征提取。常用的深度卷积神经网络包括 resnet 系列、Inception 系列等。
  • 对人脸特征信息进行 L2 范数归一化:深度卷积神经网络输出的结果是 128 维超空间中的特征向量,需使用 L2 正则化将 128 维超空间中的点规范化到 128 维超球面上。筛选出有效特征。
  • 损失计算与更新梯度:计算三元损失函数(Triplets Loss),使模型快速超目标方向优化。

CompreFace - 是领先的免费开源人脸识别系统。

Github :https://github.com/exadel-inc/CompreFace42e28资讯网——每日最新资讯28at.com

CompreFace 官网CompreFace 官网42e28资讯网——每日最新资讯28at.com

Exadel CompreFace是领先的免费开源人脸识别系统。该人脸识别算法可以被轻松集成到任何系统中,而无需事先掌握机器学习技能。42e28资讯网——每日最新资讯28at.com

系统提供用于人脸识别、人脸验证、人脸检测、地标检测、面罩检测、头部姿势检测、年龄和性别识别的REST API;支持在CPU和GPU上运行模型; 该项目还包含角色管理系统,可以控制谁有权访问面部识别服务。42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

42e28资讯网——每日最新资讯28at.com

另外,CompreFace提供了docker-compose配置,方便以Docker的模式快速部署人脸服务。42e28资讯网——每日最新资讯28at.com

CompreFace支持多种人脸识别服务,包括:42e28资讯网——每日最新资讯28at.com

(1)人脸检测

人脸检测的使用场景很多,例如:收集商店在不同性别中受欢迎程度的统计数据;收集有关您的活动在哪些年龄段受欢迎的统计数据;获取地标信息,了解客户的视线;收集商店里有多少顾客的统计数据;确认所有顾客是否正确佩戴口罩。42e28资讯网——每日最新资讯28at.com

(2)人脸识别

42e28资讯网——每日最新资讯28at.com

(3)面部验证

(4)特征检测

(5)年龄识别

(6)性别识别

(7)口罩检测

42e28资讯网——每日最新资讯28at.com

(8)头部姿势检测

42e28资讯网——每日最新资讯28at.com

(9)用户、角色和访问管理

42e28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-13607-0.html七个上热搜的GitHub开源人脸识别项目

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 超好用的Java常用工具类StringUtils(带代码实例),提升开发效率

下一篇: 一文搞懂BeanFactory 和 FactoryBean

标签:
  • 热门焦点
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 如何正确使用:Has和:Nth-Last-Child

    如何正确使用:Has和:Nth-Last-Child

    我们可以用CSS检查,以了解一组元素的数量是否小于或等于一个数字。例如,一个拥有三个或更多子项的grid。你可能会想,为什么需要这样做呢?在某些情况下,一个组件或一个布局可能会
  • 让我们一起聊聊文件的操作

    让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • .NET 程序的 GDI 句柄泄露的再反思

    .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 使用Webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    使用Webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    1、前言在我们使用 Selenium 进行 UI 自动化测试时,常常会因为浏览器驱动与浏览器版本不匹配,而导致自动化测试无法执行,需要手动去下载对应的驱动版本,并替换原有的驱动,可能还
  • Python异步IO编程的进程/线程通信实现

    Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • “又被陈思诚骗了”

    “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    8月4日消息,今天下午华为正式发布了HarmonyOS 4系统,在更流畅的前提下,还带来了不少新功能,UI设计也有变化,会让手机焕然一新。华为宣布,首批机型将会在
  • Counterpoint :OPPO双旗舰战略全面落地 高端产品销量增长22%

    Counterpoint :OPPO双旗舰战略全面落地 高端产品销量增长22%

    2023年6月30日,全球行业分析机构Counterpoint Research发布的《中国智能手机高端市场白皮书》显示,中国智能手机品牌正在寻求高质量发展,中国高端智能
Top
Baidu
map