Fractal Image Compression Using Self-Organizing Mapping

One of the main disadvantages of fractal image data compression is a loss time in the process of image compression (encoding) and conversion into a system of iterated functions (IFS). In this paper, the idea of the inverse problem of fixed point is introduced. This inverse problem is based on collage theorem which is the cornerstone of the mathematical idea of fractal image compression. Then this idea is applied by iterated function system, iterative system functions and grayscale iterated function system down to general transformation. Mathematical formulation form is also provided on the digital image space, which deals with the computer. Next, this process has been revised to reduce the time required for image compression by excluding some parts of the image that have a specific milestone. The neural network algorithms have been applied on the process of compression (encryption). The experimental results are presented and the performance of the proposed algorithm is discussed. Finally, the comparison between filtered ranges method and self-organizing method is introduced.


Introduction
The mathematics behind fractals began to take shape in the 17th century when mathematician and philosopher Leibniz considered recursive self-similarity (although he made the mistake of thinking that only the straight line was self-similar in this sense) [1]. Iterated functions in the complex plane were investigated in the late 19th and early 20th centuries by Henri Poincar, Felix Klein, Pierre Fatou and Gaston Julia. However, without the aid of modern computer graphics, they lacked the means to visualize the beauty of many of the objects that they had

Neural Networks
A neural net is an artificial representation of the human brain that tries to simulate its learning process. The term "artificial" means that neural nets are implemented in computer programs that are able to handle the large number of necessary calculations during the learning process. To show where neural nets have their origin, let's have a look at the biological model: the human brain.

The Components of a Neural Net
Generally spoken, there are many different types of neural nets, but they all have nearly the same components. If one wants to simulate the human brain using a neural net, it is obviously that some drastic simplifications have to be made: First of all, it is impossible to "copy" the true parallel processing of all neural cells. Although there are computers that have the ability of parallel processing, the large number of processors that would be necessary to realize it can't be afforded by today's hardware. Another limitation is that a computer's internal structure can't be changed while performing any tasks.
And how to implement electrical stimulations in a computer program? These facts lead to an idealized model for simulation purposes. Like the human brain, a neural net also consists of neurons and connections between them. The neurons are transporting incoming information on their outgoing connections to other neurons. In neural net terms these connections are called weights. The "electrical" information is simulated with specific values stored in those weights. By simply changing these weight values the changing of the connection structure can also be simulated.
As you can see, an artificial neuron looks similar to a biological neural cell. And it works in the same way, input is sent to the neuron on its incoming weights. This input is information called the propagation function that adds up the values of all incoming weights. processed by a threshold value by the neuron's activation function. The resulting value is compared with a certain if the input exceeds the threshold value, the neuron will be activated, otherwise it will be inhibited. output on its outgoing weights to all connected neurons and so if activated, the neuron sends an on. Figure 1(a) shows a neural net structure. In a neural net, the neurons are grouped in layers, called neuron layers. Usually each neuron of input one layer is connected to all neurons of the preceding and the following layer (except the layer and the output layer of the net). The information given to a neural net is propagated layer-by-layer from input layer to output layer hidden layers. Depending on the learning algorithm, it is also through either none, one or more possible that information is propagated backwards through the net. Figure 1(b) shows a neural net with three neuron layers. Note that this is not the general structure of a neural net. For example, some neural net types have no hidden layers or the neurons in a layer are arranged as a matrix, weight matrix, the what's common to all neural net types is the presence of at least one connections between two neuron layers.

Types of Neural Nets
As mentioned before, several types of neural nets exist. They can be distinguished by their type (feedforward or feedback), their structure and the learning algorithm they use. The type of a neural net indicates, if the neurons of one of the net's layers may be connected among each other. Feedforward neural nets allow only neuron connections between two different layers, while nets of the feedback type have also connections between neurons of the same layer.

Supervised and Unsupervised Learning
Neural nets that learn unsupervised have no such target outputs. It can't be determined what the result of the learning process will look like. During the learning process, the units (weight values) of such a neural net are "arranged" inside a certain range, depending on given input values. The goal is to group similar units close together in certain areas of the value range. This effect can be used efficiently for pattern classification purposes.

Competitive Learning and Clustering
Competitive learning is a learning procedure that divides a set of input patterns in clusters that are inherent to the input data. A competitive learning network is provided only with input vectors x and thus implements an unsupervised learning procedure. We will show its equivalence to a class of 'traditional' clustering algorithms shortly.

Winner Selection: Euclidean Distance
In the competitive structures, a winning processing element is determined for each input vector based on the similarity between the input vector and the weight vector.
To this end, the winning neuron k is selected with its weight vector k w closest to the input pattern x , using the Euclidean distance measure: the winning unit can be determined by where the index k refers to the winning unit. Once the winner k has been selected, the weights are updated according to: Note that only the weights of winner k are updated. The weight update given in Equation (1.20) effectively implement a shift to the weight vector l w towards the input vector x .

Cost Function
Earlier it was claimed, that a competitive network performs a clustering process on the input data, i.e., input patterns are divided in disjoint clusters such that similarities between input patterns in the same cluster are much bigger than similarities between inputs in different clusters. Similarity is measured by a distance function on the input vectors, as discussed before. A common criterion to measure the quality of a given clustering is the square error criterion, given by where k is the winning neuron when input p x is presented. The weights w are interpreted as cluster centers. It is not difficult to show that competitive learning indeed seeks to find a minimum for this square error by following the negative gradient of the error-function [16]: where k is the winning unit, is minimized by the weight update rule

Proof 1
We calculate the effect of a weight change on the error function. So we have that where γ is a constant of proportionality. Now, we have to determine the partial derivative of p E : , 0 , which is Equation (1.6) written down for one element of l w . Therefore, Equation (1.4) is minimised by repeated weight updates using Equation (1.6).

Winner Selection: Dot Product
For the time being, we assume that both input vectors x and weight vectors l w are normalised to unit length. Each output unit l calculates its activation value l y according to the dot product of input and weight vector: In a next pass, output neuron k is selected with maximum activation : .
Activations are reset such that 1 k y = and 0 l k This is the competitive aspect of the network, and we refer to the output layer as the winner-take-all layer. The winner-take-all layer is usually implemented in software by simply selecting the output neuron with highest activation value.
We now prove that Equation ( where .  The Euclidean distance norm is therefore a more general case of Equations (1.10) and (1.11). It can be shown that this network converges to a situation where only the neuron with highest initial activation survives, whereas the activations of all other neurons converge to zero. Once the winner k has been selected, the weights are updated according to: where the divisor ensures that all weight vectors w are normalised. Note that only the weights of winner k are updated. The weight update given in Equation (1.20) effectively rotates the weight vector l w towards the input vector x . Each time an input x is presented, the weight vector closest to this input is selected and is subsequently rotated towards the input. Consequently, weight vectors are rotated towards those areas where many inputs appear: the clusters in the input.
Previously it was assumed that both inputs x and weight vectors w were normalised. Using the activation function given in Equation (1.10) gives a "biological plausible" solution. Figure 2(b) shown how the algorithm would fail if unnormalised vectors were to be used.
An almost identical process of moving cluster centres is used in a large family of conventional clustering algorithms known as square error clustering methods, e.g., k-means, forgy, isodata, cluster. From now on, we will simply assume a winner k is selected without being concerned which algorithm is used.

The Inverse Problem of Fractals
The term Fractals was coined by Mandelbrot in 1975 to such sets, from the Latin word fractus, meaning broken.
He provided a precise technical definition [17]: "fractal is a set with Hausdorff dimension strictly greater than its topological dimension". Instead of giving a precise definition of fractals which almost exclude some interesting cases, it is better to regard a fractal as a set that has the properties [18]: 1) Has a "fine" structure. 2) Has some type of self-similarity.
3) Difficult to be described globally or locally by the classic Euclidean geometry. 4) Usually has a non-integer dimension. 5) Defined by a simple model that can be rendered recursively or iteratively. 6) Is usually a strange attractor for a dynamical system.

Iterated Function System
Barnsleyin 1988 introduced the iterated function system (IFS) [17] as an applications of the theory of discrete dynamical systems and useful tools to build fractals and other self-similar sets. The mathematical theory of IFS is one of the basis for modeling techniques of fractals and is a powerful tool for producing mathematical fractals such as Cantor set, Sirpinski gasket, etc, as well as real word fractals representing such as clouds, trees, faces, etc. IFS is defined through a finite set of affine counteractive mapping mostly of the form: : , 1, 2, , , In particular case, two-dimensional affine maps have the following form: This map could be charaterized by the six constants a, b, c, d, e, f, which establish the code of f.

Fractal Inverse Problem
The fractal inverse problem is an important research area with a great number of potential application fields. It consists in finding a fractal model or code that generates a given object. This concept has been introduced by Barnsley with the well known collage theorem [5]. When the considered object is an image, we often speak about fractal image compression. A method has been proposed by Jacquin [6] to solve this kind of inverse problem.

X ,h 
Since the number of points in fractal sets is infinite and complicatedly organized, it is difficult to specify exactly the generator IFS. From the practical point of view, it will be acceptable for the required IFS to be chosen such that its attractor is close to a given image for a pre-defined tolerance.
The collage theorem is very useful to simplify the inverse problem for fractal images [5], it has been addressed by many researchers as well [19].
be a hyperbolic IFS with contractivity factor s, and W be the associated hutchinson map then The theorem can be used as following. Given a fractal image A , find a set of contractive mappings that maps A into smaller copies of itself such that the union of the smaller copies is close as ε to the target image. The determined contractions are the IFS codes with corresponding Hutchinson operator W .
The theorem states that, the attractor W A of the determined IFS W approximates the target image A (i.e., It also implies that, the more accurately the IFS maps the image to itself, the more accurately the IFS approximates the image.

Fractal Image Compression by Means of Kohonen Network
The Kohonen layer is a Winner-take-all (WTA) layer. Thus, for a given input vector, only one Kohonen layer output is 1 whereas all others are 0. No training vector is required to achieve this performance. Hence, the name: ∀ , which we call range--vector and domain--vector receptively. Let us apply the kohonen network algorithm to cluster the domain vectors. In the beginning, domain vectors will train the network (learning), and, later, the range vectors will input the network to choose the optimal domain.

Global Codebook
The idea of the global codebook is to assign a fixed domain pool for the entire range pool or for a specific class of it (e.g. set of range blocks that have the same size in a quad tree partition) [16]. In the global codebook each rang block in the range pool has its own domain pool, and this domain pool can be selected by many ways. One of the methods of selecting the domain pool for a range block is to construct a set of domain blocks that are spatially close to the range block [11]. 4) omit i r from R and mark it as one typed.

Results and Discussion
A gray level images of size 256 256 × have been considered for training the network. A range pool is created having ranges of size 4 4 × and 8× * domain blocks. The computer simulations have been carried out in Visual C# environment on Pentium Dual CPU with 1.73 GHz and 2.00 GB RAM and the results have been presented in Table 1. Table 1 compares fractal image compression results where the standard scheme is introduced in [19] and the self-organizing method. The neural method classifies domains using the self-organizing neural network approach, in each case, a total of 320 domain cells were used. A larger number of domains would have increased encoding times and provided marginally better compression ratios. The self-organizing method is faster than the filtered ranges method and therefore faster than the baseline method.