Self-Crossing Detection and Location for Parametric Active Contours

Article (PDF Available)inIEEE Transactions on Image Processing 21(7):3150-6 · February 2012with51 Reads
DOI: 10.1109/TIP.2012.2188808 · Source: PubMed
Active contours are very popular tools for video tracking and image segmentation. Parameterized contours are used due to their fast evolution and have become the method of choice in the Sobolev context. Unfortunately, these contours are not easily adaptable to topological changes, and they may sometimes develop undesirable loops, resulting in erroneous results. To solve such topological problems, one needs an algorithm for contour self-crossing detection. We propose a simple methodology via simple techniques from differential topology. The detection is accomplished by inspecting the total net change of a given contour's angle, without point sorting and plane sweeping. We discuss the efficient implementation of the algorithm. We also provide algorithms for locating crossings by angle considerations and by plotting the four-connected lines between the discrete contour points. The proposed algorithms can be added to any parametric active-contour model. We show examples of successful tracking in real-world video sequences by Sobolev active contours and the proposed algorithms and provide ideas for further research.
Self-Crossing Detection and Location for Parametric Active Contours
Arie Nakhmani Allen Tannenbaum
Active contours are a very popular tool for video tracking and image segmentation. Parameterized contours are
used due to their fast evolution and have become the method of choice in the Sobolev context. Unfortunately, these
contours are not easily adaptable to topological changes, and they sometimes may develop undesirable loops, resulting
in erroneous results. To solve such topological problems, one needs an algorithm for contour self-crossing detection.
We propose a simple methodology via simple techniques from differential topology. The detection is accomplished by
inspecting the total net change of a given contour’s angle, without point sorting and plane sweeping. We discuss the
efficient implementation of the algorithm. We also provide algorithms for locating crossings by angle considerations
and by plotting the 4-connected lines between the discrete contour points. The proposed algorithms can be added
to any parametric active contour model. We show examples of successful tracking in real world video sequences by
Sobolev active contours and the proposed algorithms, and provide ideas for further research.
Active contours (snakes) are widely used in segmentation and tracking. The development of this field began with
the seminal paper by Kass et al. [1]. Snakes have applications in various fields from medical imaging to surveillance.
The purpose of snakes is to define an object’s outline in the tested image, by minimizing an energy associated with
different object properties (e.g., average intensity value), and intrinsic curve properties (e.g., smoothness).
Parametric snakes are given as curves that explicitly provide the (x, y)coordinates of the given points on the
given contour (these are called snaxels). The advantage of such a parametrization is in the fast evolution of the
snake, and in fact have dominated the tracking literature [2]. The problem that occurs with parametric snakes,
especially when used to segment noisy images, is the development of false loops (see Figure 1 C-E). If the snakes
are region based (e.g., [3], [4]), then these loops can cause a divergence of the snake, since they change the normal
direction and thus the inside and outside of the closed contour. In other cases, the false loops may catch irrelevant
features for tracking. This brings us to the importance of the contour self-crossing detection and of the consequent
topological changes (loop elimination, or snake splitting).
Copyright (c) 2010 IEEE. Personal use of this material is permitted. However, permission to use this material for any other purposes must
be obtained from the IEEE by sending a request to
This work was supported in part by grants from AFOSR, ARO, as well as by a grant from NIH (NAC P41 RR-13218) through Brigham and
Women’s Hospital. This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of
Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Information on the National Centers for Biomedical Computing
can be obtained from
A. Nakhmani was with Electrical Engineering Department, Technion, Israel, and currently with Electrical and Computer Engineering, Boston
University, Boston, MA 02115; email:
A. Tannenbaum is with Electrical and Computer and Biomedical Engineering, Boston University, Boston, MA 02115; email:
February 11, 2012 DRAFT
Currently, there are five main approaches to tackle the problem of self-crossing. First, level sets is perhaps the most
popular approach. The curve is defined by zero level set of the graph of surface, usually starting with the distance
function; see [5], [3] and the references therein. With level sets, the topological changes are automatically managed,
and the problem of self-crossing does not occur. In general, the snake evolution in the level sets framework is slower
than the evolution of parametric snake models. Moreover, automatic topological changes may be less appropriate
for tracking, where a single target may be unintentionally split, or two distinct targets merged.
A second popular class of approaches for detection and location of the crossing points is based on the classical
Bentley-Ottmann line segment intersection algorithm in computational geometry. These approaches are reviewed
in [6, Ch.2] and [7]. The general idea of this type of techniques is to sort the snake’s points by xcoordinate in
ascending order, and to employ the plane sweep algorithm to detect the overlapping xand yprojections of the
segment pairs. The actual crossing is tested only if both xand yprojections overlap. These algorithms are fast and
efficient, but not simple to implement, partly due to the need of checking various special cases.
The third approach is grid-based [8], [9], [10], [11]. For easy collision and crossing detection, the motion of snake
points can be restricted to the edges of the grid, as in Bischoff and Kobbelt [10], or one can inspect the crossings
with constant rectangular grid [9] or simplicial cell decomposition [8], [11]. Unfortunately, these algorithms are not
always able to detect all the crossings, because of the discretization of the snaxel locations or the restrictions.
The next approach is perhaps the simplest. The idea is to complete the lines with additional points computed
from linear interpolation between the snaxels, i.e., to complete the segments between the end-points, and to make
the snake segments connected (continuous) on the given discrete grid [12]. Then all the points are plotted on a
two-dimensional counter raster (matrix), where the crossing is detected and located if the points are plotted more
than once to the same raster location. The obvious problems with this method are explained in Smith and Schaub
[7]. The method cannot provide sub-pixel accuracy in crossing location, because of the discretization of snaxel
locations. In addition, by the nature of the interpolation algorithm, false positive and false negative detections may
frequently occur (Figure 4). The proposal to use double width lines makes the problem of false positives much
worse, and the additional computational time for the direct checking of these pseudo-crossings virtually eliminates
all the advantages of the algorithm.
The last approach is based on an idea of Kass et al. [1]. Here one employs a “repulsion force,” which forces the
snaxels not to be too close to one another. This force can be incorporated into the energy minimization framework.
Ivins and Porrill [4] propose to compute the repulsion force from the tension, stiffness, and reversed pressure.
Unfortunately, introducing the new repulsion force will not always prevent crossings, and so an additional self-
crossing check may be needed. Also, introducing the repulsive force affects the snake dynamics and convergence
properties, which may not be desirable.
It is important to note that while self-crossing does not occur very frequently, nevertheless its appearance may
ruin the tracking of a target in a given scenario. Consequently, our goal is to effectively detect the existence of
self-crossing as quickly as possible, and when it exists, to locate the crossing points, and apply the appropriate
topological change to the snake (loop removing, or snake splitting). Since the problem of detection is simpler than
February 11, 2012 DRAFT
the simultaneous detection and location of the crossing (as in the approaches described above), this problem can
be solved more efficiently with regard to space usage and run time. We propose two algorithms: the first is for an
efficient self-crossing detection, and the second is for the computation of crossing locations.
The first algorithm should be run for each snake iteration, without actually computing the crossing segments and
crossing point. We base our idea on the Hopf turning number topological theorem [13, p.162], which states that
the total net angle change of a simple continuous closed curve (without self-crossings) can be 360for clockwise
curve (cw), and 360for counterclockwise (ccw) curve, as explained in Section II. The same is true for simple
In Subsection II-B, we show that an explicit angle computation is unnecessary, and may be replaced by a
more efficient algorithm that counts the number of quadrants the curve has passed in turn. In Subsection II-C, we
investigate the rare cases when our detection algorithm may fail, and propose a possible solution.
The second algorithm solves the problem of crossing localization. We propose a particular line completion
algorithm for that purpose. In Section II-D, we describe our novel interpolation scheme. The proposed algorithm
provides 4-connected segments (each snake point has two neighbors, from the left, right, top or down), which totally
eliminates the false negatives without a significant increase in false positives. The crossing points are computed only
if a self-crossing is detected, (Subsections II-C-II-D). The self-crossing can be found by checking the appropriate
segments for crossing, which can be accomplished by solving certain simultaneous parametric equations [14], or
by testing on which side of the given segment lie the end-points of the second segment, as explained in the
Subsection II-D. In case of self-crossing, the snake can be split by a simple method described in Araki et al. [14]
or Stoeter and Papanikolopoulos [15] (see Subsection II-E).
We have successfully tested our approach on numerous real world videos. We have used region based Sobolev
snakes [16] with the Chan-Vese energy [3]. Representative results and the discussion are provided in Section III.
The last section of the present note, Section IV, summarizes our work and proposes possible further research.
In this section, we propose an easily implementable algorithm for detecting active contour self-crossing, based
on the concept of turning number.
Let α:RR2be a regular closed curve. The turning number of α,T urn(α), is the total signed curvature of
αdivided by 360[13, p.156]. It can be shown that for closed curves the number T urn(α)is an integer, and it is
equivalent to the topological rotation index [13, p.160]. Intuitively, T urn(α)is the number of full counterclockwise
(ccw) turns until the curve returns to the (arbitrarily) chosen initial point. If the turns are clockwise (cw), then
T urn(α)is negative. Similarly, the total curvature is the net change of unwrapped angle ϕ(see Figure 1).
For convenience, we define the turning direction by:
dir(α) =
1,if the curve is ccw
1,if the curve is cw
February 11, 2012 DRAFT
Fig. 1. Closed curves with the turning number and the total net change of the angle
Fig. 2. Snake coordinates and segments definition
We now state the key result due to Hopf [13, p.162]:
THE OR EM 1: The turning number of a simple closed curve α(without self-crossings) equals to dir(α).
As we have mentioned earlier, this theorem can be restated in terms of the total net angle change of 360·dir(α).
In particular, this theorem is true for any simple closed polygon, as is typically given with the snake representation.
In the following subsection, we use this observation to formulate a straightforward algorithm for the detection of
A. Crossing detection algorithm
Suppose the parametric snake is defined by its point coordinates: pi= (xi, yi)i= 1, ..., n, where pn+1=p1.
The corresponding segment between piand pi+1is denoted by si(see Figure 2).
The unwrapped angle of the segment siis denoted by ϕi:
tan (ϕi) = yi+1 yi
xi+1 xi
The angle is defined up to 360, and so one should note the meaning of the unwrapped angle: If the angle
difference between the consecutive segments is larger than 180, then multiples of +360or -360should be added
to ϕ. As a result, the angle ϕcan get any real value, and is not bounded by ±180.
February 11, 2012 DRAFT
The following algorithm allows one to check if self-crossings exist, without actual computing the crossing points.
The algorithm is based on Theorem 1 for polygons, and it should be run for each snake iteration.
Input :snaxels pi
Compute the angle ϕby (2)
if |ϕ(n)ϕ(1)360·dir|>180then
report that crossing is detected
Only a single comparison of the first and the last segment angles is needed in our algorithm.
The first segment is chosen arbitrary.
No sorting procedure is required.
In most practical situations, the proposed algorithm robustly and efficiently detects the existence of self-crossings.
The special cases when this algorithm fails (even number of crossings with double twist, as in Figure 3, and equal
number of inward and outward loops, as in Figure 1 E) are explored in Section II-C, and a solution for these cases
is proposed.
The next subsection describes a more efficient version of the self-crossing detection algorithm.
B. Efficient detection
The next algorithm is based on the observation that any simple closed curve is topologically equivalent to a square.
Accordingly, the turning number may be computed by considering how many quadrants the curve has passed in
turn, or how many 90turns the curve performed along the way. If this number is not four, then the curve is not
simple. The increments in the number of quadrants may be computed by inspecting the signs of yi=yi+1 yi
and xi=xi+1 xi, as described below.
Let (+,+)(i)denote sign(∆xi)=+1 and sign(∆yi)=+1 , (+,)(i)denote sign(∆xi)=+1 and sign(∆yi)=-1 ,
(,+)(i)denote sign(∆xi)=-1 and sign(∆yi)=+1 , (,)(i)denote sign(∆xi)=-1 and sign(∆yi)=-1 .
The increment in the number of quadrants is summarized in the Table I.
The sign of 2on the second diagonal (for a very sharp angle change) is computed by inspecting the slopes of
the consecutive segments siand si+1:
where is a small number that is added to prevent the division by zero.
February 11, 2012 DRAFT
(+,+)(i+ 1) (+,)(i+ 1) (,+)(i+ 1) (,)(i+ 1)
(+,+)(i)01 1 2, if Slopei> S lopei+1
-2, otherwise
(+,)(i)1 0 2, if Slopei< S lopei+1
-2, otherwise
(,+)(i)12, if Slopei< S lopei+1
-2, otherwise 0 1
(,)(i)2, if Slopei> S lopei+1
-2, otherwise 11 0
All the values in the Table I (except the second diagonal) may be computed by the following formula:
0.5sign (∆yixi+1) (|sign (∆xi+1 )sign (∆xi)|
+|sign (∆yi+1)sign (∆yi)|)
Note that sign (∆yixi+1 )is mathematically equivalent to a binary XOR operation and can be efficiently
We can now describe our algorithm:
Input :snaxels pi
For i =1 to n
Compute ∆q by (4)
If |∆q|=2 then
qiqi1+sign (SlopeiSlopei+1)∆q
If qn6=4·dir then
report that crossing is detected
February 11, 2012 DRAFT
Fig. 3. Special case: The curve with double twisting
The index iof the number of quadrants qand the values of qfor different indexes will be used in the next
subsection, otherwise only the last value of qis of interest, thus only a single integer variable qcan be used,
and minimal memory space requirements can be satisfied.
In the worst case (zigzag curve), our algorithm needs ndivisions and 3nadditions (subtractions), but for
smooth enough curves, we need only comparisons, and 3nadditions and subtractions. Our algorithm uses a
natural order of snaxels, without sorting. The algorithms for detection and localization described in [6, Ch.2]
need at least O(nlog n)operations, that is less time efficient, but they provide the location of crossing as well.
The run time of our algorithm is negligible with regard to the snake’s evolution time.
C. Special cases
As we stated earlier, for even number of self-crossings, if double twisting occurs (see Figures 3 and 1 E), our
algorithm will not find the crossing. The algorithm for detecting self-crossings in these cases is more computationally
demanding, but still can be accomplished by exploring the snake segment angles.
The test for self-crossing is based on the following important observations:
1) A given segment sicannot cross the segments si+1 and si1.
2) No curve can cross itself without turning more than 180first (cw or ccw). This is equivalent to passing through
(at least) three different quadrants. The necessary condition for the crossing of siand sjis |qjqi| ≥ 3(see
Subsection II-B).
3) If the segments siand sjhave not reached 180between them, then any segments between iand jcannot
4) If the segments siand sjcross each other, then they have the overlapping in the xcoordinates ((xi, xi+1)
with (xj, xj+1)), and as well as in the ycoordinates ((yi, yi+1 )with (yj, yj+1)).
5) Suppose that siand sjare the tested candidates for crossing each other. Then, if we remove these segments
and connect pito pj+1and pjto pi+1, we obtain two separated closed curves (see Figure 3). If there are no
self-crossings in the curve, and there are no crossings with the added segments, then the algorithm proposed
February 11, 2012 DRAFT
in Subsection II-A should return that the crossing is not detected for both curves. If there were even number
of self-crossings in the curve, as in all the special cases, then the algorithm in Subsection II-A should report
that one curve has self-crossings (by removing one crossing we convert the total number of crossings to odd).
All the angles of curves are available from the previous computation, therefore only the two angles of the
added segments should be computed in order to apply the algorithm. Similarly, we can connect pi+1to pj
and pj+1to pi, to obtain two separate closed curves, but without removing the segments. The result should
be the same, since by this snake separation process we have added one crossing, if the segments were crossed
before. Actually, the second kind of curve splitting is included to verify that there were no crossings with the
added segments.
All five tests (or relevant portions of them) can be used in the proposed order to rule out the segments that
cannot cross. All the proposed conditions are necessary, but not sufficient, thus the segment pairs that passed all
the proposed tests should be directly checked for crossing by solving simultaneous equations [14], or explicitly, for
the segments siand sj, if:
xixjxj+1 xj
yiyjyj+1 yj
xj+1 xjxi+1 xi
yj+1 yjyi+1 yi
xixjxi+1 xi
yiyjyi+1 yi
xj+1 xjxi+1 xi
yj+1 yjyi+1 yi
then the segments are crossed.
It is important to note that if one does not halt the algorithm after the first crossing, then all the crossings may
be found in this manner. Another possibility for self-crossing localization, is to use the algorithm proposed in the
following subsection. This algorithm is simple and fast, but cannot achieve sub-pixel accuracy.
D. Computing the crossing point
In addition to the known methods for detection and computation of crossing points outlined in the Introduction,
and the method described in the previous subsection, we propose another approximate method which allows finding
the location of all the crossing points by 4-connected linear interpolation of the snake segments. The idea is to
connect the sequential but distant points of the given snake with additional points in-between, and if the added
points will fall on the same grid cell, then a crossing is located. All the points are registered in a two-dimensional
raster accumulator. Algorithms of simple linear interpolation (single and double width lines plotted on a raster) are
prone to false positives and false negatives, as is shown in Figure 4.
February 11, 2012 DRAFT
Fig. 4. The possibility of false positive (detected crossing where it does not exist) and false negative (actual crossing is not detected) with the
grid based algorithms.
It is clear from Figure 4 that the reason for the false negative is the two crossing lines that are not 4-connected
(vertically or horizontally connected). Thus we propose a simple algorithm for 4-connected line interpolation between
the two given snake points.
Input :rounded to the closest integer segment
end points (x1,y1)and (x2,y2)
if x1=x2then draw a vertical line
Slope =
Repeat until the (x2,y2)point is reached
make [r]steps in sign(y2y1)y direction
(i.e., move 1 point in signed y direction)
make 1 step in sign(x2x1)x direction
rr[r] + Slope
The Slope has been already defined in (3) and computed via the efficient algorithm for self-crossing detection
(Subsection II-B).
February 11, 2012 DRAFT
The [r]denotes the closest to rinteger.
As simple as it seems, the problem of defining a 4-connected linear interpolation is not a well-defined problem,
because the solution is not necessarily unique. Our algorithm provides only one possible solution. In some
cases it adds false positives, but it detects all the crossings without false negatives. The false positives are
easily detected and removed [12].
E. Contour splitting and reordering
When a self-crossing is detected and located, the snake will generally go through a topological change (splitting
into two snakes, or removing the loop). Different methods for topological changes have been proposed earlier [8],
[9], [12], [15], [10], [11]. In our work we use the simplest splitting proposed by Araki et al. [14]. If the segments
si:pipi+1and sj:pjpj+1are crossed, then we remove these segments, and add the segments between
pipj+1and pjpi+1(Figure 3). If some loops are removed, for example for single target tracking, the shortest
loops are eliminated, and the removed points are distributed in the most sparse regions of the remaining loop.
Additional cues about the loops that should be removed can also be extracted from the angle information. If we
suppose that the direction dir(α)does not change through tracking or segmentation, we can remove the loops with
the wrong direction.
In this section, we show how the proposed algorithms improved the tracking with parametric Sobolev snakes [16]
with the Chan-Vese energy functional [3]. The snake was used to track a single target in video sequences with a
constant velocity dynamic model (current frame initialization contour is a translated version of the previous frame
result). The algorithms have been implemented in Matlab.
We have chosen two representative videos. The first is the well-known “Walking in Finland” sequence from
University of Oulu. This sequence consists of 22 frames, and is frequently used to test visual trackers. We run the
algorithm of Sobolev snake with the same parameters (λ= 1, step size dt = 1, 6 iterations per frame), with and
without the loop detection and elimination algorithms. The target is manually selected in the first frame. For the
following frames, the predicted in the previous frame result is used to initialize the snake. The results are shown
in Figure 5.
Without the proposed algorithm, in frame 3 the snake develops a loop, which prevents further convergence of
snake around the target. When the developing loop was detected via our self-crossing detection algorithm, it was
removed, and the tracking was successful.
The second sequence, “The Hand,” is filmed by infrared (IR) camera, and has 1050 frames. Again, only with the
self-crossing detection algorithm the Sobolev snake managed to track the hand in the entire sequence. The results
of tracking are shown in Figure 6.
The additional time to detect and remove the loops for all the tested sequences was less than 2%, compared to
the Sobolev snake algorithm running time.
February 11, 2012 DRAFT
Fig. 5. “Walking in Finland” sequence without (top row) and with (bottom row) the algorithm for self-crossing detection and loop elimination.
The next frame prediction contour (blue), and the current final contour (magenta) are shown.
Fig. 6. “The Hand” sequence without (top row) and with (bottom row) the algorithm for self-crossing detection and loop elimination. The
next frame prediction contour (blue), and the current final contour (magenta) are shown.
Some more experiments illustrating our methodology may be found on the website: The failure scenarios for these
videos (without our algorithm) are shown in the top row of Figure 7, and the success scenarios (with the self-
crossing detection and elimination) are show at the bottom row of this figure.
We have proposed a fast and simple approach for snake self-crossing detection and localization. The algorithms
can be adapted to any type of parametric snakes, defined by snaxel coordinates, and do not restrict the snake’s
motion and evolution in any manner.
The proposed crossing point computation algorithm uses rounded integer values for snaxels, and is appropriate
in cases where no sub-pixel accuracy is needed. Its implementation is fast and efficient, with a low number of false
February 11, 2012 DRAFT
Fig. 7. “The Car” and “The Robot” sequences. (Top row) Frames after the loop’s creation; (Bottom row) The loops are detected and eliminated
by the proposed algorithm
positives (that can be easily rejected).
We have shown that the proposed algorithm can be used for tracking real world scenarios, and helps to prevent the
divergence of the active contour from the target of interest. We believe that future research of angle dependencies
for even number of self-crossings will simplify the algorithm for the special cases discussed in the paper. The idea
of Perrin et al. [17] of using the assumption that initially the contour is simple, and then each moved snaxel should
be tested only if the simplicity condition is violated, should be applicable to our framework, by testing the changes
in the angles of each moved point. Additional improvements may be done by considering the work of Whitney and
Graustein [13, p.164], and the connection of the right-hand and left-hand crossings with the total angular change.
[1] M. Kass, A. Witkin, and D. Terzopoulos, “Snakes: Active contour models,International journal of computer vision, vol. 1, no. 4, pp.
321–331, 1988.
[2] A. Blake and M. Isard, Active contours: the application of techniques from graphics, vision, control theory and statistics to visual tracking
of shapes in motion. Springer-Verlag New York, Inc., 1998.
[3] T. Chan and L. Vese, “Active contours without edges,” IEEE Transactions on image processing, vol. 10, no. 2, pp. 266–277, 2001.
[4] J. Ivins and J. Porrill, “Active region models for segmenting textures and colours,Image and Vision Computing, vol. 13, no. 5, pp.
431–438, 1995.
[5] S. Osher and R. Fedkiw, Level set methods and dynamic implicit surfaces. Springer Verlag, 2003.
[6] M. De Berg, O. Cheong, M. Van Kreveld, and M. Overmars, Computational geometry: algorithms and applications, 3rd ed. Springer-Verlag
New York Inc, 2008.
[7] C. Smith and H. Schaub, “Efficient polygonal intersection determination with applications to robotics and vision,” in IEEE/RSJ International
Conference on Intelligent Robots and Systems, 2005, pp. 3890–3895.
[8] T. McInerney and D. Terzopoulos, “T-snakes: Topology adaptive snakes,Medical Image Analysis, vol. 4, no. 2, pp. 73–91, 2000.
[9] H. Delingette and J. Montagnat, “New algorithms for controlling active contours shape and topology,” in ECCV. Springer, 2000, pp.
February 11, 2012 DRAFT
[10] S. Bischoff and L. Kobbelt, “Parameterization-free active contour models with topology control,” The Visual Computer, vol. 20, no. 4, pp.
217–228, 2004.
[11] A. Oliveira, S. Ribeiro, R. Farias, and C. Esperanca, “Loop snakes: snakes with enhanced topology control,” in Computer Graphics and
Image Processing, Proceedings of 17th Brazilian Symposium on, 2004, pp. 364–371.
[12] L. Ji and H. Yan, “Loop-free snakes for highly irregular object shapes,” Pattern Recognition Letters, vol. 23, no. 5, pp. 579–591, 2002.
[13] A. Gray, E. Abbena, and S. Salamon, Modern differential geometry of curves and surfaces with Mathematica. Chapman & Hall/CRC,
[14] S. Araki, N. Yokoya, H. Iwasa, and H. Takemura, “Splitting of active contour models based on crossing detection for extraction of multiple
objects,” Systems and Computers in Japan, vol. 28, no. 11, pp. 34–42, 1998.
[15] S. Stoeter and N. Papanikolopoulos, “Closed Dynamic Contour Models that Split and Merge,” in IEEE International Conference on
Robotics and Automation, 2004, pp. 3883–3888.
[16] G. Sundaramoorthi, A. Yezzi, and A. Mennucci, “Coarse-to-Fine Segmentation and Tracking With Sobolev Active Contours, IEEE
Transactions on Pattern Analysis and Machine Intellegence, vol. 30(5), pp. 851–864, 2008.
[17] D. Perrin, A. Ladd, L. Kavraki, R. Howe, and J. Cannon, “Fast intersection checking for parametric deformable models,” in Proceedings
of SPIE, vol. 5747, 2005, p. 1468.
Arie Nakhmani received the Ph.D. degree in Electrical Engineering from Technion - Israel Institute of Technology,
Haifa, Israel, in 2011. Currently, he is a postdoctoral researcher and lecturer at the ECE Boston University, Boston,
MA. His research interests include visual tracking, image segmentation, estimation, and robust control.
Allen Tannenbaum is a faculty member of ECE/BME Boston University, and Department of Radiology/Wallace Cancer
Center, UAB. He does research in medical imaging, control, image processing, and computer vision.
February 11, 2012 DRAFT
    • "In (Nakhmani & Tannenbaum, 2012), a constant number of nodes is set, and the removed nodes are replaced but in the most sparse regions. When an active contour is used to approximate complex shapes, for instance the one presented in Figure 1, it is difficult to assume a constant number of nodes. "
    [Show abstract] [Hide abstract] ABSTRACT: This publication presents an edge–based active contour model using the inflation/deflation force, allowing active contour nodes to be moved to find object boundaries in a digital image. The methods proposed in this study make it possible to keep a high value of the inflation/deflation force for each node until the node approaches the boundary of the analysed shape. After the boundary searched for is reached, the value of the inflation/deflation force for these nodes is automatically damped. The solutions used in this paper are of major practical significance if the analysed images contain weak boundaries and/or strong noise at the same time, and on top of that there are strictures of the shape which should be approximated. Experiments were carried out for artificial images as well as USG and MRI medical images, and have confirmed the suitability of the solutions used.
    Full-text · Article · Feb 2016
    • "A further weakness is that the tracking precision is limited at the contour level. In recent years, the state of the art tracking algorithms based on deformable template are proposed by the papers [37, 38]. "
    [Show abstract] [Hide abstract] ABSTRACT: Due to the numerous important applications of video surveillance and monitoring, video object tracking has been an active research topic in the last decade. This paper makes a survey of approaches to high quality object tracking by looking at theoretical backgrounds and practical results, which are categorized into four groups. The principle, the evolution processes and the latest progresses of these approaches are identified to form a conclusion for future directions of object tracking algorithms
    Article · Sep 2015 · Expert Systems with Applications
    • "One should be aware that detecting intersections and corresponding loops may be done on continuous sampled curves, by finding intersections between line segments [3, 5]. A part of the literature deals with this non-trivial task for self-intersection prevention and topology changes in active contours, as in [7]. However, self-intersections and self-tangencies are more conveniently studied on digital 4-connected curves. "
    Full-text · Dataset · Mar 2015 · Expert Systems with Applications
Show more