博客首页 | 排行榜 |

设计我最赞的博客

个人档案
博文分类
指纹数据采集(Fingerprint Data Acquisition)  2008-10-13 19:30
Print Sensing with Embedded Technology

Identifying and matching fingerprints is a tedious process that involves huge databases.Today,a few companies are using embedded microcontrollers to create stand-alone print-sensing systems. Jeff examines the latest fingerprint security technology from Atmel.

I thought the popular television show CSI: Crime Scene Investigation would have run its course by now. However, even with two spin-offs, it still isn‘t losing its appeal. Because I stare at a monitor all day long, I try to limit my evening's radiation intake to CSI (or an occasional episode of Myth- Busters or American Chopper)。 Each high-tech CSI lab (Las Vegas, Miami,and New York) uses virtual screens and some of the newest sensors for analyzing smells, sounds, chemicals,DNA, and bodies. Databanks are available for almost everything imaginable:motor vehicles, military personnel,criminals, glass, fabrics, feathers, and more. One of my favorites is the fingerprint databank-or should I say"databanks"?


In the real world, there is not a sole repository of prints at this point in time. Thus, it can be a challenge for crime fighters to find matches. But as the United States and other countries become more closely linked, shared databases will reduce this to a nonissue.

The fingerprint has been studied throughout history. First, it was analyzed on clay tablets and seals. Later, it was studied on paper documents. During the 1680s Marcello Malpighi-an Italian anatomist and professor at the University of Bologna in Italy-may have been the first to discuss the make-up of the fingerprint. However,it wasn‘t until the mid- to late-1800s that fingerprint styles were classified and recognized as unique. Prior to using fingerprints (as a means of identification), Alphonse Bertillon-a French law enforcement officer and biometrics researcher who created anthropometry-devised a system of (adult) identification that compares measurements of certain body dimensions. It isn‘t difficult to see why this idea was not infallible. Just prior to the 1900s, fingerprints were used to prove the identities of murderers.

We now know that the odds of two fingerprints being the same is about one in 64 billion. (There are about 6 to 7 billion people alive today.) A 1921 Act of Congress established the Identification Division of the FBI. By 1950, the FBI had manually collected 100 million fingerprint cards. Today, the use of an automated fingerprint identification system (AFIS)enables the digitized collection of prints and database searches. Are the writer‘s of CSI telling us the real story, or is what we see science fiction?


ANATOMY OF A PRINT
In biology class, you learned about the dermis and epidermis, the body‘s outer protective layers. The dermis contains hair follicles, sweat glands,sebaceous glands, apocrine glands, and blood vessels. The dermal papilla, or the finger-like outer surface of the dermal layer, helps cushion and bond to the epidermis layer (see Figure 1)。 The epidermis, which doesn't contain blood vessels, receives nutrients by diffusion from the dermal layer. Hairless areas of the body (palms, fingers,soles, and toes) are designed for rough activities. The papillae in these areas give the epidermis its bumpy friction ridges that we call fingerprints.


Figure 1-The dermal papilla or upper-most layer of the dermis is responsible for the ridge patterns known as fingerprints. These patterns, formed randomly before birth, remain the same throughout life. (Source: Wikipedia,http://en.wikipedia.org/wiki/Image:Skin.jpg)



The ridge pattern begins to develop in the dermis during the first trimester of pregnancy. Random factors during growth allow even identical twins to develop different dermal papilla. Because the ridge pattern is not a function of the epidermis, if the epidermis is damaged or scarred, once healed, the pattern takes on its original form. It is thought that these ridges aid the hands and feet by providing a less slippery surface.

A fingerprint is an impression made by the ridge pattern of the finger,palm, toe, or sole. Of all of the ridge patterns extending over your hands and feet, your finger tips (and toes)have the most unique properties. A ridge can have only a few distinct characteristics. It can be a segment with a beginning and an end or it can be continuous with no beginning or end. It can also split into two ridges(bifurcation), or two ridges can converge into a single ridge, depending on how you look at it.

Using these ridge characteristics,there are three main classification patterns: the arch, the loop,and the whorl. Each fingerprint can have one or a combination of these patterns. Photo 1 shows six plain and complex patterns.



LEAVING YOUR MARK
Fingerprints can be left behind in one of three ways. One, every time you touch something you leave behind natural body secretions. These secretions leave invisible (latent print) ridge details on the item. Two, when you have dirty hands, the details might actually be visible(patent print)。 Three, if the item you touch is soft, like wax, the ridge details may be left by deforming the surface of the material(plastic print).

Latent prints are invisible,so an investigator must find a way to make it visible. The method will depend on the material being explored. An image might become visible optically via diffusion,luminescence, absorption,or reflection. You can also use chemicals to create a reaction. Changes in color will mark the results.

The oldest method is one of the simplest. You can lightly brush a colored powder on a surface. The powder then sticks to the secretions.

Whether the print is plastic, patent,or latent, the idea is to make it stand out from the surface color. Doing so enables you to photograph the print and use it for comparison.

MINUTIA
Comparing a fingerprint to prints on file is a tedious process. You can skip those that have different characteristics,but how do you determine if the found "plain loop" print is the same as all of the other "plain loop"prints on record? You must compare smaller features or minutia. Earlier I discussed ridge characteristics. If the features were located and identified for a print, then any matching print would need to have a list of identical features.

In order for this to work, the scale of any print must be known. The American National Standards Institute(ANSI)/National Institute of Standards and Technology (NIST) standard unit is 0.01 mm (one unit = 0.01 mm)。 A point in the lower-left corner becomes coordinate 1, 1. Each minutia point is given an index number with an associating coordinate (x, y), orientation(degrees), and type. The type in most cases is either ridge ending (A) or bifurcation (B)。 The orientation of all minutia is measured in degrees counterclockwise from horizontal (three o‘clock) to a handle of the minutia. In a type-A minutia, the handle begins at the ridge endpoint and proceeds away from the endpoint along the ridge. In a type-B minutia, the handle begins at the split and proceeds between the two splitting ridges. Photo 2 shows a print with identified minutia points.



If the print image colors are reversed, ridges turn into valleys. Thus, a type A turns into a type B(and vice versa)。 It's all in your point of view.

A print can be rotated by adding an angle value to each of the indexed orientations. Although the physical X, Y coordinates change, the important information (distance between minutia) remains unchanged and can still be calculated using the original coordinates.

PRINT CARD
Many occupations require fingerprint records. While you may consider this a breach of your civil rights,companies requiring it consider it a form of protection for them. Identification through fingerprints is only as good as the database. It takes a trained eye and a lot of time to compare two prints and determine that they are indeed identical. The classification of prints helps narrow down which prints have to be compared. However, with potentially millions of print cards, this becomes an almost impossible feat.

Several decades ago, the tedious manual searching process consumed a lot of time and required vast amounts of manpower. As a result, fingerprint comparisons were used for confirmations between knowns, rather than all out searches for unknowns.

In the late 1970s, the FBI began using the computer to capture, store,and search fingerprint records. However,it wasn‘t until the early 1990s that the Integrated Automated Fingerprint Identification System (IAFIS)was developed (along with the NIST)as a way to exchange fingerprint data between agencies. A seven-point application package is available from the Department of Homeland Security(DHS), the NIST, and the FBI that is the culmination of 10 years of work. It contains utilities (in C) to segregate individual fingerprints from a four-finger slap (one-time impression), classify a print, detect minutia, establish a quality factor,compare for match, handle data files,and manipulate images. For more information, visit the NIST‘s web site (http://fingerprint.nist.gov/NFIS).

FINGERPRINT SENSORS
Many companies provide packaged systems for fingerprint recognition. While most can be used to obtain a print and pick out minutia, the systems are basically used with local databases for security verification. They may use a variety of methods for obtaining a live print. Optical devices use light absorption or scattering to capture finger images. Thermal devices sense heat from the finger to capture an image pattern. Capacitive devices sense an electrical charge from ridge lines to the surface of a sensor. RF, or acoustic signals, look beyond the outer layer of the skin to construct an image pattern. Each has its advantages and drawbacks.

There are a number of high computational functions that you must run on an image (collect the image, analyze for minutia, and compare minutia for a match)。 You need much more than a sensor to make a useful device. Simple sensors generally have a USB (or equivalent) connection and require a PC‘s computational power to handle the real functions. That's hardly cost-effective for an embedded project.

Several companies have applied sensor technology to an embedded microcontroller to create a stand-alone system. After you stop gagging on some of the pricing, you might end up looking at Atmel‘s AT77C104B sensor chip and the AT91SAM7FP105 FingerChip security processor (FSP)。 These are used in the Atmel AT77DK100 development kit.

A PICTURE IS WORTH 1,000 WORDS
Well, actually, in this case, a 232 ×232 pixel image is worth approximately 13,456 words. But who is counting?To obtain that image, Atmel developed the AT77C104B fingerprint sensor,which is based on FingerChip thermal technology. It is a linear sensor that captures fingerprint images by sweeping the finger over the sensing area (see Photo 3)。 The AT7710413 uses a SPI to ask for and retrieve data. Three main modes of operation are available:Standby, Pointing, and Acquisition. As you might expect, the Standby mode turns off some internal operations requiring less than 10 μA of current. The device can simulate the functions of a mouse by using the Pointing mode. In this mode, a finger scan is internally interrogated and using threshold data the user provides, it will calculate the x and y movement values. The Acquisition mode allows a slice (or frame) of data to be clocked out by the master. The slice consists of eight rows of 232 columns covering an area of 0.4 mm × 11.6 mm. Each pixel is a 4-bit representation of the amount of heat sensed over the integration period(the time between frame acquisitions).This means that clocking the pixel data must be done quickly at regular intervals.



Let‘s suppose you want to be able to accept a finger speed of approximately 8″/s. It is recommended that the host use a SPI clock speed of approximately 10 MHz (100 ns)。At that rate, you can grab a frame in about 750 μs,have 250 μs in between slices for work, and get approximately 1,000 slices/s. At roughly 800 bytes/slice, 1,000 slices would be 800 KB. Whew, that‘s a lot of data! Luckily, you're producing meaningful data for only about one-tenth of that time. If you could process the slices as they came in, you would require only approximately 30 slices to produce a 12.6-mm square image. No mater how you slice it, this requires more data space than your average 8-bit microcontroller has available.

How can all of these slices be assembled into a single image? Think of this as taking a panoramic shot of the surrounding countryside from the top of a mountain. You would take a picture,rotate a bit, take another picture, and continue this until you went 360°。 You might take 20 or so pictures. Back at home, with the pictures in hand, you could take a pair of scissors and trim off the overlapping parts on the left side of each picture. By gluing the trimmed side of a landscape on top of the next (matching) picture you can recreate the original scene based on recognizing the redundant parts of each picture. If you did this in Adobe Photoshop,you could save and print out the panoramic photo as one continuous image. You can begin to see the computational requirements of just collecting a fingerprint image using this technique,not to mention the other functions that need to be implemented to make a useable product.

IMAGE FILES A NO-NO
Although complete image files of fingerprints may be stored in large databases for visual confirmation when used as evidence in a trial, this is unnecessary in many limited-security applications. As you know, it is print minutia that points out the features used to make comparisons. Therefore, all that‘s required for most comparison databases is the minutia list of each print.

Note: Most people will rebel against having their fingerprint stored or circulated,but a list of minutia doesn't seem to be as offensive, even though it contains enough information for identification purposes.

BLACK (AND WHITE) MAGIC
A useful fingerprint identification system will require some high-powered data shuffling. Atmel‘s advanced RISC machines (ARM) 32-bit microprocessors are up to the task. Integral USB, USART, and SPI ports give this microcontroller three possible communication media. Biometric routines handle slice and slice reconstruction,image and minutia extraction,template and record creation,and verification and identification. Because all functions (including the record database) are embedded in the hardware, the information is considered protected. To protect any data moving external to this microcontroller,data security can be enabled using the advanced encryption standard(AES) and 128-bit keys.
 
Although you won't be searching through a database of thousands of fingerprints,data collecting will be necessary. On-chip nonvolatile storage can hold up to 25 print records. The collection process is called enrollment. An enrollment record contains a template of the minutia gathered from a fingerprint‘s image, along with some data used to associate the record with the fingerprint image. It is a good idea to enroll a number of fingerprints from each person that will be using the system. You might choose to enroll the pointer finger from each hand, just in case you get a blister or some other surface damage. The enrollment process requires you to provide multiple swipes to assure that the minutia data created from a single swipe isn't abnormal.

Following the enrollment of a finger‘s print, a verification process is used to make sure that the record's template will match the appropriate finger‘s print by requiring the user to swipe their finger. There must be at least one enrollment record for each user who will require identification. Once this has been completed, all of the records are saved in nonvolatile memory for use (even after the power has failed)。 Database maintenance is also supported so you can easily delete or add records to the database.
Finally, you have the identification process. This is the normal mode where an application will look for a finger swipe, extract minutia, and search the database for records that match. The application can then determine if any action is required based on the search results.

All of this is done via one of the communication channels. Your application,whether it is on a PC or a microcontroller, uses the AT91SAM7FP105's built-in functions for support.

FSP DEMO
The AT77DK100 comes with a PC application that enables image viewing,enrolling, identification, and database management via the USB interface. I switched from raw to digitized images between the left and center images in Photo 4. The left image shows the fingerprint image built from the sensor‘s slice inputs. The center image shows a digitized image with the minutia identified. The print's template is made up of these minutia points and would be stored in a record if this were an enrollment and verification process.


Photo 5 shows the FSP matching a finger swipe to one of the 10 records I previously enrolled (one record for each finger of both hands)。 Let‘s say you want to be able to identify a member of your immediate family. You can use this PC program to enroll all of the users and save the records to the on-chip nonvolatile memory. The sensor system would then be ready to support your application. Your application might be used simply to enable a door-lock solenoid whenever a swipe matches one of the family member‘s prestored prints.


I hope your brain is beginning to churn out possibilities. Atmel has given designers a great peripheral to work with.

One last note: Whatever process you use to obtain a fingerprint image, you will most likely get slightly different results with each image. This means that the minutia extracted may be slightly different. If you are dealing with images of slightly different areas of the same print, the minutia will not be 100% identical. Comparing templates will therefore have some percentage of matching minutia that is less than 100%. Most likely, you are not just picking the database record with the highest percentage; otherwise, there would always be a match. It is just as important that wrong matches are rejected as it is that correct matches are accepted.

When you watch the CSI lab obtain a match on a latent print pulled from a crime scene, you can assume that there is a lot that they are not showing you. You must assume that once a computer has pulled up a potential match it is visually scrutinized by a professional before it is entered as evidence. The smaller the partial print, the fewer minutia, which can lead to a higher number of hits. And where does this leave investigators if the real print isn't among the database? Can you say "DNA"?

Jeff Bachiochi (pronounced BAHkey- AH-key) has been writing for Circuit Cellar since 1988. His background includes product design and manufacturing. You can reach him at jeff.bachiochi@imaginethatnow.com or via his web site www.imaginethat now.com.

SOURCE
AT77C104B FingerChip Fingerprint sweep sensor, AT77DK100 FingerChip development kit, andAT91SAM7FP105 processor
Atmel Corp.
www.atmel.com
类别:数据采集 |
上一篇:控制电路(Control Circuitry) | 下一篇:电阻焊接(Resistance Soldering)
以下网友评论只代表其个人观点,不代表本网站的观点或立场