500 likes | 695 Views
Some applications of wavelets. Anna Rapoport. FBI Fingerprint Compression. Between 1924 and today, the US Federal Bureau of Investigation has collected over 200 million cards of fingerprints
E N D
Some applications of wavelets Anna Rapoport
FBI Fingerprint Compression • Between 1924 and today, the US Federal Bureau of Investigation has collected over 200 million cards of fingerprints • Some come from employment and security checks, but 114.5 million cards belong to some 29 million criminals (bad guys tend to get fingerprinted more than once)
Some more facts… • This includes some 29 million records they examine each time they're asked to “round up the usual suspects.” • And to make matters worse, fingerprint data continues to accumulate at a rate of 30,000-50,000 new cards PER DAY
Let’s make simple calculations: The FBI is digitizing the nation's fingerprint database at 500 dots per inch with 8 bits of grayscale resolution. At this rate, a single fingerprint card turns into about 10 MB of data! Multiplied by 200 million cards – about 2,000 terabytes!
How to make checks faster? The FBI decided to adopt a wavelet-based image coding algorithm as a national standard for digitized fingerprint records. Some form of data compression is necessary!
The FBI standard - WSQ • The WSQ (Wavelet/Scalar Quantization) developed and maintained by the FBI, Los Alamos National Lab, and the National Institute for Standards and Technology involves: • 2-dimensional discrete wavelet transform DWT • Uniform scalar quantization • Huffman entropy coding
Wavelets come to the stage! Lately, wavelets have made quite a splash in the field of image processing: FBI fingerprint image compression Next-generation image compression standard JPEG-2000
What are the principles behind compression? • Two fundamental components of compression are redundancy and irrelevancy reduction. Redundancy reduction aims at removing duplication from the signal source (image/video). Irrelevancy reduction omits parts of the signal that will not be noticed by the signal receiver, namely the Human Visual System (HVS).
Image compression steps: Original image Source encoder linear transform to decorrelate the image data (lossless) (reconstructed) (inverse T) Quantization of basis functions coefficients (lossy) (dequantization) Compressed image Entropy Coding of the resulting quantized values(lossless) (decoding)
Basic ideas of linear transformation • We change the coordinate system in which we represent a signal in order to make it much better suited for processing (compression). • We should be able to represent all the useful signal features and important phenomena in as compact manner as possible. • Important to compact the bulk of the signal energy into the fewest number of transform coefficients.
The Good Transform Should: Decorrelatethe image pixels Provide good energy compaction Desirable to be orthogonal
Which options do we have for linear transformation? A possible choice for the linear transformation are: • DFT • or, avoiding complex coefficients, the DCT • JPEG (decomposition into smaller subimages of size 8x8 or 16x16, followed by DCT as the compression algorithm)
Why Wavelet-based Compression? • No need to block the input image and its basis functions have variable length avoid blocking artifacts. • More robust under transmission and decoding errors. • Better matched to the HVS characteristics. • Good frequency resolution at lower frequencies, good time resolution at higher frequencies – good for natural images.
Transformation - FWT Original Image Reconstructed Wavelet coefficients
Example of DWT (Haar Basis) Let’s consider a 1D 4-pixel Image [ 9 7 3 5] Average (smoothing) [ 9 7 3 5] Detail coefficients (edge detection) (9 + 7)/2 (3 + 5)/2 [ 8 4 ] (9 - 7)/2 (3 - 5)/2 [ 1 -1 ] WT [ 6 2 1 -1 ] (8 + 4)/2 6 (8 – 4)/2 2
Mathematical Look at FWT • Assume that our 1D image is a piecewise constant function on the half-open interval [0,1) • One-pixel image is a const on the entire [0,1) – 1D vector • Denote V0 to be the vector space of all such functions (1D space) • Two-pixel image is a function having two constant pieces in intervals [0,1/2] and [1/2,1), so it’s a 2D vector - their spaceV1 • In this manner, the space Vjwill include all piecewise-constant functions with constant pieces over each of 2j equal-sized subintervals • Example: Our 4-pixel 1D image [9 7 3 5] is a vector in V2
Nested Spaces • Every vector in Vj can be represented in Vj+1 so spaces Vj are nested V0V1 V2… • The idea of nested spaces is one of the basic ingredients of the theory of multiresolution.
Basis for Vector space Vj • Basis functions for Vj are called scaling functions and are denoted by φ. • A simple basis forVjis given by the set of scaled and translated box functions: φij(x) : = φ (2j x - i) i = 0,…, 2j – 1 where φ(x) :=1, for 0 x <1 0, otherwise • Example basis for V2:
Definition of Wavelets • Define Wj as the orthogonal complement of Vj in Vj+1, i.e. Wj ⊕ Vj=Vj+1 • A collection of linearly independent functions ij(x)spanning Wjare called wavelets: • The basis fun-s ij(x) and φij(x)form a basis in Vj+1 • For each j ij(x) orthogonal to φij(x) • Wavelets are orthogonal to each other
Haar Wavelets • The wavelets corresponding to the box basis are known as Haar Wavelets: ij(x) : = (2j x - i) i = 0,…, 2j – 1 where 1, for 0 x <1/2 (x):= -1, for 1/2 x <1 0, otherwise • Example: Haar Wavelets for W1
Wavelets as a form of MA Wavelets work for decomposing signals (such as images) into hierarchy of increasing resolutions: as we consider more layers, we get more and more detailed look at the image.
What have we get till now? • We have matrix of coefficients (average signal and detail signals of each scale) • No compression has been accomplished yet, even the obtained representation can be longer than the original (since the decomposition uses a floating point representation, while the original signal could use an integer representation). • Compression is achieved by quantizing and encoding coefficients
The lossy step Quantization • A quantizer simply reduces the number of bits needed to store the transformed coefficients by reducing the precision of those values. Since this is a many-to-one mapping, it is a lossy process and is the main source of compression in an encoder. Quantization can be performed on each individual coefficient, which is known as Scalar Quantization (SQ).
The first idea of quantization: Coefficients that corresponds to smooth parts of data become small. (Indeed, their difference, and therefore their associated wavelet coefficient, will be zero, or very close to it). So we can throw away these coefficients without significantly distorting the image. We can then encode the remaining coefficients and transmit them along with the overall average value.
Entropy encoding and decoding • Once the quantization process is completed, the last encoding step is to use entropy coding to achieve the entropy rate of quantizer. The Shannon entropy provides a lower bound in terms of the amount of compression entropy coding can best achieve. • Examples: • Huffman • Arithmetic coding
Examples: FBI WSQ Results Reconstructed image (compressed file size 32702, compressed ratio 18:1) Original image 541832 bites 768x768
WSQ vs. JPEG WSQ image, file size 30987 bytes, compression ratio 19.0. JPEG image, file size 30081 bytes, compression ratio 19.6.
EPIC (Efficient Pyramid Image Coder)(by Euro Simoncelli and Edward Adelson) Based on biorthogonal wavelet decomposition and run-length/Huffman entropy coding Original image (512x512)262144 bytes Compressed 20:1 13103 bytes
Original image (512x512)262144 bytes Compressed 40:1 6550 bytes
Original image (512x512)262144 bytes Compressed 80:1 3275 bytes
Wavelet denoising • DWT of the image is calculated • Resultant coefficients are passed through threshold testing • The coefficients < threshold are removed, others shrinked • Resultant coefficients are used for image reconstruction with IWT.
The Idea • The intuition behind this approach is that the neighboring pixels exhibit high correlation, which translates to only a few large wavelet coefficients. On the other hand, the noise is evenly distributed among the coefficients and is generally small. yi =xi + ni
Hard threshold Soft threshold Threshold techniques σ – is the scale of the noise in SD scale N – is a block size in the WT = σ (2log(N))½
Advantages of Wavelet Denoising • It’s possible to remove the noise with little loss of details. • The idea of wavelet denoising based on the assumption that the amplitude, rather than the location, of the spectra of the signal to be as different as possible for that of noise.
References • “Wavelet Image Compression” Zixiang Xiong, Kannan Ramchandran http://lena.tamu.edu/~zx/ • EPIC (Efficient Pyramid Image Coder) http://www.cis.upenn.edu/~eero/epic.html • “Filtering (Denoising) in the Wavelet transform Domain” Yousef M. Hawwar, Ali M. Reza et al http://www.xilinx.com/products/logicore/dsp/denoise_wavelet.pdf • Wavelet Denoising with MatLab http://www-lmc.imag.fr/SMS/software/GaussianWaveDen/