each direction
1
. Due to the angular resolution, some
directions do not have any relevant polynomials but
still are in the final set of detected segments (see Fig.1
& 3, first row.) This issue will be addressed in the next
section.
4 BASE DETECTION
Since the venation network is palmate, we can argue
that the base point is at the intersection of the primary
veins. We hence compute the intersection points for
each pair of candidate polynomials of Alg.1, and keep
the points that either lie within the range used for the
approximation of both polynomials, or are close to it.
In fact, keeping only intersection points lying within
the range of approximation filters out relevant inter-
section point, explained by the fact that the base point
is often a large area of venation, which makes the di-
rectional top-hat miss the zone. In our experiments,
we considered intersection points that are not further
away than 5% of the length of the candidate vein.
We associate to each intersection x
k
a weight w
k
that
favours angles close to π/2 at the intersection point
between the two involved polynomials.
Given the intersections, we then use the mean-
shift (MS) (Comaniciu and Meer, 2002) algorithm to
find the local maximum density locations, which we
consider as being candidates for the base of the leaf.
Using the normal density estimates, the update rule
yields
y
i+1
=
∑
k∈N
x
x
k
· w
k
· exp
y
i
−x
k
h
2
∑
k∈N
x
w
k
· exp
y
i
−x
k
h
2
(1)
where N
x
stands for an appropriate neighbourhood of
the intersection point x weighted by w. In our exper-
iments, we took the neighbourhood as being a ball of
radius 1% of the image size. The result of the MS
algorithm is a set of local modes, that we cluster to-
gether as explained in (Comaniciu and Meer, 2002),
resulting in a set of candidates C. Selecting the base
as the mode with highest density (denominator of
Equ.1) provides 99.74% of correct results. However,
in this setting, some polynomials may appear with
high similarity at different orientations, each of which
creating intersection points. Moreover, the number
of votes/intersections grows quadratically in the num-
ber of polynomials. This is why we believe that rely-
ing on the density alone will not behave correctly for
other databases and will be sensitive to noise.
1
in our experiments, we took n
1
= 10, n
2
= 5 and n = 3.
4.1 Network Reconstruction
As mentioned, the candidate venation network com-
puted in §3.2 is disconnected. Moreover, some poly-
nomials are redundant as they were detected at close
angular directions. We consider a path as a sequence
of 2-polynomials along with their boundary. The
complete algorithm proceeds in two similar steps:
first it prunes, merges and splits intersecting polyno-
mials into an initial set of paths P . It then merges
this set of paths with close and compatible orienta-
tions boundaries. The algorithm starts by sorting the
initial set of polynomials S by decreasing length. It
then proceeds in a way similar to a region growing
by hill climbing, with the difference that it may create
new polynomials during the growing, which should
then be correctly handled. A FIFO queue c is initial-
ized with the first element of S. Two other queues
p,g, used respectively for the current path, and the
pruned polynomials, and a priority queue q are also
initialized. For each popped-out element e of c, all
polynomials t in S , but not in p, c or g, and inter-
secting e within their respective boundary and with
an angle lower than π/12, are selected. Let’s call i the
intersection of t and e meeting these constraints. If the
boundaries of t are completely included in those of e,
then t is targeted for pruning and added into g. Other-
wise, e and t are split at their intersection i. From the
four parts obtained, the longest configuration is kept,
yielding left and right polynomials l
t,c
,r
t,c
. The new
polynomial l
t,c
∪ r
t,c
is inserted into q. After all can-
didates t have been tested, either q is empty, in which
case e is added to the current reconstructed path p, or
q contains new polynomials not in S. In that case, for
the t generating the longest new polynomial, e and t
are both removed from S, and l
t,c
and r
t,c
are added
both into S and c (region growing). Finally, when no
growing is possible, P = P ∪ p and S = S − p ∪ g.
For the second part of the reconstruction, instead
of considering intersecting polynomials, paths not
distant from more than 2 × R , with R the radius of
the kernel used in Equ.1 are considered. Indeed, poly-
nomials separated by at most 2 × R will get selected
by a base candidate (see next section).
4.2 Base Selection
For each of the MS candidates c ∈ C , we select
the subset Q
c
of paths from P such that Q
c
= {p ∈
P ,∃ p
i
∈ p st. d(p
i
,c) < R }, which amounts to solve
the roots of a 3-polynomial. We then consider the
base point B as being
B = arg max
c∈C
∑
p∈Q
c
length(p)
ICPRAM 2012 - International Conference on Pattern Recognition Applications and Methods
522