现在人脸识别最好的算法是哪种?

article/2025/10/4 17:33:10

目前看来,基于深度学习是在人脸识别领域效果比较出色的机器学习方法。

 

但从学术的角度来讲,“最好”是一个谨慎的词语,深度学习从以往不被认可逐渐成长为机器学习的主流,同样,也难保未来会有其它方法会取代深度学习。

 

1、对于许多应用程序,使用更简单的算法像逻辑回归和支持向量机可以工作的很好,而使用深度神经网络只会使事情变得复杂。

2、然而深度神经网络(deep belief networks )是最好的一个不可知域算法,如果你有领域知识的话,那么使用其他算法,如用于语音识别的HMM、用于图形压缩并识别的小波算法等,就可以表现更好。已经有一些工作把这些领域知识合并到神经网络模型,但是这还是不足以完全取代所有其他的模型和算法。

编辑于 2017-08-28



作者:云从科技
链接:https://www.zhihu.com/question/26434245/answer/221761953
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

 

作者:小Q
链接:https://www.zhihu.com/question/26434245/answer/1263872084
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

作为一个资深AI应用开发者,市面上的开源算法以及一些AI企业开放的算法基本都有涉猎,总结来说有:

一、各个人脸识别公司、系统简介

1.1 虹软

虹软:比较推荐和喜欢的一家,有详细的Demo,文档信息等,更重要的是算法免费,而且作为商业算法,它非常简单容易上手。

人脸检测:检测人脸位置、锁定人脸坐标。

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

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

人脸查询:在人脸库中查询相似的人脸。

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

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

点击前往官网->

虹软视觉开放平台​ai.arcsoft.com.cn图标

1.2 云脉

云脉-OCR SDK:OCR及人脸识别对比等,各项都有。

1.3 腾讯AI

腾讯AI-人脸与人体识别:各项功能都有,可直接去腾讯在线试下

1.4 1MB轻量级人脸检测模型

一个很火的轻量级人脸检测模型,在github和gitee上均有项目,研究的话可以试试,如果商用就不推荐了。

1.5 SeetaFace-科院计算机所开源项目

SeetaFace:中科院计算机所开源项目,仅做了解了一些,未做深入研究。

二、基于虹软的Java人脸识别

2.1 人脸识别SDK

基于虹软的免费SDK:

官网首页 -> 右上角开发者中心 -> 选择“人脸识别” -> 添加SDK,会生成APPID、SDK KEY后续会用到,根据需要选择不同的环境(本文基于windows环境),然后下载SDK是一个压缩包。

2.2 Java项目搭建

从GitHub上clone一个ArcSoft的Java版本Demo。

2.2.1 下载Demo项目

github地址:chengxy-nds/ArcSoftFaceDemo

本地搭建数据库,创建表:user_face_info。这个表主要用来存人像特征,其中主要的字段 face_feature 用二进制类型 blob 存放人脸特征。

2.2.2 修改application.properties文件

整个项目还是比较完整的,只需改一些配置即可启动,但有几点注意的地方,后边会重点说明。

config.arcface-sdk.sdk-lib-path: 存放SDK压缩包中的三个.dll文件的路径

config.arcface-sdk.app-id : 开发者中心的APPID

config.arcface-sdk.sdk-key :开发者中心的SDK Key

2.2.3 根目录创建lib文件夹

在项目根目录创建文件夹 lib,将下载的SDK压缩包中的arcsoft-sdk-face-2.2.0.1.jar放入项目根目录:

2.2.4 引入arcsoft依赖

pom.xml文件要配置includeSystemScope属性,否则可能会导致arcsoft-sdk-face-2.2.0.1.jar引用不到。

2.2.5 启动项目

run Application文件启动

测试一下:http://127.0.0.1:8089/demo,如下页面即启动成功。

2.3 操作测试

2.3.1 录入人脸图像

页面输入名称,点击摄像头注册调起本地摄像头,提交后将当前图像传入后台,识别提取当前人脸体征,保存至数据库。

2.3.2 人脸对比

录入完人脸图像后测试一下能否识别成功,提交当前的图像,然后会出现对比结果。

2.4 源码分析

2.4.1 JS调起本地摄像头拍照,上传图片文件字符串

2.4.2 后台解析图片,提取人像特征

台解析前端传过来的图片,提取人像特征存入数据库,人像特征的提取主要是靠FaceEngine引擎。

2.4.3 人像特征对比

人脸识别:将前端传入的图像经过人像特征提取后,和库中已存在的人像信息对比分析。

整个人脸识别功能的大致流程图如下:

 

编辑于 06-04

 

 

作者:中软高科
链接:https://www.zhihu.com/question/26434245/answer/242126185
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

支持向量机是在高维空间找一个最优分隔平面来进行分类的一种方法。人脸图像一般维度很高,至少上万,如果你用支持向量机,通过核函数继续投影到更高维空间,非常耗时,性能也很差。

神经网络的话,直接用来人脸识别也是不现实的。常用的方法有神经网络的升级版本:深度学习(deep learning)。百度也成立了深度学习的研究院。深度学习的人脸识别,效果非常好,成为了现今研究的热门。

还有就是几何特征识别方法,这些方法都是十几年前的方法了,现在许多简单的方法都比基于规则的几何特征方法来的容易地多,也方便地多。这是一种快被淘汰的方法。

接着,说说我的理解:

人脸识别也是机器学习,人工智能的一个领域。我们把人脸图像的每个像素作为一个特征,便可以用机器学习的方法特征提取与分类。

人脸识别遇到的主要问题是小样本问题。所谓的小样本问题就是人脸图像的维度太高了,一般的照片动则百万像素,而人脸图像的样本一般情况下,也就几十,上百张,相比于百万是很少的。根据经验风险结构风险(http://blog.csdn.net/ice110956/article/details/14002791),以及VC维的知识,对于一般的特征与分类方法都不适用。

于是,人脸识别的相比于其他机器学习不同,其主要研究是如何降维。

相应的方法有子空间方法。所谓的子空间方法,简单的说就是把人脸映射到一个低维的子空间上面,得到维度少的多的特征。简单的子空间方法有PCA(http://blog.csdn.net/ice110956/article/details/14250745),LDA等等。还有基于纹理的LBP(http://blog.csdn.net/ice110956/article/details/10241351),SIFT(http://blog.csdn.net/ice110956/article/details/9373239)等等方法。

最近几年,基于sparse编码以及deep learning的方法在人脸上的运用非常广泛,效果也非常高。

sparse也称为稀疏编码。它是模拟人眼视觉细胞的方法,用很少的样本线性组合为图像。

deep learing(http://blog.csdn.net/zouxy09/article/details/8775360)则是模拟人类的神经网络的方法来实现的。

这两种方法都是从生物学入手的方法,目前有比较广泛的前景。

编辑于 2017-10-10


http://chatgpt.dhexx.cn/article/1PxZSCJo.shtml

相关文章

经典人脸识别算法(特征脸,FISHERFACE,LBP)

首先,只是基于对算法的主要是想的介绍和理解,对于涉及到的PCA以及直方图比较提到的方法等等可以自己再去深入研究。 其次,只是用作笔记记录。 参考了CSDN博客:https://blog.csdn.net/smartempire/article/details/23377385 htt…

人脸识别算法及系统

首先说下哦 也就给自己当个记事本发了 内容可能也是老生常谈 不喜勿喷 人脸识别的目标 总结两点,第一,认出同一个人,不管你的状态怎么变,都能知道你就是你。第二、区分不同的人,可能这两个人长得很像,或者…

人脸检测:人脸检测算法综述

https://blog.csdn.net/SIGAI_CSDN/article/details/80751476 问题描述 人脸检测的目标是找出图像中所有的人脸对应的位置,算法的输出是人脸外接矩形在图像中的坐标,可能还包括姿态如倾斜角度等信息。下面是一张图像的人脸检测结果: 虽然人…

人脸检测技术——深度学习算法原理

人脸检测技术——深度学习算法原理 人脸检测技术——深度学习算法原理1. 通用目标检测网络1.1 faster-rcnn检测算法的基本原理1.2 faster-rcnn应用于人脸检测 2. 专门应用于人脸检测的卷积神经网络2.1 专门用于人脸检测的卷积神经网络的发展现状2.2 cascadeCNN2.3 MTCNN 3. 人脸…

什么是人脸识别,人脸识别算法大致分为几种?

如果要给人脸识别下个定义,它是利用人的生物特征实现个体区分的一种技术,一般包括图像采集、特征定位、身份的确认和查找三个环节。简单来说,人脸识别就是从图像中提取面部特征关键点,比如骨骼特征、眉毛高度等,通过比…

基于深度学习的人脸识别算法

基于深度学习的人脸识别算法 简介Contrastive LossTriplet LossCenter LossA-Softmax Loss参考文献: 简介 我们经常能从电影中看到各种神奇的人脸识别技术,例如图1。人脸识别技术是基于面部特征信息进行身份识别的一种生物识别技术。该技术在图片/视频中…

人脸检测算法分类

由于上次在Altea申请的License到期了,因为申请还挺麻烦的,而且申请周期太长了,最后主要因为本人的电脑实在太。。。,编译一个SOC-FPGA的程序需要6-10个小时。。。所以现在基本搁置了OpenCL的学习,开始接触机器视觉。各…

人脸识别算法原理过程详解

本文为转载内容,由于找不到源作者链接,故特此说明。 人脸识别各算法详解 最近,由于工作需要,为了找到一款高效的人脸识别算法,对各种人脸识别算法都研究了一番,以下记录的是各算法的理论基础。 一.MTCNN…

浅析人脸识别算法及其应用

前言 随着深度学习和计算机硬件的快速发展,基于深度卷积神经网络的一系列算法都取得了显著的进展,其中人脸识别作为计算机视觉领域中时间最久远、应用最广泛的研究课题之一,近些年也在深度学习的加持下在性能方面获得了大幅提升,…

了解面部识别的不同算法

介绍 任何面部检测和识别程序或系统都必须以人脸识别算法为核心。这些算法由专家分为两大类。几何方法专注于识别特征。为了从图像中提取值,应用了光度统计方法。然后,为了删除变体,将这些值与模板进行比较。此外,算法可以分为两…

人脸识别各算法详解

人脸识别各算法详解 最近,由于工作需要,为了找到一款高效的人脸识别算法,对各种人脸识别算法都研究了一番,以下记录的是各算法的理论基础。 一.MTCNN 本文章主要介绍MTCNN算法的流程,MTCNN主要由三个框架组成&#…

人脸识别算法(包含简单代码)

TOC 人脸识别算法是一种利用计算机视觉和模式识别技术来识别和验证人脸的算法。它可以通过分析图像或视频中的人脸特征,如脸部轮廓、眼睛、鼻子、嘴巴等来识别和区分不同的个体。人脸识别算法在安全认证、身份验证、监控安防、人机交互等领域具有广泛的应用。 以下…

总结几个简单好用的Python人脸识别算法

今天给大家总结几个简单、好用的人脸识别算法。人脸识别是计算机视觉中比较常见的技术,生活中,我们接触最多的人脸识别场景是人脸考勤. 人脸识别的算法最核心的工作是从一张图片中识别出人脸的位置。识别的算法可以说是多种多样, 下面我就来…

追踪AR圣诞老人,免费领200份圣诞礼物

元宇宙 绿心公园 圣诞节 元宇宙(Metaverse),是指 利用科技手段进行链接与创造的, 与现实世界映射与交互的虚拟世界, 具备新型社会体系的数字生活空间。 这一概念在2021年走入了大众视野 勾出了人们对“平行宇宙…

圣诞的礼物

呵呵 ,与你一起分享哦。。。。。。

圣诞来了,学编程的小伙伴有收到圣诞老人的礼物?

圣诞来了,学编程的小伙伴有收到圣诞老人的礼物?——编程学习笔记满满的惊喜。 编程是编定程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,…

圣诞老人的礼物_圣诞节设计资源:圣诞老人

圣诞节对人们而言可能意味着很多事情,但是对于设计师而言,这可能是一个不同的议程。 设计师通常会挤满最后一刻的设计临时通知,以赶在圣诞节贺卡,电子贺卡设计,新闻通讯或其他类型的广告活动的截止日期之前。 因此&am…

微信小程序|飞翔的圣诞老人

一、前言 2022年圣诞节即将到来啦,很高兴这次我们又能一起度过~ 此篇文章主要使用小程序实现飞翔的圣诞老人,跟随文章步骤带着圣诞老人翻越障碍一起去送礼物吧。 二、实现步骤 2.1、创建小程序 访问微信公众平台,点击账号注册。选择小程序,并在表单填写所需的各项信息进行…

圣诞节礼物

对于python小白的你,学了python没多久是不是就有了想自己动手做一个小程序的冲动呢?在这里我给大家分享一个我以前做的小程序——“圣诞节礼物”——希望能给大家带来灵感和帮助。 话不多说,先看一下截图: 这是一个小动画&#xf…

2022圣诞代码合集(圣诞树+圣诞老人)

文章目录 前言使用方法圣诞树圣诞老人 前言 圣诞节里的喜悦,飘扬万里;圣诞树上的星星,璀璨耀眼;圣诞星空绽放的烟花,迎来吉祥;圣诞钟声奏响的旋律,传递欢乐;圣诞老人送给你的礼物&a…