Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > FPGAs/PLDs

Crime fighters get PL edge

Posted: 03 Nov 2008 ?? ?Print Version ?Bookmark and Share

Keywords:FPGA? processor? automobile tracking? fingerprint identification?

Crime-fighting applications tend to be complex, must adapt to evolving requirements and must be affordable for organizations with limited budgets. PLD solutions are proving to be an ideal fit, as they offer high performance, flexibility and cost-effectiveness.

Equipped with FPGAs and embedded soft-core processors, university students from Korea and China created two prototypical crime-fighting applications?2;a police vehicle support system with a wireless auto-tracking camera and a fingerprint identification system.

High-speed tracking
When the chase is on, a police officer has only seconds to activate warning sirens, report to the command center and communicate with other patrol units. With so much happening, the officer relies on the vehicle-tracking system to keep a fleeing perpetrator in sight. However, traditional tracking systems with fixed-position cameras can lose suspects who are speeding in and out of traffic.

Imagine the advantages of an in-vehicle system that stays focused on a suspect vehicle while letting the officer communicate with colleagues in the field and at headquarters. Students at Inha, Korea Aerospace and Hongik Universities in Korea have created a prototype on-board police vehicle support system that does.

The key component of this integrated solution is a wireless auto-tracking system that continuously follows a suspected vehicle, centering the vehicle's image on the display. A pan-tilt camera uses an FPGA-controlled stepper motor that enables it to move horizontally and vertically, reacting quickly to capture speeding vehicles. An automatic voice alert system uses an embedded processor for MPEG audio decoding to provide warnings to fleeing suspects. A wireless HSDPA function provides real-time data and image sharing. An FPGA-based interface to the on-board diagnostic system (OBD-II) monitors the police vehicle's engine performance metrics.

The design team used an Altera DE2 development and education board featuring a Cyclone II FPGA, Quartus II design software, and Nios II embedded processor as the technology platform. A single Cyclone II FPGA runs the system, performing image processing, compression, data transfer, MPEG audio decoding, motor control, and OBD communication. All of the necessary components were assembled using the SOPC (system-on-a-programmable chip) Builder system design tool.

The camera's image processing module transfers its pan-tilt motion commands to the system's stepper motor controller on the FPGA. Based on the commands, the stepper motor controller then generates operating signal pulses, sending these signals to each motor. The camera's image capture module converts analog image information into an ITU656 standard digital stream on the DE2 board, using the stream to control the auto-tracking camera's left, right, up and down operations. The digital stream also supports a vision sharing system and JPEG compression of wireless transfers and provides the in-vehicle display.

The combination of an FPGA and an embedded processor allowed the design team to address the complex requirements of this automobile tracking system. (Click to view full image)

Camera control
When an officer needs to turn on the camera's tracking mode, the camera is aligned to the target vehicle and a button on the DE2 board is pushed. The image processing module, also running on the FPGA, then extracts the average color from the target vehicle and estimates its location. As soon as the vehicle moves, the pan-tilt camera begins tracking it. One of the key advantages of this system is its speed?2;control commands are transferred to the motor controller every 1/30th of a second. Captured images are saved to a USB storage device and also simultaneously transferred to the police command center. The tracking mode operates only in daytime conditions.

The team used the Nios II C-to-Hardware Acceleration Compiler (C2H) to perform the libjpeg forward discrete cosine transform function and meet performance targets without the need for an external processor or DSP device. The C2H Compiler boosts performance of time-critical ANSI C functions by converting them into hardware accelerators in the FPGA.

When the vehicle's auto-tracking camera begins operating in tracking mode, the automated voice alert is turned on and issues warnings to the fleeing suspect. The embedded processor, operating at 100MHz on the DE2 board, runs a custom instruction set that plays MPEG audio data.

An interface to OBD-II bridges communication between the vehicle's electronic devices and also connects diagnostic tools to the engine control unit for vehicle maintenance and monitoring. An SOPC Builder UART component connects to the OBD-II interface and collects information, such as the driving speed, fuel state, and vehicle fault state.

Recognizing ridges
Fingerprint identification systems have been based on a PC or a DSP device. However, processing images on a PC is slow and DSP devices lack the flexibility to support all of the functions required. Students from Huazhong University of Science and Technology in China used the DE2 board equipped with the Cyclone II FPGA and Nios II embedded processor to create a prototypical fingerprint identification system.

Applying an SOPC approach, the team created a networked fingerprint identification system that provides authentication and centralized management. A PC serves as the host, running software for a variety of administrative functions. The 50MHz Nios II/f core embedded on a Cyclone II FPGA runs algorithms for functions including system initialization, fingerprint collection, image processing, host-slave communication and user interface. With SOPC Builder, the team had a means to integrate various components into a single system and configure each part as needed.

: An embedded processor runs an image processing algorithm that applies these processes to identify a fingerprint.

When the fingerprint collector detects the presence of a finger, it awakens from sleep mode to collect images, presenting the highest quality image. A 12.5MHz SPI core on the DE2 board transfers the image data to the embedded processor, which runs an image processing algorithm that applies the following processes to a fingerprint:

  1. Pattern finding?2;The system calculates the direction of single points based on the grayscale value of the points around the target point. Then, it uses a statistical method to derive a 5 x 5 block pattern, marking the blocks without clear direction about the background.

  2. Image filtering?2;The system enhances image continuity along ridges and improves image contrast perpendicular to the ridges to segment neighboring ridges.

  3. Binarization?2;Image ridges are distinct after filtering, so a fixed threshold binarization segments the image into black-and-white versions by using a fixed gray value as the standard.

  4. Ridge thinning?2;The image goes through a parallel thinning method that gradually corrodes the ridges until they are thinned into a single pixel width, priming the image for minutiae location.

  5. Locating minutiae?2;In this last step the system scans the pattern to locate the central point of the fingerprint. From the thinned ridge image, the system locates tip points and split points to assess the print's uniqueness.

Quantifying gains
Through custom instructions and peripherals, the team improved the performance of the image processing algorithm. Image filtering was improved 7x. With 52 multiplication accumulations required, the team designed a custom instruction that completes a single multiplication accumulation in three clock cycles, reducing this time from 36.4 seconds without a custom instruction to 4.77 with the custom instruction. Ridge thinning was improved 5x. This task calls for 16 comparisons of target pixels. The team designed two custom peripherals that finish 16 comparisons in six clock cycles, cutting the time down from 13.5 seconds without custom peripherals to 2.67 with custom peripherals.

When someone provides their fingerprint and other identification information at a terminal, the system determines whether to grant access by seeking a match from the information in its database. This system's probability of mistaking non-identical fingerprints as identical is less than five percent, and the probability of mistaking identical fingerprints as non-identical is less than 20 percent.

- David Auyeung
Senior Embedded Product Marketing Engineer
Altera Corp.

Article Comments - Crime fighters get PL edge
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top