龙空技术网

推荐6个优秀的人脸识别开源项目

Echa攻城狮 6565

前言:

如今同学们对“android人脸识别开源”大体比较关怀,各位老铁们都需要了解一些“android人脸识别开源”的相关文章。那么小编在网络上收集了一些关于“android人脸识别开源””的相关内容,希望小伙伴们能喜欢,你们一起来了解一下吧!

大家好,我是Echa。

最近有很多粉丝给小编私信留言说离春节越来越近了,关注小编有一段时间了,分享了大大小小开源项目干货,牵涉到各行各业的,唯独没有多少黑科技开源项目呢?比如人脸识别,元宇宙,AI智能,智能车载系统,智能家居等等,说的小编一愣一愣的。感觉小编就是一个小机器人,你们下达指令,搜索黑科技开源项目.....省去2万字。

今天小编给大家分享6个优秀的人脸识别开源项目,希望粉丝们系统。

创作不易,喜欢的老铁们加个关注,点个赞,打个赏,后面会不定期更新干货和技术相关的资讯,速速收藏,谢谢!你们的一个小小举动就是对小编的认可,更是创作的动力。

关于实时人脸识别系统在计算机视觉领域仍然是一个非常热门的话题,许多公司已经开发了自己的解决方案来尝试进入不断增长的市场。与传统的识别方法相比,实时人脸识别系统的优点是在连续帧中使用同一个人的多个实例。

如果开发者希望利用实时人脸识别的优势,开源项目可能是一个很好的起点。由于源代码已发布,你可以看到它是如何工作的,并确保它不会窃取数据。在本文中,我们将帮助初级的开发者了解最佳的开源人脸识别项目,并向大家展示为什么选择开源软件通常是最佳选择。

人脸识别系统在功能和独特功能方面各不相同。但一般来说,使用人脸识别软件自动化系统的过程需要相同的基本步骤。

首先,将摄像头放置在所需的位置并开始流式传输视频。摄像头的放置方式应使镜头获得足够的光线,并且拍摄对象将注视摄像头。如果无法完整查看用户的面部,则摄像头应具有尽可能清晰的分辨率。为了不使人脸识别服务器过载,最好先检测运动。

小编研究了实时开源人脸识别软件的 github 存储库,并准备了一份最佳选择列表:

全文大纲openface - OpenFace 作为用于人脸识别的通用库,能够实现瞬态和移动人脸识别。face_recognition - Face Recognition 是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例。insightface - InsightFace 是一个开源的 2D&3D 深度人脸分析工具箱,主要基于 PyTorch 和 MXNet。facenet - FaceNet 是一个人脸识别系统,可用于判断多幅图是否为同一人、识别图像中的人是谁、人脸聚类计算人脸相似度。deepface - Deepface 是一个用于 python 的轻量级人脸识别和人脸属性分析(年龄、性别、情感和种族)框架。它是一个混合人脸识别框架,包含最先进的模型:VGG-Face、Google FaceNet、OpenFace、Facebook DeepFace、DeepID、ArcFace 和 Dlib。CompreFace - Exadel CompreFace 是一项免费的开源人脸识别服务,无需事先具备机器学习技能即可轻松集成到任何系统中。CompreFace 提供 REST API 用于人脸识别、人脸验证、人脸检测、地标检测、年龄和性别识别,并且可以通过 docker 轻松部署,并支持在 CPU 和 GPU 上工作的不同模型。openface

官方网址:

Github:

OpenFace 作为用于人脸识别的通用库,能够实现瞬态和移动人脸识别。

OpenFace 是神经网络人脸识别工具包,基于 Python 和Torch 实现,理论来自facenet。

特点

使用来自dlib 或 OpenCV的预训练模型检测人脸 。脸转换。这个存储库使用 dlib 的 实时姿态估计 和 OpenCV 的 仿射变换 来尝试使眼睛和下唇出现在每张图像上的相同位置。使用深度神经网络在 128 维单位超球面上表示(或嵌入)人脸。嵌入是任何人脸的通用表示。与其他人脸表示不同,这种嵌入具有很好的特性,即两个人脸嵌入之间的较大距离意味着这些人脸可能不是同一个人。与其他特征之间的欧几里德距离没有意义的人脸识别技术相比,此属性使聚类、相似性检测和分类任务更容易。

如下图:

face_recognition

Github:

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

如下图:

insightface

官方网址:

Github:

最近人脸识别等机器学习的项目很火,偶然间发现了一个开源的人脸识别的开源项目insightface。

人脸识别技术可以准确识别出图像中的人脸和身份,具有丰富的应用场景,譬如金融场景下的刷脸支付、安防场景下的罪犯识别和医学场景下的新冠流行病学调查等等。人脸识别的算法演变经历了以 PCA 为代表的早期阶段,再到以“人工特征+分类器”为主的统计学习方法阶段,近几年,随着大数据及 GPU 算力的爆发,人脸识别进入到深度学习算法为绝对主角的阶段。

InsightFace 是基于 MXNet 框架实现的业界主流人脸识别解决方案。相较MXNet的实现方案,基于OneFlow的实现方案在性能方面更是十分优秀,OneFlow在数据并行时速度是其2.82倍;模型并行时速度是其2.45倍;混合并行+Partial fc时速度是其1.38倍。基于OneFlow实现的代码已合并至 insightface的官方仓库,其中包含了数据集制作教程、训练和验证脚本、预训练模型以及和MXNet模型的转换工具。

如下图:

facenet

Github:

facenet是谷歌于[CVPR2015.02](FaceNet: A Unified Embedding for Face Recognition and Clustering)发表,提出了一个对识别(这是谁?)、验证(这是用一个人吗?)、聚类(在这些面孔中找到同一个人)等问题的统一解决框架,即它们都可以放到特征空间里统一处理,只需要专注于解决的仅仅是如何将人脸更好的映射到特征空间。

其本质是通过卷积神经网络学习人脸图像到128维欧几里得空间的映射,该映射将人脸图像映射为128维的特征向量,联想到二维空间的相关系数的定义,使用特征向量之间的距离的倒数来表征人脸图像之间的"相关系数"(为了方便理解,后文称之为相似度),对于相同个体的不同图片,其特征向量之间的距离较小(即相似度较大),对于不同个体的图像,其特征向量之间的距离较大(即相似度较小)。最后基于特征向量之间的相似度来解决人脸图像的识别、验证和聚类等问题,

FaceNet算法的流程如下图所示:

总体流程

将图像通过深度卷积神经网络映射到128维的特征空间(欧几里得空间)中,得到对应的128维特征向量;对特征向量进行L2正则化,筛选出有效特征;使用正则化后的特征向量,计算Triplets Loss;

如下图:

deepface

Github:

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

deepface主要提供以下人脸识别算法,具体对应接口为:

DeepFace.verify:人脸验证DeepFace.find:人脸识别DeepFace.analyze:人脸属性分析DeepFace.detectFace:人脸检测DeepFace.represent:人脸特征提取DeepFace.stream:人脸实时分析

总体而言,这个项目的人脸识别模型识别效果还行,但是离工程应用还是有一定的距离,不过还是非常推荐学习该库内部代码。

如下图:

CompreFace

官方网址:

Github:

Exadel CompreFace是一个免费的open-source人脸识别GitHub项目。本质上,它是一个docker-based应用程序,可以用作独立服务器或部署在云中。您不需要事先掌握机器学习技能来设置和使用CompreFace。

该系统为人脸识别、人脸验证、人脸检测、里程碑检测、年龄和性别识别提供REST API。该解决方案还具有一个角色管理系统,允许您轻松控制谁可以访问您的人脸识别服务。

压缩以docker-compose配置的形式提供,支持在CPU和GPU上工作的不同模型。我们的解决方案基于state-of-the-art方法和库,如FaceNet和InsightFace。

CompreFace是一款十分具有前景的人脸识别产品,无需预装机器学习技能就能够轻松集成到任一系统中。它可以用于跟踪员工的生产力,控制对敏感数据和安全环境的访问权限,以及快速识别来访者以提供一流的客户服务。CompreFace被列入最佳人脸识别软件产品榜单的原因如下:

它开放源代码且完全免费无需成为机器语言专家即可安装和使用服务CompreFace使用了最流行的高精度人脸识别模式之一此产品的特点在于具备访问权限控制功能的用户界面面板只需一个docker的指令即可快速启动

如下图:

标签: #android人脸识别开源