a robust parallel implementation of active...
TRANSCRIPT
A Robust Parallel Implementation of Active ContoursB. Saranya and S. Suthakar
Department of Computer Science, Faculty of Science, University of Jaffna
Crest of
the Institution
As a parallel processing solution for active contour model, rather than dividing the image into sub-
images, we divide the initial contours into sub-contours in radial direction and process them
independently. To define the sub-contours, the bounding box of the initial contour is used (see
Fig.1.)
Then each sub-contour is given to different
processing elements, and the contour points
simultaneously move towards the edge of the
sub-objects iteratively. Even though the divider
lines are used to form closed contours,
the points on the divider lines are kept
unchanged while the sub-contour points are being shifted.
Fig. 2. Overall workflow
Merging Sub-Contours
When the sub-contour points are moving towards the boundary of the object simultaneously, the
contour points on the divider lines are kept
unchanged. Once the convergence is
completed, the points on the opposite sides
of each divider lines are connected to
construct the final contour Fig. 3 illustrates this process.
Sample Output
Some intermediate results from the start till the end of the proposed method are shown in Fig. 4.
Methodology
[1] P. L. Jerry and X. Chenyang, Gradient Vector Flow
Deformable Models, 2000.
[2] A. Kass, A. Witkin and A. Terzopoulos, “Snakes: Active
Contour Models,” International Journal of Computer Vision, 1988.
[3] D. Cohen and Laurent, “On active contour models and
balloons,” in CVGIP: Image Understanding, 1991.
[4] S. Priya P Sajan, “GVF Snake Algorithm-a parallel approach,”
International Journal of Engineering & Technology, 2018.
[5] D. Oberhelman and Steven, “Active Contour
Implementation,” 2018.
[6] P. Jiang and Q. D. a. X. Hu, “A Parallel Realization of the
Active Contour Model,” Applied Mathematics & Information
Sciences, An International Journal, 2013.
Reference
Results and Discussion
For the evaluation, the proposed method was implemented
with the help of Message Passing Interface (MPI) using
two computers (Intel(R) Core(TM) i5-7200U, 8 GB RAM).
Five different images of same dimension 3968x2976 were
tested in serial and parallel environments. The execution
times of serial and parallel implementation are given in
Table 1. In order to compare the performances, same
initial contours were used for both serial and parallel
cases.
Tp - Parallel run time, Ts - Serial run time, S - Speed up
The proposed parallel method can be further improved by
implementing using GPU.
In future there are possibilities to perform with concave
objects.
A parallel method is approached for implementing
active contour model for making it more efficient.
The given method segments in lesser time comparing
to the serial active contour model.
Using two PCs, the speed ups were roughly around 1.4.
By using GPU, communication overheads can be
reduced, and hence, the performance can be further
improved
Conclusion
Abstract
The main intention of this project is to speed up the performance of active
contour process by parallelizing it. In traditional methods an algorithm
namely 'Snake' has been applied for representing object contours. An
energy minimizing technique is being used in this method. To speed up
the convergence process I've parallelized the process by dividing the
initial contour into sub-contours, converging them and combining them.
As a result there will be a big change in the performance within a short
period of time than in serial processing.
Keywords: Parallelize, contour, convergence
TS TP S = Ts/TP
Image 1 4.523 3.112 1.453406
Image 2 3.425 2.314 1.480121
Image 3 5.281 3.998 1.32091
Image 4 4.910 3.428 1.432322
Image 5 3.911 2.855 1.369877
Table 1. Serial and parallel run times in seconds
Fig. 1. Dividing initial contour into sub-contours in
radial direction
Active contours are computer-generated deformable curves which are
being used for energy segmentation of objects or to locate object
boundaries in the field of computer vision and image processing
applications.
These contours converge under the influence of energy minimizing
technique.
The energy is computed by minimizing a function of internal and
external forces.
The internal forces depend on the curve and the external forces are
computed from the image.
Snake Energy = Internal energy + External energy
𝐸𝑠𝑛𝑎𝑘𝑒 =
0
1
𝐸𝑠𝑛𝑎𝑘𝑒 𝑣 𝑠 𝑑𝑠
𝐸𝑠𝑛𝑎𝑘𝑒 =
0
1
𝐸𝑖𝑛𝑡 𝑣 𝑠 + 𝐸𝑖𝑚𝑔 𝑣 𝑠 + 𝐸𝑐𝑜𝑛 𝑣 𝑠 𝑑𝑠
• 𝐸𝑖𝑛𝑡: The internal elastic energy term.
Continuity of the contour + smoothness of the contour.
𝐸𝑖𝑛𝑡 = 𝛼 𝑠 𝑣𝑠 𝑠2 + 𝛽 𝑠 𝑣𝑠𝑠 𝑠
2
2
𝛼(𝑠) and β(s) are user defined weights.
𝑣𝑠(s) : First derivative term controlled by 𝛼(𝑠). 𝑣𝑠𝑠(𝑠)) : Second derivative term controlled by β(𝑠).
• 𝐸𝑖𝑚𝑔: Combination of the forces due to the image itself.
𝐸𝑖𝑚𝑔 = 𝑊𝑙𝑖𝑛𝑒 𝐸𝑙𝑖𝑛𝑒+ 𝑊𝑒𝑑𝑔𝑒 𝐸𝑒𝑑𝑔𝑒 +𝑊𝑡𝑒𝑟𝑚 𝐸𝑡𝑒𝑟𝑚
𝐸𝑙𝑖𝑛𝑒 : The intensity of the image.
𝐸𝑒𝑑𝑔𝑒 = − 𝛻𝐼 𝑥, 𝑦 , It is based on the image gradient.
𝑡𝑒𝑟𝑚ܧ =𝜕𝜃
𝜕𝑛⊥=
𝜕2𝑐
𝜕𝑛⊥2
𝜕𝑐 𝜕𝑛
• 𝐸𝑐𝑜𝑛: Constraint forces introduced by the user.
Introduction
Define the initial contour
Split the contour into sub-contours along the radial
direction
Converge each sub-contour
independently
Remove the divider lines
Construct the final contour
Fig. 4. Intermediate results for an image.
Fig. 3. Merging two sub-contours.