指纹作为人体的身体特征,具有唯一性、稳定性和不易盗用等特点。随着指纹识别理论逐渐成熟、指纹采集工具这一难题得到解决,指纹识别已经成为目前最广泛应用的生物识别之一,逐渐取代了传统的认证识别方式,广泛应用于金融、公安、证券、门禁系统等领域。指纹识别技术的研究已经成为当前建筑智能化研究的热点。但是对于在Linux 系统下的由FPI 指纹识别模块、Raspberry Pi 主控模块、AVR 模块组成的,采用无线通讯方式定时向用户发送邮件来监控门锁状态的指纹识别系统的研究至今未见诸报端。本文在不改变现有门锁结构的前提下,通过设计编程,开发了一套基于指纹识别的门禁系统,定时检测门锁状态并向用户发送报警邮件,大大增强了门锁的安全性。
1 指纹识别的技术原理
指纹识别的技术原理是从指纹数据库中查找与采集指纹是否匹配的指纹数据,达到通过辨别身份实现开关门锁的目的。其基本原理如图1 所示,指纹识别系统由指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配、特征数据库等几部分组成。指纹图像预处理采用了Gabor 滤波的方法进行灰度图滤波去噪,通过将图像滤波后,对其进行二值化处理使各种噪声得到滤除或者修正。指纹特征提取是建立在对该点8 邻点统计分析基础之上,特征点通过计算CN(Croosing Number)得到。指纹特征匹配的过程是计算两幅指纹相似程度的过程,在做指纹匹配前必须把不同的指纹图像校准,找到输入特征点集和模板特征点集之间的最佳变换。
指纹识别系统大体上可分为两个内容:指纹注册和指纹比对。指纹注册主要包括指纹采集、指纹图像预处理、特征点提取和特征值存储。指纹比对的前3 步操作与指纹注册完全相同,在特征点提取后,生成的指纹特征值将与存储在指纹特征数据库的特征值作特征匹配,最后输出匹配结果。
图1 指纹识别技术的基本原理
2 指纹识别系统硬件开发
指纹识别系统主要由FPI 指纹识别模块、Raspberry Pi 主控模块、AVR 模块3 部分组成,该硬件结构如图2 所示。三方通讯实现用户的指纹录入和匹配,以及门锁的开关,并且以发送邮件的方式来监控门锁的状态。FPI 指纹识别模块强大的图像处理功能对指纹识别非常灵敏,及时处理接收到的指纹信息,并与Raspberry Pi 通讯;Raspberry Pi 模块,一方面控制AVR 去检测门的开关状态以及开关门锁,另一方面控制FPI 指纹录入和匹配,并在Raspberry Pi 上建立数据库记录用户信息;控制器AVR 反馈给Raspberry Pi 门的开关状态,并且控制电机来开关门锁,加强了在硬件方面的拓展,可通过硬件在更多方面对门进行监测。此外,使用了无线通讯模块,避免了过多布线可能对原本门锁结构的破坏,使该系统的硬件组成方便快速。