Wavelets in Image Processing

advertisement
Two-Dimensional Wavelets
ECE 802
Spring 2010
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)
and the dilation equation assumes the form:
 ( x, y)  2 h(k , l ) (2x  k ,2 y  l )
k ,l
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:
• The corresponding dilation equations are:
where g(I) (k,l)=h(k)g(l), g(II) (k,l)=g(k)h(l),
g(III) (k,l)=g(k)g(l).
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  Vj2 Wj2
2D wavelet decomposition
• The approximation and detail coefficients
are computed in a similar way:
• The reconstruction is:
Filterbank Structure:
Decomposition
•
Filterbank Structure:
Reconstruction
•
The Three Frequency Channels
We can interpret the decomposition as a breakdown of the signal
into spatially oriented frequency channels.
Decomposition of
frequency support
Arrangement of wavelet
representations
Wavelet Decomposition:Example
LENA
LH
HL
HH
Wavelet Example 2
Applications: Edge Detection in
Images
•
Application: Image Denoising
Using Wavelets
• Noisy Image:
• Denoised Image:
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.
Image Denoising Using Wavelets
• Calculate the DWT of the image.
• Threshold the wavelet coefficients. The threshold
may be universal or subband adaptive.
• Compute the IDWT to get the denoised estimate.
• Soft thresholding is used in the different
thresholding methods. Visually more pleasing
images.
VisuShrink
• Apply Donoho’s universal threshold,
 2 logM
• 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.
BayesShrink Empirical Threshold
• An empirical threshold is used in practice
that is very close to the optimum threshold.
• Adapts to the SNR in each subband.
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
Denoising and Enhancement
• Apply DWT
• Shrink transform coefficients in finer scales
to reduce the effect of noise
• Emphasize features within a certain range
using a nonlinear mapping function
• Perform IDWT to reconstruct the image.
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
FBI Fingerprint Compression
• A single fingerprint is about 700,000 pixels,
and requires about 0.6MBytes.
Image Compression and
Wavelets
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
Disadvantages of DCT: Why
wavelets?
• DCT based JPEG uses
blocks of image, there is
still correlation across
blocks.
• Block boundaries are
noticeable in some cases
• Blocking artifacts at low
bit rates
• Can overlap the blocks
Computationally
expensive
Was JPEG not good enough?
• JPEG is based on
DCT.
• Equal subbands.
• At low bit rates, there
is a sharp degradation
with image quality.
• 43:1 compression ratio
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
Wavelets in Image Coding
• Orthogonal vs. Biorthogonal:
–
–
–
–
–
–
–
JPEG 2000 uses biorthogonal filters
Lossless and lossy compression
Cohen-Daubechies-Feavau filters 9/7
CDF 5/3 for lossless compression (integer)
Filters are symmetric/anti-symmetric
Nearly orthogonal
Symmetric extensions of the input data
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.
DWT for Image Compression
• Image Decomposition
– Parent
– Children
– Descendants:
corresponding coeff. at
finer scales
– Ancestors: corresponding
coeff. at coarser scales
LL3
HL3
HL2
LH3
HH3
LH2
HL1
HH2
LH1
HH1
–Parent-children dependencies of subbands: arrow points
from the subband of parents to the subband of children.
DWT for Image Compression
• Image Decomposition
– Feature 1:
• Energy distribution
concentrated in low
frequencies
– Feature 2:
• Spatial self-similarity across
subbands
LL3
HL3
HL2
LH3
HH3
LH2
HL1
HH2
LH1
HH1
The scanning order of the subbands
for encoding the significance map.
DWT for Image Compression
• Differences from DCT Technique
– In conventional transform coding:
• Anomaly (edge) produces many nonzero coeff.
insignificant energy
• TC allocates too many bits to “trend”, few bits left to
“anomalies”
• Problem at Very Low Bit-rate Coding : block artifacts
– 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?
Embedded Zerotree Wavelet
Compression (EZW)
•
The zerotree is based on the
hypothesis that if a wavelet
coefficient at a coarse scale is
insignificant, then all wavelet
coefficients of the same orientation
in the same spatial location at finer
scales are likely to be insignificant.
– Natural images in general have
a low pass spectrum. When an
image is wavelet transformed,
the energy in the sub-bands
decreases with the scale goes
higher so the wavelet
coefficient will, on average, be
smaller in the higher levels.
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 Image Coding
• Embedded Coding
– Having all lower bit rate codes of the same
image embedded at the beginning of the bit
stream
– Bits are generated in order of importance
– Encoder can terminate encoding at any point,
allowing a target rate to be met exactly
– Suitable for applications with scalability
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 don’t 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.
• Third step: Arithmetic coding is used to entropy code the symbols
EZW Image Coding
• Zerotree of DWT Coefficients
– Significance map: Binary decision as to a pixel = 0 or not
– Total encoding cost = cost of encoding significance map + cost of
encoding nonzero values
– 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.
Set Partitioning in Hierarchical Trees
(SPIHT)
• Modify EZW.
• Order coefficients by magnitude and
transmit the most significant bits.
• Progressive transmission.
EBCOT (Embedded Block
Coding with Optimized
Truncation)
• Implements tiling, DC-level shifting, DWT, arithmetic
coding
• Compression of the image at different resolutions
JPEG2000 encoding process
Progression
• Progression by Quality
Region of Interest Coding
• Code different regions of interest with
different quality
• Scale coefficients such that the bits
corresponding to ROI are in the higher bit
plane.
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
Download