CN102592258B - 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 - Google Patents
一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 Download PDFInfo
- Publication number
- CN102592258B CN102592258B CN201210000855.5A CN201210000855A CN102592258B CN 102592258 B CN102592258 B CN 102592258B CN 201210000855 A CN201210000855 A CN 201210000855A CN 102592258 B CN102592258 B CN 102592258B
- Authority
- CN
- China
- Prior art keywords
- buffer
- signal
- address
- fingerprint image
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Collating Specific Patterns (AREA)
- Image Processing (AREA)
- Image Input (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种适用于指纹图像增强的Gabor滤波硬件加速单元。该加速单元由滤波控制器、输入缓存器、输出缓存器和滤波卷积单元组成。加速单元通过总线与中央处理器和存储器连接,通过总线获得的输入包括滤波前的指纹图像、方向信息、频率信息和有效区域掩膜信息。本发明对输入指纹图像中的每个像素点首先检查其掩膜信息,如果不为零,则利用与该像素点对应的方向和频率信息构造出相应的Gabor滤波器,并用该滤波器对此像素做Gabor滤波,得到滤波后的像素值;如果掩膜信息为零,则该像素点不做滤波。本发明的输出为Gabor滤波后的指纹图像。其中输入输出缓存器的引入使带宽得到有效降低,滤波卷积单元采用流水线设计,有效提高了加速单元的吞吐率。
Description
技术领域
本发明属于集成电路设计技术领域,具体涉及一种适用于指纹图像增强的Gabor滤波硬件加速单元电路。
背景技术
指纹识别作为生物识别中最方便、最稳定的方法,被广泛应用在各种安全相关领域。但是如何做到满足实时性需求的同时获得好的识别效果的问题依然没有得到很好的解决,特别是在资源有限的嵌入式场合下,问题尤为突出。当前最主流的指纹识别方法是基于特征点的。在提取特征点之前,为了有效抑制噪声干扰,必须对指纹图像进行增强。但是指纹图像增强过程计算量很大,耗时长,特别是Gabor滤波步骤大约会占到整个增强过程的80%左右的时间。因此为Gabor滤波步骤设计专门的硬件加速单元是在获得好的识别效果的同时仍然满足实时性的关键。而为实现这些目标,在设计中就必须在保证计算精度的同时很好的解决吞吐率跟带宽的问题。
发明内容
本发明的目的是提出一种适用于指纹图像增强的Gabor滤波硬件加速单元电路,以保证计算精度的同时用尽量少的硬件成本同时满足吞吐率与带宽的要求。
本发明提出的适用于指纹图像增强的Gabor滤波硬件加速单元1,通过总线6与中央处理器8和存储器7连接,通过总线6获得的输入包括滤波前的指纹图像、方向信息、频率信息和有效区域掩膜信息。本发明对输入指纹图像中的每个像素点首先检查其掩膜信息,如果不为零,则利用与该像素点对应的方向和频率信息构造出相应的Gabor滤波器,并用该滤波器对此像素做Gabor滤波,得到滤波后的像素值;如果掩膜信息为零,则该像素点不做滤波。本发明的输出为Gabor滤波后的指纹图像。
本发明提出的Gabor滤波硬件加速单元1,由滤波控制器5,输入缓存器2,输出缓存器4,滤波卷积单元3这四个部分组成。下面分别介绍各个部分的实现方式。
输入缓存器2包括输入指纹图像缓存器、方向缓存器、频率缓存器和掩膜缓存器。而输出缓存器4为滤波后输出指纹图像的缓存器。输入缓存器2、输出缓存器4与滤波卷积单元3和滤波控制器5之间的信号连接如图2所示。输入缓存器2的输入信号包括输入指纹图像像素值及其写使能、方向信息及其写使能、频率信息及其写使能、掩膜信息及其写使能,而输入缓存器2的输出信号包括输入指纹图像像素值及其可写信号、方向信息及其可写信号、频率信息及其可写信号、掩膜信息及其可写信号,还有滤波窗口位置索引u和v。输出缓存器4的输入信号包括输出指纹图像像素值、读使能,而输出缓存器4输出信号包括输出指纹图像像素值及其可读信号。
输入指纹图像缓存器、方向缓存器、频率缓存器、掩膜缓存器、输出指纹图像缓存器都由读写控制单元和若干存储单元组成。每个存储单元的字数都等于最大支持的输入图像宽度;而字宽由对应存储数据的精度决定。输入指纹图像缓存器包含的存储单元的数目等于最大支持的滤波窗口的高度加1;而方向缓冲器、频率缓存器、掩膜缓存器和输出指纹图像缓存器所包含的存储单元的数目都等于2。Gabor滤波时,各个缓存器中的存储单元依次循环进入写入与读出状态,在总线与滤波卷积单元之间交换数据。
读写控制单元主要包括可读存储单元计数器、读片选信号生成单元、读地址生成单元、写片选信号生成单元和写地址生成单元。可读存储单元计数器记录的是缓存器当前可读得存储单元的数目,初始值为零,每写满一行其值加1,而每读完一行其值减1。对于方向缓存器、频率缓存器、掩膜缓存器、输入和输出指纹图像缓存器,当该计数器的值小于缓存器中存储单元数目时,相应缓存器可写信号有效,否则无效。对于方向缓存器、频率缓存器、掩膜缓存器和输出指纹图像缓存器,当该计数器的值非零时,相应缓存器读信号有效,否则无效。而对于输入指纹图像缓存器,当该技术器值大于或等于当前滤波窗口高度时,可读信号有效,否则无效。
读片选信号与读地址信号联合索引读地址单元,而写片选信号与写地址信号联合索引写地址单元。
对于方向缓存器、频率缓存器和掩膜缓存器,写地址(或读地址)信号初始值为零,当该地址写完(或该地址对应窗口滤波卷积结束)后,写地址(或读地址)信号加1,直到该信号指向行末时清零,然后再重复前面的操作。写片选(或读片选)信号初始时指向零号存储器,并在写地址(或读地址)信号指向行末时在两个存储单元之间切换。
对于输出指纹图像缓存器,写地址(或读地址)信号初始值为零,当该地址写完(或该地址读完)后,写地址(或读地址)信号加1,直到该信号指向行末时清零,然后再重复前面的操作。写片选(或读片选)信号初始时指向零号存储器,并在写地址(或读地址)信号指向行末时在两个存储单元之间切换。
对于输入指纹图像缓存器,读地址信号由读地址偏移与滤波窗口位置横向索引u之和决定,读片选信号由读片选偏移与滤波窗口位置纵向索引v之和对输入指纹图像缓存器中存储单元数目取模的结果决定。写地址(或读地址偏移)信号初始值为零,当该地址写完(或该地址对应窗口滤波卷积结束)后,写地址(或读地址偏移)信号加1,直到该信号指向行末时清零,然后再重复前面的操作。写片选(或读片选偏移)信号初始时指向零号存储器,并在写地址(或读地址偏移)信号指向行末时在所有存储单元之间顺序循环。若滤波窗口大小为(2×K+1),则滤波窗口位置索引信号u和v的取值范围均为[-K,K]。滤波卷积时,u和v从窗口的左上角走Z字型扫描到右下角,也就是当前被滤波像素点的滤波窗口中的像素的像素值G会按Z字型被依次被读出,进入流水线跟Gabor滤波器做滤波卷积,最终得出滤波后的像素值。
本发明中的Gabor滤波公式可以表示为如下,其中h为Gabor滤波器,G为滤波前的指纹图像,E为最后滤波后的指纹图像。而O和F分别为指纹图像对应的方向图和频率图。i和j分别是指纹图像中的横、纵坐标,u和v分别是滤波窗口中的横纵坐标索引。
上式为根据方向Φ和频率f配置Gabor滤波器h,其中l与r为中间变量。而下式为根据掩膜信息R和Gabor滤波器来指纹图像对指纹图像进行选择性滤波。如上公式的硬件实现结构图如图3所示,即滤波卷积单元3。此单元全部采用流水线设计,其中三角函数采用CORDIC算法实现。而指数函数用查找表实现。各个数据信号通过***寄存器的方式实现数据同步且流水。
滤波控制器5根据功能主要分为三个部分,总线接口、全局控制器和缓存器控制器。总线接口负责总线时序的实现,与具体总线类型相关。全局控制器包括配置信息存储单元和起止控制器,配置信息存储单元负责存储当前指纹图像和滤波器的尺寸,还有总线上存储器中输入和输出指纹图像、方向、频率、掩膜的存储地址。起止控制器负责响应中央处理器发来的Gabor滤波起始型号,并判断和发回Gabor滤波结束信号。缓存器控制器负责响应从输入输出缓存器发来的可读可写信号,并实现输入输出缓存器与总线的数据交换。
附图说明
图1 SoC中的Gabor滤波硬件加速单元,及其组成模块结构图。
图2 输入输出缓存器与滤波卷积单元和滤波控制器之间的数据交换。
图3 滤波卷积单元结构示意图。
图4 输入指纹图像缓存器读写状态示意图。
图中标号:1为Gabor滤波硬件加速单元,2为输入缓存器,3为滤波卷积单元,4为输出缓存器,5为滤波控制器,6为总线,7为存储器,8为中央处理器,9、10、12、15为流水乘法器,11、13为流水CORDIC正弦余弦计算单元,14为累加器。
具体实施方式
本发明中Gabor滤波硬件加速单元在SoC中集成方法如附图1所示,下面结合其他几个附图进一步描述本发明。
首先中央处理器8发出向Gabor滤波硬件加速单元1发出滤波请求,由滤波控制器5响应,并等待中央处理器8发送存储器7中输入和输出指纹图像、方向、频率、掩膜的存储地址信息。收到并存储这些地址信息后,滤波控制器5按照相应地址依次逐行从存储器7中读出输入指纹图像、方向、频率、掩膜信息,并写入相应输入缓存器2,直至相应输入缓存器的可写信号失效。此后滤波控制器5一直检测输入指纹图像缓存器、方向缓存器、频率缓存器、掩膜缓存器的可写信号,如果有效,则滤波控制器5再次从存储器7中读取相应信息填满相应缓冲器。与此同时滤波控制器5还要检测输出指纹图像缓存器的可读信号,如果有效,则滤波控制器5从输出指纹图像缓存器读取输出指纹图像,并写入存储器7,直至可读信号失效。每向存储器7写完一行输出指纹图像,滤波控制器都要进行计数,当最后一行输出指纹图像写到存储器7后,即指纹图像的最后一行完成滤波,滤波控制器向中央处理器8发出滤波结束信号,信号被确认后,Gabor滤波过程结束。
而输入缓存器2一直检测输入指纹图像缓存器、方向缓存器、频率缓存器、掩膜缓存器的可读信号,当这些信号都同时有效时,即可读出这些信息。首先方向、频率和掩膜信息只都读取一个地址的信息,如果如果掩膜信息不为零,则在u和v的索引下,按Z字型读出滤波窗口中输入指纹图像像素值,当u和v扫描到滤波窗口右下角后,表示完成一个点的读取,输入指纹图像缓存器、方向缓存器、频率缓存器、掩膜缓存器再为下一个点的滤波读取数据。如果掩膜信息为零,则直接移到下一个点。
当输入指纹图像缓存器中存储单元的个数为6,且滤波窗口大小为5×5时,输入指纹图像缓存器的读写状态如图4所示。读写状态1,此时第5号存储单元处于写状态,即滤波控制器在往第5号存储单元写数据。而与此同时第0-4号存储单元处于读状态,即在为滤波卷积单元提供指纹像素信息G,此时第2号存储单元保存的行正在被滤波。当第2行滤波结束,且第5行写完,则读写状态进入状态2,读写的意义同状态1。共6种状态依次循环,直至所有行都被滤波。
从输入缓存器2中读出的方向和频率信息与u和v索引一起被滤波卷积单元作为输入来配置Gabor滤波器,并与像素值G做卷积,累加器14受到相应掩膜信息的控制,如果掩膜信息不为零,则累加器先累加,滤波窗口累加结束后,得出结果即为Gabor滤波后的像素值E;如果掩膜信息为零,则不做累加,E为255。E被写入输出缓存器4。
Claims (3)
1.一种适用于指纹图像增强的Gabor滤波硬件加速单元,其特征在于由滤波控制器(5)、输入缓存器(2)、输出缓存器(4)和滤波卷积单元(3)组成;其中:
所述输入缓存器(2)包括输入指纹图像缓存器、方向缓存器、频率缓存器和掩膜缓存器,所述输出缓存器(4)为滤波后输出的指纹图像缓存器;输入缓存器(2)和输出缓存器(4)分别连接于滤波卷积单元(3)和滤波控制器(5)之间;输入缓存器(2)的输入信号包括输入指纹图像像素值及其写使能、方向信息及其写使能、频率信息及其写使能、掩膜信息及其写使能,输入缓存器(2)的输出信号包括输入指纹图像像素值及其可写信号、方向信息及其可写信号、频率信息及其可写信号、掩膜信息及其可写信号,还有滤波窗口位置索引u和v;输出缓存器(4)的输入信号包括输出指纹图像像素值、读使能,输出缓存器(4)输出信号包括输出指纹图像像素值及其可读信号。
2.根据权利要求1所述的适用于指纹图像增强的Gabor滤波硬件加速单元,其特征在于
所述输入指纹图像缓存器、方向缓存器、频率缓存器、掩膜缓存器、输出指纹图像缓存器都由读写控制单元和若干存储单元组成;每个存储单元的字数都等于最大支持的输入图像宽度;而字宽由对应存储数据的精度决定;输入指纹图像缓存器包含的存储单元的数目等于最大支持的滤波窗口的高度加1;方向缓冲器、频率缓存器、掩膜缓存器和输出指纹图像缓存器所包含的存储单元的数目都等于2;Gabor滤波时,各个缓存器中的存储单元依次循环进入写入与读出状态,在总线与滤波卷积单元之间交换数据。
3.根据权利要求2所述的适用于指纹图像增强的Gabor滤波硬件加速单元,其特征在于
所述读写控制单元主要包括可读存储单元计数器、读片选信号生成单元、读地址生成单元、写片选信号生成单元和写地址生成单元;其中,可读存储单元计数器记录缓存器当前可读得存储单元的数目,初始值为零,每写满一行其值加1,而每读完一行其值减1;对于方向缓存器、频率缓存器、掩膜缓存器、输入和输出指纹图像缓存器,当该计数器的值小于缓存器中存储单元数目时,相应缓存器可写信号有效,否则无效;对于方向缓存器、频率缓存器、掩膜缓存器和输出指纹图像缓存器,当该计数器的值非零时,相应缓存器读信号有效,否则无效;对于输入指纹图像缓存器,当该计数器值大于或等于当前滤波窗口高度时,可读信号有效,否则无效;
读片选信号生成单元与读地址信号生成单元联合索引读地址单元,写片选信号生成单元与写地址信号生成单元联合索引写地址单元;
对于方向缓存器、频率缓存器和掩膜缓存器,写地址或读地址信号初始值为零,当该地址写完或该地址对应窗口滤波卷积结束后,写地址或读地址信号加1,直到该信号指向行末时清零,然后再重复前面的操作,即再次当该地址写完或该地址对应窗口滤波卷积结束后,写地址或读地址信号加1,直到该信号指向行末时清零;写片选或读片选信号初始时指向零号存储器,并在写地址或读地址信号指向行末时在两个存储单元之间切换;
对于输出指纹图像缓存器,写地址或读地址信号初始值为零,当该地址写完或该地址读完后,写地址或读地址信号加1,直到该信号指向行末时清零,然后再重复前面的操作,即再次当该地址写完或该地址读完后,写地址或读地址信号加1,直到该信号指向行末时清零;写片选或读片选信号初始时指向零号存储器,并在写地址或读地址信号指向行末时在两个存储单元之间切换;
对于输入指纹图像缓存器,读地址信号由读地址偏移与滤波窗口位置横向索引u之和决定,读片选信号由读片选偏移与滤波窗口位置纵向索引v之和对输入指纹图像缓存器中存储单元数目取模的结果决定;写地址或读地址偏移信号初始值为零,当该地址写完或该地址对应窗口滤波卷积结束后,写地址或读地址偏移信号加1,直到该信号指向行末时清零,然后再重复前面的操作,即再次当该地址写完或该地址对应窗口滤波卷积结束后,写地址或读地址偏移信号加1,直到该信号指向行末时清零;写片选或读片选偏移信号初始时指向零号存储器,并在写地址或读地址偏移信号指向行末时在所有存储单元之间顺序循环;若滤波窗口大小为(2×K+1),则滤波窗口位置索引信号u和v的取值范围均为[-K,K];滤波卷积时,u和v从窗口的左上角走Z字型扫描到右下角,也就是当前被滤波像素点的滤波窗口中的像素的像素值G会按Z字型被依次被读出,进入流水线跟Gabor滤波器做滤波卷积,最终得出滤波后的像素值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210000855.5A CN102592258B (zh) | 2012-01-04 | 2012-01-04 | 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210000855.5A CN102592258B (zh) | 2012-01-04 | 2012-01-04 | 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102592258A CN102592258A (zh) | 2012-07-18 |
CN102592258B true CN102592258B (zh) | 2014-07-09 |
Family
ID=46480853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210000855.5A Active CN102592258B (zh) | 2012-01-04 | 2012-01-04 | 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102592258B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714323B (zh) * | 2013-12-25 | 2017-06-16 | 广西科技大学 | 指纹增强方法及指纹识别装置 |
CN104951750A (zh) * | 2015-05-12 | 2015-09-30 | 杭州晟元芯片技术有限公司 | 一种soc中内嵌的图像处理加速方法 |
KR102631381B1 (ko) * | 2016-11-07 | 2024-01-31 | 삼성전자주식회사 | 컨볼루션 신경망 처리 방법 및 장치 |
CN110210610B (zh) | 2018-03-27 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 卷积计算加速器、卷积计算方法及卷积计算设备 |
CN109214281A (zh) * | 2018-07-30 | 2019-01-15 | 苏州神指微电子有限公司 | 一种用于ai芯片人脸识别的cnn硬件加速装置 |
CN109657658A (zh) * | 2019-02-19 | 2019-04-19 | 江苏邦融微电子有限公司 | 一种处理图像的硬件加速***及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329726B (zh) * | 2008-07-30 | 2010-04-14 | 电子科技大学 | 一种基于一维滤波的指纹图像增强方法 |
CN102073982B (zh) * | 2011-01-10 | 2012-07-25 | 西安电子科技大学 | 用gpu实现超大sar图像各向异性扩散滤波加速方法 |
-
2012
- 2012-01-04 CN CN201210000855.5A patent/CN102592258B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102592258A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102592258B (zh) | 一种适用于指纹图像增强的可配置Gabor滤波硬件加速单元 | |
RU2623806C1 (ru) | Способ и устройство обработки стереоизображений | |
CN104881666B (zh) | 一种基于fpga的实时二值图像连通域标记实现方法 | |
CN112541786A (zh) | 一种网点选址方法、装置、电子设备和存储介质 | |
CN100576881C (zh) | 一种基于多相滤波技术的自适应视频图像缩放引擎 | |
CN208766715U (zh) | 3*3卷积算法的加速电路 | |
CN111428607A (zh) | 一种追踪方法、装置及计算机设备 | |
CN102509071B (zh) | 光流计算***和方法 | |
CN109214281A (zh) | 一种用于ai芯片人脸识别的cnn硬件加速装置 | |
CN108537729B (zh) | 图像无级缩放方法、计算机装置及计算机可读存储介质 | |
CN111861883A (zh) | 基于同步积分surf算法的多路视频拼接方法 | |
CN104202513A (zh) | 一种基于fpga的星敏感器多模式图像预处理方法 | |
US9264067B2 (en) | Re-aligning a compressed data array | |
CN109410246A (zh) | 基于相关滤波的视觉跟踪的方法及装置 | |
CN109587500B (zh) | 一种基于fpga的动态可重配置视频缩放器 | |
CN109508782A (zh) | 基于神经网络深度学习的加速电路和方法 | |
CN203617974U (zh) | 一种基于fpga的可配置系数的滤波器及电子设备 | |
US10657620B2 (en) | Pooling method, device, and system, computer-readable storage medium | |
CN109074334A (zh) | 数据处理方法、设备、dma控制器及计算机可读存储介质 | |
CN107241608A (zh) | 一种用于帧缓存解压的硬件容错方法和装置 | |
JP6427650B1 (ja) | 追跡装置及び追跡プログラム | |
RU168781U1 (ru) | Устройство обработки стереоизображений | |
CN114612513A (zh) | 一种基于fpga的图像金字塔光流值计算方法及*** | |
CN114495132A (zh) | 文字识别方法、装置、设备及存储介质 | |
CN112837256B (zh) | 一种用于Harris角点检测的电路***及检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |