随着电子信息技术应用面日益拓展,不少场合需要对特定用户群体进行身份识别或身份记录,如门禁系统、考勤系统、安全认证系统等,在各种系统中运用的技术形式多样,如视网膜识别、面相识别、指纹识别、RFID 射频识别应用等。其中,生物特征识别方式以其方便性强、安全性高等特点得到了越来越多人的认可和接受,特别是指纹识别技术方式,现已发展成为应用最广泛的生物识别技术之一。因此,研究基于嵌入式架构的指纹识别系统具有现实意义和广阔的应用前景。
1 系统整体结构
系统采用光学指纹传感器(内建格科微电子有限公司的光学GC0307 CMOS 图像采集芯片)与ARM Cortex M3 内核意法半导体公司的32 位高性能单片机STM32F205RE 组成功能主体,采用Sobel 边缘检测算子、Gabor 滤波、图像二值化等图像采集与处理算法对指纹图像进行识别,构建了小体积的嵌入式指纹识别模块,具有积木式嵌入、微功耗、程序接口简单易用、便于二次开发、识别准确度高、高性价比等特点。
2 系统硬件电路设计
整个系统设计构成了一体化光学指纹识别模块。模块设计采用光学暗背景成像原理,加入特有活体检测芯片,在解决干手指效应的同时解决残留指纹误识别、橡胶假指纹等问题。
图1 所示为格科微电子有限公司的光学GC0307 CMOS 图像采集芯片应用电路原理图。该款CMOS 图像采集芯片是高精度、低功耗、微体积的高性能相机的内置式组件,它把实现优质VGA 影像的CMOS 影像传感器与高度集成的影像处理器、嵌入式电源和高质量的透镜组结合在一起,输出JPEG 图像或图像视频流,支持8/10 位数字传输JPEG 图像和YCbCr 接口,提供了完整的影像解决方案。
 

 
CMOS 图像采集芯功能输出串行数据引脚、时钟信号引脚、复位引脚、串行总线引脚等都接入到STM32F205RE的GPIO 口, 通过GPIO 口模拟时序读取CMOS 芯片采集到的图像信息。由于STM32F205RE 的GPIO 口工作频率可达120 MHz,因而可以非常准确高效地模拟时序,实测640×480 的原始图像能以10 帧/s 的速度采集到主处理器STM32F205RE 中进行图像处理。
3 系统软件功能设计
本系统的指纹图像采集过程如图2 所示。系统软件设计部分则针对畸变纠正采用了四点转正算法。
 

通过公式(1)和公式(2)可以得到从(x,y) 到(u,v) 的变换,其中,A ~ H 由光路决定,可以由具体测定数据最终确定,通过实测可以获得原始数据。图3 所示展示了原始图像和畸变纠正前后图像的效果差异。通过变换可见,畸变纠正后的图像通过变换可达500 DPI分辨率,为后续获得高质量图像处理数据奠定了基础条件。
 
然后送入算法处理。由于嵌入式系统的图像处理算法必须运算量小、占用RAM 存储器空间小,才能在运算性能有限的单片机系统中运行,故而本系统通过小块方向替代点方向,减小RAM占用。
在图像增强方面,可以将图像以L 为长宽划分为小块,再按如下公式求取每一块的均方差 :
 
根据实验数据测定和分析,当Aver>36 时,可认为该区域内有图像,否则认为是背景。利用均方差区分出了前后景,还可以据此判断图像的对比度。根据对比度的差异分别来增强图像,可以使得不同曝光亮度的图像得到一致增强。对原始图像进行了算法处理,提取处理前后效果进行比对,具体效果如图4 所示。

原Sobel 算子如下:

改进后的Sobel 算子为:

改进的Sobel 算子能增加方向场的准确性,实测通过率从采用标准Sobel 算子的93.3% 提高到95.8%.图5 所示为其变化情况。

如图5 可见,改进的Sobel 算子在原Sobel 算子的基础上,能显着地分割出正确图像的面积,几乎能在整个画面区域提取出正确的方向来。系统对图像进行了Gabor 滤波和图像数据二值化。指纹图像属于纹理图像,纹理图像采用Gabor 滤波器,利用每一点的点方向沿方向指向增强,沿方向的法线方向减弱。Gabor 滤波器能很好地拼接断纹,滤除环境噪声,最后将Gabor 滤波后的图像做双窗口均值门限二值化:

门限1 :均值化算子矩阵: 7×7 的单位矩阵。

门限2 :均值化算子矩阵: 3×3 的单位矩阵。

具体运算表达式如下:

当每一点的值g(x,y)>p(x,y) 时,则赋值g(x,y)=1,否则赋值为0,以此得到二值化最终的结果,提取图像进行实测效果的比对如图6 所示。

图7 是最后根据图像纹理的粗细二值化图像,并根据端点和交叉点提取特征点。

经过上面的步骤,即可从原始图像里面提取出有效的特征信息。特征信息描述了特征点的位置、方向等信息,最终形成一个大小不超过512 字节的特征模板。指纹的比对就是在特征模板的基础上,构建两个点形成的杆对集,而杆对所包含的杆长度、端点方向与杆的夹角等信息已经是相对量,与位置无关。理想状况下,同一枚指纹,采集的两幅图像能找到的杆对的每一个量(长度、夹角)在数学上是完全相等的。以此为基本数学模型,构建整个比对算法。

4 结语

本文的基于ARM的光学指纹识别系统的设计方案,经过实物测试, 模块录入用户指纹图像时间为500 ~ 800 ms,拒真率小于等于1%,平均4.2 ms 即可比对一枚指纹,支持1∶1 指纹验证和1∶N 指纹搜索。在硬件设计中引出了通信端子,系统支持3.3V TTL 串口通信,可以通过串口对模块进行用户注册、删除特定用户、删除所有用户、复位模块、获取用户总数、获取用户权限、1∶1 比对、1∶N 比对、设置串口波特率、读取图像并提取特征值、获取图像等30 个常规或扩展功能命令,能满足大多数的指纹应用场合,可以很好地运用于嵌入式领域,从而证实了本方案的可行性。

转载于:https://www.cnblogs.com/smart123/p/6209707.html

一种光学指纹识别系统的设计方案相关推荐

  1. 指纹传感器的测试软件,【Arduino】168种传感器系列实验(149)-AS608光学指纹识别模块-Arduino中文社区 - Powered by Discuz!...

    [mw_shl_code=arduino,true]/* [Arduino]168种传感器模块系列实验(资料+代码+图形+仿真) 实验一百五十:AS608光学指纹识别模块+0.91寸OLED液晶屏显示 ...

  2. 毕业设计 单片机指纹识别系统 - 嵌入式

    文章目录 1 简介 2 指纹识别简介 3 指纹识别传感器原理 3.1 光学指纹传感器原理 3.2 半导体指纹传感器 3.3 电容式指纹识别传感器 4 系统设计 4.1 指纹识别核心技术流程 4.2 硬 ...

  3. 毕业设计 嵌入式 指纹识别系统实现

    文章目录 1 简介 2 指纹识别简介 3 指纹识别传感器原理 3.1 光学指纹传感器原理 3.2 半导体指纹传感器 3.3 电容式指纹识别传感器 4 系统设计 4.1 指纹识别核心技术流程 4.2 硬 ...

  4. 物联网毕业设计 单片机指纹识别系统实现

    文章目录 1 简介 2 指纹识别简介 3 指纹识别传感器原理 3.1 光学指纹传感器原理 3.2 半导体指纹传感器 3.3 电容式指纹识别传感器 4 系统设计 4.1 指纹识别核心技术流程 4.2 硬 ...

  5. 【雕爷学编程】Arduino动手做(141)---AS608光学指纹识别模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  6. python实现指纹识别毕业论文_指纹识别系统大学本科毕业论文

    I 指纹识别系统 摘要 指纹的唯一性和不变性决定了它在身份认证中的重要地位. 它是模式识 别领域中使用最早,也是应用最广的生物鉴定技术.随着低价位指纹采集仪 的出现和高可靠性算法的实现, 自动指纹识别 ...

  7. python实现指纹识别毕业论文_(完整版)指纹识别系统本科毕业论文

    指纹识别系统 摘要 指纹的唯一性和不变性决定了它在身份认证中的重要地位.它是模式 识别领域中使用最早,也是应用最广的生物鉴定技术.随着低价位指纹采 集仪的出现和高可靠性算法的实现,自动指纹识别技术越来 ...

  8. AS608光学指纹识别模块 智能锁/考勤门禁开发/指纹采集模块

    一.注册指纹 /*[Arduino]168种传感器模块系列实验(资料+代码+图形+仿真)实验一百五十:AS608光学指纹识别模块 智能锁/考勤门禁开发/指纹采集模块实验之二:输入序号,注册指纹示例安装 ...

  9. arm linux 指纹识别,基于ARM—Linux指纹识别系统的设计.pdf

    基于ARM-Linux指纹识别系统的设计.pdf 第 20卷 第 l5期 电子设计工程 2012年 8月 Vo1.20 No.15 ElectronicDesienEn~inee Aug.2012 基 ...

最新文章

  1. MySQL之安装美团点评的SQLAdvisor
  2. python可视化文本分析(2)—snownlp jieba分析QQ群成员发言情况
  3. java开发人员_每个Java开发人员都应该阅读的10本书
  4. GlassFish 3.1.2充满了MOXy(EclipseLink JAXB)
  5. kotlin 查找id_Kotlin程序查找Square区域
  6. webpack自动化构建脚本指令npm run dev/build
  7. 天上地下,马斯克和贝佐斯终有一战?
  8. 【Objecitve C代码】让对象沿着某条路径移动的动画效果
  9. CFS三层靶机搭建及其内网渗透
  10. java get与post区别_POST和GET区别
  11. 智慧物流园区供应链管理系统解决方案:数智化供应链赋能物流运输行业供应链新模式
  12. ARM 体系架构及其工作原理
  13. 2019就业率最高专业TOP20出炉,哪些专业最好找工作?
  14. MIMO Radar
  15. SaaS模式、技术与案例详解——第17章 案例详解
  16. 当前位置 计算机英语,计算机常用英语词汇,计算机常用英语词汇
  17. 【数字图像处理】图像滤波C语言实现(中值,均值,高斯)
  18. vue生命周期中的modle→view过程
  19. 如何使用爬虫采集搜狐汽车新车资讯
  20. 百度网盘,实现免费不限速,10M/S?都是假的

热门文章

  1. python中如何编写代码输入多个数据并把它们放在一个列表中去_编写高质量Python代码的59个有效方法,你用过几个...
  2. 字节跳动会在游戏领域打败腾讯吗?
  3. S2SH+ExtJS4+Oracle9i开发电子商业汇票系统教程
  4. 水果FL Studio20.8中文完整版电音编曲中文切换更新教程
  5. Deepin安装RabbitMq
  6. 计算机软件应用工程师实习报告及周记范文30篇
  7. 解析物流行业分账规则
  8. 苹果手机悬浮窗怎么打开_怎么通过悬浮窗录音?再也不用担心文本被遮挡
  9. php实现app消息推送
  10. 公务员碑文辞职书走红,以教堂碑文为铭改变生活