介绍.NET几种人脸识别组件

Posted .NET100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了介绍.NET几种人脸识别组件相关的知识,希望对你有一定的参考价值。

人脸识别技术在现代社会中扮演着越来越重要的角色,比如人脸识别门禁、人脸识别支付、甚至人脸识别网站登录等。 最近有群友问.NET有没有人脸识别的组件,小编查阅相关资料介绍下面几种.NET人脸识别组件供大家参考。

1、Microsoft Azure Face API

简介:Microsoft Azure Face API是微软提供的云端人脸识别服务。它提供了面部检测、面部分析、面部比较和面部搜索等功能,可以用于人脸识别、情绪分析、年龄估计等应用。该API可以帮助开发者构建面部识别和分析功能,为图像和视频中的人脸提供详细的信息和特征。

功能概述:

面部检测:检测图像或视频中的人脸位置和边界框。

面部分析:提取面部特征,如年龄、性别、情绪、面部姿势等。

面部比较:比较两个人脸的相似度,并返回相似度评分。

面部搜索:通过比对已注册的人脸库,搜索相似的人脸。

Azure Face API可以广泛应用于人脸识别、身份验证、社交媒体分析、智能安防等场景,帮助开发者构建具有面部识别和分析功能的应用程序。

官网文档:

docs.microsoft.com/en-us/azure/cognitive-services/face/overview

是否收费:商业软件,有免费试用次数

2、OpenCvSharp

简介:OpenCvSharp是一个基于OpenCV(开源计算机视觉库)的C#封装库,提供了丰富的图像处理和计算机视觉功能。它包括图像加载、处理、特征提取、目标检测、图像分割等功能,适用于图像处理、计算机视觉和机器学习等应用领域。

功能概述:

图像加载和保存:读取和保存各种图像格式。

图像处理:包括滤波、边缘检测、色彩转换等图像处理操作。

特征提取:提取图像的特征点、轮廓等。

目标检测:提供多种目标检测算法,如人脸检测、目标跟踪等。

图像分割:实现图像分割和对象提取。

OpenCvSharp是在C#中使用OpenCV功能的强大工具,可以方便地开发图像处理和计算机视觉应用。它提供了易于使用的API和示例代码,使开发者能够快速集成和使用OpenCV的功能。

文档:github.com/shimat/opencvsharp

是否收费:开源,非商业免费

3、Emgu.CV

简介:Emgu.CV是一个基于OpenCV(开源计算机视觉库)的.NET封装库,提供了丰富的图像处理和计算机视觉功能。它提供了对OpenCV的高效访问和易于使用的接口,适用于图像处理、计算机视觉和机器学习等应用领域。

功能概述:

图像加载和保存:读取和保存各种图像格式。

图像处理:包括滤波、边缘检测、形态学操作等图像处理操作。

特征提取:提取图像的特征点、描述符等。

目标检测:提供多种目标检测算法,如人脸检测、目标跟踪等。

图像分割:实现图像分割和对象提取。

文档:emgu.com/wiki/index.php/Main_Page

是否收费:开源

4、Luxand FaceSDK

Luxand FaceSDK是一个商业人脸识别库,提供了高性能的人脸检测、识别和分析功能。它的功能包括人脸检测、人脸比对、活体检测、情绪分析、性别年龄识别等,适用于人脸识别、身份验证、情感分析、面部表情分析等应用。

功能概述:

人脸检测:快速准确地检测图像或视频中的人脸。

人脸比对:比较两个人脸的相似度,并返回相似度评分。

活体检测:判断人脸是否为真实的、活体的,以防止欺骗攻击。

情绪分析:识别人脸的情绪状态,如快乐、悲伤、愤怒等。

性别年龄识别:识别人脸的性别和年龄范围。

文档:luxand.com/facesdk/

是否收费:商业软件,有免费试用次数

5、虹软(arcsoft)

简介:虹软(arcsoft)是一个国产人脸识别组件,它提供了.NET的API,可以供.NET开发调用。虹软人脸识别技术广泛应用于公安安防、金融行业、社交媒体、智能门禁等领域。它可以帮助构建高效、安全的人脸识别系统,用于身份认证、访客管理、视频监控、智能支付等应用场景。

功能概述:

人脸检测:检测人脸位置,锁定人脸坐标

人脸跟踪:精确定位并跟踪面部区域位置

人脸比对:比较两张人脸的相似度

人脸查找:在人脸库中查找相似的人脸

人脸属性:检测人脸性别、年龄等属性

RGB/IR活体检测:检测是否是真人,预防恶意攻击

人脸质量检测:实时校验人脸的图像质量

大面积遮挡识别:人脸大面积遮挡下准确识别

文档:ai.arcsoft.com.cn

是否收费:商业软件,有免费试用次数

结语

本文介绍了几种.NET人脸识别组件,开发人员应该根据项目规模和复杂度、技能水平和预算等因素选择合适的组件。并根据各个人脸识别组件的使用说明选择合适自己项目的组件。希望本文对你有所收获,你用过哪些.NET人脸识别组件,欢迎留言讨论。

来源公众号:DotNet开发跳槽

人脸识别总结

目前单模型最好,好像是VGGface。

light CNN 模型较好,单模型达到了98%

http://m.blog.csdn.net/article/details?id=50401101  介绍Light CNN 

http://blog.csdn.net/shixiangyun2/article/details/51366710 LINGT cnn 。 有caffe实现

http://www.robots.ox.ac.uk/~vgg/software/vgg_face/  VGG 模型下载地址

当前基于CNN网络的人脸识别的文献可以说是满天飞,虽然效果不错,但是计算量大是一个问题。导致其难以用于嵌入式设备或手机里。当前关于人脸识别的CNN网络问题如下:1)很深的CNN网络导致一个大的模型,提取特征的时间较长。2)基于 ReLU 激活函数学习到的特征往往是 high dimensional and sparse,所以采用 Joint Bayesian [19] or metric learning [12]得到一个 low-dimensional and compact representation。所以我们这里希望使用一个小的CNN网络,直接得到一个可以快速计算的 low-dimensional representation特征。

The contributions are summarized as follows: 
1)一个新的激活函数用于CNN网络的卷积层, 它可以学习到 compact 特征 
Max-Feature-Map (MFM) activation function 
2)设计了两个小网络,One contains 4 convolution layers, 4 max-pooling layers and 2 fully connected layers and totally contains about 4M parameters, the other reduces the kernel size of convolution layers and employs Network in Network (NIN) [11] between convolution layers. 
3)提出的网络,效果不错,时间短。 the CPU time of extracting face feature vector based on CNN is nearly 67ms

3 Architecture 
3.1. Max-Feature-Map Activation Function 
 
Max-Feature-Map 激活函数 受 maxout networks[4]启发,定义如下: 
 
激活函数的梯度如下 

3.2. The Lightened CNN Framework 

结果: 


以上是关于介绍.NET几种人脸识别组件的主要内容,如果未能解决你的问题,请参考以下文章

NetCore百度人脸识别HTTP SDk实战:基于C# ASP.NETCore Net 6

opencv学习之路(40)人脸识别算法——EigenFaceFisherFaceLBPH

5种最著名的人脸识别算法和关键特征介绍

人脸识别总结

虹软人脸识别SDK在网络摄像头中的实际应用

OpenCV人脸识别--detectMultiScale函数