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:
- edges are detected on the image while retaining their
integrity and
- the image is smoothed in that noise is reduced.
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.
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:
Convolutions have another useful feature which we will exploit.
The following identity is valid for differentiation:
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:
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:
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:
Establishing the main tangent (direction of largest change)
The wavelet needs to:
- Decrease fast enough locally to emphasize the local
gradient; and
- Extend to pixels beyond the (potential) edge so that we can
identify noise.
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