[IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India...

4

Click here to load reader

Transcript of [IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India...

Page 1: [IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India (2010.02.19-2010.02.20)] 2010 IEEE 2nd International Advance Computing Conference (IACC)

A parallel algorithm for outline capturing

system for object recognition Dr. Arpita Gopal Sonali Patil Amresh Nikam

Sinhgad Institute of Business Administration and Research

Kondhwa (Bk.), Pune-411048, India

Affiliated to University of Pune, India

Tel No – (+91)-(20) (26906132) (+91)-(20) (26906208) (+91)-(20) (2690692)

[email protected] [email protected] [email protected]

Abstract-Computer vision involves image edge

detection which is crucial in outline capturing

systems for decomposing and describing an object.

This paper presents a scalable parallel algorithm

skeleton for outline capturing and object

recognition based on first order difference chain

encoding. UNIX based Intel Xeon 2-Quadra-Core

system is used for the implementation of the

parallel algorithm. The algorithm complexity of the

averaging process is independent of the size of

image and, the speedup of the proposed parallel

algorithm is observed to be near linear. The

parallel processing approach presented here can be

extended to solve similar problems such as, image

representation, restoration, compression, matching

etc.

Keywords-Computer vision, Image, Edge, Corner

detection, Parallel Algorithm, Chain Code,

Curvature.

I. INTRODUCTION

For past few decades, real time outline capturing

systems have made its way into today’s

technology and computer driven society. Its

applications encompass a wide variety of

specialized disciplines including medical

imaging, machine vision, gesture recognition,

remote sensing, and astronomy – even

influencing the computer user at home.

Outline capturing systems for object recognition

applications involves image registration,

comparison, segmentation, time sequence

analysis and object recognition are generally an

inverse problem and requires a systems approach

that takes into account the entire process of image

formation. Such applications can be

computationally intensive due to large amount of

data which is processed and complexity of image

processing algorithms. Fast processing response

is a major requirement in such applications, such

as in real-time processing where a sequence of

image frames should be processed in a very short

time. This suggests implementation of parallel

algorithms. In this paper we present a parallel

algorithm for outline capturing and object

recognition system using difference chain

encoding for corner detection. Every step in the

outline capturing systems is parallelized i.e.

image representation, image outline

reconstruction and image matching all done

parallely on Unix based Intel Xeon 2-Quadra-

Core system.

This paper is organized in 6 sections. Section 1 is

introduction. Section 2 reviews the existing

techniques. Section 3 discusses at length the

image re-construction serial algorithm using

difference chain encoding for corner detection.

Section 4 describes the proposed parallel

algorithm along with details of what master

process will do and what jobs will done by slave

processes. Section 5 presents the comparative test

results of sequential versus parallel algorithm.

Section 6 gives the analysis and the conclusion

followed by the references.

II LITERATURE REVIEW

Detection of edges is critical for outline capturing

for object recognition systems. Edges of an image

contains major image information and needs only

a small amount of memory storage space

compared to the original image. Hence, edge

detection simplifies images and thus facilitates

image analysis and interpretation. In edge

detection also one important issue is to improve

the computation efficiency because detection is

very computationally intensive. The computation

is conducted pixel by pixel, and several dozens of

arithmetic operations are performed for each

pixel which also calls for parallel computing.

Many edge detection techniques Gonzalez and

Woods (2000); M. Sonka and Boyle (1993);

Neeta Nain and Agarwal (2006), have been

reported in literature.

21978-1-4244-4791-6/10/$25.00 c©2010 IEEE

Page 2: [IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India (2010.02.19-2010.02.20)] 2010 IEEE 2nd International Advance Computing Conference (IACC)

For image applications, a corner can also be

defined as the intersection of edges or, as a point

for which there are two dominant and different

edge directions in a local neighborhood. Corners

play crucial role in decomposing or describing

the object. Mathematically, corner detection as

defined by Rosenfeld and Johnston (1973);

Rosenfeld and Wezka (1975); Freeman and Davis

(1977); L. and Tiu (1987); He and Yung (2004);

P and Horng (1994); Liu and Srinath (1990);

Sojka (2002); Mohannah and Mokhtarian (2006),

etc., is identification of high curvature points on

planar curves (for example, an image boundary

for shape analysis).

Outline capturing for object recognition system

thus involves identifying edges, mapping edges

into object contours and object contours

identifiable objects. The determination of edges

depends on detection of edge points (pixels) of a

3-D physical object in a 2-D image. Efficiency

and accuracy of each step in the process is critical

to the success of subsequent steps.

III. OUTLINE CAPTURING FOR OBJECT

RECOGNITION - A SERIAL APPROACH

Our outline capturing system for object

recognition is a five step procedure

1. In the first step we will extract one pixel thick

boundary of input image by using various

morphological operations as explained below.

Digital images are acquired and processed in a

grid format with equal spacing in the x and y

direction. One pixel thick m-connected

boundary is extracted using binary chain

encoding. One-pixel thick, and m-connectivity

avoids redundancy in chain codes. This

boundary is Chain-Encoded using 8-way chain

encoding method. When 8-way connectivity is

used, the 3600 is divided into eight directions.

Each direction specifying 450 angle from the

previous. Thus a chain code could be generated

by following a boundary in, say, an

anticlockwise direction and assigning a

direction code to the segments connecting each

pair of pixels. The chain-code varies from 0-7

in anti-clockwise direction, where 0 means

moving one unit in x direction making angle 00

with the x axis, code 1 represents 450 from x

axis and so on. The chain code thus codes the

slope of the curve. Corners are calculated on

the first order differences of the chain codes.

[Neeta nain, Vijay Laxmi, and Arpita Gopal

2007]

2. In the second step we will apply encoded

boundary chain smoothing procedures to

remove weak corners and noise by suppressing

regular intensity changes. This step removes all

the spurious codes on the curve and aligns the

stray pixels along the dominant slope of the

line.

3. In the next step Corners are identified by

avoiding insignificant curvature change as

weak corners and only identifying significant

curvature change positions as good corners.

4. Finally the outline of the image is re-drawn

using the significant corners.

5. The outline thus re-drawn is matched with the

database existing patterns to identify the object.

IV. OUTLINE CAPTURING FOR OBJECT

RECOGNITION - A PARALLEL APPROACH

As one of the fundamental operations in

computer vision, outline capturing system is

expected to be fast, accurate and reliable for it to

be suitable for real time applications. Image data

is typically massive in nature and it is always

desirable to devise methods that involve parallel

processing of data or methods that can easily be

implemented using parallel algorithms. An

important issue in parallel algorithms is how to

partition the data. We can use technique of

Uniform Partitioning. For outline capturing we

divide the image data equally into multiple sub-

images. A sub-image needs less time to process

than the original whole image. For object

recognition we divide the database of existing

pattern into sub-data-bases. All the five steps of

this image reconstruction algorithm can be

parallelized as follows.

Step – 1

Master Process

The master process will be responsible for

dividing the image into p portions for the

corresponding slave processes. If we use

uniform partitioning then the border data can

miss out on smoothing and corner detection

functions. We therefore suggest the scheme

uniform-partition-with-repetition-of-l-bits.

This repetition will facilitate smoothening

and corner detection without any missing out

on smoothening and corner detection

functions.

Slave Process

Each slave process will extract one pixel

thick noiseless boundary of the partitioned

22 2010 IEEE 2nd International Advance Computing Conference

Page 3: [IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India (2010.02.19-2010.02.20)] 2010 IEEE 2nd International Advance Computing Conference (IACC)

input image by using the above mentioned

various morphological operations.

Step – 2

Slave Process

In the second step all the slave processes will

apply chain smoothing procedures in their

portion of chain encoded boundary to

remove weak corners and noise by

suppressing regular intensity changes.

Step – 3

Slave Process

In the next step slave processes will

individually identify corners in their portion

of chain encoded boundary by avoiding

insignificant curvature change as weak

corners and only identifying significant

curvature change positions as good corners.

Step – 4

Slave Process

In the next step individual slave processes

update a shared memory segment used (a

form of inter-process communication) with

their identified corners and signal the master

process accordingly.

Master Process

Finally master process will concatenate all

identified corners in correct order to re-draw

the complete object outline in the shared

memory region.

Step - 5

Slave - Process

The database of existing patters in further

divided into sub-databases. Each slave

process matches the outline with the patterns

in its own sub-database.

If any slave process finds a match it signals

the master process which stops all other

processes from further trying.

If none of the master and slave processes is

able to find a match they signal the main

process and the master process takes the

outline as a new object.

Chain Code

Length

4th

root

of n

Time

Required

(in sec.)

Time

Required

(in sec.)

Time

Required

(in sec.)

Time

Required

(in sec.)

Time

Required

(in sec.)

Time

Required

(in sec.)

Time

Required

(in sec.)

Time

Required

(in sec.)

(n) (L) 1 Process

Program

2 Process

Program

3 Process

Program

4 Process

Program

5 Process

Program

6 Process

Program

7 Process

Program

8 Process

Program

10,00,000 32 0.1 0.04 0.03 0.02 0.01 0.01 0.01 0.01

20,00,000 38 0.21 0.09 0.06 0.04 0.03 0.03 0.02 0.02

30,00,000 42 0.33 0.14 0.09 0.06 0.05 0.04 0.03 0.03

40,00,000 45 0.44 0.19 0.13 0.09 0.07 0.06 0.05 0.04

50,00,000 47 0.55 0.24 0.16 0.11 0.09 0.07 0.06 0.05

Table – 1 Time Comparison table for Parallel vs. Serial Program

Time Comparison

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

0.55

10,00,000 20,00,000 30,00,000 40,00,000 50,00,000

Chain Code Length (n)

Tim

e (Sec.)

1 Process Program 2 Process Program 3 Process Program 4 Process Program

5 Process Program 6 Process Program 7 Process Program 8 Process Program

Figure – 1 Time Comparison graph for Parallel and Serial Program

2010 IEEE 2nd International Advance Computing Conference 23

Page 4: [IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India (2010.02.19-2010.02.20)] 2010 IEEE 2nd International Advance Computing Conference (IACC)

V. RESULTS

The above parallel algorithm was implemented

on Unix based Intel Xeon 2-Quadra-Core system.

Using the above illustrated parallel algorithm

with uniform-partition-with-repetition-of-l-bits

scheme the results obtained are shown in Table –

1. The comparative speed of parallel and serial

implementations is shown in Figure - 1. We have

changed the number of processes from 1 to 8

gradually. The total time for the serial algorithm

is constant for any value of number of processes.

As the number of processes increases, the total

time of parallel implementation decreases and the

speed-up time is observed to be linear. As we can

see from the comparative analysis of the results

the parallel algorithm is executing in 90 % less

time than the serial algorithm irrespective of the

input data size.

VI. ANALYSIS AND CONCLUSION

The proposed parallel algorithm is not only

simple and efficient but consistently provides up

to 90 % efficiency irrespective of the input data

file size. Corners extracted using this parallel

technique could be used in various shape

analysis, size measurement and boundary

reconstruction applications where rate of input

data is very high. In future parallel techniques can

also be applied to use the extracted corners to

reconstruct the boundary by fitting straight line

segments between corners. This can be used as

the convex hull or an approximation to the

object’s shape. Image Processing is one of the

grey areas where re-creation of image using the

fastest processor is also much slower than the

human brain. We can reduce this gap using

parallel algorithm for the re-creation of images.

REFERENCES [1] Verlag. Freeman, H., Davis, L. S., 1977. In: A Corner

Finding Algorithm for Chain Coded Curves. Vol. 26. IEEE Transaction in Computing, pp. 297{303.

[2] Gonzalez, R. C., Woods, R. E., 2000. Digital Image Processing. Addison Wesley Longman, 2nd ed.Harris, C., Stephens, M., 1988. In: A Combined Cornerand Edge Detector. Vol. 23. Proceedings of 4th Alvey Vision Conference, Manchester, pp. 189{192.

[3] L., B. H., Tiu, S. S., 1987. In: An Improved Corner Detection Based on Chain Coded Plane Curves. Vol. 20. Pattern Recognition Letters, pp. 291{296.

[4] Liu, H., Srinath, M., 1990. In: Corner Detection from Chain Code. Vol. 23. Pattern Recognition Letters, pp. 51{68.

[5] M. Sonka, V. H., Boyle, R., 1993. Image Processing Analysis and Machine Vision. Chapman and Hall.

[6] Mohannah, M., Mokhtarian, M., 2006. Performance evaluation of corner detectors using consistency and accuracy measures. Vol. 102. pp. 81{94.

[7] Neeta Nain, Vijay Laxmi, A. K. J., Agarwal, R., 2006. InMorphological Edge Detection and Corner Detection Algorithm Using Chain-Encoding. Vol. II. The 2006 International Conference on Image Processing, Computer Vision and Pattern Recognition, Las Vegas, Nevada, USA, pp. 520{525.

[8] Neeta Nain, Vijay Laxmi, Arpita Gopal "Corner Detection using Difference Chain Codes as Curvature", The Third IEEE International Conference on Signal-Image Technology, & Internet-Based Systems (SITIS'07), pp. 821 - 825, Shanghai, 16th - 19th December, IEEE Computer Society, 2007.

[9] Rosenfeld, A., Johnston, E., 1973. In: Angle Detection on Digital Curves. Vol. C-22. IEEE Transactions on Computers, pp. 875{878.

[10] Rosenfeld, A., Wezka, J. S., 1975. In: An Improved Method of Angle Detection on Digital Curves. Vol. C-24. IEEE Transactions on Computers, pp. 940{941.

[11] Sojka, E., 2002. A new algorithm for detecting corners in digital images. In: SCCG '02: Proceedings of the 18th spring conference on Computer graphics. ACM Press, New York, NY, USA, pp. 55{62.

[12] F. Bergholm. Edge focusing. IEEE Transactions on Pattern Analysis and Machine Intelligence, 9(6):726–741, 1987.

[13] J. F. Canny. A computational approach to edge detection IEEE Transactions on Pattern Analysis and Machine Intelligence, 8:679–698, 1986.

[14] G. Economou, S. Fotopoulos, and M. Vemis. A novel edge detector based on nonlinear local operations. In Proc. IEEE International Symposium on Circuits and Systems, pages 293–296, London, 1994.

[15] X. He and T. Hintz. Application of Spiral architecture to edge detection for object recognition. In Proc. Pan-Sydney Workshop on Visual Information Processing, pages 90–95, Sydney, 1996.

[16] T. Lindeberg. Scale-Space Theory in Computer Vision. Kluwer Academic Publishers, London, 1994. [6] N. K. Ratha, T. Acar, M. Gokmen, and A. K. Jain. A distributed edge detection and surface reconstruction algorithm. In Proc. Computer Architectures for Machine Perception, pages 149–154, Como, Italy, 1995.

[17] P. Sheridan. Sprial Architecture for Machine Vision. PhD thesis, University of Technology, Sydney, 1996.

[18] J. Sporring, M. Nielsen, L. Florack, and P. Johansen. Gaussian Scale-Space Theory. Kluwer Academic Publishers 1997.

[19] X. Zhang and H. Deng. Distributed image edge detection methods and performance. In Proc. 6th IEEE Symposium on Parallel and Distributed Processing, pages 136–143, Dallas, Texas, 1994.

24 2010 IEEE 2nd International Advance Computing Conference