Fractal Coding CS 6723 Image Processing Fall 2013
Fractals and Image Processing The word Fractal less than 30 years by one of the history s most creative mathematician Benoit Mandelbrot Other contributors: Cantor, Hausdorff, Julia, Koch, Peano, Poincare, Sierpinski, Weierstrass, Richardson Fractal from Latin verb frangere, meaning to break or fragment
Fractal Examples Basically, a fractal is any pattern that reveals greater complexity as it is enlarged, worlds within worlds
More Fractal Examples
More Fractal Examples
More Fractal Examples
Fractal Transform Typical transform: Discrete Cosine Transform (DCT) Wavelet Transform (WT) Fractal Transform: Rather than describing the image data directly, describe a system that can generate the image. Fractal image compression offers enormous compression ratios.
Fractals and Image Processing Reference Benoit B. Mandelbrot, Michael F. Barnsley, Amaud E. Jacquin Fractals for the Classroom, Heinz-Otto Peitgen, Hartmut Jürgens, Dietmar Saupe, Springer Verlag, New York, 1992. Fractal Image Compression: Theory and Application to Digital Images, Yuval Fisher (Ed.), Springer Verlag, New York, 1995 is a collection of articles on Fractal Image Encoding. Fractal Image Encoding and Analysis: A NATO ASI Series Book, Yuval Fisher (Ed.), Springer Verlag, New York, 1996
What is a fractal? A fractal is a geometric shape which 1. is self-similar and 2. has fractional (fractal) dimension Courtesy of Mary Ann Connors, University of Massachusetts
An Introduction Fractal geometry and chaos theory are providing us with a new perspective to view the world. For centuries we've used the line as a basic building block to understand the objects around us. Chaos science uses a different geometry called fractal geometry. Fractal geometry is a new language used to describe, model and analyze complex forms found in nature.
An Introduction Traditionally Euclidean pattern appear simpler as they are magnified. For example, your home in one area, the shape looks more and more like a straight line. But fractals like bumps of broccoli, are not differentiable: the more closer you come, the more detail you see.
Examples
An Introduction A few things that fractals can model are: plants weather fluid flow geologic activity planetary orbits human body rhythms animal group behavior socioeconomic patterns music and more
An Introduction Some ideas: Broccoflower This is how nature creates a magnificent tree from a seed the size of a pea... or broccoflower
Ferns An Introduction
An Introduction Others: Trees Bushes Roots and Shoots of Plants Mountains Coastlines Clouds Galaxies The Human Brain Human Circulatory System
Geometry Euclidean Traditional (>2000 yr) Based on characteristic size of scale Suits man-made objects Describe by formula Topological dimension Fractals Modern monster (~20-25 yr) No specific size or scaling Appropriate for natural shapes (recursive) algorithms Fractal dimension
Coastline of An Island D T =1 L=? N()=? Depends on : yardstick Yardstick()->0 L= N()->
Coastline of An Island Because the roughness of the coastline does not vanish in smaller scales, i.e., it does not become smoother. This is contrast to the traditional geometrical sets For these curves 1 ) k N( for small Spain vs. Portugal Netherlands vs. Belgium 987 km 1214 km 380 449 km over 20% difference
Coastline of An Island Richardson showed that 1 N( ) k D depends on roughness lim 0 D N( ) k Higher D -> 0 Right D -> k Lower D -> k D
Fractal Dimension The D for which lim 0 D N( ) k 0 is called the fractal dimension of the curve
Fractal Dimension Fractal dimension can measure the texture and complexity of everything from coastline to mountains to storm clouds. We can now use fractals to store photographic quality images in a tiny fraction of the space ordinarily needed. Fractals provide a different way of observing and modeling complex phenomena than Euclidean Geometry or the Calculus developed by Leibnitz and Newton. An arising cross disciplinary science of complexity coupled with the power of desktop computers brings new tools and techniques for studying real world systems.
Self-Similarity A fractal Looks the same Over all the range
of scale Self-Similarity
Self-Similarity Exact Self-Similarity Statistical Self-Similarity
What is a dimension? What is dimension? How do we assign dimension to an object? In what dimension does each move? a train moving along railroad tracks?
a boat sailing on a lake? a plane in the sky
Try a more difficult one Crumple it up into a ball What is the dimension of the ball?
When you carefully reopen the ball of foil, what dimension has it become?
Answers 1. Train: 1 2. Ship: 2 3. Plane: 3 4. Aluminum a) 2 b) 3 c) somewhere between 2 and 3
Mathematical Interpretation 1. Notice that the line segment is self-similar. It can be separated into 4 = 4^1 "miniature" pieces. Each is 1/4 the size of the original. Each looks exactly like the original figure when magnified by a factor of 4 (magnification or scaling factor).
Mathematical Interpretation 2. The square can be separated in to miniature pieces with each side = 1/4 the size of the original square. However, we need 16 = 4^2 pieces to make up the original square figure
Mathematical Interpretation 2. The cube can be separated into 64 = 4^3 pieces with each edge 1/4 the size of the original cube
Mathematical Interpretation In these simple cases the exponent gives the dimension: 4 = 4^1pieces 16 = 4^2pieces 64 = 4^3pieces Therefore, N (the number of miniature pieces in the final figure) is equal to S (the scaling factor) raised to the power D (dimension). N = S^D
Dimension of a Fractal In the previous cases it is easy to find the dimension by simply reading the exponent. However it's not always so easy. Consider the Sierpinski Triangle - an example of a fractal. Let's look at how it is generated: Begin with a triangle
Dimension of a Fractal Draw the lines connecting the midpoints of the sides and cut out the center triangle
Dimension of a Fractal Note that we have in our new triangle 3 miniature triangles. Each side = 1/2 the length of a side of the original triangle. Each miniature triangle looks exactly like the original triangle when magnified by a factor of 2 (magnification or scaling factor). Take the result and repeat (iterate).
Dimension of a Fractal and again and forever
Notice that the lower left portion of the triangle is exactly the same as the entire triangle when magnified by a factor of two. It is self-similar.
Now we compute the dimension of the Sierpinski Triangle: Notice the second triangle is composed of 3 miniature triangles exactly like the original. The length of any side of one of the miniature triangles could be multiplied by 2 to produce the entire triangle (S = 2). The resulting figures consists of 3 separate identical miniature pieces. (N = 3). What is D?
In general, Fractal Dimension
This method of finding fractal dimension can be used for only exact self-similar fractals. Other ways of computing fractal dimension include: mass, box, compass, etc.
Generating Fractals Three transformations are enough
Generating Fractals
What is a fractal? Fractals are self-similar geometrical objects. How to construct a fractal? The fractal can be constructed by iterating the same process. Two properties: 1. The further the process goes, the more detail is added; 2. A different initial image can be used to create the same fractal. Only the process is important. Transformation Affine Transform
Fractal Coding Consider an image like the square Transformations: 1. Take the origin as the bottom left corner, shrink the square by half; the second is shrunk and moved up; the third is shrunk and moved up and right (a) 2. Do the same thing again, but using (b) as the original to be transformed 3. Keep iteratively, and repeat the whole process four more times. (b) This is the famous fractal called Sierpinski triangle (c)
So the original square + three simple transformations this very complex detailed image Compression ratio is very high! The final image is independent of the original image, it is uniquely determined by the transforms alone.
Take a very different initial picture Apply exactly the same transformation five times. But if I take a different set of transformation
Affine Transform Affine transformations include the basic transformations of rotation, translation, reflection, scaling, and shear. A shear transform in X-direction
Affine Transform Affine Transform T AX X W ) ( d c b a A f e T e by ax x ' f dy cx y ' Or 2 2 1 1 2 2 1 1 cos sin sin cos r r r r d c b a The matrix A can always be written in the form
Affine Transform A single affine transformation W=[A, T] is defined by just 6 real numbers. The Sierpinski triangle was defined by three affine transformations, or just 18 real numbers. Fantastic compression ratio with fractal compression.
Generating Exactly Self- Similar Fractal
Fractal Dimension
Fractal Dimension
See class notes Metric Spaces
A contraction mapping doing its work, drawing all of a compact metric space X towards the fixed point.
Iterated Function System (IFS)
Iterated Function System (IFS)
Iterated Function System (IFS)
Iterated Function System (IFS)
Iterated Function System (IFS)
Iterated Function System (IFS)