How stitch works

Using brute force methods to compare images does not work. There are just too many ways photos can overlap and photos are likely to to be rotated a degree or two to each other. Two photos are also distorted realtive to each other. Cameras introduce lens distortions on photos. Stitch finds interesting areas in one photo and then try to find the interesting area on the other photo (Just like you would do with your eyes). It is assumed that images are of the same scale, so feature extraction is not needed (A small face wont be a big face in the adjacent photo).

We recognise features. For example, a rose may be recognised by its shape, colour and smell. For the recognition of an image features such as colour and edges are used.

Stitch classify visual features on images, and use an algorithm such as the nearest neighbour algorithm to find the fear=ture on an adjacent photo. Each characteristic visual object in a N-dimensional feature space can be expressed as a vector. Fit is then be expressed as a (tailored) dot product with the largest dot-product selected.

The boundaries of objects are obtained by identifying edges on an image. Adjacent photos may be subject to different exposures. By and large, the program copes reasonably well with different exposures.

Features identified through edge detection

Edge detection is my feature extraction choice. When performing edge detection, the following two functions are performed simultaneously:
These two objectives are opposing, as noise may seem like an edge. A poor transformation will enhance noise as edges, or remove edges as noise.

Edges have a directional component. To assess edges, we need to assess the derivative of images, or detect changes in images in certain directions and correlate them to derivatives of neighbouring samples. There is also the possibility that edges could occur as a local maximum (second derivative of zero at the point). Supposedly noise is a point distribution (Dirac delta) and an edge is a step (Heavyside) function.

Some of the Mathematics

Using wavelets in Pattern Recognition

A wavelet is a function that evaluates to non-zero in a limited section of an infinite domain. It also has an average value of 0.
the wavelet function
Wavelets are very flexible in tailoring metrics. The localisation property of wavelets allows us to perform a localised analysis of functions or signals.

Using Convolution (and wavelets) to find edges

The convolution of a wavelet is useful for detecting edges.

Convolution: A convolution indicates the extent or "size" of the "similarity" between two functions (Ill get flamed if I put this definition on Wikipedia). Convolution is commutative as it does not matter which function is moved over which.
For example, the convolution of functions f and g:
communitative identity of a convolution

Convolutions have another useful feature which we will exploit. The following identity is valid for differentiation:
Differentiative identity of a convolution

In the case of an image, we want to establish the maximum gradients so we can detect edges. So we want to differentiate the image to establish maximum gradients. The above identity show that we can differentiate the wavelet function instead!!!!
A one dimensional example:
image as a function in a convolution
An edge at x occur when we have a local maximum., or where the gradient or edge has a steepness above a threshold T.
We therefore detect an edge at x when the following conditions hold:
Conditions on the function to find an edge
The above example is one dimensional, and images are normally treated as two dimensional. We have to apply the above logic to the direction we are exploring on an image. We will assume that the image pixels have the same proportion in two dimensions (otherwise we would have to rescale). We can therefore easily extract pixels in the eight given directions on a rectangular pixel grid. We establish the convolution in two dimensions:
The convolution function in two dimensions
Establishing the main tangent (direction of largest change)
Direction of the image gradient
The wavelet needs to:

white wedding dresses
sherri hill 11022
white wedding dresses
sherri hill 11022
Mori Lee Dresses 2014
Sherri Hill Dresses 2014
Jovani Short Dresses 2014
Jovani Prom Dresses 2014
Jovani Homecoming Dresses 2014
La Femme Dresses 2014
Allure Dresses 2014
2Cute Dresses 2014
Mori Lee Dresses 2014
Sherri Hill Dresses 2014
Jovani Short Dresses 2014
Jovani Prom Dresses 2014
Jovani Homecoming Dresses 2014
La Femme Dresses 2014
Allure Dresses 2014
2Cute Dresses 2014