Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection...

10
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].

Transcript of Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection...

Page 1: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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].

Page 2: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 3: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 4: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 5: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 6: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 7: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 8: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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

Page 9: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

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.

Page 10: Edge Detection Using Micro Saccades - NeuraBASE Detection Using Micro Saccades.pdfEdge Detection Using Micro Saccades Robert Hercus, Qazi Zaahirah, Kit-Yee Wong, Hong-Shim Kong Neuramatix

[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.