目前,基于FPGA的自动指纹识别系统主要有纯硬件方式实现和在以Nios II为CPU的软核中实现[2-4]两种方式。以纯硬件方式实现虽然速度较快,但由于指纹处理算法比较复杂,实现困难,同时算法精度差,设计周期长;而以下载到FPGA的软核Nios II为控制模块,具有灵活的设计方式,并具备软硬件在系统可编程的功能,较大程度上提高了系统速度,但是该方案中软硬件处理交替进行,涉及到软硬件之间频繁的指纹数据传输,限制了系统的速度,同时增加了系统的复杂度。
本文提出了一种基于SoPC的新型结构的自动指纹识别设计方案。具有以下特点:
(1)根据对指纹识别算法的分析和优化,在软、硬件结合的基础上将软件设计和硬件设计分开,把指纹识别系统中耗时较大的图像预处理部分用硬件来实现,而耗时较少的特征提取、匹配和操作控制等部分则在NiosⅡ软核中实现。从而使得系统结构明晰,处理性能得到提升。
(2)用一块SRAM作指纹处理中间数据的缓存。指纹图像前期处理以硬件实现,中间数据缓存于SRAM中;指纹图像后期处理软件从SRAM中将所有数据读入NiosⅡ的数据存储器。这样的存储设计使得软件处理和硬件处理之间不涉及大量的数据流传输,使软硬件数据接口简单,数据流的控制更加简单易行,同时避免了频繁的软硬件数据传输带来的时间消耗。
(3)在软硬件处理结合的基础上使指纹处理时间大大降低,1.5 s内可以完成一幅指纹图像的预处理,3 s内可以完成一幅指纹图像的比对。
1 设计思路
1.1 指纹系统结构
在的计算机应用中,包括许多非常机密的文件保护,大都使用"用户ID+密码"的方法来进行用户的身份认证和访问控制。但是,如果一旦密码忘记,或被别人窃取,计算机系统以及文件的安全问题就受到了威胁。
从整个指纹处理系统的角度来考虑,根据各算法处理特性仔细地划分系统子模块。通过对指纹处理算法的分析发现,指纹的预处理部分使用到多次数据循环运算,运算量较大而且单一,使用硬件实现明显降低时间消耗,所以选择对指纹的预处理部分实行整体硬件化;对于指纹匹配部分,运算量相对较少但算法复杂多样,使用软件算法相对比较简单而且可以达到很高的精度,所以使用Nios II软件算法来实现。选择预处理部分整体硬件化,匹配部分整体软件化的另外一个好处是软硬件处理不需要进行频繁的数据交换传输,节省时间的同时降低了系统的复杂度。[page]
目前,基于FPGA的自动指纹识别系统主要有纯硬件方式实现和在以Nios II为CPU的软核中实现[2-4]两种方式。以纯硬件方式实现虽然速度较快,但由于指纹处理算法比较复杂,实现困难,同时算法精度差,设计周期长;而以下载到FPGA的软核Nios II为控制模块,具有灵活的设计方式,并具备软硬件在系统可编程的功能,较大程度上提高了系统速度,但是该方案中软硬件处理交替进行,涉及到软硬件之间频繁的指纹数据传输,限制了系统的速度,同时增加了系统的复杂度。
本文提出了一种基于SoPC的新型结构的自动指纹识别设计方案。具有以下特点:
(1)根据对指纹识别算法的分析和优化,在软、硬件结合的基础上将软件设计和硬件设计分开,把指纹识别系统中耗时较大的图像预处理部分用硬件来实现,而耗时较少的特征提取、匹配和操作控制等部分则在NiosⅡ软核中实现。从而使得系统结构明晰,处理性能得到提升。
(2)用一块SRAM作指纹处理中间数据的缓存。指纹图像前期处理以硬件实现,中间数据缓存于SRAM中;指纹图像后期处理软件从SRAM中将所有数据读入NiosⅡ的数据存储器。这样的存储设计使得软件处理和硬件处理之间不涉及大量的数据流传输,使软硬件数据接口简单,数据流的控制更加简单易行,同时避免了频繁的软硬件数据传输带来的时间消耗。
(3)在软硬件处理结合的基础上使指纹处理时间大大降低,1.5 s内可以完成一幅指纹图像的预处理,3 s内可以完成一幅指纹图像的比对。
1 设计思路
1.1 指纹系统结构
在的计算机应用中,包括许多非常机密的文件保护,大都使用"用户ID+密码"的方法来进行用户的身份认证和访问控制。但是,如果一旦密码忘记,或被别人窃取,计算机系统以及文件的安全问题就受到了威胁。
从整个指纹处理系统的角度来考虑,根据各算法处理特性仔细地划分系统子模块。通过对指纹处理算法的分析发现,指纹的预处理部分使用到多次数据循环运算,运算量较大而且单一,使用硬件实现明显降低时间消耗,所以选择对指纹的预处理部分实行整体硬件化;对于指纹匹配部分,运算量相对较少但算法复杂多样,使用软件算法相对比较简单而且可以达到很高的精度,所以使用Nios II软件算法来实现。选择预处理部分整体硬件化,匹配部分整体软件化的另外一个好处是软硬件处理不需要进行频繁的数据交换传输,节省时间的同时降低了系统的复杂度。
[page]
目前,基于FPGA的自动指纹识别系统主要有纯硬件方式实现和在以Nios II为CPU的软核中实现[2-4]两种方式。以纯硬件方式实现虽然速度较快,但由于指纹处理算法比较复杂,实现困难,同时算法精度差,设计周期长;而以下载到FPGA的软核Nios II为控制模块,具有灵活的设计方式,并具备软硬件在系统可编程的功能,较大程度上提高了系统速度,但是该方案中软硬件处理交替进行,涉及到软硬件之间频繁的指纹数据传输,限制了系统的速度,同时增加了系统的复杂度。
本文提出了一种基于SoPC的新型结构的自动指纹识别设计方案。具有以下特点:
(1)根据对指纹识别算法的分析和优化,在软、硬件结合的基础上将软件设计和硬件设计分开,把指纹识别系统中耗时较大的图像预处理部分用硬件来实现,而耗时较少的特征提取、匹配和操作控制等部分则在NiosⅡ软核中实现。从而使得系统结构明晰,处理性能得到提升。
(2)用一块SRAM作指纹处理中间数据的缓存。指纹图像前期处理以硬件实现,中间数据缓存于SRAM中;指纹图像后期处理软件从SRAM中将所有数据读入NiosⅡ的数据存储器。这样的存储设计使得软件处理和硬件处理之间不涉及大量的数据流传输,使软硬件数据接口简单,数据流的控制更加简单易行,同时避免了频繁的软硬件数据传输带来的时间消耗。
(3)在软硬件处理结合的基础上使指纹处理时间大大降低,1.5 s内可以完成一幅指纹图像的预处理,3 s内可以完成一幅指纹图像的比对。
1 设计思路
1.1 指纹系统结构
在的计算机应用中,包括许多非常机密的文件保护,大都使用"用户ID+密码"的方法来进行用户的身份认证和访问控制。但是,如果一旦密码忘记,或被别人窃取,计算机系统以及文件的安全问题就受到了威胁。
从整个指纹处理系统的角度来考虑,根据各算法处理特性仔细地划分系统子模块。通过对指纹处理算法的分析发现,指纹的预处理部分使用到多次数据循环运算,运算量较大而且单一,使用硬件实现明显降低时间消耗,所以选择对指纹的预处理部分实行整体硬件化;对于指纹匹配部分,运算量相对较少但算法复杂多样,使用软件算法相对比较简单而且可以达到很高的精度,所以使用Nios II软件算法来实现。选择预处理部分整体硬件化,匹配部分整体软件化的另外一个好处是软硬件处理不需要进行频繁的数据交换传输,节省时间的同时降低了系统的复杂度。
[page]
3 系统实现
3.1 指纹处理VGA显示结果
图2(a)为MBF200采集效果图,图中指纹图像的纹线清晰,与背景区域对比明显。
归一化处理的作用是使图像中的黑白点对比更加明显,同时改变图像灰度的均匀程度。如图2(b)所示为采集后的指纹归一化处理情况,从图中可以看出指纹脊线明显加强。由于背景区域较少,因而跳过了背景分离这一步。
采用基于方向图的增强算法,处理效果如图2(c)所示。从图中可以看出,对指纹图像脊线具有很好的连接效果,能较好地去除指纹图像中的噪声干扰使指纹更清晰、真实。
二值化是在滤波的基础上进行的,包括二值化后的删除和填充算法,处理效果如图2(d)所示。二值化后图像只剩余黑白两色。
细化主要是去除不必要的纹线粗线信息,便于之后提取特征点。细化处理如图2(e)所示,细化后的指纹图像的纹线只剩下一个像素点。细化后去除了伪特征点,明显去除了断点和短线。
3.2 指纹处理性能说明
系统的处理时间消耗分为硬件预处理和软件算法处理两部分。
硬件处理包括指纹采集块、归一化块、背景分离块和增强滤波块四个部分;软件处理包括二值化、细化、特征提取和特征匹配四个部分。系统处理时间消耗如表1所示。
本文根据指纹识别算法的特点设计了一种基于SoPC的新型结构的自动指纹识别系统,通过对指纹识别算法的具体分析和优化,设计了将指纹处理划分为硬件处理和软件处理两大部分的结构,用一块SRAM作指纹处理中间数据的缓存,软件和硬件之间不涉及大的数据流的传输,节约了数据传输时间。这种设计结构降低了系统的复杂度,使得系统结构明晰,处理性能得到提升,便于单独处理模块的优化以及系统的升级。
上一篇:基于PLC的船舶货控系统设计
下一篇:AFDX05在开放式五轴五联动数控系统的应用
推荐阅读最新更新时间:2024-05-02 21:47