1 Introduction
Fingerprint recognition technology analyzes the local characteristics of fingerprints and extracts detailed feature points to reliably confirm personal identity. The advantage of fingerprint recognition is that fingerprints are unique features of the human body. Its complexity can provide sufficient features for identification and is extremely secure. Compared with other identity authentication technologies, fingerprint recognition is a more ideal identity authentication technology. Fingerprint recognition not only has many unique information security advantages, but more importantly, it is highly practical and feasible, and has been widely used in finance. , e-commerce and industries with high security performance requirements.
At present, most fingerprint identification systems collect fingerprint images into computers and use computers for identification. The independent fingerprint identification systems produced by some foreign companies are relatively expensive. These have limited the popularity of fingerprint recognition technology. Therefore, research and development of independent fingerprint identification systems that are fast, high in recognition rate, and cheap have great market prospects and important scientific research value.
This article proposes a new type of fingerprint identification system based on DSP. The hardware uses the high-speed processing capability of DSP to build a high-speed data processing platform. The software refers to the processing characteristics of DSP and hardware logic to improve the traditional fingerprint algorithm to meet real-time requirements. performance and reliability requirements.
2 Hardware system structure
The schematic block diagram of the system is shown in Figure (1):
?
Figure (1) System structure block diagram
This system as a whole can be divided into three parts: image acquisition module, image processing and recognition module and output module.
2.1 Image acquisition module
In the image acquisition module, since the fingerprint recognition system does not require real-time observation of images, the sensor requirements are not very high. General black and white digital CMOS sensors can meet the requirements. This system uses a 3 million pixel high-definition black and white sensor as the image acquisition device, which is very suitable for use as a fingerprint image sensor. Mainly considering the advantages of low cost, high resolution and good reliability of CMOS devices. The disadvantage is that the image quality may deteriorate when the fingers are sweaty or dry. In the image recognition process, an enhancement algorithm based on GABOR is used, which can basically overcome the impact caused by this.
2.2 Image processing and recognition module
The structure of the image processing and recognition module is related to the overall performance level of the system. The use of FPGA+DSP architecture is conducive to building an efficient data processing process and facilitating the allocation of processing tasks, improving the parallelism and resource utilization of the system. The SRAM, SDRAM, and FLASH in the system are directly connected to the DSP for its use: FLASH is used to store programs and some fixed table data; SDRAM is the system memory of the DSP and is used to run system programs; SRAM is a high-speed data storage area , used to store temporary variables generated when the program is running. DDR SDRAM is specially used to store large-capacity data blocks such as collected fingerprint data and pixel gradient data calculated during preprocessing. It is directly connected to the FPGA and is the highest-speed memory area in the system. In addition to serving as the expansion bus interface of the DSP processor, FPGA also shares some data processing tasks, because only one DSP cannot handle all computing and control tasks. When processing fingerprint data, you often encounter some tedious additions and subtractions. Operations and ratio logic operations are usually handled by the FPGA. Taking into account the particularity of the fingerprint processing algorithm, the DDR control function must also be implemented.
Due to the large amount of mathematical operations in the fingerprint recognition process, program design inevitably requires a large storage space. In order to improve the overall performance, the heavy computing tasks need to be handed over to the DSP for processing, while the image acquisition part must occupy as little space as possible. DSP time. In addition, using the gap between image acquisition, or at the same time as image acquisition, the hardware can complete some simple and tedious operations to share the processing tasks of the DSP, improve the parallelism of processing, and meet the real-time requirements. This system uses TMS320VC5402, which has fast computing speed and high cost performance. Each pixel of the 8-bit grayscale fingerprint image collected in the system occupies one byte, and the image size is 512×512 pixels. It requires 256k bytes of storage space to store one frame of image. The DSP unit is the core of the entire fingerprint processing system and is responsible for real-time processing of fingerprints.
2.3 Output module
As an independent fingerprint recognition system, the data recognized by the system can be directly displayed through the LCD. When designing the system, the system can also be used as a terminal, that is, the Ethernet interface is expanded through the FPGA and used as a large fingerprint identification system terminal that needs to transmit fingerprint database data through the network.
3 Fingerprint recognition algorithm
Fingerprint recognition algorithm is the core of fingerprint recognition. The fingerprint recognition algorithm process used in this system is shown in Figure (2).
Figure (2) Fingerprint recognition algorithm process
Image enhancement is the core problem that needs to be solved in fingerprint image preprocessing. The main purpose of fingerprint image enhancement is to eliminate noise, improve image quality, and facilitate feature extraction. Because the fingerprint texture consists of alternating ridges and valleys. These textures contain a lot of information, such as texture direction, texture density, etc. Such information is different in different areas of the fingerprint image. The fingerprint image enhancement algorithm is implemented by utilizing regional differences in image information. Traditional fingerprint image enhancement uses the texture direction information of the image to construct a directional filter template to achieve filtering. The contradiction between the simplicity of the filter construction and the complexity of the fingerprint image limits the effectiveness of its effect. This system uses the texture frequency information of the fingerprint image as a reference, and uses the GABOR transform, an optimal filter that can simultaneously analyze the direction and spatial frequency of the local structure of the image, as the filter template, thus greatly improving the enhancement The effect of the algorithm.
3.1 Ridge direction
Except for the singular area, the fingerprint image is in a small enough area, and the texture is approximately parallel to each other. This is the directional characteristic of the fingerprint image. Directional features are one of the most obvious features in fingerprint images. They intuitively reflect the basic morphological features of fingerprint images in a simplified form, and are therefore widely used in the classification, enhancement, and feature extraction of fingerprint images.
The method for extracting the ridge direction is:
⑴ Divide the fingerprint image into sub-blocks that are small enough to satisfy the condition that the textures in the blocks are approximately parallel.
3.2 Ridge frequency
In addition to stable directional characteristics, fingerprint texture also has stable frequency characteristics. In a local area of the fingerprint image, the textures of the ridges and valleys are parallel, and the grayscale distribution along the ridge and valley directions is approximately a sinusoidal envelope.
Ridge frequency is defined as the reciprocal of the spacing between two ridges. By locating the maximum and minimum value points in the envelope, the corresponding ridge spacing and valley spacing can be obtained, and then the ridge frequency can be calculated.
3.3 GABOR filter
Since the GABOR transform has the characteristics of the best time domain and frequency domain connection resolution, it can analyze the direction and spatial frequency of the local structure of the image at the same time, and can take into account the ridge direction and ridge frequency information of the fingerprint image.
In this system, the real part of the GABOR filter function is used as the template, the direction perpendicular to the sub-block ridge direction is used as the filter direction, and the ridge frequency is used as the filter frequency to construct the filter. The filtering process is as follows:
Among them, is the original image grayscale, is the GABOR filtered image grayscale, W is the filter template size, S is the template coefficient sum, and is the domain direction value of the sub-block. It should be noted that the GABOR filter is perpendicular to the fingerprint texture direction. There needs to be a compromise on the value of the sum. The larger the value, the better the anti-noise performance of the filter, but it is also easy to produce false ridges. Take the sum here.
3.4 Fingerprint matching
In this system, fingerprint matching adopts a calibration algorithm based on feature point set matching. This algorithm is mostly simple comparison logic and addition and subtraction operations, and does not require the use of a DSP processing unit.
4 System processing flow
The entire system processing process is divided into four steps:
?⑴ The fingerprint image output from the image sensor is first sent to the FPGA buffer. At the same time, the designed pre-processing module is used to process the data to obtain the gradient value of each pixel and the coordinates of the maximum value point in the sub-block. All these data together with Raw data is stored in DDR SDRAM in burst mode;
⑵ DSP reads all relevant data from DDR SDRAM through FPGA, calculates the ridge direction and ridge frequency, and then uses GABOR to filter the original data. The processed image data is then stored in DDR SDRAM through FPGA, so in DDR The input and output ends of SDRAM need to be buffered;
⑶ According to the instruction requirements of DSP processing, the filtered data is read from the DDR SDRAM. The comparison logic inside the FPGA extracts the maximum value points in each row (each column) of the fingerprint image and sends them to the DSP for further processing. Complete fingerprint image ridge extraction;
⑷ The DSP completes the matching recognition algorithm and outputs the processing results.
5 Conclusion
The above design scheme comprehensively considers various factors, taking into account the performance status and resource requirements of the DSP processor and FPGA co-processor to allocate tasks, and completes part of the fingerprint direction and frequency extraction operations while collecting data, reducing memory The number of operations uses the GABOR-based enhanced algorithm optimized according to the system characteristics, which improves the real-time performance of the system and meets application requirements.
references:
[1] Texas Instruments Incorporate TMS320C54XUser's Guide [Z] 2002.
[2] Luo Xiping, Tian Jie. Image enhancement and matching algorithm in automatic fingerprint recognition [J]. Journal of Software, 2002, 13(5): 946~956.
[3] Lin Hong, Yifei Wan, Anil Jain. Fingerprint Image Enhancement: Algorithm and Performance Evaluation [J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 1998, 8(20): 777~789.
[4] Wu Jianming, Shi Pengfei. A fingerprint identification method based on orientation field and detail feature matching [J]. Computer Engineering and Applications, 2003, (2): 91~93.
Previous article:DSP-based power line carrier OFDM modem
Next article:Using FPGA to implement fast interface between DSP and LCD
- Popular Resources
- Popular amplifiers
- Point Cloud Registration from Beginner to Master (Guo Hao)
- A review of learning-based camera and lidar simulation methods for autonomous driving systems
- Semantic Segmentation for Autonomous Driving: Model Evaluation, Dataset Generation, Viewpoint Comparison, and Real-time Performance
- Digilent Vivado library
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Pingtouge RVB2601 Review: Connecting to Alibaba Cloud IoT Platform
- MSP430F5529 IO port pin interrupt study notes
- Circuit-level electrostatic protection design techniques and ESD protection methods
- [ESK32-360 Review] +TFT screen display function and expansion (3)
- Can the 7805 and 1117-5 power supplies be used within ±0.05?
- CC3200 Kit OURS-SDK-WFB_Exploration 4——FreeRTOS Run
- The microcontroller outputs PWM wave to control the load supply voltage 0-12V adjustable
- 【Insights】If you don’t plant flowers in your heart, weeds will grow
- I would like to ask which manufacturers produce unipolar TMR tunneling effect switches. I only found MDT, and Magne does not have unipolar ones.
- Altium16.1 manufacturing output IPC-2581 and odb++ formats are not working