[IEEE 2010 IEEE 2nd International Advance Computing Conference (IACC 2010) - Patiala, India...
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)](https://reader038.fdocuments.in/reader038/viewer/2022100521/5750a6a71a28abcf0cbb3112/html5/thumbnails/1.jpg)
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)](https://reader038.fdocuments.in/reader038/viewer/2022100521/5750a6a71a28abcf0cbb3112/html5/thumbnails/2.jpg)
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)](https://reader038.fdocuments.in/reader038/viewer/2022100521/5750a6a71a28abcf0cbb3112/html5/thumbnails/3.jpg)
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)](https://reader038.fdocuments.in/reader038/viewer/2022100521/5750a6a71a28abcf0cbb3112/html5/thumbnails/4.jpg)
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