Print Sensing with Embedded TechnologyIdentifying 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 CARDMany 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