技术分享:人脸识别究竟是如何完成的?

TSINGSEE TSINGSEE     2023-01-29     675

关键词:

随着人工智能的高速发展,基于计算机视觉技术研究及应用也逐渐进入成熟阶段。其中,人脸识别是运用较多的一种技术,已经渗透到人类日常生活的方方面面。目前TSINGSEE青犀视频也正在积极研发人脸识别项目,将人脸识别技术融入到相关视频平台(如EasyCVR视频融合云服务),并投入到线下场景落地使用。

本文将和大家简单分享一下:人脸识别究竟是如何完成的?它的流程是什么?

一、人脸识别系统的组成

  • 前端图像采集
    前端人脸图像采集系统通过抓拍采集人脸图像、实时视频流等,如视频监控摄像头、智能考勤机、智能门禁机等设备,都具备人脸采集抓拍的功能。

  • 后端智能平台
    后端的智能平台可将前端采集的相关数据统一进行汇聚、处理、存储、应用、管理与共享,并结合人脸识别系统,实现人脸识别功能,并应用在现实场景中如:人脸识别考勤、人脸门禁、公安部的人脸追踪、抓捕嫌疑犯等等。

二、人脸识别技术的流程有哪些?

1、人脸检测

人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。
从照片中找出人脸的位置,以图片左上角为坐标原点,分别记录下人脸框左上角和右下角的坐标,并将人脸部分裁剪出来。

2、人脸对齐

在现实场景中,往往前端设备抓拍获得的人脸不一定是正脸的角度,所以需要将图像中的人脸姿态进行矫正。通过人脸关键点检测得到人脸的关键点坐标,根据人脸的关键点坐标调整人脸的角度,使人脸对齐。如图,这两个脸在计算机看来,是完全不同的两张脸,因此我们需要通过一些仿射变换将脸部进行对齐。

  • 1)仿射变换
    仿射变换的功能是从二维坐标到二维坐标之间的线性变换,且保持二维图形的“平直性”和“平行性”(直线之间的相对位置关系保持不变,平行线经仿射变换后依然为平行线,且直线上点的位置顺序不会发生变化)。

  • 2)对齐方法
    使用训练好的模型,自动地从检测出的人脸中标记出68个特征点(landmarks),然后在模板库中寻找一个标准模板,使用仿射变化,将这个68个点与模板的68个点对齐。

3、人脸编码(提取特征向量)

通过卷积神经网络训练一个模型,将送入的模型脸部图片自动编码成一个具有一个很强语义的128维向量。
训练方法:

  • 输入一张已知身份的照片。
  • 输入一张相同身份的照片。
  • 输入一张不同身份的照片。
  • 反复调整参数,使得步骤1和步骤2中的照片编码尽量接近,与步骤3中的编码尽量不同。

4、人脸分类

依次计算输入图像和数据库中每个图片的128位向量差值的欧氏距离,直到找到小于我们阈值的那张,到此,人脸识别成功。

5、实验结果

基于以上步骤,我们来检测下人脸识别系统最终的识别结果。

三、人脸识别技术的应用场景

人脸识别技术主要用于身份验证,常见的场景有小区、楼宇、校园、工厂、园区、银行等,如:智能门禁、人脸闸机、人脸考勤、智能门锁等。通过人脸识别验证身份,来保障相关场所的安全,也减少了人工审核的成本。

在安防监控中,人脸识别也意义重大,比如公众场所(地铁站、车站、街道、酒店等)的安防布控、公安部追捕嫌疑犯等。基于公众场所的安防监控摄像头,通过抓拍人脸并将结果上传公安部网络,与嫌疑犯人脸进行比对,协助公安人员的执法工作。

人脸识别技术是人工智能领域的关键技术,在智能视频监控系统具有十分广泛的应用前景。TSINGSEE青犀视频也将以AI智能检测与识别技术为核心,持续研发多场景下的智能业务系统及平台,向AI领域深耕。

如何添加家人人脸识别?

...库,此方案可快速分辨人员信息,优化了人员管理。参考技术A在设置上安全密码那地方,你可以试一次,可以添加上人脸识别。 参考技术B哦,那个设置上会有的,你可以多设置一个 参考技术C现在支付宝的时候都是要用脸识别... 查看详情

!function()() 究竟是如何工作的? [复制]

】!function()()究竟是如何工作的?[复制]【英文标题】:Howexactlydoes!function()()work?[duplicate]!function()()究竟是如何工作的?[复制]【发布时间】:2012-01-2613:21:18【问题描述】:我见过:!function()//code();在多个地方用于立即执行匿名函数... 查看详情

Android究竟是如何判断是不是在线的?

】Android究竟是如何判断是不是在线的?【英文标题】:HowexactlydoesAndroiddeterminewhetherit\'sonline?Android究竟是如何判断是否在线的?【发布时间】:2012-11-0405:38:39【问题描述】:Android究竟是如何判断以下状态的区别的?网络接口处... 查看详情

如何使用虹软人脸识别门禁应用套件

...纹和刷卡门禁容易冒用和代打卡,刷脸门禁采用生物识别技术,必须本人刷脸才能起效,在原有门禁的基础上的改造也比较容易。刷脸门禁虽好,然而最大问题是,我并没有从零开发一款人脸门禁的能力。多方研究之下,我选择... 查看详情

Python 究竟是如何检查列表的?

】Python究竟是如何检查列表的?【英文标题】:HowexactlydoesPythoncheckthroughalist?【发布时间】:2018-05-0607:17:12【问题描述】:我正在为python做一个关于codeacademy的课程练习,我有几个问题我似乎找不到答案:对于这段代码,python究... 查看详情

图像处理——基于机器视觉技术的人脸在线识别系统设计(代码片段)

  基于机器视觉技术的人脸在线识别系统设计  本设计研究人脸检测与识别技术,在基于机器视觉技术上,构建了一套人脸在线检测识别系统,系统将由以下几个部分构成:计算机图像预处理、数据收集和预处理、人脸... 查看详情

微服务究竟是如何实现的?

】微服务究竟是如何实现的?【英文标题】:Howexactlyaremicroservicesimplemented?【发布时间】:2021-01-0613:47:20【问题描述】:我正在使用Docker并将微服务部署到EC2实例。我正在阅读几个教程,但每个教程都只部署一个微服务,仅此而... 查看详情

尾递归究竟是如何工作的?

】尾递归究竟是如何工作的?【英文标题】:Howexactlydoestailrecursionwork?【发布时间】:2013-03-0906:31:46【问题描述】:我几乎了解尾递归的工作原理以及它与普通递归之间的区别。我只是不明白为什么它不需要需要堆栈来记住它的... 查看详情

这个 Promise 示例究竟是如何工作的?

】这个Promise示例究竟是如何工作的?【英文标题】:Howexactlydoesthispromiseexamplework?【发布时间】:2018-03-0320:06:54【问题描述】:我正在学习Angular2,我对在教程中找到的这段代码有疑问:appStatus=newPromise((resolve,reject)=>setTimeout(()=... 查看详情

泛型究竟是如何工作的?

】泛型究竟是如何工作的?【英文标题】:HowexactlydoGenericswork?【发布时间】:2015-02-2018:34:58【问题描述】:在查找(测试)另一个问题的信息时,我遇到了一些事情,完全不知道为什么会发生这种情况。现在,我知道没有实际... 查看详情

Spring BeanPostProcessor 究竟是如何工作的?

】SpringBeanPostProcessor究竟是如何工作的?【英文标题】:HowexactlydoestheSpringBeanPostProcessorwork?【发布时间】:2015-06-2621:49:00【问题描述】:我正在学习SpringCore认证,我对Spring如何处理bean生命周期,尤其是bean后处理器有一些疑问。... 查看详情

document.cookie 究竟是如何工作的?

】document.cookie究竟是如何工作的?【英文标题】:Howexactlydoesdocument.cookiework?【发布时间】:2011-10-1103:22:02【问题描述】:如果我通过进入控制台并输入document.cookie;让Chrome向我显示document.cookie,它会给我说:"name=John;gender=male&... 查看详情

快手人脸识别都能干啥?

参考技术A人脸识别可以用来实名认证或者是验证账号。 参考技术B人脸识别应用的场合比较多人脸识别门禁、人脸识别考勤机、人脸识别闸机、人脸识别验证等各行各业都在用 参考技术C以前上班需要拿笔签到现在可能只要再刷... 查看详情

TensorFlow 的 LSTMCell 究竟是如何运作的?

】TensorFlow的LSTMCell究竟是如何运作的?【英文标题】:HowexactlydoesLSTMCellfromTensorFlowoperates?【发布时间】:2019-07-1301:11:09【问题描述】:我尝试从TensorFlow重现LSTMCell生成的结果,以确保我知道它的作用。这是我的TensorFlow代码:num_u... 查看详情

声音。它究竟是如何工作的? [关闭]

】声音。它究竟是如何工作的?[关闭]【英文标题】:Sound.Howexactlydoesitwork?[closed]【发布时间】:2011-11-3022:11:34【问题描述】:我希望能够制作我自己类型的声音文件。实际上播放一段声音几秒钟然后继续下一部分ext...例如,图... 查看详情

WCF 加密和握手究竟是如何工作的?

】WCF加密和握手究竟是如何工作的?【英文标题】:HowdoestheWCFencryptionandhandshakeexactlywork?【发布时间】:2017-11-2212:53:33【问题描述】:我有一个关于WindowsCommunicationFoundation使用的传输加密的非常具体的问题。我编写了一个客户端... 查看详情

bufferedReader() 在 Kotlin 中究竟是如何工作的?

】bufferedReader()在Kotlin中究竟是如何工作的?【英文标题】:HowexactlydoesbufferedReader()workinKotlin?【发布时间】:2019-08-2521:59:05【问题描述】:所以我正在尝试从我的Android项目中的.json文件中读取数据:valfile=context.assets.open("myfile.json... 查看详情

Dropbox 的响应队列究竟是如何工作的?

】Dropbox的响应队列究竟是如何工作的?【英文标题】:Howdoesdropbox\'responsequeuework,exactly?【发布时间】:2021-07-3107:29:34【问题描述】:我正在阅读这篇文章:https://medium.com/@narengowda/system-design-dropbox-or-google-drive-8fd5da0ce55b。在同步... 查看详情