嵌入式Linux编程入门与开发实例-第14章.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式Linux编程入门与开发实例-第14章.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux编程入门与开发实例-第14章.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第1414章章 ARM Linux ARM Linux 指纹门禁系统指纹门禁系统 指指纹纹识识别别技技术术是是一一种种重重要要的的生生物物身身份份识识别别技技术术,也也是是目目前前生生物物识识别别技技术术发发展展的的最最为为成成熟熟的的一一个个分分支支,它它已已经经成成为为生生物物特特征征识识别别技技术术的的主主流流。早早期期的的指指纹纹识识别别系系统统需需要要在在计计算算机机上上处处理理,使使得得其其便便携携性性受受到到了了限限制制。随随着着嵌嵌入入式式技技术术的的不不断断发发展展与与更更新新,以以及及ARM等等嵌嵌入入式式处处理理器器性性能能的的不不断断升升级级,使使基基于于嵌嵌入式的指
2、纹识别获得实用。入式的指纹识别获得实用。第第1414章章 ARM Linux ARM Linux 指纹门禁系统指纹门禁系统 自动指纹识别系统概述自动指纹识别系统概述 14.1指纹识别原指纹识别原 14.2系统硬件结构介绍系统硬件结构介绍 14.3 指纹采集芯片指纹采集芯片fps200fps20014.4第第1414章章 ARM Linux ARM Linux 指纹门禁系统指纹门禁系统 LinuxLinux操作系统移植操作系统移植 14.5系统软件设计系统软件设计 14.614.1 14.1 自动指纹识别系统概述自动指纹识别系统概述 指指纹纹识识别别技技术术是是通通过过计计算算机机实实现现的的身
3、身份份识识别别手手段段,也也是是当当今今应应用用最最为为广广泛泛的的生生物物特特征征识识别别技技术术之之一一。个个人人身身份份的的确确认认和和权权限限的的认认定定是是生生活活中中的的一一个个非非常常重重要要的的环环节节,尤尤其其是是随随着着网网络络化化时时代代的的来来临临,人人们们对对于于安安全全性性的的要要求求越越来来越越高高。但但是是,越越来来越越繁繁琐琐的的密密码码设设置置也也成成为为了了摆摆在在人人们们面面前前的的一一大大心心病病,开开机机密密码码、邮邮箱箱密密码码、银银行行密密码码、论论坛坛登登陆陆密密码码,密密码码管管理理对对于于高高安安全全性性的的商商务务生生活活而而言言显显得得
4、尤尤为为重重要要。为为了了实实现现较较高高的的安安全全性性,使使用用复复杂杂和和更更不不方方便便的的密密码码是是目目前前流流行行的的选选择择,而而如如果果对对身身边边不不同同的的设设备备使使用用一一个个相相同同的的密密码码,那那么么在在得得到到了了方方便便性性的的同同时时也也增增加加了了安安全全性性的的隐隐患患。但但是是如如果果设设置置成成不不同同的的密密码码,又又很很容容易易记记混混。此此时时,指指纹纹识识别别技技术术提提供供了了一一种种新新的的思思路路,这这种种既既方方便便又又安安全全的的技技术术很很快快成成为为了了很很多多学学者者研研究究的的新新方方向向,带来了巨大的市场前景,并将对国际
5、、国内安防产业产生新的影响带来了巨大的市场前景,并将对国际、国内安防产业产生新的影响。指纹识别的应用领域非常广阔,包括以下几个方面:(1)指纹支付:通过把指纹与银行卡绑定的方式,用指纹轻轻一点来完成消费支付。这种新型应用在美国已经出现至少2年以上。国内2006年上海某公司也已经涉足指纹支付市场。(2)汽车指纹防盗:通过指纹控制车门开关,或者控制引擎点火是指纹技术在汽车防盗方面的典型应用。国内个别厂商已经推出指纹防盗产品。(3)指纹UKEY:指纹UKEY是网上银行业务用于进行身份验证的终端,它比目前的帐号密码验证以及普通UKEY验证要更为安全些。完全不需要密码或PIN,使得病毒软件无可乘之机,也
6、杜绝了网银帐号盗用的可能。它将大大提升网银业务的诚信度和安全性,为银行真正扩大网上交易量。(4)指纹IC卡:目前的IC大多是不记名的IC,记名也都是用密码。随着IC在人们生活中的使用频度增加,IC卡中的信息甚至代表着特殊的权力和金钱。通过在IC卡中存入持卡人的指纹信息,可以大大提高IC卡的安全性。图图14-1 典型的指纹识别系统典型的指纹识别系统 14.214.2指纹识别原理1、预处理、预处理2、指纹特征、指纹特征3、指纹提取方法、指纹提取方法4、指纹图像增强方法、指纹图像增强方法5、指纹特征值的提取、指纹特征值的提取6、指纹图像匹配、指纹图像匹配7、指纹识别系统的性能参数、指纹识别系统的性能
7、参数 1.预处理 预处理在整个自动指纹识别系统的过程中是很关键的第一步,是正确地进行特征提取、匹配等操作的基础。在指纹图像采集过程中,由于表面皮肤特性、采集条件以及成像传感器特征差异等各种原因的影响,采集的指纹图像是一幅含多种不同程度噪声干扰的灰度图像,指纹脊线可能被断开、桥接或模糊等,这种噪化的指纹脊线结构严重地影响着指纹识别系统的性能。预处理的目的就是利用信号处理技术去除图像中的各种噪声干扰,把它变成一幅清晰的指纹图像,恢复指纹的脊线结构,以便可靠提取正确的指纹特征。因此,预处理性能的好坏直接影响着指纹识别的效果。指纹预处理的一般过程:首先提取出指纹的方向图,然后基于此方向图,做了灰度图像
8、的滤波,从而使二值化、细化。2.指纹特征 指纹特征通常可通过指纹的两类特征进行验证:总体特征和局部特征。在考虑局部特征的情况下,只要比对13个特征点重合,就可以确认是同一个指纹。总体特征:指那些用人眼就可观察到的特征,包括基本纹路图案、模式区、核心点、三角点、式样线和纹数等。基本纹路图案有环形、弓形、螺旋形。如图14-2所示。局部特征:即指纹上节点的特征,这些具有某些特征的节点成为特征点,即指纹纹路上的终结点、分叉点和转折点。指纹特征点可以用以下4种特征来描述:位置:特征点的位置通过坐标来描述,可以是绝对的,也可以是相对于三角点的。方向:指该特征点所在的局部脊线的方向。分类:特征点有终结点、分
9、叉点、孤立点、分歧点、环点、短纹等。脊线:特征点对应的脊线用在该脊线上的采样点表示。图14-2 指纹的特征图3.指纹提取方法 常用的指纹取像方法有以下几种:光学设备取像,晶体传感器取像,超声波设备取像。其中超声波扫描被认为是指纹取像技术中非常好的一类。表14-1 三种指纹提取技术的比较技术种类体积耐用性成像质量成本功耗光学全反射技术大非常耐用干手指较好低较多晶体传感技术小容易损坏干手指好较低较少超声波扫描技术中一般非常好高较多4.指纹图像增强方法 细节特征提取算法的性能严重依赖于输入指纹图像的质量。然而指纹源图像同真实指纹由于图像的变形而会导致不同,其中许多畸变、变形是由指纹图像获取时产生的。
10、如:不一致的接触。不均匀的接触。不可再现的接触。采集设备本身的噪声干扰。这些因素将导致待分析的指纹图像产生一定数量的可疑特征点以及大量真实特征点被忽略并引入大量的错误信息。为了确保细节特征算法的性能,需要进行指纹图像增强。一般来说,图像的增强采用平滑、滤波、二值化、细化等数字图像处理方法来进行。实际实现时,指纹图像增强一般采用以下几个环节:规格化,方向图估计,频率图估计,生成模板、滤波。一幅指纹图像经过规格化后,才能将该图的均值和方差控制在给定范围,以便后续处理。对指纹图像规格化目的是将该灰度图的方差降低。5.指纹特征值的提取 特征提取是指纹识别系统的关键部分之一,因此特征提取的好坏直接影响到
11、以后的指纹匹配的结果。如果输入图像的质量很好,很容易确定其结构,此时的特征提取只是从细化后的单象素的纹线提取细节点的简单过程。但实际上,由于受很多因素的影响,输入指纹图像并不具备很好的脊线结构,指纹线也不是单个象素的。这使得特征提取的准确性受到影响。在进行特征提取的过程中一般要进行细节点处理。用来匹配指纹图像的点称为细节点,在指纹图像拓扑中,他们是脊终点和分叉点。单独点包括中心点和三角点。三角点和中心点之间的距离以及脊线的数目一般认为不会随图像变换、旋转、放大和缩小而改变。因此,往往利用这一特性来减少匹配时数据库的搜索空间。6.指纹图像匹配 指纹图像匹配就是对两个输入指纹的特征集合(模板)判断
12、是否属于同一指纹。指纹对比有两种方式:(1)一对一指纹验证:根据用户ID从指纹库中检索出要对比的指纹,在与新扫描得到的指纹进行对比;(2)一对多指纹验证:新扫描得到的指纹和指纹库中的指纹逐一进行对比。7.指纹识别系统的性能参数l FAR(False Accept Rate):认假率,两个不同指纹被系统判断为同一指纹的概率,也就是系统不安全的概率。通常为0.1%0.001%。l FRR(False Reject Rate):拒真率,同一指纹两次采样被系统判断为不同手指的概率,即可以通过验证的人被拒绝的概率。l FER(False To Enroll):错误登记率,手指指纹太差,不能登记的概率。l
13、 Verification Time(1:1):验证时间,比较判断两枚指纹是否相同的时间。l Identify Speed(1:N):识别速度,对一枚指纹在指纹数据库中查找与之相应的指纹所需的时间,质问查找速度,这与指纹数量、指纹数据库大小有关。l Template Size:特征值长度,提取指纹特征值的字节数。14.314.3系统硬件结构介绍图图14-3 指纹识别系统硬件结构图指纹识别系统硬件结构图14.414.4指纹采集芯片fps200 指指纹纹图图像像的的采采集集是是自自动动指指纹纹识识别别系系统统(AFIS)的的重重要要组组成成部部分分。早早期期的的指指纹纹采采集集都都是是通通过过油油
14、墨墨按按压压在在纸纸上上产产生生的的,如如NIST4、NIST9、NIST14等等这这些些标标准准指指纹纹数数据据库库就就属属于于这这一一类类。那那时时候候AFIS系系统统的的应应用用范范围围也也比比较较窄窄,主主要要用用于于大大规规模模指指纹纹数数据据库库的的管管理理和和检检索索,属属于于离离线线处处理理类类型型。20世世纪纪80年年代代,随随着着光光学学技技术术和和计计算算机机技技术术的的发发展展,开开始始出出现现了了光光学学的的指指纹纹采采集集仪仪;20世世纪纪90年年代代中中期期,随随着着半半导导体体技技术术的的进进步步,开开始始陆陆续续出出现现CMOS指指纹纹传传感感器器、热热敏敏传
15、传感感器器、超超声声波波传传感感器器等等新新型型传传感感器器。与光学传感器相比,它们具有体积小、价格低的优点。与光学传感器相比,它们具有体积小、价格低的优点。fps200芯片是Veridicom公司生产的第三代半导体触摸式指纹传感器。fps200指纹传感器采用CMOS技术,由256300个电容传感阵列组成,其传感区域为1.28cm1.50cm,分辨率高达500 dpi(每英寸点),工作电压范围为3.35 V,提供与8位微处理器相连的接口,传感器内部有8位高速A/D转换器,可直接输出8位灰度图像,并具有两组采样保持电路。fps200基于电容充放电原理,传感阵列的每一点是一个金属电极,相当于电容器
16、的一个极,与传感区接触的手指充当电容器的另一个极,而两者之间的传感面形成电容两极之间的介电层,由于指纹的脊和谷导致了传感阵列各电容值的不同,传感器将电容值数字化之后输出。fps200的结构框图如图14-4所示。图14-4 fps 200内部结构框图主要特征和优点如下:(1)fps200的表面采用Veridicom公司专利技术而制成,坚固耐用,可防止各种物质对芯片的划伤、腐蚀、磨损等,能承受超过8KV的静电放电(ESD),可应用在各种苛刻的环境下。(2)fps200是第一个内置USB口、微处理器单元接口(MCU)、串行外设接口(SPI)三种通信接口的指纹设备,使得fps200能够容易地集成到各种
17、类型的设备中,甚至不需要外部接口设备的支持。(3)fps200芯片的256300传感阵列和全新的超薄封装不但提供了更小的外观尺寸,而且使阵列布局更合理,在减小传感器阵列数目的情况下并不降低图像的尺寸及精度,同时也节约了芯片的成本。(4)fps200的图像搜索功能(ImageSeekTM)通过改变电容阵列的参数值可在1秒种以内扫描多幅指纹图像并自动选择最好的一幅。因此fps200对人类手指的适应面更广,可以获得各种类型手指(过干或过湿)的高质量指纹图像,并能应用在各种气候条件下,甚至在高温或高湿度的环境下。由于成像的质量与稳定性的提高,大大减低了误识率(FAR)和拒识率(FRR)。(5)具有较大
18、的图像数据存储空间;(6)手指自动检测(AFD)功能可以唤醒CPU,节约电能的消耗。(7)宽电压工作,3.3V到5V都可稳定工作。(8)低功耗,在5V工作的情况下耗电小于70mW。14.5 Linux14.5 Linux操作系统移植操作系统移植 Linux操作系统的移植包括BootLoader移植、Linux内核移植、添加必要的驱动程序和挂载文件系统。使某个平台的代码运行在其他平台上的过程叫做移植。Linux操作系统就可以移植,使之运行在ARM、PowerPC、M68k等多种硬件平台上。在Linux系统内核代码中有arch目录,其中包含了不同平台的代码,与体系结构相关的代码都放在arch/和i
19、nclude/asm-/目录中,是Linux支持的体系结构的简称。14.5.1 14.5.1 BootLoaderBootLoader移植移植 BootLoader指指系系统统启启动动后后,在在操操作作系系统统内内核核运运 行行 之之 前前 运运 行行 的的 一一 段段 小小 程程 序序。通通 过过 BootLoader,可可以以初初始始化化硬硬件件设设备备、建建立立内内存存空空间间的的映映射射图图,从从而而将将系系统统的的软软硬硬件件环环境境带带到到一一个个合合适适的的状状态态,以以便便为为最最终终调调用用操操作作系系统统内内核核准准备好正确的环境。备好正确的环境。1 首先建立交叉编译环境:
20、(l)在宿主机上安装标准Linux操作系统。(2)宿主机上安装交叉编译器。S3C2410开发板提供的光盘上附有交叉编译器工具ARM-Linux-gcc-2.95.3(源码为cross-2.95.3.tar.bzZ)。先以root用户的身份登陆到linux下。进入/usr/local目录,创建名为arm的目录:cd/usr/local Mkdir arm2 将光盘提供的cross-2.95.3.tar.bzZ解压到/usr/local/目录。然后修改PATH变量,把arm-Linux工具链目录加入到环境变量PATH中:修改/etc/profile文件,添加 pathmunge/usr/local
21、/arm/2.95.3/bin即可。#Path manipulationIfid-u=0;thenPathmunge /sbinPathmunge/usr/sbinPathjmunge/usr/local/sbinPathmunge/usr/local/arm/2.95.3/binfi3 vivi要用到kernel的一些头文件,所以需要kemel的源代码,要把Linux的kernel准备好。将vivi和kernel都解到相应目录下,然后需修改/viv/Makefile里的一些变量设置:(1)Linux_INCLUDE_DIR=kernel/include/(2)(2)CROSS_COMPILE
22、=/usr/local/arm/2.95.3/bin/arm-Linux-4 进入/vivi目录执行 make distclean。进入/vivi目录里,输入“make menuconfig”,开始选择配置。保存配置后再输入“make”正式开始编译。在/vivi里面生成“vivi”,这就是后面要烧写到Flash中的bootloader。14.5.2 14.5.2 Linux内核移植到S3C2410 Linux内核主要由进程调度、内存管理、虚拟文件系统、网络接口、进程间通信等5个子系统组成。Linux内核移植需要设置环境变量,并修改以下方面:1、根目录 2、arch目录 3、config.in
23、4、arch/arm/boot 5、arch/arm/def-configs目录 6、arch/arm/kernel目录1 根目录修改根目录下的Makeflle文件,打开最上层目录下的Makefile文件,这个文件中需要修改的内容包括以下两个方面。指定目标平台:移植前 ARCH:=$(shell uname-m|sed-e s/i.86/.)移植后ARCH:=arm指定交叉编译器:移植前CROSS_COMPILE=移植后CROSS_COMPILE=arm-Linux-2 arch目录arch目录存放着和体系结构相关部分的内核代码。arch/arm中需要修改makefile文件,添加下面内容。移
24、植后:ifeq($(CONFIG_ARCH_S3C2410),y)TEXTADDR=0 xC0008000MACHINE=s3c2410EndifTEXTADDR决定内核起始运行地址,即image.ram应下载的位置。3 config.inconfig.in是配置文件,运行“make menuconfig”命令时出现的菜单就是config配置的。在config文件中加入相关信息。添加 CONFIG_ARCH_S3C2410子选项。移植后:if$CONFIG_ARCH_S3C2410=y;thenCommentS3C2410 ImplementationDep_boolSMDK(MERI TEC
25、H BOARD)CONFIG S3C2410 SMDK$CONFIG_S3C2410_S3C2410其他选项:If$CONFIG_FOOTBRIDE_HOST=y-o$CONFIG_ARCH_SHARK=y-o$CONFIG_ARCH_CLPS7500=y-o.$CONFIG_ARCH_S3C2410=y-o$CONFIG_ARCH_SA1100=y;then Define_bool CONFIG_ISA yElseDefine_bool CONFIG_ISA n4 arch/arm/boot编译出来的内核存放在这个目录中。Makefile移植后:ifeq($(CONFIG_ARCH_S3C2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 编程 入门 开发 实例 14
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内