Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Fingerprint_compression
1. Wavelet decomposition
has been finding its way
into various standards.
The earliest example
was the FBI fingerprint
image compression
standard.
V0.01(beta)
2. I Introduction
…
N • Fingerprints
Seminar
D … – Origin, properties, importance etc.
E – Sensing, compressing, storage, retrieving etc.
X
– Comparing, transmitting, software, hardware
O etc.
F – Etc. etc. etc.
T • Seminar topic
H – Compression of digital fingerprints for
I efficient storage and transmission.
S
S
E
M
I
N
A
R
FINGERPRINT IMAGE COMPRESSION 2
3. I Introduction
• What’s so unique about storing these images?
N
– It’s the number of files. 7 billion Globally D Its about application
and counting internationally, 200 million and E
specific compression
…
counting in the US alone. What’s so unique about
X
– It’s the mandatory quality.
Example of file size is
O
• Give an example of the size of the data for 1 F
fingerprint in raw format ?
– When a typical fingerprint card is scanned T
at 500 dpi, with eight bits/pixel, it results H
in about 10 Mb of data. I
– And that’s ~2000
S
terabytes of S
storage space E
in the US alone. M
I
N
A
R
FINGERPRINT IMAGE COMPRESSION 3
4. Introduction
• What exactly do we need? I
– Lossy compression method with graceful N
Its about application
D specific compression
degradation E …
– No artifacts in the reconstructed image What’s so unique about
X storing these images?
Example of file size is
O
• What should we use? F
10mb uncompressed
– Carefully designed lossy wavelet What exactly do we need?
compression that is designed to preserve T
minute details H
I
S
• What about the ISO JPEG ?
– ISO JPEG works on every image, here is S
an example E
M
I
N
A
R
FINGERPRINT IMAGE COMPRESSION 4
5. Introduction
• What about the ISO JPEG ? I
– ISO JPEG works on every image, first an N
Its about application
D specific compression
example of zoomed in original image E …
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
T
What should we use?
H
I
Ridge What about the ISO JPEG ?
S
S
Sweat E
pore M
I
N
A
589,824 bytes R
FINGERPRINT IMAGE COMPRESSION 5
6. Introduction
• What about the ISO JPEG ? Cont. I
– ISO JPEG works on every image, here is N
Its about application
D specific compression
an example of zoomed in JPEG image E …
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
T
? What should we use?
H
I
Ridge What about the ISO JPEG ?
S
S
Sweat E
Pore M
I
N
A
JPEG Image: 45,853 bytes, compression
R
ratio 12.9
FINGERPRINT IMAGE COMPRESSION 6
7. Introduction
• What is the solution ? I
– A Discrete wavelet transform & an N
Its about application
D specific compression
– Adaptive scalar quantization of the E …
quantization coefficients & What’s so unique about
X storing these images?
– A two pass Huffman coding of the Example of file size is
quantization indices O 10mb uncompressed
F
– Customizing the above 3 to this What exactly do we need?
application T
What should we use?
H
• What are two features of WSQ? I
What about the ISO JPEG ?
S
– Compression factor of about 20
What is the solution ?
(mandatory) S
– It’s a symmetric compression method E What are two features of
that is For WSQ Decoding is the opposite M WSQ?
of encoding I
N
A
R
FINGERPRINT IMAGE COMPRESSION 7
8. Introduction
• WSQ method, example image I
N
Its about application
D specific compression
E …
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
T
What should we use?
H
I
Ridge What about the ISO JPEG ?
S
What is the solution ?
S WSQ, no artifacts
Sweat E
Pore What are two features of
M WSQ?
I
N
A
WSQ image; file size 45621
R
bytes, compression ratio 12.9.
FINGERPRINT IMAGE COMPRESSION 8
9. Introduction
• What are the steps involved in encoding and I
decoding using WSQ? Cont. N
Its about application
D specific compression
– Overview of the 3 main steps E
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
High comp, Very Low loss
T
What should we use?
H Lossy wavelet compression
I
What about the ISO JPEG ?
S Too many artifacts
What is the solution ?
S 3 Main Steps
E What are the steps involved
M in WSQ?
I
N
A
R
FINGERPRINT IMAGE COMPRESSION 9
10. Introduction
• What do the wavelets look like DWT and I
IDWT blocks ? N
Its about application
D specific compression
– Analysis wavelet (left/top) and Analysis E
scaling function (right/bottom) for first X What’s so unique about
storing these images?
generation FBI WSQ
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
High comp, Very Low loss
T
What should we use?
H Lossy wavelet compression
I
What about the ISO JPEG ?
S Too many artifacts
– Synthesis wavelet (left/top) and
What is the solution ?
Synthesis scaling function (right/bottom) S 3 Main Steps
E What are the steps involved
M in WSQ? Block diagram
I seen
What do the wavelets look
N like ? Mexican hats?
A
R
FINGERPRINT IMAGE COMPRESSION 10
11. Introduction
• Working of WSQ Encoder: DWT I
– Example, Source image: N
Its about application
D specific compression
E
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
High comp, Very Low loss
T
What should we use?
H Lossy wavelet compression
I
What about the ISO JPEG ?
S Too many artifacts
What is the solution ?
S 3 Main Steps,DWT,ASQ,HUF
E What are the steps involved
M in WSQ?
I Overview/Blockdiagram
What do the wavelets look
N like ? Signals chosen at
588,636 bytes A random
Working of WSQ ?
R
FINGERPRINT IMAGE COMPRESSION 11
12. Introduction
• Working of WSQ Encoder : DWT I
– Example, Sub-bands: N
Its about application
D specific compression
E
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
High comp, Very Low loss
T
What should we use?
H Lossy wavelet compression
I
What about the ISO JPEG ?
S Too many artifacts
What is the solution ?
S 3 Main Steps,DWT,ASQ,HUF
E What are the steps involved
M in WSQ?
I Overview/Blockdiagram
What do the wavelets look
N like ? Signals chosen at
A random
Working of WSQ
R
FINGERPRINT IMAGE COMPRESSION 12
13. Introduction
• Working of WSQ Encoder : DWT I
– Example, DWT Visual representation: N
Its about application
D specific compression
E
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
High comp, Very Low loss
T
What should we use?
H Lossy wavelet compression
I
What about the ISO JPEG ?
S Too many artifacts
What is the solution ?
S 3 Main Steps,DWT,ASQ,HUF
E What are the steps involved
M in WSQ?
I Overview/Blockdiagram
What do the wavelets look
N like ? Signals chosen at
A random
Working of WSQ
R
FINGERPRINT IMAGE COMPRESSION 13
14. Introduction
• Working of WSQ Encoder : Scalar I
Quantization N
Its about application
D specific compression
• ak(m, n) (i.e., a floating point coefficient E
in position (m, n) in subband k(0-63)) to X What’s so unique about
storing these images?
an index pk(m, n) (an integer)
Example of file size is
• Qk (width) is determined using O 10mb uncompressed
equations that use F
What exactly do we need?
constants(Ak)(corresponding to k) and High comp, Very Low loss
variance(σ) that are in turn determined T
What should we use?
H Lossy wavelet compression
by equations that use transform I
coefficients, heights, widths and S
What about the ISO JPEG ?
Too many artifacts
location of a sub band (k)
What is the solution ?
• Zk(Zero width) is taken as 1.2Qk S 3 Main Steps,DWT,ASQ,HUF
E What are the steps involved
M in WSQ?
I Overview/Blockdiagram
What do the wavelets look
N like ? Signals chosen at
A random
Working of WSQ
R
FINGERPRINT IMAGE COMPRESSION 14
15. I Introduction
N
Its about application
Huffman Group I D specific compression
Huffman
Table I E
Table II What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
FIRST SECOND F
BLOCK BLOCK What exactly do we need?
High comp, Very Low loss
THIRD BLOCK T
What should we use?
H Lossy wavelet compression
SECOND BLOCK I
What about the ISO JPEG ?
S Too many artifacts
What is the solution ?
S 3 Main Steps,DWT,ASQ,HUF
E What are the steps involved
M in WSQ?
Group II I Overview/Blockdiagram
What do the wavelets look
THIRD BLOCK DISCARDED N like ? Signals chosen at
A random
Working of WSQ
R
FINGERPRINT IMAGE COMPRESSION 15
16. I Introduction
Final FBI WSQ compressed image N
Its about application
D specific compression
32,702 bytes; compression ratio 18.0 E
What’s so unique about
X storing these images?
Example of file size is
O 10mb uncompressed
F
What exactly do we need?
High comp, Very Low loss
T
What should we use?
H Lossy wavelet compression
I
What about the ISO JPEG ?
S Too many artifacts
What is the solution ?
S 3 Main Steps,DWT,ASQ,HUF
E What are the steps involved
M in WSQ?
I Overview/Blockdiagram
What do the wavelets look
N like ? Signals chosen at
A random
Working of WSQ ?
R
Example Final Image
FINGERPRINT IMAGE COMPRESSION 16
17. Summary
• The Wavelet Scalar Quantization algorithm (WSQ)
is a compression algorithm used for gray-
scale fingerprint images.
• It is based on wavelet theory and has become a
standard for the exchange and storage of fingerprint
images.
• WSQ was developed by the FBI, the Los Alamos
National Laboratory, and the National Institute of
Standards and Technology (NIST).
• This compression method is preferred over standard
compression algorithms like JPEG because at the
same compression ratios WSQ doesn't present the
"blocking artifacts" and loss of fine-scale features
that are not acceptable for identification in financial
environments and criminal justice.
Fingerprint image compression 17
18. Suggestions / Tasks
• Some chapters in the book “Advances in
Fingerprint Technology “by Henry C. Lee and R. E.
Gaensslen provide good information on
History, detection, comparison etc. of fingerprints
• Learn more about wavelets the book “Conceptual
Wavelets in DSP” by Lee Fugal provides in depth
theoretical knowledge about wavelet technology
• Try find a wavelet better suited for any specific
application of your choice
Fingerprint image compression 18
One of the Earliest use of wavelets was by the FBI for a fingerprint image compression standard.Before starting Note,these slides are organized into 3 parts.Introduction, summary of the working, conclusion.
Also note the layout of this template. The smaller text boxesdisplays the sub topic of what has been spoken.They are updated with every slide.The bigger text box contains what is being spoken.Of all the various sub-topics in the subject of fingerprints, these slides are an introduction to fingerprint compression.
FBI in the US has been collecting fingerprints in print format since 1924.They have close to 200 million of these and don’t want to get rid of them.Hence there is a need to digitize them.And looking at the example image of one of FBI’s print record, one would think that lossless compression is a must because of the fine details that are present in a fingerprint.But lossless compression produces typical compression ratio’s of 0.5. However compression of just 1bit per pixel is needed for feasible storage.Seeing the total data of 2000 terabytes in the US alone, one can conclude that losslesscompression with high compression ratio is a must.
Most lossy image compression models involve the loss of fine details and this is not acceptable in this case. Since fine details like sweat pores are important points of identification in court. This is were wavelets come into the picture.Now if a lossy wavelet scheme is carefully designed it can satisfy both efficient compression and mild degradation of fine details while keeping the fine details identifiable.But first lets see what goes wrong with the JPEG standard when compressing fingerprints.
In this example you are seeing a zoomed up image of a 500dpi fingerprint image. It is pixelated since its zoomed 4x into the core of the image. Please look at the two typical identification marks. The gap between the black lines, where there is a flesh island is called a ridge. And the tiny white spots are called sweat pores. These details are just a few pixels wide and this means the compression algorithm must retain the quality right down to the original quality. Most of the algorithms throw these high frequency details out. Now lets take a look at the JPEG compression.
Not very attractive for what's supposed to be an archived image quality. The fine details are pretty much history. And the whole image has these blocky pattern superimposed on it. These typical outcomes of the JPEG compression is intolerable, Automated systems fail thereby ruling out its use. Lets take a look at the solution.
WSQ stands for Wavelet / scalar quantization.This is an application specific compression scheme.The encoder consists of 3 blocks a SDWT block, an adaptive scalar quantization block and a Huffman encoder block.The use of SDWT enables the decoding to be the reverse of encoding.Lets look at the same zoomed up example image after applying WSQ
This is the same image compressed using WSQ method. The result is much better quality than JPEG. The compression ratio is 12.9:1 and the fine details are still preserved without the blocking artifacts. The next slides we see the arrangement of these three steps to get an overview.
In the DWT step, the fingerprint image is split into 64 sub bands by a discrete wavelet transform. The DWT outputs a precise floating point output that is truncated at the adaptive scalar quantizer step. This marks the irreversible lossy part of the process.In the 3rd step, the Quantized DWT output is Huffman encoded. This further minimizes the number of bits to be transmitted.For reconstruction the encoding is undone by huffmandecoder,ScalarDequantizer and an IDWT finally. Next slide we look at the wavelets selected by the FBI for this purpose.
Dilations and translations of these wavelet’s are used.The first two images are the analysis wavelet, that is the highpass filter and the analysis scaling function that is the lowpass filter in the WSQ encoder.For putting the signal back, a different wavelet/scaling pair is used, the bottom two images represent the wavelet and scaling function for synthesis.There are actually many different wavelets available and new ones being found all the time, but selecting one for a specific application is still an inexact science and depends on a lot of trial and error. However these are proven performers and hence it is set as the standard. Lets look at the summary of the working.
This is an example uncompressed image of a fingerprint.Step 1 :Wavelet image decomposition: This occurs in the DWT Block. Apply DWT to image rows and columnsThis result in 4 x 4 = 16 sub bands thenApply DWT to 3 of the sixteen sub bandsThe result is 3 more 4x4 = 16 sub bands thenThe last step of step 1 is to decompose the top left to 4 smaller sub bands..The sub bands consist of the following Sub bands, 51-63 information of the image are heavily quantized since they contain no information that are needed to classify and identify fingerprints.Sub-bands 60-63 is discarded as they have no purpose in the given application.Sub-bands 7-18 contain the portion of frequencies that correspond to the ridges in a finger print, here quantization must be very light. The 64 sub bands contain transform or wavelet coefficientscorresponding to each pixel which are floating point numbers. After quantization to a finite set of floating point numbers,they are called quantized wavelet coefficientsThe original image (589824 pixels) has been decomposed into 64 different subbands containing a total of 589824 DWT coefficients. For visualization purposes these 64 subbands are put together in a single large array that's exactly the same size as the original image.
This is an example uncompressed image of a fingerprint.Step 1 :Wavelet image decomposition: This occurs in the DWT Block. Apply DWT to image rows and columnsThis result in 4 x 4 = 16 sub bands thenApply DWT to 3 of the sixteen sub bandsThe result is 3 more 4x4 = 16 sub bands thenThe last step of step 1 is to decompose the top left to 4 smaller sub bands..The sub bands consist of the following Sub bands, 51-63 information of the image are heavily quantized since they contain no information that are needed to classify and identify fingerprints.Sub-bands 60-63 is discarded as they have no purpose in the given application.Sub-bands 7-18 contain the portion of frequencies that correspond to the ridges in a finger print, here quantization must be very light. The 64 sub bands contain transform or wavelet coefficientscorresponding to each pixel which are floating point numbers. After quantization to a finite set of floating point numbers,they are called quantized wavelet coefficientsThe original image (589824 pixels) has been decomposed into 64 different subbands containing a total of 589824 DWT coefficients. For visualization purposes these 64 subbands are put together in a single large array that's exactly the same size as the original image.
This is an example uncompressed image of a fingerprint.Step 1 :Wavelet image decomposition: This occurs in the DWT Block. Apply DWT to image rows and columnsThis result in 4 x 4 = 16 sub bands thenApply DWT to 3 of the sixteen sub bandsThe result is 3 more 4x4 = 16 sub bands thenThe last step of step 1 is to decompose the top left to 4 smaller sub bands..The sub bands consist of the following Sub bands, 51-63 information of the image are heavily quantized since they contain no information that are needed to classify and identify fingerprints.Sub-bands 60-63 is discarded as they have no purpose in the given application.Sub-bands 7-18 contain the portion of frequencies that correspond to the ridges in a finger print, here quantization must be very light. The 64 sub bands contain transform or wavelet coefficientscorresponding to each pixel which are floating point numbers. After quantization to a finite set of floating point numbers,they are called quantized wavelet coefficientsThe original image (589824 pixels) has been decomposed into 64 different subbands containing a total of 589824 DWT coefficients. For visualization purposes these 64 subbands are put together in a single large array that's exactly the same size as the original image.
Step 2:WSQ’s scalar quantizer maps a floating point wavelet transform coefficient ak onto a quantization index pk which is an integer at subband k and location m,n. Integer Index can be looked at as a integer pointer that points to a quantization table where a floating point wavelet coefficient lies.The quantization has parameters that vary from subband to subband, since different subbands have different quantization requirements.
After calculating pk, it maps these pkto the 254 codes shown. There are three groups.The first group indicates run length of 1 to 100 zero index's.The second group indicates small index's, in the range [−73, +74]. The third group indicates large indexes of more than 100 zero index's.Step 3: These values 1 to 254 are coded using Huffman codesThe standard adopted by the FBI specifies that 64 subbands be grouped into three blocks and all the subbands in a block use the same Huffman code table. The first block consists of the low- and mid-frequency subbands 0–18. The second block and third block contains high freqsubbands 19–51 and 52–59 respectively.Subbands 60–63 are completely discarded as the information contained is irrelevant to the application.Two Huffman code tables are prepared: one for the first block and the other for the second and third blocks.Huffman code table for a block of subbands is prepared by counting the number of times each of the 254 codes appears in the block. The counts are used to determine the length of each code and to construct the Huffman code tree. It is done in a way similar to the use of the Huffman code by JPEG.
The Wavelet Scalar Quantization algorithm (WSQ) is a compression algorithm used for gray-scale fingerprint images. It is based on wavelet theory and has become a standard for the exchange and storage of fingerprint images. WSQ was developed by the FBI, the Los Alamos National Laboratory, and the National Institute of Standards and Technology (NIST).This compression method is preferred over standard compression algorithms like JPEG because at the same compression ratios WSQ doesn't present the "blocking artifacts" and loss of fine-scale features that are not acceptable for identification in financial environments and criminal justice.