您的位置  > 互联网

基于指纹识别门禁系统的技术原理及技术分析方法

1 指纹识别的技术原理

指纹识别的技术原理是从指纹数据库中查找与采集到的指纹相匹配的指纹数据,从而通过识别身份来达到开关门锁的目的。 基本原理如图1所示。指纹识别系统由指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配和特征数据库组成。 指纹图像预处理采用Gabor滤波方法对灰度图像进行滤波和去噪。 对图像进行滤波后,进行二值化,滤除或校正各种噪声。 指纹特征提取是基于该点的8个邻近点的统计分析,通过计算CN(·)得到特征点。 指纹特征匹配的过程就是计算两个指纹之间的相似度的过程。 在指纹匹配之前,必须对不同的指纹图像进行校准,以找到输入特征点集和模板特征点集之间的最佳变换。

指纹识别系统大致可分为指纹登记和指纹比对两个内容。 指纹登记主要包括指纹采集、指纹图像预处理、特征点提取和特征值存储。 指纹比对的前三个步骤与指纹注册完全相同。 特征点提取后,生成的指纹特征值将与指纹特征数据库中存储的特征值进行匹配,并输出匹配结果。

图1 指纹识别技术的基本原理

2 指纹识别系统硬件开发

指纹识别系统主要由三部分组成:FPI指纹识别模块、Pi主控模块、AVR模块。 硬件结构如图2所示。三方通信实现用户指纹录入和比对以及门锁开关,并通过发送邮件监控门锁状态。 FPI指纹识别模块强大的图像处理功能,对指纹识别非常敏感,及时处理接收到的指纹信息,并与Pi进行通信; Pi模块一方面控制AVR检测门和门锁的开关状态,另一方面控制FPI指纹录入和匹配,并在Pi上建立数据库记录用户信息; 控制器AVR反馈Pi门的开关状态,并控制电机打开和关闭门锁,加强了硬件的扩展性,可以通过硬件在更多方面监控门。 另外,无线通讯模块的使用避免了因接线过多而可能对原有门锁结构造成的损坏,使得系统的硬件组成方便、快捷。

图2 系统硬件结构

2.1 指纹识别模块

该指纹模块以TI先进的数字DSP处理器为主要核心,芯片结构框图如图3所示。高精度光学采集头(TFS-D0307),高速稳定; 标准UART接口通信,标准8字节通信协议,FPI完成对接收到的指纹信息的处理并与Pi主控模块进行通信。

图3 指纹识别芯片FPI

2.1.1 图像采集芯片

FPI芯片集成了图像采集芯片。 指纹传感器是一种电容式半导体传感器器件。 电容式指纹传感器采用反射式检测技术,是平面指纹传感器。 与传统电容式传感器相比,它采集的是手指真皮层,对干湿手指都有良好的适用性。 指纹采集原理:指纹传感器由152×200的传感器阵列组成。 每个阵列都是一个金属电极,作为电容器的一个极,而手指放在感应表面上的对应点作为另一个极。 其工作原理是基于变极板间距的电容式传感器,其电容量由式(1)确定:

(式中:C为电容;d为极板间的距离;ε0为真空介电常数;εr为极板间介质的相对介电常数;s为极板的有效面积)

当手指触摸传感器的导电框架时,从等式(1)可以看出,谷和脊由于距传感器阵列的距离不同而产生不同的电容值C。 经过运算放大电路后,形成不同的电压值。 通过内部A/D转换获得高质量的数字指纹图像。

2.1.2 处理器

本系统采用的主处理器是32位定点高速数字DSP处理器。 开发板的硬件包括: USB2.0接口,用于传输图像、视频等高速数据; 1M片外外部扩展; 网络接口芯片,实现以太网以太网通信电路; 开发接口:UART(RS232)与上位机通讯; 2路10位A/D输入接口。

2.2 主控模块

本系统采用的主控模块Pi代替了笨重的计算机来实现控制功能。 Pi是一款基于ARM的个人计算机,操作系统采用开源Linux系统。 它配备了强大的处理器,支持SD卡并拥有两个USB接口,以及HDMI和RCA输出支持。 一方面,Pi控制AVR检测门的开关状态并打开和关闭门锁。 另一方面,它控制FPI的指纹录入和匹配,并在Pi上建立数据库来记录用户信息。

利用这些硬件可以进行嵌入式开发,快速搭建指纹识别系统的硬件系统。

3 指纹识别系统软件开发

本系统基于Linux操作系统。 将自动指纹识别系统移植到嵌入式Linux上,并在Linux上进行指纹识别系统的软件设计。 指纹识别系统的软件设计包括四个方面:上位机与AVR之间的串行通信、上位机与AVR之间的通信。 指纹模块串口通信、维护MYSQL和脚本发送报警。

3.1 指纹识别流程

如图4所示:首先初始化串口,打开串口设备0和1,设置串口参数,将串口恢复到畅通状态,串口初始化成功后执行用户选择的函数:注册开户账户或注册关户账户或运行访问控制服务[N/C/R]。 选择系统功能N注册新的开门用户后,总共获得三张相同指纹的图像。 与传统的一次图像采集相比,消除了随机采集造成的指纹登记不准确、验证时难以识别的问题。 成功采集指纹后,输入用户的个人信息,从上位机数据库注册新的ID号并将用户的指纹信息存储到数据库中,然后选择是否继续添加用户。 同理,用户选择系统功能C,完成封闭用户注册操作。

用户选择系统功能R并运行访问控制服务。 一方面,AVR查询当前门锁状态,例如将开门命令分配给门的匹配状态。 如果指纹匹配操作FPI和门的匹配状态相同,则继电器接收来自AVR的命令。 开门命令驱动电机执行开门动作,记录当时的时间,在本地数据库中添加新的用户使用记录,并写入日志。 以同样的方式执行平仓指令。 另一方面,AVR查询当前电机电流水平,并将执行开关门动作的门锁的实时开关状态以及当前门锁电机电流状态通过电子邮件发送给用户,实现门的实时监控,大大增强了门禁系统的功能。 安全。

3.2 发送电子邮件

图4 系统工作模式流程图

Pi上的ARM通过RS 232串口定时接收来自AVR的门禁状态和当前状态查询信息,并编写Shell脚本程序,使用wifi通过串口传输到邮件发送模块,并发送将报警内容发送至指定用户邮箱。 定期监控门锁的状态。 程序如下:

该部分完成信息打包并将报警内容发送到指定邮箱的功能。 AVR定期检测门的状态和电流的当前状态。 当无人进行开关门操作时,door.log的内容为“0”。 当有人进行开关门操作或电流超过一定值时,door.log内容为“1”,其中门锁开关包括两种情况:一是注册用户成功开关门锁通过指纹识别; 第二,未注册用户指纹识别失败但打开门锁。 该文件夹从数据库调用此数据并将数据发送到指定用户的邮箱。 然后door.log再次变为“0”,如此循环检测门的状态。

Pi上的ARM通过RS232串口定时接收AVR发来的门禁状态和当前状态查询信息,并编写Shell脚本程序,利用wifi通过串口传输到邮件发送模块,将报警内容定时发送至指定用户邮箱 监控门锁状态。

4 系统测试

为了测试指纹识别门禁系统的性能,打开Linux程序,注册4个不同的指纹,然后使用不同的手指进行指纹识别测试。 分别观察指纹识别成功和失败时执行器的动作。 总共进行了 50 次测试。 部分系统测试结果的邮件文本内容如表1所示。

表1 系统测试结果表

从表1可以看出,邮件内容包括四项:ID、Name、Date。 前七行是通过指纹识别成功打开和关闭门锁的注册用户,因此电子邮件中将包含其身份证号码和姓名信息,而最后一行显示指纹识别失败但打开门锁的用户,因此邮件中会将他们的ID和姓名设置为NULL,以提醒管理员特别关注当时的门锁状态,以便管理员可以定期监控门的状态。

5 结论

本文采用基于指纹识别技术的FPI指纹识别模块,结合Linux设计了指纹识别门禁系统。 该设计的一大特点是基于Linux操作系统建立并发执行环境,提高CPU利用率,并使用Pi主控模块和无线通信模块使整个结构更加简单,显着提高系统性能。 另一个特点是它会定期检测门锁状态,并利用无线通信向用户发送报警邮件,大大增强了门锁的安全性。 实际测试结果表明,系统运行良好,能够进行可靠安全的指纹识别,准确快速地完成个人身份验证,实现开关门功能以及及时快速的邮件报警操作。 在后续工作中,系统可以通过提高现有程序的稳定性来提高系统的性能,使指纹门锁功能更加完善。

关键词:指纹识别门禁系统

加入微信

获取电子行业的最新消息