Professional Documents
Culture Documents
Two-Dimensional Wavelets
For image processing applications we need wavelets that are two-dimensional. This problem reduces down to designing 2D filters. We will focus on a particular class of 2D filters: separable filters (can be directly designed from their 1D counterparts)
2D Scaling Functions
The theories of multiresolution analysis and wavelets can be generalized to higher dimensions. In practice the usual choice for a two-dimensional scaling function or wavelet is a product of two one-dimensional functions. For example,
( x, y) ( x) ( y)
2D Wavelet Functions
Since ( x), ( y) both satisfy the dilation equation, h(k , l ) h(k )h(l ) We can analogously construct the wavelets. However, now instead of 1 wavelet function, we have 3 wavelet functions:
Example: 2D Haar
2D Haar scaling:
2D Haar wavelets:
Subspaces
V2j is the two-dimensional subspace at scale j. As j increases, we get L2(R2).
V j2 V j V j
V 2 j 1 V j2 Wj2
2D wavelet decomposition
The approximation and detail coefficients are computed in a similar way:
The reconstruction is:
Wavelet Decomposition:Example
LENA
LH HL HH
Wavelet Example 2
Denoising Images
Denoising Daubechies face:
Transform the image to the wavelet domain using Coiflets with three vanishing moments Apply a threshold at two standard deviations Inverse-transform the image.
VisuShrink
Apply Donohos universal threshold,
2 log M
M is the number of pixels. The threshold is usually high, overly smoothing.
SUREShrink
Subband adaptive, a different threshold is calculated for each detail subband. Choose the threshold that will minimize the unbiased estimate of the risk:
This optimization is straightforward, order the wavelet coefficients in terms of magnitude and choose the threshold as the wavelet coefficient that minimizes the risk.
BayesShrink
Adaptive data-driven thresholding method Assume that the wavelet coefficients in each subband is distributed as a Generalized Gaussian Distribution (GGD) Find the threshold that minimized the Bayesian risk.
GGD
Shape parameter , std. .
BayesShrink
Choose the threshold that will minimize the Bayesian risk. There is no closed form for the threshold.
Comparisons
Image Enhancement
Image contrast enhancement with wavelets, especially important in medical imaging Make the small coefficients very small and the large coefficients very large. Apply a nonlinear mapping function to the coefficients.
Experiments
Examples
Original Denoised Denoising with Enhancement
Edge Detection
Edges correspond to the singularities in the image and are related to the local maxima of wavelet coefficients. For edge detection, a smoothing function (such as a spline) and two wavelet functions are defined. Wavelet functions are usually the first and second order derivatives of the smoothing function. Examples: Keep the detail coefficients and discard the approximation coefficients Edges correspond to large coefficients
Applications
Computer vision Image processing in the human visual system has a complicated hierarchical structure that involves several layers of processing. At each processing level, the retinal system provides a visual representation that scales progressively in a geometrical manner. Intensity changes occur at different scales in an image, so that their optimal detection requires the use of operators of different sizes. Therefore, a vision filter have two characteristics: it should be a differential operator, and it should be capable of being tuned to act at any desired scale. Wavelets are ideal for this
Why Compression?
Uncompressed images take too much space, require larger bandwidth for transmission and longer time to transmit Examples:
512x512 grayscale image: 262KB 512x512 color image: 786KB
The common principle beyond compression is to reduce redundancy: spatial and spectral redundancy
Types of Compression
Lossy vs. Lossless: Lossy compression discards redundant information, achieves higher compression ratios. Lossless compression can reconstruct the original image. Predictive vs. Transform Coding
Components of a Coder
Source Encoder: Transform the image
DFT,DCT,DWT (linear transforms)
Quantizer: Scalar vs. Vector (lossy coding) Entropy Encoder: Compresses the quantized values (lossless)
Original JPEG
Use DCT to transform the image (real part of DFT)
Original JPEG
Transform each 8x8 block using DCT Since adjacent pixels are highly correlated, most of the coefficients are concentrated at lower frequencies. Quantize the DCT coefficients (uniform quantization) and then entropy encode for further compression
Why Wavelets?
No need to block the image More robust under transmission errors Facilitates progressive transmission of the image (Scalability)
Features of JPEG2000
Multiple Resolution: Decomposes the image into a multiple resolution representation. Progressive transmission: By pixel and resolution accuracy, referred to as progressive decoding and signal-to-noise ratio (SNR) scalability: This way, after a smaller part of the whole file has been received, the viewer can see a lower quality version of the final picture. Lossless and lossy compression Random code-stream access and processing: JPEG 2000 supports spatial random access or region of interest access at varying degrees of granularity. This way it is possible to store different parts of the same picture using different quality. Error resilience: JPEG 2000 is robust to bit errors introduced by noisy communication channels, due to the coding of data in relatively small independent blocks.
JPEG2000 Basics
General block diagram of the JPEG 2000 (a) encoder and (b) decoder
Steps in JPEG2000
Tiling: The image is split into tiles, rectangular regions of the image that are transformed and encoded separately. Tiles can be any size. Dividing the image into tiles is advantageous in that the decoder will need less memory to decode the image and it can opt to decode only selected tiles to achieve a partial decoding of the image. Using many tiles can create a blocking effect. Wavelet Transform: Either CDF 9/7 or CDF 5/3 biorthogonal wavelet transform. Quantization: Scalar quantization Coding: The quantized subbands are split into precincts, rectangular regions in the wavelet domain. They are selected in a way that the coefficients within them across the sub-bands form approximately spatial blocks in the image domain. Precincts are split further into code blocks. Code blocks are located in a single sub-band and have equal sizes. The encoder has to encode the bits of all quantized coefficients of a code block, starting with the most significant bits and progressing to less significant bits by EBCOT scheme.
HL1
HH2
LH2
LH1
HH1
Parent-children dependencies of subbands: arrow points from the subband of parents to the subband of children.
Feature 2:
Spatial self-similarity across subbands
LL3 LH3 LH2 HL3 HL2 HH3
HL1
HH2
LH1
HH1
The scanning order of the subbands for encoding the significance map.
DWT
Trends & anomalies information available Major difficulty: fine detail coefficients associated with anomalies the largest no. of coeff. Problem: how to efficiently represent position information?
EZW
1. 2. 3. We can set a threshold T, if the wavelet coefficient is larger than T, then encode it as 1, otherwise we code it as 0. 1 will be reconstructed as T (or a number larger than T) and 0 will be reconstructed as 0. We then decrease T to a lower value, repeat 1 and 2. So we get finer and finer reconstructed data.
There are coefficients in different subbands that represent the same spatial location in the image depicted by a quad tree.
If a wavelet coefficient at a coarse scale is insignificant with respect to a given threshold T, i.e. |c|<T then all wavelet coefficients of the same orientation at finer scales are also likely to be insignificant with respect to T.
EZW Algorithm
First step: The DWT of the entire 2-D image will be computed by FWT Second step: Progressively EZW encodes the coefficients by decreasing the threshold All the coefficients are scanned in a special order
If the coefficient is a zero tree root, it will be encoded as ZTR. All its descendants dont need to be encoded they will be reconstructed as zero at this threshold level If the coefficient itself is insignificant but one of its descendants is significant, it is encoded as IZ (isolated zero). If the coefficient is significant then it is encoded as POS (positive) or NEG (negative) depends on its sign.
An element of zerotree:
A coeff.: itself or some of its descendants are significant w.r.t. threshold T Zerotree root: An element of zerotree, & not a descendant of a zero element at a coarser scale Isolated zero: Insignificant, but has some significant descendant
Significance map can be efficiently represented as a string of four symbols: * Zerotree root * Isolated zero * Positive significant coeff. * Negative significant coeff.
Progression
Progression by Quality
Scalability
SNR scalability and spatial scalability The ability to achieve coding of more than one quality Resilience to transmission errors, no need to know target bit rate/resolution, no need for multiple compressions
SNR Scalability
The bit stream can be decompressed at different quality levels (SNR)
Decompressed image bike at (a) 0.125 b/p, (b) 0.25 b/p, (c) 0.5 b/p
Spatial Scalability
The bit stream can be decompressed at different resolution level