CN111914787B - 一种用于指静脉识别soc系统的寄存器配置方法 - Google Patents
一种用于指静脉识别soc系统的寄存器配置方法 Download PDFInfo
- Publication number
- CN111914787B CN111914787B CN202010802201.9A CN202010802201A CN111914787B CN 111914787 B CN111914787 B CN 111914787B CN 202010802201 A CN202010802201 A CN 202010802201A CN 111914787 B CN111914787 B CN 111914787B
- Authority
- CN
- China
- Prior art keywords
- register
- bit
- flash
- region
- interest
- 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
- 210000003462 vein Anatomy 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000000605 extraction Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 9
- 238000009825 accumulation Methods 0.000 claims description 65
- 238000001914 filtration Methods 0.000 claims description 12
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 12
- 238000012827 research and development Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/14—Vascular patterns
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明公开一种用于指静脉识别SOC系统的寄存器配置方法,采用摄像头控制寄存器启动摄像头采集指静脉图像,当摄像头采集指静脉图像完成后,产生图像采集完成标志位以供CPU查询,CPU查询到该标志位为1后才能配置感兴趣区域提取控制寄存器以启动硬件进行感兴趣区域提取,当CPU查询到寄存器的提取完成标志位为1后才能配置读Block RAM寄存器以从FPGA内部的Block RAM中读回感兴趣区域数据以进行后续处理;本方法能完整实现手指静脉识别的功能,识别正确率约95%。采用FPGA对ROI提取模块进行加速,能将总的识别速度提高15%以上。该系统可以作为便携式手指静脉识别系统的方案进行产品研发,也可作为实验教学时的手指静脉识别的过程演示系统,有较高的实用价值。
Description
技术领域
本发明涉及手指静脉识别技术领域,特别涉及一种用于指静脉图像识别SOC系统的寄存器配置方法。
背景技术
随着信息技术的发展,生物识别技术成为了互联网人工智能时代的一个关键技术。现今,对生物识别技术的研究越来越多,应用也越来越广泛。常见的生物识别技术有:指纹、人脸、虹膜、手指静脉等。虽然近十年对指静脉识别算法有较多的研究成果,但是目前市场上的指静脉识别产品并不多见。主要原因是指静脉识别算法较为复杂,导致硬件实现困难、识别时间长。
目前市场上的实现方案有三种:将整个识别算法在本地硬件上实现、将原始图像数据传到PC上实现、将原始图像数据发送到云服务器上进行实现。对于便携式手指静脉识别系统,采用PC和云服务器的方案不太方便。本地硬件实现的方案有微处理器(如ARM)和FPGA。嵌入式微处理器具有成本低、功耗小、开发简单等特点,但是由于其工作时是CPU一条条执行指令,对于具有许多乘法运算的图像处理算法,在运行时间上不具有优势。对于复杂算法,FPGA从实现难度和功耗上都不具有优势。
发明内容
有鉴于此,本发明的目的在于提供一种用于指静脉图像识别SOC系统的寄存器配置方法,该方法通过在硬件寄存器中配置处理指令直接对指静脉识别过程进行控制,并通过FPGA对ROI提取模块进行加速,提高了识别速度。
为达到上述目的,本发明提供如下技术方案:
本发明提供的用于指静脉识别SOC系统的寄存器配置方法,所述指静脉图像识别SOC系统的寄存器包括摄像头控制寄存器、像素累加和下限阈值寄存器、像素累加和上限阈值寄存器、感兴趣区域提取控制寄存器、读Block RAM寄存器;
所述摄像头控制寄存器配置有图像像素累加和位、图像采集完成标志位、摄像头控制位;
所述摄像头控制寄存器按照摄像头控制位的状态来启动摄像头采集指静脉图像,当摄像头采集指静脉图像完成后,改变摄像头控制寄存器中的图像采集完成标志位的状态,
当CPU查询到图像采集完成标志位为预设状态时,则通过感兴趣区域提取控制寄存器来启动FPGA硬件提取指静脉图像的感兴趣区域,将摄像头采集到的每帧图像的像素累加和存储于摄像头控制寄存器设置的图像像素累加和位中,当所述FPGA硬件提取完成指静脉图像的感兴趣区域后,将感兴趣区域的数据存储在FPGA内部的Block RAM中,并改变感兴趣区域提取控制寄存器中的感兴趣区域提取完成标志位的状态,
当CPU查询到感兴趣区域提取完成标志位为预设状态时,CPU从读Block RAM寄存器中的Block RAM地址位获取指静脉图像感兴趣区域数据。
进一步,所述寄存器还包括写FLASH寄存器、读FLASH寄存器和FLASH擦除寄存器;
所述写FLASH寄存器用于将指静脉图像中的静脉纹路特征数据写入FLASH对应地址中,当CPU进行静脉纹路特征提取并完成连通域去噪和中值滤波后,如果当前为注册模式,需要将静脉纹路特征数据存储进入FLASH中,通过配置该寄存器以将静脉纹路特征数据存储进入FLASH的对应地址中;
所述读FLASH寄存器用于从FLASH对应地址中读回已经存储的静脉纹路特征数据,当CPU进行静脉纹路特征数据提取并完成连通域去噪和中值滤波后,如果当前为识别模式,将存储在FLASH中的静脉纹路特征数据读出与当前的特征进行匹配,配置该寄存器以将FLASH对应地址的静脉纹路特征数据读出。
所述FLASH擦除寄存器用于擦除存储在FLASH中的静脉特征数据,配置擦除存储在FLASH中的所有特征数据或单个特征数据。
进一步,所述寄存器还包括像素累加和下限阈值寄存器、像素累加和上限阈值寄存器;
所述像素累加和下限阈值寄存器配置有图像像素累加和下限阈值位,用于设置判断手指是否伸进卡槽的下限阈值;
所述像素累加和上限阈值寄存器配置有图像像素累加和上限阈值位,用于设置判断手指是否伸进卡槽的上限阈值。
进一步,所述感兴趣区域提取控制寄存器配置有感兴趣区域宽度位、感兴趣区域高度位、感兴趣区域提取完成标志位、感兴趣区域提取控制位;
所述感兴趣区域宽度位;用于存储采集到的感兴趣区域的宽度数据;
所述感兴趣区域高度位;用于存储采集到的感兴趣区域的高度数据;
所述感兴趣区域提取完成标志位;当感兴趣区域提取完成,配置位为“1”;
所述感兴趣区域提取控制位;当配置位为“1”时,启动ROI硬件加速器模块进行感兴趣区域提取,当配置位为“0”时,关闭ROI模块。
进一步,所述寄存器还包括硬件控制LCD显示寄存器,所述硬件控制LCD显示寄存器配置有LCD硬件控制位;用于在FPGA硬件采集指静脉图像和提取指静脉图像的感兴趣区域的过程中,LCD显示器的显示控制由FPGA硬件控制。
进一步,所述硬件控制LCD显示寄存器配置有LCD硬件控制位;所述LCD硬件控制位配置为“1”时,启动硬件逻辑电路控制显示器LCD的信号并驱动LCD显示;所述LCD硬件控制位配置为“0”时,由软件控制LCD显示。
进一步,所述FLASH擦除寄存器配置有擦除选择位、FLASH擦除的起始地址位;所述擦除选择位当配置为“1”时,擦除FLASH中的全部静脉纹路特征,当配置为“0”时,只擦除flash_caddr地址开始的一幅纹路特征图像。
本发明的有益效果在于:
本发明提供的一种用于指静脉图像识别SOC系统的寄存器配置方法,通过对寄存器的配置,实现了对整个指静脉识别流程的控制,并控制LCD实时显示图像处理的结果。本发明通过FPGA设计了ROI硬件提取模块,对ROI提取进行硬件加速,提高手指静脉识别的速度。
本发明的寄存器配置方法已在基于ARM Cortex-M3的SOC系统上实现,采用Xilinx公司的Artix-7系列的XC7A75T FPGA实现硬件逻辑电路。经过大量测试得出,本系统能完整实现手指静脉识别的功能,识别正确率约95%。采用FPGA对ROI提取模块进行加速,能将总的识别速度提高15%以上。
本发明提供的寄存器配置方法不仅适用于基于ARM Cortex-M3的SOC系统,还可推广到ARM Cortex-M4或者ARM Cortex-A等其他微处理器内核的SOC系统。该系统可以作为便携式手指静脉识别系统的方案进行产品研发,也可作为实验教学时的手指静脉识别的过程演示系统,有较高的实用价值。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为指静脉识别实现流程和软硬件划分。
图2为系统软件流程图。
图3为系统框图。
图4为基于Cortex-M3的SOC系统框图。
图5为L1AhbMtx的Master和Slave访问关系。
图6为L2AhbMtx的Master和Slave访问关系。
图7为ROI提取状态转换图。
图8为ROI提取的算法流程。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例1
本实施例提供用于指静脉识别SOC系统的寄存器配置方法,所述指静脉图像识别寄存器包括硬件控制LCD显示寄存器、摄像头控制寄存器、像素累加和下限阈值寄存器、像素累加和上限阈值寄存器、感兴趣区域提取控制寄存器、读Block RAM寄存器、写FLASH寄存器、读FLASH寄存器、FLASH擦除寄存器;
硬件控制LCD显示寄存器配置有LCD硬件控制位;
所述硬件控制LCD显示寄存器的作用为在手指静脉图像采集和感兴趣区域提取过程中,配置该寄存器使LCD的显示由FPGA硬件进行控制,在其他时间由CPU软件控制。
本实施例的LCD硬件控制位配置为“1”时,启动硬件逻辑电路控制显示器LCD的信号并驱动LCD显示;所述LCD硬件控制位配置为“0”时,由软件控制LCD显示。
所述摄像头控制寄存器配置有图像像素累加和位、图像采集完成标志位、摄像头控制位;
所述摄像头控制寄存器的作用为通过配置该寄存器以打开或关闭摄像头,当采集到手指图像后,产生图像采集完成标志位以供CPU查询,CPU查询到该标志位为1后才能配置感兴趣区域提取控制寄存器以启动硬件进行感兴趣区域提取。该寄存器的图像像素累加和位实时记录了摄像头采集到的每帧图像的像素累加和,从而根据此值调整检测手指是否伸进卡槽的像素累加和阈值。
本实施例的图像采集完成标志位,用于当摄像头检测到有手指伸进图像采集装置的卡槽时,摄像头将图像信息存储进入Block RAM,并且将该位置“1”;摄像头控制位的配置位为“1”时,启动摄像头采集图像,当配置位为“0”时,关闭摄像头;
所述像素累加和下限阈值寄存器配置有图像像素累加和下限阈值位;
所述像素累加和下限阈值寄存器的作用为设置判断手指是否伸进卡槽的下限阈值,当每帧图像的像素累加和小于该下限阈值时,说明手指还未伸进卡槽;
所述像素累加和上限阈值寄存器配置有图像像素累加和上限阈值位;
所述像素累加和上限阈值寄存器的作用为设置判断手指是否伸进卡槽的上限阈值,当每帧图像的像素累加和大于该上限阈值时,说明手指还未伸进卡槽;
所述感兴趣区域提取控制寄存器配置有感兴趣区域宽度位、感兴趣区域高度位、感兴趣区域提取完成标志位、感兴趣区域提取控制位;
所述感兴趣区域宽度位;用于存储采集到的感兴趣区域的宽度数据;所述感兴趣区域高度位;用于存储采集到的感兴趣区域的高度数据;所述感兴趣区域提取完成标志位;当感兴趣区域提取完成,配置位为“1”;所述感兴趣区域提取控制位;当配置位为“1”时,启动ROI硬件加速器模块进行感兴趣区域提取,当配置位为“0”时,关闭ROI模块;
所述感兴趣区域提取控制寄存器的作用为启动FPGA硬件实现手指静脉图像的感兴趣区域提取,在提取完成后产生标志位以供CPU查询并记录感兴趣区域的宽度和高度。当采集到手指图像后,CPU才配置该寄存器的控制位为1以启动感兴趣区域提取,当CPU查询到寄存器的提取完成标志位为1后才能配置读Block RAM寄存器以从FPGA内部的Block RAM中读回感兴趣区域数据以进行后续处理;
所述读Block RAM寄存器配置有Block RAM读控制位、Block RAM地址位;
所述读Block RAM寄存器的作用为CPU从Block RAM对应地址中读回手指静脉的感兴趣区域数据,以便CPU进行后续的算法处理。当摄像头采集到手指图像并且启动FPGA硬件进行感兴趣区域提取后,感兴趣区域数据存储在FPGA内部的Block RAM中,然后会产生感兴趣区域已完成的标志位,CPU检测到标志位为1才配置该寄存器读回感兴趣区域的数据。
本实施例的Block RAM读控制位为“1”时,通过软件将Block RAM对应地址中的数据读回,该位配置为“0”时,不读取Block RAM;当Block RAM地址位为1时,将读取该位指定的地址中的数据;
所述写FLASH寄存器配置有FLASH写数据位、FLASH写地址位;所述FLASH写数据位,配置用于写入FLASH数据;所述FLASH写地址位,配置用于写入FLASH的地址;
所述写FLASH寄存器的作用为将静脉纹路特征数据写入FLASH对应地址中。当CPU进行静脉纹路特征提取并完成连通域去噪和中值滤波后,如果当前为注册模式,需要将特征数据存储进入FLASH中,这时软件通过配置该寄存器以将特征数据存储进入FLASH的对应地址中。
所述读FLASH寄存器配置有FLASH读地址位;所述FLASH读地址位,配置用于读取的FLASH的地址址;所述FLASH擦除寄存器配置有擦除选择位、FLASH擦除的起始地址位;所述擦除选择位当配置为“1”时,擦除FLASH中的全部静脉纹路特征,当配置为“0”时,只擦除flash_caddr地址开始的一幅纹路特征图像;
所述读FLASH寄存器的作用为从FLASH对应地址中读回已经存储的特征数据进行匹配。当CPU进行静脉纹路特征提取并完成连通域去噪和中值滤波后,如果当前为识别模式,需要依次将存储在FLASH中的特征数据读出与当前的特征进行匹配,这时软件通过配置该寄存器以将FLASH对应地址的特征数据读出。
所述FLASH擦除寄存器配置有擦除选择位、FLASH擦除的起始地址位;
所述FLASH擦除寄存器的作用为擦除存储在FLASH中的静脉特征数据,可以配置擦除存储在FLASH中的所有特征数据,也可以配置只擦除一幅图像的特征数据。
综上所述,本实施例提供的系统控制模块有9个寄存器,软件可以通过配置这9个寄存器来控制相应硬件的工作。这9个寄存器如表1所示。
表1系统控制模块的寄存器列表
实施例2
本实施例具体详细说明寄存器的配置方法,如下:
所述硬件控制LCD显示寄存器LCD_HW_CTRL_DISP配置的LCD硬件控制位,其详细特征如下所示:
地址为0x5000 0000,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x0000 0000,即默认由软件控制LCD进行显示。
位[31:1]为保留位。
位[0]为LCD硬件控制位,取名lcd_hw_ctrl,该位可读可写,当该位配置为“1”时,由硬件控制LCD显示,该位配置为“0”时,由软件控制LCD显示。
该寄存器的使用场景和配置方法为:当系统开启并处于注册和识别模式时,首先将0x1写入0x5000 0000地址,即将该寄存器的lcd_hw_ctrl位配置为“1”,启动FPGA的硬件逻辑电路控制LCD的LCD_CS、LCD_RS、LCD_WR、LCD_RD等信号并驱动LCD显示,从而将摄像头采集到的图像实时显示到LCD屏上。当软件检测到ROI提取完成后,将0x0写入0x5000 0000地址,即将该寄存器的lcd_hw_ctrl位配置为“0”,这时LCD显示的控制权交给软件,通过软件的方式控制LCD_CS、LCD_RS、LCD_WR、LCD_RD等信号并驱动LCD显示。ROI提取结果以及归一化、特征提取、连通域去噪、中值滤波、特征匹配结果的显示都由软件进行控制。
所述读Block RAM寄存器配置有Block RAM读控制位、Block RAM地址位;
所述Block RAM读控制位为“1”时,通过软件将Block RAM对应地址中的数据读回,该位配置为“0”时,不读取Block RAM;Block RAM地址位存储当前需要读取的Block RAM的地址。
所述读Block RAM寄存器(READ_BRAM),用于从FPGA内部的Block RAM中读取数据,其使用分为读写两个步骤。当写该寄存器时,其详细特征为:
地址为0x5000 0004,软件通过Cortex-M3内核写该地址将访问本寄存器。
复位值为0x0000 0000,即默认不读取FPGA内部的Block RAM。
位[31:21]为保留位。
位[20]为Block RAM读控制位,取名bram_rd,该位只可写。当该位配置为“1”时,软件将Block RAM对应地址中的数据读回,该位配置为“0”时,不读取Block RAM。
位[19:17]为保留位。
位[16:0]为Block RAM地址位,取名bram_addr,该位只可写。当bram_rd位为1时,将读取该位指定的地址中的数据。由于摄像头采集到的图像像素为320*240,所以该位所表示的地址最大值为320*240-1,即0x12BFF。
当读该寄存器时,其详细特征为
地址为0x5000 0004,软件通过Cortex-M3内核读该地址将访问本寄存器。
复位值为0x0000 0000,即默认读回的数据为0。
位[31:8]为保留位。
位[7:0]为读数据位,取名bram_data,该位只可读。读取的Block RAM对应地址的数据将存储在该位中。
该寄存器的使用场景和配置方法为:当FPGA中的ROI提取硬件加速器模块完成ROI数据提取后,ROI数据存储在FPGA中的Block RAM中,软件需要将ROI数据读回进行后续的算法处理,这时就需要通过配置该寄存器读取Block RAM中的数据。例如需要读取地址0x1234中的数据,则首先需要写该寄存器为0x00101234,然后读取该寄存器,其[7:0]位中的数据就是Block RAM地址0x1234的数据。
所述摄像头控制寄存器(CAMERA_CTRL)配置有图像像素累加和位、图像采集完成标志位、摄像头控制位;
所述图像像素累加和位用于计算采集的每帧图像像素累加和,
所述图像采集完成标志位,用于当摄像头检测到有手指伸进图像采集装置的卡槽时,摄像头将图像信息存储进入Block RAM,并且将该位置“1”;
所述摄像头控制位的配置位为“1”时,启动摄像头采集图像,当配置位为“0”时,关闭摄像头;
其详细特征为
地址为0x5000 0008,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x0000 0000,即默认不开启摄像头。
位[31:29]为保留位。
位[28:4]为图像像素累加和位,取名pix_color_sum。摄像头采集图像时,每帧图像后会更新该位的值,用于存储每帧图像的像素累加和。
位[3:2]为保留位。
位[1]为图像采集完成标志位,取名camera_finish_flag,当摄像头检测到有手指伸进图像采集装置的卡槽时,摄像头将图像信息存储进入Block RAM,并且将该位置“1”。
位[0]为摄像头控制位,取名camera_ctrl,当配置该位为“1”时,启动摄像头采集图像,当配置该位为“0”时,关闭摄像头。
该寄存器的使用场景和配置方法为:当开启注册或识别模式时,首先配置该寄存器的camera_ctrl位为“1”,启动摄像头,当读取到该寄存器的camera_finish_flag位为“1”时,说明手指图像已采集到,写该寄存器的camera_ctrl位和camera_finish_flag位为0,以关闭摄像头和清零标志位。可以在摄像头开启时读取该寄存器的pix_color_sum的值,以得出在手指伸进卡槽和未伸进卡槽时图像的像素累加值,从而根据此值调整检测手指是否伸进卡槽的像素累加和阈值。
所述感兴趣区域提取控制寄存器(ROI_CTRL)配置有感兴趣区域宽度位、感兴趣区域高度位、感兴趣区域提取完成标志位、感兴趣区域提取控制位;
所述感兴趣区域宽度位;用于存储采集到的感兴趣区域的宽度数据;
所述感兴趣区域高度位;用于存储采集到的感兴趣区域的高度数据;
所述感兴趣区域提取完成标志位;当感兴趣区域提取完成,配置位为“1”;
所述感兴趣区域提取控制位;当配置位为“1”时,启动ROI硬件加速器模块进行感兴趣区域提取,当配置位为“0”时,关闭ROI模块;
其详细特征为
地址为0x5000 000C,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x0000 0000,即默认不开启ROI提取功能。
位[31:24]为感兴趣区域宽度位,即ROI_width。ROI提取之后,将把得到的感兴趣区域的宽度数据存储进入该位中。
位[23:16]为感兴趣区域高度位,即ROI_height。ROI提取之后,将把得到的感兴趣区域的高度数据存储进入该位中。
位[15:2]为保留位。
位[1]为感兴趣区域提取完成标志位,取名ROI_finish_flag,当FPGA中的ROI硬件加速器模块运行结束,即感兴趣区域提取完成,将该位置“1”。
位[0]为感兴趣区域提取控制位,取名ROI_ctrl,当配置该位为“1”时,启动ROI硬件加速器模块进行感兴趣区域提取,为“0”时,关闭ROI模块。
该寄存器的使用场景和配置方法为:当读取到摄像头控制寄存器(CAMERA_CTRL)的camera_finish_flag位为“1”时,说明手指图像已采集到,这时配置该寄存器的ROI_ctrl位为“1”,启动ROI硬件加速器模块开始进行ROI提取,当读取到该寄存器的ROI_finish_flag位为“1”时,说明感兴趣区域已经提取完成,写该寄存器的ROI_ctrl位和ROI_finish_flag位为0,以关闭ROI模块和清零标志位,这时可以读取该寄存器的ROI_width和ROI_height位得到提取出的感兴趣区域的宽度和高度,以便于后续算法处理时使用。
所述像素累加和下限阈值寄存器(PIX_SUM_MIN)配置有图像像素累加和下限阈值位;
所述图像像素累加和下限阈值位;用于存储采集到的图像的一帧像素累加下限阈值;
其详细特征为
地址为0x5000 0010,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x 0040 0000,即默认为当每帧图像的像素累加和小于0x400000时没有手指伸进图像采集装置的卡槽。
位[31:25]为保留位。
位[24:0]为图像像素累加和下限阈值位,取名pix_sum_min,该位为可读可写。当摄像头捕获的图像的一帧像素累加和小于此阈值时,说明手指没有伸进卡槽,否则如果大于等于此阈值并且小于等于像素累加和上限阈值寄存器中的pix_sum_max位的值,则说明手指伸进了图像采集装置卡槽。
该寄存器的使用场景和配置方法为:如果调试系统时发现手指伸进卡槽的检测不准确,则在开启摄像头时,通过读取摄像头控制寄存器(CAMERA_CTRL)中的pix_color_sum位,得出在近红外LED关闭时手指伸进卡槽和没有伸进卡槽时像素累加和的值,并根据此值配置该寄存器的pix_sum_min位以设置图像像素累加和下限阈值。
所述像素累加和上限阈值寄存器(PIX_SUM_MAX)配置有图像像素累加和上限阈值位;
所述图像像素累加和上限阈值位;用于存储采集到的图像的一帧像素累加上限阈值;
其详细特征为
地址为0x5000 0014,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x 00B0 0000,即默认为当每帧图像的像素累加和大于0xB00000时没有手指伸进图像采集装置的卡槽。
位[31:25]为保留位。
位[24:0]为图像像素累加和上限阈值位,取名pix_sum_max,该位为可读可写。当摄像头捕获的图像的一帧像素累加和大于此阈值时,说明手指没有伸进卡槽,否则如果小于等于此阈值并且大于等于像素累加和下限阈值寄存器中的pix_sum_min位的值,则说明手指伸进了图像采集装置卡槽。
该寄存器的使用场景和配置方法为:如果调试系统时发现手指伸进卡槽的检测不准确,则在开启摄像头时,通过读取摄像头控制寄存器(CAMERA_CTRL)中的pix_color_sum位,得出在近红外LED打开时手指伸进卡槽和没有伸进卡槽时像素累加和的值,并根据此值配置该寄存器的pix_sum_max位以设置图像像素累加和上限阈值。
所述写FLASH寄存器配置有FLASH写数据位、FLASH写地址位;
所述FLASH写数据位,配置用于写入FLASH数据;
所述FLASH写地址位,配置用于写入FLASH的地址;
其详细特征为
地址为0x5000 0018,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x 0080 0000,即默认FLASH存储静脉纹路特征的起始地址为0x00800000。
位[31:24]为FLASH写数据位,取名flash_wdata,即需要写入FLASH的数据。该位为可读可写。
位[23:0]为FLASH写地址位,取名flash_waddr,即需要写入FLASH的地址。该位为可读可写。
该寄存器的使用场景和配置方法为:如果当前为注册模式,在进行静脉纹路的连通域去噪和中值滤波后,需要将特征数据存储进入FLASH中,这时软件通过配置该寄存器以将特征数据存储进入FLASH的对应地址中。例如特征数据的第3个像素值为0xFF,需要存储的地址为0x800003,则配置该寄存器为0xFF80 0003。本实施例中的FLASH选用MT25QL128,存储空间为16M字节,其地址范围为0x000000~0xFFFFFF,则从0x800000开始到最后还有8MB的存储空间,这8MB专门用于存储静脉纹路特征。一个静脉纹路特征为96*64字节,即6144字节。本实施例中每幅静脉纹路特征图像存储的首地址8KB对齐,则一共可以存储1024幅静脉纹路特征图像。第一幅特征存储首地址为0x800000,第二幅特征存储首地址为0x802000,第三幅特征存储首地址为0x804000,依此类推。
所述读FLASH寄存器(FLASH_READ)配置有FLASH读地址位;所述FLASH读地址位,配置用于读取的FLASH的地址;
其详细特征为
地址为0x5000 001C,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x0080 0000,即默认读FLASH的起始地址为0x00800000。
位[31:25]为保留位。
位[23:0]为FLASH读地址位,取名flash_raddr位,即需要读取的FLASH的地址。该位为只写。
当读该寄存器时,其详细特征为
地址为0x5000 001C,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x 0000 0000,即默认读取的FLASH的数据为0x0。
位[31:8]为保留位。
位[7:0]为FLASH读地址位,取名flash_rdata位,即读取的FLASH对应地址的数据。该位为只读。
该寄存器的使用场景和配置方法为:如果当前为识别模式,在进行静脉纹路的连通域去噪和中值滤波后,需要将之前存储进入FLASH中的特征数据读出以进行特征匹配,这时软件通过配置该寄存器以将FLASH对应地址的特征数据读出。例如需要读取FLASH地址0x801234中的数据,则首先需要写该寄存器为0x00801234,然后读取该寄存器,其[7:0]位中的数据就是FLASH地址0x801234中的数据。
所述FLASH擦除寄存器配置有擦除选择位、FLASH擦除的起始地址位;
所述擦除选择位当配置为“1”时,擦除FLASH中的全部静脉纹路特征,当配置为“0”时,只擦除flash_caddr地址开始的一幅纹路特征图像;
其详细特征为
地址为0x5000 0020,软件通过Cortex-M3内核读写该地址将访问本寄存器。
复位值为0x 0080 0000,即默认FLASH的擦除地址为0x 00800000,且只擦除该地址开始的一幅纹路特征图像。
位[31:25]为保留位。
位[24]为擦除选择位,取名CA,当该位配置为“1”时,擦除FLASH中的全部静脉纹路特征,当该位配置为“0”时,只擦除flash_caddr地址开始的一幅纹路特征图像。该位为只写。
位[23:0]为FLASH擦除的起始地址,取名flash_caddr位,即需要擦除的FLASH的首地址。该位为只写。
该寄存器的使用场景和配置方法为:如果当前想删除FLASH中存储的静脉纹路特征,则需要配置该寄存器。如果配置该寄存器的CA位为“1”,则不管flash_caddr位的值为多少,将擦除FLASH中地址0x 00800000之后的所有特征数据。如果只想擦除某幅特征图像,则配置该寄存器的CA位为“0”,并且通过flash_caddr指定擦除的起始地址。将擦除掉以flash_caddr地址开始的8KB数据。此时flash_caddr位的配置需要8KB对齐。
实施例3
本实施例是利用上述配置方法设置的寄存器来构建一种指静脉识别SOC系统及方法,如图1所示,本实施例提供的手指静脉识别方法,本方法是基于ARM Cortex-M3的手指静脉识别SOC方法,包括以下步骤:
采集指静脉图像;
通过ROI硬件提取模块得到指静脉图像的ROI数据;
从ROI硬件提取模块中读取ROI数据并对ROI数据的灰度尺寸进行归一化处理;
提取归一化处理的ROI数据的纹路特征;
对纹路特征进行中值滤波和连通域去噪处理;
判断是否为注册过程,如果是,则将纹路特征数据存储到FLASH中;
如果否,则从FLASH中读出已经存储的纹路特征数据进行特征匹配;
将特征匹配结果通过LCD显示。
本实施例中每个过程的图像处理结果通过LCD进行显示,具体包括将ROI数据的灰度尺寸进行归一化处理、提取归一化处理的ROI数据的纹路特征以及对纹路特征进行中值滤波和连通域去噪处理的结果输入到LCD中进行显示;
所述ROI硬件提取模块采用FPGA对ROI提取模块加速实现对指静脉图像预处理,本实施例中的FPGA采用Xilinx公司的Artix-7系列的XC7A75T,采用CMSDK搭建Cortex-M3的SOC系统,ROI硬件提取模块用于获取指静脉图像的感兴趣区域并保存到FPGA的双端口RAM中;
本实施例提供的FLASH是MT25QL128,FLASH的读写控制模块采用硬件实现更方便,并且更节约时间,因此,FLASH读写控制采用硬件逻辑电路实现。
如图2所示,本实施例中为了直观的显示出指静脉识别过程各个阶段图像处理的结果,LCD需要实时将处理后的图像显示出来,因此在图像采集和ROI提取阶段,LCD显示由硬件进行控制。
本实施例中指静脉图像的采集采用摄像头实时捕捉图像并显示,该摄像头是直接连接到FPGA的IO口上,节约了图像采集时间,摄像头的控制采用硬件实现,当摄像头模块检测到有手指伸入采集装置的卡槽后,则将采集到的图像保存到FPGA的双端口RAM中。
如图3所示,本实施例提供的手指静脉识别系统是基于Xilinx Artix-7的SOC设计,包括外围电路,所述外围电路包括分别与FPGA连接的近红外LED发光电路、电源转换电路、按键电路、LED指示灯电路、蜂鸣器电路。
如图4所示,本实施例中采用DesignStart Eval的Cortex-M3内核进行开发,在ARM公司提供的CMSDK的总线和外设的基础上进行开发,所述总线包括两级AHB总线,即第一级AHB总线和第二级AHB总线。所述第一级AHB总线与内核处理器连接;
图中,I-code表示指令总线,主要用于从存储器中取指令;D-code表示数据总线,主要用于从存储器中取数据;System表示系统总线,主要用于访问系统外设模块;
所述第一级AHB总线通过AHB桥与第二级AHB总线连接;所述第二级AHB总线通过系统控制模块分别与指静脉图像采集模块、ROI硬件提取模块、LCD显示模块、FLASH读写控制模块、双端口Block RAM连接;所述第二级AHB总线通过GPIO与按键、LED指示灯和蜂鸣器连接。
本实施例提供的Cortex-M3内核中设置有指令存储器和数据存储器,所述指令存储器和指令数据存储器分别通过AHB_to_SRAM挂接在第一级AHB总线上;DDR3同样挂接在第一级AHB总线上;UART依次通过APB总线和AHB转APB桥APBInterconnect与第一级AHB总线连接;
其中,指令存储器表示指令存储器,用于存储Cortex-M3内核运行的指令;指令数据存储器表示程序存储器,用于存储Cortex-M3内核运行的数据;DDR3表示内存,用于图像采集的缓存;UART表示通用异步收发器,即串口,用于将特征数据已经匹配结果发送到上位机(如电脑)上。
所述指静脉图像采集模块、LCD显示控制模块、FLASH读写控制模块、双端口BlockRAM以及ROI硬件提取模块均通过系统控制模块挂接在第二级AHB总线上,按键、LED指示灯和蜂鸣器通过GPIO同样挂接在第二级AHB总线上。
其中,GPIO表示通用目的输入输出口,有16个端口,可以通过寄存器分别配置为输入或者输出模式。
本实施例中的指静脉图像采集模块、LCD显示控制模块、FLASH读写控制模块、双端口Block RAM以及ROI硬件提取模块均通过系统控制模块挂接在第二级AHB总线上,按键、LED指示灯和蜂鸣器等外设通过GPIO同样挂接在第二级AHB总线上。
UART依次通过APBInterconnect和AHP_to_APB与第一级AHB总线连接。
如图5所示,其中,第一级AHB总线设置有5个Slave接口(S0~S4)和5个Master接口(M0~M4),S0接口与Cortex-M3核的I-code bus连接,S1接口与Cortex-M3核的D-code bus连接,S3接口与Cortex-M3核的system bus连接,S3和S4预留,为了今后系统能扩展DMA模块和协处理器。M0和M1接口分别与指令存储器和指令数据存储器连接,M2与AHB转APB桥连接,M3与DDR连接,M4与AHB转AHB桥连接以扩展第二级AHB总线。各Slave和Master之间的访问关系如图4所示。
如图6所示,第二级AHB总线设置有1个Slave接口(S0)和2个Master接口(M0、M1)。S0接口与AHB转AHB桥连接,M0接口与系统控制模块连接,M1接口GPIO连接,
本实施例提供的Cortex-M3核要访问各个总线上的模块,必修给各个模块分配地址空间,分配的地址空间如表2所示。
表2系统中各模块地址映射
本实施例提供的系统控制模块是连接软件和硬件的重要的控制中轴,将控制指令转换为硬件控制信号,从而实现对摄像头模块、ROI加速器模块、LCD显示模块和FLASH读写模块的控制。
实施例4
本实施例提供的摄像头控制器通过配置摄像头控制寄存器(CAMERA_CTRL)打开摄像头模块后,系统控制模块产生camera_start信号启动摄像头实时采集图像,并将采集到的图像数据存储进入Block RAM中,LCD控制器模块实时从Block RAM中读取数据进行显示。
本实施例中的摄像头控制器设置有用于检测手指是否伸进采集装置卡槽的手指位置检测模块,所述手指位置检测模块按照以下步骤检测:
获取有手指时的静脉图像;
计算静脉图像的像素和;
判断静脉图像的像素和是否在预设阈值范围内,如果是,则手指伸进卡槽;
如果否,则手指未伸进卡槽;
移动手指在卡槽的位置,重复循环。
本实施例提供的预设阈值默认范围如下:下限阈值为0x400000,上限阈值为0xB00000。
当检测到图像的像素累加值在此区间内,说明有手指伸进卡槽,然后采集延时100帧后的图像作为手指静脉的原始图像并产生camera_finish信号作为采集结束的标志。延时100帧的作用是使图像稳定,图像像素的累加和可以通过寄存器CAMERA_CTRL的pix_color_sum位读出,检测手指的下限阈值和上限阈值可以通过寄存器PIX_SUM_MIN和PIX_SUM_MAX进行配置。
如图7和图8所示,所述ROI硬件提取模块采用Verilog硬件描述语言编写ROI硬件加速器,当摄像头采集到手指静脉图像时,ROI硬件提取模块开始工作,
本实施例中的ROI算法采用硬件描述语言Verilog进行FPGA开发,主程序采用有限状态机(Finite-state machine,FSM)进行设计,ROI的提取过程由7个状态来完成,分别为IDLE状态:即空闲状态;FIRST_CUT状态:即初次截取状态;EDGE_POINT状态:即手指边界点检测状态;CORRECTION状态:即旋转校正状态;WIDTH_DEFINE状态:即宽度定义状态;HIGHT_DEFINE状态:即高度定义状态;SECOND_CUT状态:即二次截取状态。
如图7所示,图7为ROI提取状态转换图,所述IDLE状态,当手指没有伸进卡槽时,一直处于该状态,将检测到手指伸进卡槽并将将图像存储进入Block RAM后,进入FIRST_CUT状态;
所述FIRST_CUT状态,用于对指静脉图像进行背景截取并将截取后的图像存储到Block RAM中;
FIRST_CUT状态的目的是截掉背景区域,减小图像大小,图像截取完成后进入EDGE_POINT状态,图像截取通过读写Block RAM完成;
在EDGE_POINT状态下,依次从RAM中读取图像数据,并计算手指的4个边界点;
在CORRECTION状态下,首先根据上一状态求出的边界点,计算手指偏转角度以及每行需要平移的值,然后依次从RAM中读取图像数据经平移后存储回RAM中,图像的平移校正实际就是各像素点存储地址的变化;
在WIDTH_DEFINE状态下,根据平移校正后的边界点,找出手指图像左右两边需要截取的列号,以确定ROI区域的宽度;
在HIGHT_DEFINE状态下,采用滑动窗的方法求手指远端关节的区域,从而确定ROI区域的高度,即需要计算上下截取的行号;
在SECOND_CUT状态下,根据左右截取的列号和上下截取的行号对图像数据重新读出和写入RAM,最后RAM中以0为起始地址中存储的数据即为ROI图像的数据;
通过以上7个状态完成了ROI的提取,提取后的图像数据存储在Block RAM中,然后产生ROI_finish信号,以通知软件可以从RAM中读取数据并进行后续算法处理。
将ROI模块设计成硬件加速器在速度上的优势,采用软件方案实现同样的ROI算法。硬件和软件的时钟频率都采用36MHz,各个步骤的运行时间以及总的运行时间对比如表3所示。可以看出,采用FPGA实现本ROI方法,总的运行时间是3.822ms,采用软件方式需要78.547ms。在相同的时钟频率下,硬件要比软件快20倍以上。
表3 ROI模块软硬件实现方式运行时间对比(ms)
本系统ROI之后的算法,如归一化、方向分割,连通域去噪等都是采用软件方式实现,经过MDK运行测试可知,后续算法共计需要运行时间约480ms,所以可以得出,将ROI模块进行硬件加速,可以将总的识别速度提高15%以上。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (5)
1.一种用于指静脉识别SOC系统的寄存器配置方法,其特征在于:所述指静脉识别SOC系统的寄存器包括摄像头控制寄存器、像素累加和下限阈值寄存器、像素累加和上限阈值寄存器、感兴趣区域提取控制寄存器、读Block RAM寄存器;
所述摄像头控制寄存器配置有图像像素累加和位、图像采集完成标志位、摄像头控制位;
所述摄像头控制寄存器按照摄像头控制位的状态来启动摄像头采集指静脉图像,当摄像头采集指静脉图像完成后,改变摄像头控制寄存器中的图像采集完成标志位的状态,
当CPU查询到图像采集完成标志位为预设状态时,则通过感兴趣区域提取控制寄存器来启动FPGA硬件提取指静脉图像的感兴趣区域,将摄像头采集到的每帧图像的像素累加和存储于摄像头控制寄存器设置的图像像素累加和位中,当所述FPGA硬件提取完成指静脉图像的感兴趣区域后,将感兴趣区域的数据存储在FPGA内部的Block RAM中,并改变感兴趣区域提取控制寄存器中的感兴趣区域提取完成标志位的状态,
当CPU查询到感兴趣区域提取完成标志位为预设状态时,CPU从读Block RAM寄存器中的Block RAM地址位获取指静脉图像感兴趣区域数据;
所述寄存器还包括写FLASH寄存器、读FLASH寄存器和FLASH擦除寄存器;
所述写FLASH寄存器用于将指静脉图像中的静脉纹路特征数据写入FLASH对应地址中,当CPU进行静脉纹路特征提取并完成连通域去噪和中值滤波后,如果当前为注册模式,需要将静脉纹路特征数据存储进入FLASH中,通过配置该寄存器以将静脉纹路特征数据存储进入FLASH的对应地址中;
所述读FLASH寄存器用于从FLASH对应地址中读回已经存储的静脉纹路特征数据,当CPU进行静脉纹路特征数据提取并完成连通域去噪和中值滤波后,如果当前为识别模式,将存储在FLASH中的静脉纹路特征数据读出与当前的特征进行匹配,配置该寄存器以将FLASH对应地址的静脉纹路特征数据读出;
所述FLASH擦除寄存器用于擦除存储在FLASH中的静脉特征数据,配置擦除存储在FLASH中的所有特征数据或单个特征数据;
所述寄存器还包括像素累加和下限阈值寄存器、像素累加和上限阈值寄存器;
所述像素累加和下限阈值寄存器配置有图像像素累加和下限阈值位,用于设置判断手指是否伸进卡槽的下限阈值;
所述像素累加和上限阈值寄存器配置有图像像素累加和上限阈值位,用于设置判断手指是否伸进卡槽的上限阈值;
总线包括两级AHB总线,即第一级AHB总线和第二级AHB总线,所述第一级AHB总线与内核处理器连接;
所述第一级AHB总线通过AHB桥与第二级AHB总线连接;所述第二级AHB总线通过系统控制模块分别与指静脉图像采集模块、ROI硬件提取模块、LCD显示模块、FLASH读写控制模块、双端口Block RAM连接;所述第二级AHB总线通过GPIO与按键、LED指示灯和蜂鸣器连接。
2.如权利要求1所述的方法,其特征在于:所述感兴趣区域提取控制寄存器配置有感兴趣区域宽度位、感兴趣区域高度位、感兴趣区域提取完成标志位、感兴趣区域提取控制位;
所述感兴趣区域宽度位;用于存储采集到的感兴趣区域的宽度数据;
所述感兴趣区域高度位;用于存储采集到的感兴趣区域的高度数据;
所述感兴趣区域提取完成标志位;当感兴趣区域提取完成,配置位为“1”;
所述感兴趣区域提取控制位;当配置位为“1”时,启动ROI硬件加速器模块进行感兴趣区域提取,当配置位为“0”时,关闭ROI模块。
3.如权利要求1所述的方法,其特征在于:所述寄存器还包括硬件控制LCD显示寄存器,所述硬件控制LCD显示寄存器配置有LCD硬件控制位;用于在FPGA硬件采集指静脉图像和提取指静脉图像的感兴趣区域的过程中,LCD显示器的显示控制由FPGA硬件控制。
4.如权利要求1所述的方法,其特征在于:硬件控制LCD显示寄存器配置有LCD硬件控制位;所述LCD硬件控制位配置为“1”时,启动硬件逻辑电路控制显示器LCD的信号并驱动LCD显示;所述LCD硬件控制位配置为“0”时,由软件控制LCD显示。
5.如权利要求1所述的方法,其特征在于:FLASH擦除寄存器配置有擦除选择位、FLASH擦除的起始地址位;所述擦除选择位当配置为“1”时,擦除FLASH中的全部静脉纹路特征,当配置为“0”时,只擦除flash_caddr地址开始的一幅纹路特征图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010802201.9A CN111914787B (zh) | 2020-08-11 | 2020-08-11 | 一种用于指静脉识别soc系统的寄存器配置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010802201.9A CN111914787B (zh) | 2020-08-11 | 2020-08-11 | 一种用于指静脉识别soc系统的寄存器配置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111914787A CN111914787A (zh) | 2020-11-10 |
CN111914787B true CN111914787B (zh) | 2023-05-26 |
Family
ID=73284085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010802201.9A Active CN111914787B (zh) | 2020-08-11 | 2020-08-11 | 一种用于指静脉识别soc系统的寄存器配置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914787B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117404A (zh) * | 2010-12-06 | 2011-07-06 | 公安部第一研究所 | 一种反射式手指静脉特征采集装置及其个人身份认证方法 |
CN103095997A (zh) * | 2013-02-25 | 2013-05-08 | 袁琦睦 | 基于fpga的实时画中画产生方法及其装置 |
CN106529468A (zh) * | 2016-11-07 | 2017-03-22 | 重庆工商大学 | 一种基于卷积神经网络的手指静脉识别方法及系统 |
CN109766836A (zh) * | 2019-01-11 | 2019-05-17 | 防灾科技学院 | 一种指静脉识别解锁方法及系统 |
CN109784141A (zh) * | 2018-11-27 | 2019-05-21 | 中国船舶重工集团公司第七一八研究所 | 一种基于arm处理器的手指静脉识别加密系统 |
CN110516550A (zh) * | 2019-07-26 | 2019-11-29 | 电子科技大学 | 一种基于fpga的车道线实时检测方法 |
CN111368780A (zh) * | 2020-03-13 | 2020-07-03 | 浙江大华技术股份有限公司 | 一种基于指纹和指静脉的联合识别处理方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170061633A1 (en) * | 2015-09-02 | 2017-03-02 | Microsoft Technology Licensing, Llc | Sensing object depth within an image |
US11435460B2 (en) * | 2018-05-07 | 2022-09-06 | Fujifilm Sonosite, Inc. | Ultrasound imaging system with style transfer image enhancement |
-
2020
- 2020-08-11 CN CN202010802201.9A patent/CN111914787B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117404A (zh) * | 2010-12-06 | 2011-07-06 | 公安部第一研究所 | 一种反射式手指静脉特征采集装置及其个人身份认证方法 |
CN103095997A (zh) * | 2013-02-25 | 2013-05-08 | 袁琦睦 | 基于fpga的实时画中画产生方法及其装置 |
CN106529468A (zh) * | 2016-11-07 | 2017-03-22 | 重庆工商大学 | 一种基于卷积神经网络的手指静脉识别方法及系统 |
CN109784141A (zh) * | 2018-11-27 | 2019-05-21 | 中国船舶重工集团公司第七一八研究所 | 一种基于arm处理器的手指静脉识别加密系统 |
CN109766836A (zh) * | 2019-01-11 | 2019-05-17 | 防灾科技学院 | 一种指静脉识别解锁方法及系统 |
CN110516550A (zh) * | 2019-07-26 | 2019-11-29 | 电子科技大学 | 一种基于fpga的车道线实时检测方法 |
CN111368780A (zh) * | 2020-03-13 | 2020-07-03 | 浙江大华技术股份有限公司 | 一种基于指纹和指静脉的联合识别处理方法及系统 |
Non-Patent Citations (2)
Title |
---|
"基于FPGA控制的NAND Flash存储设计";刘东海 等;《科学技术与工程》;第13卷(第34期);10349-10352 * |
"高质量手掌静脉图像获取及ROI提取的研究";陈朋 等;《传感技术学报》;第28卷(第7期);1016-1022 * |
Also Published As
Publication number | Publication date |
---|---|
CN111914787A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102292028B1 (ko) | 제스처 인식 방법, 장치, 전자 기기 및 저장 매체 | |
US20190392202A1 (en) | Expression recognition method, apparatus, electronic device, and storage medium | |
CN107766812B (zh) | 一种基于MiZ702N的实时人脸检测识别系统 | |
CN110020592A (zh) | 物体检测模型训练方法、装置、计算机设备及存储介质 | |
CN105844654A (zh) | 一种基于Zynq软硬件协同处理的增强现实系统及方法 | |
KR20160071781A (ko) | 이미지에서 객체를 검출하는 객체 검출 방법 및 이미지 처리 장치 | |
CN102221937A (zh) | 实时视频图像坐标识别系统及其方法 | |
CN103310419B (zh) | 一种小目标图像处理装置 | |
WO2022247403A1 (zh) | 关键点检测方法、电子设备、程序及存储介质 | |
CN111914786B (zh) | 一种手指静脉识别方法及其系统 | |
Brousseau et al. | An energy-efficient, fast FPGA hardware architecture for OpenCV-compatible object detection | |
CN105025264A (zh) | 基于fpga与usb2.0的便携式计算机视频监控系统 | |
CN105868698A (zh) | 一种基于Cortex-M3内核的嵌入式指纹识别系统 | |
Zhang et al. | Study on the embedded fingerprint image recognition system | |
Li et al. | A new automatic real-time crop row recognition based on SoC-FPGA | |
CN111914787B (zh) | 一种用于指静脉识别soc系统的寄存器配置方法 | |
CN111368800A (zh) | 手势识别方法及装置 | |
Kumar et al. | Hardware accelerators for iris localization | |
CN108875500A (zh) | 行人再识别方法、装置、系统及存储介质 | |
CN112016356A (zh) | 基于zynq的高光谱目标识别系统及方法 | |
CN110063753B (zh) | 超声图像中测量胎儿头围的方法与装置 | |
CN102039738A (zh) | 高速装订机页面在线模糊识别系统 | |
Zhou et al. | Iris biometic processor enhanced module FPGA-based design | |
CN111242835B (zh) | 基于zynq和gpu的特征边缘检测系统和方法 | |
CN207503284U (zh) | 图像边缘检测系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |