人脸识别技术开发人证比对访客系统

article/2025/9/18 15:12:11

原作者 panmingzhi

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

码字前先上项目地址: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 FaceModel ToFaceModel(Bitmap bitmap)

        {

            LocateResult locate;

            var code = _detection.Detect(bitmap, out locate);

            if (code == ErrorCode.Ok && locate.HasFace && locate.FaceCount == 1)

            {

                using (var feature = _recognize.ExtractFeature(locate.OffInput, locate.Faces[0], locate.FacesOrient[0]))

                {

                    return feature.FeatureData;

                }

            }

            locate.Dispose();

            return null;

        }

        /**

        * 添加新的比对模型

        */

        public void AddToCompare(Bitmap bitmap)

        {

            log.Debug("添加新的比对模型");

            faceModel = ToFaceModel(bitmap);

        }

        /**

        * 截图比对证件

        */

        public bool Match(Bitmap snapshot)

        {

            var result1 = _processor.LocateExtract(snapshot);

            if(result1 == null || result1.Length <= 0)

            {

                return false;

            }

            var sim = _processor.Match(result1[0].FeatureData, faceModel.Data, true);

            return sim > 0.7;

        }

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

1、提示放证

 

 


2、读到证件后立即比对

3、比对显示结果后将重新回到第一步

转载于:https://www.cnblogs.com/Zzz-/p/10493969.html


http://chatgpt.dhexx.cn/article/MSUqJ9Fd.shtml

相关文章

人脸识别、人证比对核验数据特点

一、人证合一验证系统产品简介: 人证合一验证系统是一套利用专业证件扫描设备和身份证阅读机具,实现采集持证人相片与所持证件人相关信息发送至公安部身份证副本库进行生物特征比对,验证人与证是否一致的软硬件结合系统。 从技术上基本解决了这两个主要问题:利用经公安部…

双目活体检测摄像头|离线式人证比对|人脸识别SDK

产品概述 中安未来双目防伪人证核验设备(TH-DE300)是一款基于中安未来自主独立研 发的双目多光谱生物识别技术&#xff0c;打造的一体化终端产品&#xff0c;主要适用于需要进行人证合一验证 的业务场景&#xff0c;对被验证人员身份进行验证。如防止冒用他人办理业务、刷脸控制…

人脸识别人证比对技术SDK

人脸识别人证比对技术SDK 人脸识别人证比对技术SDK 一、人脸识别人证比对技术1&#xff1a;1及1&#xff1a;N概念 人脸识别人证比对技术1:1如我们现在在宾馆、网吧、机场安检等的人与身份证上的照片进行比对的应用&#xff0c;用来证明自己是自己。想想&#xff0c;目前我们在…

人证比对的解决方案

人证比对的解决方案 目前&#xff0c;人证比对应用的场景很多&#xff1a;机场、高铁站过安检&#xff1b;P2P的软件注册&#xff1b;酒店、网吧、手机营业厅、银行开户&#xff1b;以及政府单位的一些柜台。1:1人脸比对有着用户量大、行业广、比对速度快、精准、使用方便、成本…

PockerFace 离线版人证比对 SDK 编程指南

深圳市喜汇信息科技有限公司(PockerFace)是一家通过深度学习框架打造新一代人脸识别技术的科技创新公司&#xff0c;具有完全自主知识产权的核心技术&#xff0c;在人脸检测、人脸识别、人脸属性检测、活体检测、人脸搜索等多个领域均有原创性创新。检出率、错检率、误检率、检…

人脸识别算法源码SDK开发包人证比对二次开发检测核验开发包

人脸识别算法源码SDK开发包人证比对二次开发检测核验开发包 ID:89120059902830359120170116926

人脸识别|人证比对《DocFace+: ID Document to Selfie Matching》论文解读

请点击上方“AI公园”&#xff0c;关注公众号 【导读】这是之前那篇DocFace的后续&#xff0c;作者在原来的基础上进行了升级&#xff0c;效果更佳&#xff0c;而且开源了代码。 代码&#xff1a;https://github.com/seasonSH/DocFace 摘要&#xff1a;日常生活中需要大量的出示…

利用人脸识别SDK实现人证比对全过程

人证比对在如今的社会中随处可见,如高铁、飞机、酒店入住、甚至景区入口都可以看到各种各样的人证应用,人脸识别SDK的也如雨后春笋一般层出不穷,如百度、商汤、Face++、虹软等。在尝试使用各家的SDK之后,最让我青睐的要数虹软科技的SDK了,最直接的一个原因就是虹软承诺永久…

人证核验、人证比对系统应用行业如何判别

一、人证合一验证系统产品简介&#xff1a; 人证合一验证系统是一套利用专业证件扫描设备和身份证阅读机具&#xff0c;实现采集持证人相片与所持证件人相关信息发送至公安部身份证副本库进行生物特征比对&#xff0c;验证人与证是否一致的软硬件结合系统。 从技术上基本解决…

1.Oracle 安装教程及使用

1.win10 安装Oracle19c 详细步骤 链接资源&#xff1a; https://blog.csdn.net/qq_39915083/article/details/107055864? 2.wind10 安装oracle 11g教程完整版 链接资源&#xff1a; https://blog.csdn.net/qq_36205206/article/details/117170099? 备注&#xff1a;以上安…

oracle的安装教程

这里介绍oracle在64位操作系统上的的安装教程&#xff1a; 1、首先到官网https://www.oracle.com/index.html上去下载oracle64位的安装程序&#xff0c;将两个程序解压到同一目录中。如下图所示&#xff1a; 2、下载完成后&#xff0c;将2个压缩文件一起选中&#xff0c;鼠…

如何安装Oracle--新手安装Oracle教程

首先我们来了解一下Oracle&#xff1a; Oracle是一个数据库管理系统&#xff0c;类似于MySql和Sql Server,它是Oracle公司的核心产品。因为该公司在信息管理系统、企业数据处理、Internet及电子商务等领域使用非常广泛&#xff0c;其在数据安全性与完整性控制方面的优越性能比较…

非常好的Oracle基础教程

http://www.blogjava.ne 字符串函数 LENGTH() 字符长度 LENTTHB() 字节长度&#xff1b;一个汉字内存中占用 2字节 LTRIM、RTRIM、TRIM 截串 SUBSTR(表达式&#xff0c;位置&#xff0c;长度) Oracle 无左右取串函数&#xff0c;但可以使用变通方式完成。 左取串&#…

Oracle使用

前言 Oracle需要先创建用户&#xff0c;用户才可以创表 MySQL为先创建数据库&#xff0c;数据库创表 一、基础搭建 在Oracle中&#xff0c;表空间分为(永久表空间和临时表空间 表空间&#xff1a;最终持久化保存的物理位置 临时表空间&#xff1a;当我们对数据库进行各种操…

Oracle——如何使用

1.启动Oracle 法1&#xff1a;winR —> cmd —> sqlplus “/as sysdba” //以sysdba身份登录 法2&#xff1a;winR —> cmd —> sqlplus username/password //以指定用户名/密码身份登录 法3&#xff1a;winR —> cmd —> sqlplus //按照提示&#xff0c;…

Oracle教程(一)--基础操作

一、Oracle简介 Oracle Database&#xff0c;又名Oracle RDBMS&#xff0c;简称Oracle。是甲骨文公司推出的一款关系数据库管理系统。 Oracle数据库系统是目前世界上流行的关系数据库管理系统&#xff0c;拥有可移植性好、使用方便、功能强等优点&#xff0c;在各类大、中、小…

Oracle数据库的安装及使用教程

本教程主要根据慕课网视频&#xff1a;Oracle数据库开发必备利器之SQL基础 整理 一、Oracle数据库的下载 下载地址&#xff1a;https://www.oracle.com/index.html &#xff08;1&#xff09; 不建议选择此页面的数据库客户端界面下载Oracle的Client&#xff0c;因为与数据…

oracle安装教程以及使用注意事项

oracle安装包下载 http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip SQL Developer下载地址 oracle安装 一、解压两个压缩包到同一目录下&#xff0…

Oracle数据库安装使用(详细教程)

教程文档下载&#xff1a;https://wwa.lanzoui.com/iyMrarevbtc Oracle数据库控制台&#xff08;图形界面&#xff09;下载&#xff1a;https://wwa.lanzoui.com/iRV7Grevhhg Oracle数据库&#xff08;百度云盘&#xff09;下载&#xff1a; 链接&#xff1a;https://pan.baidu…

实测好用的四个有免费API接口的网站

弹性API (txapi.cn) YesApi 小白免费接口 | 果创云&#xff0c;一个账号&#xff0c;搞定接口开发 免费API - 提供免费接口调用平台 (aa1.cn) 大米API - 免费API数据接口调用服务平台 (qqsuu.cn)