当前位置: 欣欣网 > 码农

4.9k star! 推荐一款领先的自由和开放源码面孔识别系统,技术超强!

2024-06-29码农

一、项目介绍

本项目是一个免费的开放源代码面孔识别项目。实际上,它是一个基于码头的应用程序,可以作为独立的服务器或部署在云中。你不需要事先的机器学习技能来建立和使用序言。

该系统提供了用于面部识别、面部验证、面部检测、标志性检测、面具检测、头部姿态检测、年龄和性别识别的RESTAPI。解决方案还提供了一个角色管理系统,使您能够轻松地控制谁可以访问您的面部识别服务。

序言是作为一个码头组合配置提供的,并支持不同的模型,工作在CPU和GPU。我们的解决方案是基于最先进的方法和图书馆,如法涅特和视觉。

二、特点

这个系统可以精确地识别人们,即使它只"看到"他们的照片一次。从技术上讲,与类似的自由面部识别解决方案相比,复合材料有几个优点。序言:

  • 同时支持CPU和GPU,易于扩展

  • 是开放源代码和自主机,这为数据安全提供了额外的保证

  • 既可以部署在云中也可以部署在现场

  • 不需要机器专业知识就可以建立和使用

  • 使用了最先进的面部识别方法,包括平面和视觉图书馆

  • 只有一个码头工人的命令就能快速启动

  • 三、系统功能

    面部检测

    面检测服务用于检测图像中的所有面.它认不出脸,只在图像上找到。面部检测技术,如同一位敏锐的观察者,能在任何图像的纷繁细节中精准捕捉每一张面孔的踪迹。它不涉及辨认个体身份,而是专注于在画面中巧妙定位每个人脸的存在。这项技术成为解锁众多有趣洞察的钥匙:比如,它能助力商家智慧分析,揭示店铺对各年龄层与性别的独特吸引力;通过捕捉顾客视线的焦点,描绘出一幅幅热力图,洞悉店内哪些区域最吸睛;还能默默统计客流量,在高峰期为你精确计数;甚至,在这个特别时期,它还能成为公共健康的守护者,确保进入场所的每位顾客都妥善佩戴了口罩,为安心购物环境保驾护航。

    使用案例

    最有用的例子包括用于面部分析的面部插件:

  • 收集关于你的商店在不同性别中的流行程度的统计数据

  • 收集关于你的活动受欢迎年龄的统计数据

  • 获取具有里程碑意义的信息,以了解客户的视野

  • 收集商店里有多少顾客的统计数据

  • 识别所有顾客是否正确地戴上面具

  • 如何测试

    1. 在序言应用程序页面上,在框架的底部,单击"创建"按钮.

    2. 在"创建服务"对话框中,从"类型下拉菜单"中选择"检测"。

    3. 输入您将要创建的服务的名称。

    4. 从服务框架中的服务列表中选择您创建的服务;您可以使用搜索字段来过滤服务。

    5. 单击要启动的服务行中的测试按钮.

    6. 在服务页面上,打开或拖放图片进行分析。

    7. 该服务将显示原始图片,并在每一张脸上打上标记。

    面部识别

    面部识别服务平台运用先进算法实现面容识别,需首步将已知个体面部图像输入至面容数据库,构建基础面容集。后续接获未标记面容图片时,平台即启动面容匹配机制,分析并返回库中最相似面容记录。平台另配备验证接口,针对面容集内特定个体实施精确识别审核,强化身份验证准确度。技术上融合深度学习、图像处理及大数据管理,确保识别高效且可靠。

    使用案例

    可能的案例包括:

  • 当你有员工的照片想认出办公室里的陌生人

  • 当你有会议与会者的照片,并想追踪谁对哪个主题感兴趣。

  • 当你有贵宾的照片,你想很快在人群中找到他们。

  • 如何测试

    1. 在序言应用程序页面上,在框架的底部,单击"创建"按钮.

    2. 在"创建服务"对话框中,从类型下拉菜单中选择识别。

    3. 输入您将要创建的服务的名称。

    4. 从服务框架中的服务列表中选择您创建的服务;您可以使用搜索字段来过滤服务。

    5. 单击要启动的服务行中的测试按钮.

    6. 在服务页面上,打开或拖放图片进行分析。

    7. 该服务将显示原始图片,并在每一张脸上打上标记。


    表面验证

    面部验证服务是用来检查这个人是否是正确的。该服务比较您发送到其余端点的两个面并返回它们的相似性。

    使用案例

    可能的案例包括:

  • 当客户给你提供身份证或驾驶执照时,你需要核实这是否是他。

  • 当一个用户将他的社交网络帐户连接到你的应用程序时,你想验证这是不是他

  • 如何测试

    1. 在序言应用程序页面上,在框架的底部,单击"创建"按钮.

    2. 在"创建服务"对话框中,从"类型下拉菜单"中选择"验证"。

    3. 输入您将要创建的服务的名称。

    4. 从服务框架中的服务列表中选择您创建的服务;您可以使用搜索字段来过滤服务。

    5. 单击要启动的服务行中的测试按钮.

    6. 在服务页面上,打开或拖放两张图片以比较其内容。

    7. 该服务将显示原始图片,并在每一张脸上打上标记。

    四、面部识别体系结构 集成 算法

    1. 体系结构

    让我们更仔细地看一下脸识别体系结构。序言有几个服务器。当你开始使用序言时,你有一个方便用户的用户界面。在一开始,您在那里设置环境,创建面孔识别服务,并获得API键。UI部署在平衡器服务器上,它使用UI管理服务器作为后端。所有的数据都保存在我们的数据库中,当您准备好后,您可以开始使用API键进行面部识别。为了提供面部识别,该系统拥有API服务器和深度学习服务器。深度学习服务器使用神经网络计算嵌入,API服务器用于分类。API服务器和深度学习服务器都是可伸缩的,因此您可以运行几个实例来提高性能。最重要的是平衡器,它可以传递所有的请求。在我们的默认配置中,我们使用NGINX作为平衡器。使用任何平衡器服务器都是可能的,如果您使用库伯内特斯,它可能特别有用。

    ‍2. 集成

    序言是你面部识别项目的一部分。要开始你的面部识别开发,你需要一些视频或照片捕捉硬件。如果你有一个视频,你将需要把它分成框架,并发送到合成。所有的集成都是通过使用顺序的API完成的。当然,在识别面部时,请记住,您需要在面部识别过程中运行业务逻辑。但简而言之,该公司的面部识别工作是使用RESTAPI与该系统集成。

    3. 技术支持

    如上所述,我们拥有不同的服务器,并使用不同的技术来运行它们。我们在后端服务器上使用了比达顿和Java,并且使用了各种各样的机器学习库,如MXNET和张力流。对于用户界面,我们使用角和ngrx。我们将所有的东西都存储在后格列克,并在码头运行解决方案。

    为了补充这些技术的面部识别,我们使用了几个算法.当我们开始创作序言时,我们开始了 法内内, 这是一个用于面部识别和集群的统一嵌入。它是一个非常流行的算法和一个开源库。我们使用与Fasenet后面相同的思想;我们计算嵌入物,对它们进行分类,并找出嵌入物之间的距离。一开始,我们用了 多任务级联卷积神经网络 用于联合面部检测和校准。但是我们决定找到更多的最先进的技术。我们发现一个面部识别库( 单阶段密集面部在野外的定位 )用于面部检测及次中心弧形( 大规模吵闹的网络面孔对增强的面孔识别 )用于面部识别。

    源代码下载地址:

    https://github.com/exadel-inc/CompreFace.git

    看到最后,如果这个项目对你有用,一定要给我点个「 在看和赞 」。