Upload
others
View
26
Download
0
Embed Size (px)
Citation preview
Edge Detection Using Micro Saccades
Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong
Neuramatix Sdn. Bhd., Mid-Valley City, Kuala Lumpur, Malaysia
Abstract
Edge detection is one of the most important functions
used in the arena of image processing. Its applications
has a wide range from medical to weather forecasting.
Conventional Edge detection algorithms often neglect
edges or produce false edges (Sobel, Perwitt, Robert).
Even if the edge detection is good i.e. Canny the
computation requires a manual input of threshold and
is complex. Conventional algorithms can be time
consuming and computationally expensive. We take
the idea of micro-saccadic eye movement as the basis
of our algorithm to detect the edges by calculating the
relative luminosity of every pixel. In this paper we
compare the results of our micro-saccadic algorithm
with other edge detection algorithms. The results show
that our algorithm has better quality of edges, is very
fast and works equally well on low resolution images.
Edge Definition: An edge can be defined as a set of
contiguous pixel positions whereby an abrupt change
of intensity (gray or colour) values occur. A sharp
change in the intensity of the pixel defines the location
of edges [2]. An edge in an image is the contour
across which the brightness of the image changes
abruptly [2]. The discontinuities are the abrupt change
in the pixel intensities [4].
Edge Detection: The separation of a scene into
foreground objects and background is an essential
step in image interpretation. The human eye can
effortlessly carry out this process but computer
algorithms which emulate this task suffer from
certain limitations. An edge is a boundary between
homogenous regions [3]. Edge detection refers to the
process of identifying and locating sharp
discontinuities in an image [2]. Edge Detection plays
essential role in the field of object recognition. It is
one of the core tools used in pattern recognition,
image segmentation and scene analysis [2]. The
detection of images has been an area of interest for
the researchers for more than 5 decades [3].
The edge of an image reduces the amount of data
that needs to be processed for the recognition of
objects in an image, and at the same time it retains
the important information about the shape of an
object in the respective image. The description of the
image in the form of edges simplifies integration
with a large number of image recognition algorithms
[3]. Integration of the boundaries provided by the
edge detection algorithms with the object recognition
algorithms can vastly improve the performance of
the recognition algorithm. It is important for low
level image processing and sharp edges are necessary
for higher level processing of the image [6]. Edge
detection has numerous applications. It is used in the
field of medical imaging, computer guided surgery
diagnosis, satellite images, face and figure print
recognition, automated traffic control system etc [5].
It is also used in the classification of various species
of animals such as different kinds of fishes and
sharks [1]. Luminosity of the pixels plays an
important role in the detection of potential edges
because the quality of the edges is highly dependent
on the presence of the objects which have different
intensities with respect to the background. Our
algorithm makes use of the property of intensity of
the pixel to determine the edges. While problems
with conventional algorithms can be handled by
using optimal values of the parameters like the
threshold value of which pixel should be marked as
the edge etc, no good method has been formulated
that automatically calculates the values of these
parameters [6].
Other existing Edge detection algorithms and
weaknesses of those algorithms:
There are two main operators used in edge detection
methods: Gradient Operators (first order derivatives)
and Laplacian operators (Second order derivates).
Classical gradient based operators like Sobel, Prewitt
and Robert were initially used for edge detection but
they did not produce sharp edges. On the other hand
the Laplacian based operators like Marr Hildrith
suffer from high probability of detecting false edges
and potentially high localization error at curved
edges. The most widely used algorithm is the one
proposed by Jon F Canny which is also known as
Canny edge detection method. It is considered as the
ideal edge detection algorithm for images that have
been corrupted by noise [5]. Most of the classical
gradient based operators use the gradient kernel to
calculate gradient magnitude of the pixel [5]. Sobel
and Prewitt uses local gradient operators which only
detects the edges which have certain orientation and
performs poorly when the edges are blurred and
noisy[3]. The threshold values in the above stated
algorithms need to be set manually with respect to
the type of the image. Micro-saccadic edge detection
has a relative calculation of the threshold and does
not need to be manually changed for every image.
The edges which are produced by the Marr Hildrith
algorithm are thick and spotty [6]. Canny took
certain criteria into consideration before he
developed his algorithm. The first one was the low
error rate which comprises of the fact that the true
edges should not be missed and false edges should
not be detected. The second criterion was that the
distance between the actual edge pixel and the edge
detection pixel should be minimum. The third
criteria was that there should be only one response to
the edges [4].Canny edge detection has certain
advantages which is that it is less sensitive to noise
as compared to classical operators, due to the use of
the Gaussian filter[5]. The single threshold of the
classical operators results in the streaking problem,
but Canny edge detection uses Hysterics
Thresholding. It makes use of two thresholds high
and low. The dependence on two thresholds makes
the algorithm dependent on two parameters for
optimal performance [2][5]. Canny provides edge
gradient orientation which results in good
localization [5]. The Canny edge detector may
become confused at corners wherein the direction of
edge changes abruptly, as the corner pixel will look
into wrong direction for its neighbours. The colour
version of the Canny gives double lines as the edges
may be detected at different locations in each
channel (Red, Blue, Green) [6]. Canny better detects
the images in noise conditions. However the
calculation involved in Canny edge detection is very
complex, with false zero crossing and can be very
time consuming [4]. Most review papers state that
Canny is by far the best edge detection algorithm [5].
On the other hand one advantage of the classical
algorithms (Sobel and Robert) is that they are very
simple for implementation, however these methods
are very sensitive to the noise in an image and edges
detected are often inaccurate.
Micro Saccadic eye movement:
In human vision the highest resolution is achieved at
the eye’s fovea; which is the focus of the retina. The
fovea has the highest receptor density. The eye needs
to be aligned to the visual target. In order to achieve
this human eye continuously seeks and moves
rapidly at different points of interest within its field
of view. The human eyes use saccades and fixation
to scan a visual scene [10]. Fixations keep the target
steady with respect to the photo receptors on the
retina [9]. During Fixation human eyes produce
small movements which are called ‘fixational eye
movement’ that include micro saccades [7]. Micro
saccades occur during visual exploration and visual
search [9]. Micro saccades are involuntary and they
occur during eye fixations [10]. We believe this
movement at the time of fixation enhances the
detection of the objects on the retina. Micro saccades
are addressed in literature using other names such as
small, miniature or fixational saccades, mini-
saccades, jerks, flicks, jumps etc [10]. The direction
of the micro-saccades depends on the kind of vision.
There are indications that the micro-saccades are
directed in multiple directions. The main difference
between the micro-saccades and saccadic eye
movement is the degree of the arc where in the
former has smaller degree of arc (30 min-arc). The
latter has more noticeable degree of movement. The
function which micro-saccades serve is
controversial. Initially it was proposed that the
micro-saccadic movements re-foveate the target after
the inter-saccadic drift. It was later found out that the
micro-saccades both introduce and correct fixation
errors [7]. Micro-saccades lead to the visual
restoration of fading targets during fixation for both
foveal and peripheral targets. Multiple micro-
saccades within short interval restored faded vision
more effectively than one micro-saccade. Micro-
saccades of all direction restore the target visibility.
These eye movements help in the recognition of
object by humans and other animals. Empirical
studies between the eye movements and the face
recognition have been focusing on finding the region
of interest. ROI is the region in an object which
people frequently fixate in. Studies have shown that
these eye movements (saccades and micro-saccades)
where more likely to be driven to more informative
areas of the image such as edges and high-spatial-
frequency areas [8].The recognition of edges in an
image help the human to segregate the objects from
the background.
Our Micro saccadic Algorithm and its association
with Micro Saccadic eye movement:
The limitations of existing edge detection algorithms
lead to the question that is there any other method or
algorithm that can be implemented based on the
human visual system can be used to solve the issue
of edge detection. Using the concept of micro
saccades an edge detection algorithm has been
devised that is not only much faster than
conventional edge detection methods but also
provides more detailed edges. One notable aspect of
the algorithm is that it is computationally simple to
implement which in turn makes the processing very
fast. Similar to the way in which the micro saccades
work our algorithm compares the nearby pixels to
determine the relative change in the luminosity of the
pixels and find potential edges. The comparison is
performed between pixels adjacent to the original
pixel or the pixel at any minor distance (n) from the
original pixel. The distance of comparative pixels is
minor because the degree of arc for micro-saccadic
movement is very small. The algorithm is based on
our understanding of the concept of neuronal
networks where the relative difference of the two
spatially associated neurons (A & B) determines the
activity of a third neuron (C).
Fig 1: The relative difference in the luminosity of the
two neurons determines the activity of the third
neuron
Micro-saccadic movement to find the relative
luminosity of the pixel can be executed in any
direction (Vertical, horizontal and diagonal),
however our micro-saccadic algorithm gives
preference to the vertical and horizontal directions
because these are the direction that human vision
system takes most into consideration. The code
works as follows
The change in luminosity between the two pixels is
calculated using the formula. The program detects
the change in the natural Logarithm of the luminosity
and uses this relative difference of the luminosity to
identify edge pixels.
LuminosityRa = Log 10 (0.229*ra)
LuminosityGa = Log 10 (0.587*ga)
LuminosityBa = Log 10 (0.114*ba)
LuminosityRb= Log 10 (0.229*rb)
LuminosityGb= Log10 (0.587*gb)
LuminosityBb= Log10 (0.114*bb)
LuminosityC=(LuminosityRa-
LuminosityRb)+(LuminosityGa-LuminosityGb)+(
LuminosityBa - LuminosityBb)
Where r, g and b are the red green and blue values
of the pixels. LuminosityR, LuminosityG,
LuminosityB are the respective intensities of the
pixels and LuminosityP is the relative intensity of the
pixel.
Pixels with intensity above an absolute threshold
(determined relatively) are selected for the formation
of the edges.
A decrease in luminosity defines a black pixel and
an increase in luminosity defines a white pixel.
The final output is an image with black and white
edges respectively shown on a gray background.
A notable aspect of our Micro-saccadic edge
detection is the relative calculation of the threshold.
The threshold is relative to the image. In order to
find the threshold we find the relative luminosity of
each pixel of the image with respect to another pixel
at horizontal/vertical micro-saccadic distance (n).
Based on this luminosity value we calculate the
spectrum of the values across the whole image. It
gives us the range of the luminosity values for the
image. We calculate the weighted mean of the
luminosity values with respect to the pixel count to
get the threshold.
T = ∑ 𝐿𝑖 𝐶𝑖
∑ 𝐶𝑖± σ
Where T is the threshold Li is the relative
luminosity of the pixel and Ci is the count of pixels
having the value of respective luminosity and σ is
the standard deviation.
Comparison with Canny and other edge
Detection Algorithms:
The results of the algorithm were compared to
some of the conventional edge detection
algorithms. The results are compiled below. The
threshold of the Canny Edge detection is changed
manually which ranges from 0.5f (Low Threshold)
to 1f (High Threshold) to get the best results while
as the threshold of the micro-saccadic algorithm is
relatively calculated. While the Sobel, Robert and
Laplacian edges are calculation using MATLAB.
The images were converted into gray scale before
they could be processed in MATLAB for edge
detection.
2a
2b
2c
2d
2e
2f
2g
Fig (2a) shows the original image(1600×954), a png
image (2b) results of the Micro-saccadic algorithm
in black, white and gray, (2c) shows the results of the
result of the Micro-saccadic algorithm in black and
white only and (2d) shows the results of Canny edge
detection (2e) shows the results of sobel (2f) shows
the results of Robert and (2g ) the results of
Laplacian edge detection.
3a
3b
3c
3d
3e
3f
3g
Fig (3a) shows the original image(512×512), a png
image (3b) results of the Micro-saccadic algorithm in
black, white and gray, (3c) shows the results of the
result of the Micro-saccadic algorithm in black and
white only and (3d) shows the results of Canny edge
detection (3e) shows the results of sobel (3f) shows
the results of Robert and (3g ) the results of
Laplacian edge detection.
4a
4b
4c
4d
4e
Fig (4a) shows the original image (4b) results of the
Micro-saccadic algorithm in black, white and gray,
(4c) shows the results of the result of the Micro-
saccadic algorithm in black and white and (4d)
shows the results of Canny edge detection (4e)
shows the results of sobel.
5a
5b
5c
5d
Fig (5a) shows the original image (594×564), a
bitmap image(5b) results of the Micro-saccadic
algorithm in black, white and gray, (5c) shows the
results of the result of the Micro-saccadic algorithm
in black and white only and (5d) shows the results of
Canny edge detection.
.
6a
6b
6c
6d
Fig (6a) shows the original image (6b) results of the
Micro-saccadic algorithm in black, white and gray,
(6c) shows the results of the result of the Micro-
saccadic algorithm in black and white and (6d)
shows the results of Canny edge detection.
Low Resolution Images: We converted one of the
images into low resolution and then used the Canny
edge detction to find the edges. The results show that
the Canny edge detection is not able to detect the
edges in low resoltion images.
The distance covered by the micro-saccades: As
mentioned earlier the micro-saccadic movement of
the pixels can be of any minor value (n). Below are
the results compiled for the variable value of n where
n is the distance from the original pixel to the pixel
which is used to calculate the relative luminosity of
the oriniginal pixel.
Fig 10:Using a microsaccadic distance of 1 pixel
Fig 11: Using a microsaccadic distance of 2 pixels
Fig 12: Using a microsaccadic distance of 5 pixels
Fig 13: Using a microsaccadic distance of 10 pixels
Results and Discussion:
Conventional algorithms for edge detection are
frequency based while the micro-saccadic algorithm
emulates how human eye works. It replicates the
micro-saccadic movement of human eye to
determine the edges in a region of interest. In
comparison to the early methods of edge detection
which employ the use of a predefined kernel and
local gradient operator, micro-saccadic edge
detection algorithm requires no such kernels which
make it insensitive to the kind of image. In addition
most of the classical edge detection algorithms
convert the image into gray scale before finding the
edges, where as micro-saccadic algorithm directly
processes the coloured images. The algorithm has a
low error for the curved edges. It does not involve
complex calculations and is computationally
inexpensive as compared to the most widely used
Canny Edge Detection method. Almost all the
criteria that was taken into consideration by Canny
for a good edge detection algorithm is met by micro-
saccadic edge detection algorithm. It does not ignore
real edges and does not produce false edges. The
second criterion is that the difference between the
actual edge pixel and the detected edge pixel should
be minimum. In micro-saccadic algorithm the
distance between detected edge pixel and the actual
edge pixel is always very less (due to the use of
minor offset for comparison). In some the distance is
even zero i.e. the actual edge pixel and the detected
edge pixel coincide each other. The algorithm has
only one response to the edges which fulfils the third
criterion of edge detection by Canny. For
compressed images (jpeg) however our algorithm
requires smoothening before the processing while for
uncompressed images (png, bmp) no smoothening is
required. Hence the algorithm is not sensitive to the
noise. It detects the images with noise and smoothens
it before processing. In addition to that the
calculation of the threshold is automated which is a
limitation of most of the algorithms [6]. Micro-
saccadic algorithm has the simplicity of the classical
algorithms and the performance for edge detection,
which is widely acknowledged as the best edge
detection method.
The results compiled in the section above shows that
the micro-saccadic algorithm is capable of producing
good edges without the assistance of manual input of
threshold. Also when the resolution of the images
reduces Canny fails to mark the edges correctly
while as micro-saccadic algorithm is still able to
detect the edges accurately. For simpler images
which have less noise or no noise, all the algorithms
have almost similar results (figure 5). The result
produced by Canny has a lot of false edges when the
threshold is set to 1f and 0.5f respectively because
the source image is resized. However the edges
produced by the micro-saccadic algorithm are much
cleaner and free of false edges (inside the body of the
Car). In term of speed micro-saccadic algorithm
supersedes other algorithms especially for complex
images.
Conclusion and Future work
A novel algorithm based on micro-saccadic eye
movement for the detection of the edges in an image
is presented. The algorithm has shown to be capable
of fast and simple execution. The resultant images
comprised of edges which are sharp and detailed as
compared to the conventional algorithms. This study
will be further extended to the Object Recognition
algorithms which use the calculated edges as input.
Edge detection is an important step in image
processing. Edges largely reduce the amount of data
that needs to be accessed to recognize the objects.
The Micro-saccadic algorithm is fast which means
more images can be processed in less time. It is
simple which means that it is computationally
inexpensive and could be easily represented in
hardware. Such qualities can lead to edge detection
in minimal time and henceforth quick recognition of
the objects.
References
[1] Shrivakshan, G. T., & Chandrasekar, C. (2012).
A comparison of various edge detection techniques
used in image processing. IJCSI International
Journal of Computer Science Issues, 9(5), 272-276.
[2] Sharma, P., Singh, G., & Kaur, A. (2013).
Different Techniques Of Edge Detection In Digital
Image Processing. order, 3(3), 458-461.
[3] Basu, M. (2002). Gaussian-based edge-
detection methods-a survey. IEEE Transactions on
Systems, Man, and Cybernetics, Part C, 32(3),
252-260.
[4] Maini, R., & Aggarwal, H. (2009). Study and
comparison of various image edge detection
techniques. International journal of image
processing (IJIP), 3(1), 1-11.
[5] Rashmi, M. K., & Saxena, R. (2013).
Algorithm and technique on various edge
detection: A survey. Signal & Image Processing:
An International Journal (SIPIJ) Vol, 4.
[6] Nadernejad, E., Sharifzadeh, S., & Hassanpour,
H. (2008). Edge detection techniques: Evaluations
and comparison. Applied Mathematical
Sciences,2(31), 1507-1520.
[7] Martinez-Conde, S., Otero-Millan, J., &
Macknik, S. L. (2013). The impact of micro-
saccades on vision: towards a unified theory of
saccadic function. Nature Reviews
Neuroscience, 14(2), 83-96.
[8] Chuk, T., Ng, A. C., Coviello, E., Chan, A. B.,
& Hsiao, J. H. (2013). Understanding eye
movements in face recognition with hidden
Markov model. InProceedings of the 35th Annual
Conference of the Cognitive Science Society.
[9] Otero-Millan, J., Troncoso, X. G., Macknik, S.
L., Serrano-Pedraza, I., & Martinez-Conde, S.
(2008). Saccades and micro-saccades during visual
fixation, exploration, and search: foundations for a
common saccadic generator. Journal of
Vision, 8(14), 21.
[10] Rolfs, M. (2009). Micro-saccades: small steps
on a long way. Vision research,49(20), 2415-2441.
[11] Hermens, F., & Walker, R. (2010). What
determines the direction of micro-
saccades?. Journal of Eye Movement
Research, 3(4), 1-20.