基于人脸识别技术实战开发人证比对访客系统

最近有个小区用到了虹软的人脸识别,效果还不错。又有一个项目要用人证访客对比,分享一下项目,希望可以帮到有需要的。

码字前先上项目地址:https://gitee.com/panmingzhi/IdCardFaceIdentifier

首先是读证的问题,我们使用的是华视CVR100U,公司已经用这个型号6年了,以前一卡通的资料都用它录,除了不好看,质量杠杠的。大部人的身份证都是很多年前办理的,所有比对的相似度不要太高。

视频采集还是使用的Aforge,使用 NewFrame 一方面要显示到实时画面,另一方面要异步的与当前读到的证件进行比对。这里请不尝试在NewFrame回调事件中直接显示到pictureBox,请使用如下方式,百试不爽:

private void VideoCaptureDevice_NewFrame(object sender, AForge.Video.NewFrameEventArgs eventArgs)
{
Bitmap newFrame = (Bitmap)eventArgs.Frame.Clone();
//如果使用视频文件请注释下面的这行代码,表示不对图像进行水平翻转
newFrame.RotateFlip(RotateFlipType.Rotate180FlipY);
lock (sync)
{
if (currentFrame != null)
{
currentFrame.Dispose();
currentFrame = null;
}
currentFrame = newFrame;
skinPictureBox2.Invalidate();
}
}

  

/**
* 绘制当前帧到控制,必须与获取当前帧互斥
*/
private void skinPictureBox2_Paint(object sender, PaintEventArgs e)
{
lock (synCurrentMat)
{
Bitmap bitmap = GetCurrentFrame();
if (bitmap != null)
{
e.Graphics.DrawImage(bitmap, new Rectangle(0, 0, skinPictureBox2.Width, skinPictureBox2.Height), new Rectangle(0, 0, bitmap.Width, bitmap.Height), GraphicsUnit.Pixel);
}
}
}
//异步的人证对比时,使用此方法再获取实时截图
public Bitmap GetCurrentFrame()
{
if (captureToken.Token.IsCancellationRequested) return null;
lock (sync)
{
return (currentFrame == null || currentFrame.Width == 0 || currentFrame.Height == 0) ? null : AForge.Imaging.Image.Clone(currentFrame);
}
}

  

二代证身份证的读取频率是每1秒读一次,读到证件后,10秒内为人证比对时间,这10秒将不再读证。10秒内比对成功,显示成功提示2-3秒后,重新再开始读证。
在读证时,如果证件被正确读取到后,要重新拿开再放置证件,这个在华视的产品说明书与SDK都有说明,其它厂家如鼎识也是一样的。
华视阅读器读到的身份证图片与证件信息默认保存在SDK目录下的wz.txt与wz.bmp,使用wz.bmp做比对时,经常报内存出错,后面我将bmp先转成jpg保存一次后再做人证比对,似乎就没问题。

证件比对时还是延续了之前方式,先将证件图片解析成FaceModel,然后将当前视频截图连续与些FaceModel比对,每次读到证件时都更新一次FaceModel。

/**
* 绘制当前帧到控制,必须与获取当前帧互斥
*/
private void skinPictureBox2_Paint(object sender, PaintEventArgs e)
{
lock (synCurrentMat)
{
Bitmap bitmap = GetCurrentFrame();
if (bitmap != null)
{
e.Graphics.DrawImage(bitmap, new Rectangle(0, 0, skinPictureBox2.Width, skinPictureBox2.Height), new Rectangle(0, 0, bitmap.Width, bitmap.Height), GraphicsUnit.Pixel);
}
}
}
//异步的人证对比时,使用此方法再获取实时截图
public Bitmap GetCurrentFrame()
{
if (captureToken.Token.IsCancellationRequested) return null;
lock (sync)
{
return (currentFrame == null || currentFrame.Width == 0 || currentFrame.Height == 0) ? null : AForge.Imaging.Image.Clone(currentFrame);
}
}

  

这时截图:(本人不上像,鬼画桃胡将就一下)

1、提示放证
![在这里插入图片描述](http://ai.arcsoft.com.cn/bbs/data/attachment/forum/201808/02/195358l2385v459xb2w9nb.png)
2、读到证件后立即比对
![在这里插入图片描述](http://ai.arcsoft.com.cn/bbs/data/attachment/forum/201808/02/195404ubbb7irw1wak5fha.png)
3、比对显示结果后将重新回到第一步
![在这里插入图片描述](http://ai.arcsoft.com.cn/bbs/data/attachment/forum/201808/02/195636izfxa2vqbn57qogn.png)
如果有问题的话欢迎多多交流
原帖地址
http://ai.arcsoft.com.cn/bbs/forum.php?mod=viewthread&tid=939&_dsign=fb054263

原文地址:https://www.cnblogs.com/Zzz-/p/10749089.html

时间: 2024-10-09 19:54:24

基于人脸识别技术实战开发人证比对访客系统的相关文章

人脸识别技术应用场景与前景

随着人工智能的发展,人脸识别也不落后,争相向人们展示它的风采,在一些比较发达的城市,普遍运用刷脸的方式来解决问题,在不知不觉中大家都要靠脸吃饭了,这绝对不是贬义词.大家都知道现下流行的小鲜肉.网红什么的,都是颜值高的,偶像明星靠脸吃饭.如今不光是作为明星名人才能靠脸吃饭,我们这些普通老百姓也能如此. 人脸识别技术经历了可见光图像人脸识别.三维图像人脸识别/热成像人脸识别.基于主动近红外图像的多光源人脸识别三层进化过程,逐渐缓解和解决了光线等环境的变化对于人脸识别的影响,加之算法的不断精准演化,人

人脸识别技术及应用,二次开发了解一下

得益于移动设备和数码摄像的高速发展,人脸识别技术突飞猛进,已经成为多项产品的主要应用支撑或重要配置.本文对目前人脸识别的三种技术及其发展方向和应用进行详尽的介绍,希望能对大家的产品开发工作提供参考. 人脸识别作为一项互联网领域热门的技术,在互联网产品很多领域都有着广泛的应用. 很多产品经理在工作中经常会遇到老板或需求部门来一句:“我们来搞个人脸识别吧.”但人脸识别发展至今已经成了一个广泛概念,通过几项不同的技术提供不同的产品应用服务.不同角色的人在不同环境里说出的人脸识别,其期待的产品和背后的技

基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台【课程分享】

链接:http://pan.baidu.com/share/link?shareid=1334596560&uk=3611155194 密码:ffna 对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:IT小生 课程分类:Java 适合人群:中级 课时数量:52课时 用到技术:Hibernate.Struts.Spring.Maven.EasyUI 涉及项目:易买网电子商务 更新程度:完毕 一.易买网前台部分讲解: 第一讲: Maven初体验 第二讲:Maven打包测试

三维人脸识别技术使我们更好地认识彼此

人脸识别,一种基于人的脸部特征信息进行身份认证的生物特征识别技术.近年来,随着欧美发达国家人脸识别技术开始进入实用阶段后,人脸识别迅速成为近年来全球的一个市场热点,它具有如下显著优点: ·非接触,智能交互,用户接受程度高. ·直观性突出,符合人"以貌识人"的认知规律. ·适应性强,不易仿冒,安全性好.·摄像头的大量普及,易于推广使用. 综上所述,人脸识别被人们称为最自然.最直观的一种生物特征识别技术.可以广泛应用于公安.安全.海关.金融.军队.机场.边防口岸.安防等多个重要行业及领域,

基于人脸识别的登陆认证方案及思路

本文主要讨论基于人脸识别的登陆认证过程中的关键技术点,讨论如何实现这些关键技术点并解决困难问题. 1.关键技术点及思路 (1)登陆认证在服务器端实现还是在客户端实现? 换句话说,人脸识别的模型应该运行在服务器端还是客户端.如果人脸识别模型运行在服务器端,那么客户端必须在联网环境下才能通过服务端的认证并使用.某些场景下,例如音乐客户端场景(用户在无需联网的情况下也需要进入APP听音乐),人脸识别模型运行在服务器就无法满足需求.如果人脸识别模型运行在客户端,那么需要模型足够简单,客户端能够提供运行模

人脸识别技术探讨:1:1,1:小N/大N,大姿态识别,活体识别

人脸识别是一种基于人的脸部特征信息进行身份认证的生物特征识别技术.静态人脸识别和动态人脸识别静态人脸识别是在特定的区域或者范围内来采集人脸照片并进行识别,如当前常见的门禁考勤应用.又或者是输入一张照片到人脸识别系统,如Facebook应用中采集用户的标签照片.又如警察输入照片并搜索数据库查看他/她是谁.在这两种情况下,我们都是输入一张照片来进行人脸识别.静态人脸识别的工作流程包括检测人脸.人脸对齐.提取特征向量(我们在后文也会谈及),然后将提取的特征向量与数据库中的特征向量进行比较,以确定他/她

一文读懂人脸识别技术

近日,人脸识别技术因多次在抓逃犯的过程中"立功",再度走"红".从20世纪60年代起,人脸识别研究开启,发展到今天有哪些进展?该产业里的竞争,是人工智能投资泡沫带来的浮躁,还是市场规模将持续突进? 何谓人脸识别技术? 20世纪60年代,人脸识别工程化应用研究正式开启.初期的方法主要利用了人脸的几何结构,通过分析人脸器官特征点及其之间的拓扑关系进行辨识.这种方法简单直观,但是一旦人脸姿态.表情发生变化,则精度严重下降. 如今的解决方案多是基于主动近红外图像的多光源人脸

最新人脸识别技术方案

这两年,随着科技的迅速发展,人脸识别已经逐渐成为了新时期生物识别技术应用的重要领域,忘记密码了?没事儿,咱还可以"刷脸"!今天,小编将带大家了解一下最新的人脸识别技术,看看这项技术发展到哪一步了. 传统的人脸识别技术主要是基于可见光图像的人脸识别,人们也比较熟悉这样的识别方式.不过,这种方式的缺点其实非常明显,光线的限制性非常大,并不能满足实际的需要.解决光照问题的方案有三维图像人脸识别,和热成像人脸识别.但这两种技术还远不成熟,识别效果不尽人意. 迅速发展起来的一种解决方案是基于主动

人脸识别技术发展

在人工智能领域,人脸识别技术的应用规模在不断扩展.算法能力在不断提升,这使得简单的人脸对比评测已经很难区分不同算法能力之间的差距.随着国内平安城市.智慧城市项目的深入发展,城市监控的高清化进一步得到普及,摄像机数量大规模增长,使得人脸识别在数据的采集上阻碍大大减小,提升了人脸识别的质量. 而基于这样的一个现状,引入智能访客机也是一个趋势.目前多地已经开始引入智能访客机.智能访客系统,以达到高效.安全管理小区楼宇.目前,市面上访客机的厂家琳琅满目,如何选择合适的访客机也是众多物业头痛的一件事.随着