2 THE CLASSIFIER STRUCTURE
The behaviour of an object can be described by a set
of actions that it performed in a certain environment.
By the security point of view we could expect, at
least, three kinds of observations: normal; unusual;
or abnormal actions.
Normal actions are those which are frequently
observed and do not origin the violation of any
restricted area. Actions that are unusual are those
that are not common or have never occurred. When
an action leads to a violation of a restricted area,
then it should be classified as an abnormal action.
The proposed classifier needs to be able to
predict those events from the registered object path.
This leads us to a classifier that should respond to
the following question: If an object, with specific
properties, travels until a certain point, what is its
probability to follow a path that will cause an
abnormal event?
We propose a classifier that aims to answer this
question, using an N-ary tree, whose nodes are
composed by two kinds of information:
multivariable Gaussian distributions N(μ, Σ) in the
object attribute’s hyperplane; and an abnormal
probability (P
ab
), i.e. the probability of an object,
that cover a know path, and is situated in a region
defined by the Gaussian distribution of the node in a
given period of time, to violate a restricted area.
Figure 1: Example of an N-are trees classifier.
Has we can see in figure 1, the classifier’s tree is
organized by layers. Every track should be described
by a sequence of nodes, each one from a different
layer, starting in “layer 1” (when an object enters in
the scene). In this classifier, the layers define the
regions of object’s attributes for a given time period,
e.g. 10 frames.
The proposed N-ary trees, can be seen as a
spatiotemporal classifier enriched with some
object’s attributes. To build that classifier, we use a
set of pre-recorded tracks, where each track is
defined by a sequence of attribute vectors,
describing the properties of an object at each sample.
For now the following attributes are considered: 2D
coordinate’s center-of-gravity; velocity; area; type
descriptor, i.e. human, group or vehicle; and an
alarm flag. Note that the tracks used to learn the
classifier are flagged only in two states: normal or
abnormal tracks.
The first step on constructing the N-ary trees
classifier consists on the partitioning of the data into
equal time slices. Then, for each time slice, the
sampled data of every track is averaged. Next, the
computed data from all the tracks observed in the
given time slice are clustered, forming different
Gaussian distributions.
Since there is no information about the number
of clusters in a layer, a cluster algorithm capable to
infer the number of expected distributions should be
used. For this propose an Expectation-Maximization
algorithm with automatic cluster number detection
based in k-fold cross-validation (Kohavi, 1995) was
implemented, with k = 10, as described next.
2.1 Clustering the Data
Consider X a d-component column vector of object
attributes, μ the d-component mean vector, Σ the d-
by-d covariance matrix, and |Σ| and Σ
-1
its
determinant and inverse, respectively.
For each layer there are N tracks samples, and
initially the number of classes (C) is set to one. The
first step of the k-fold cross-validation is to divide
the dataset into ten fractions. Next, nine fractions are
selected to compute the expectation and
maximization steps. The remaining fraction is used
to compute the log-likelihood. This procedure is
executed ten times in order to compute the log-
likelihoods of all the fractions from the dataset.
The final log-likelihood is calculated as the mean
of the ten log-likelihoods. The value of classes C
will be incremented while the log-likelihood L is not
stabilized. After determining the number of clusters,
the computation of the Gaussian distributions is
performed by the Expectation-Maximization
algorithm, as described bellow:
Starting conditions:
()
()
()
NX
NX
Xrandom
CWP
doCjforeach
N
i
jij
N
i
ij
j
j
∑
∑
=
=
−=Σ
=
=
=
∈
1
2
1
1
μ
μ
μ
P
ab
, N1,1(µ1,1,Σ1,1)
P
ab
, N1,2(µ1,2, Σ1,2)
P
ab
, N1,m(µ1,m, Σ1,m)
Layer 1
Root
P
ab
, N2,1(µ2,1, Σ2,1)
P
ab
, N2,2(µ2,2, Σ2,2) P
ab
, N2,n(µ2,n, Σ2,n)
P
ab
, N2,3(µ2,3, Σ2,3)
P
ab
, N3,1(µ3,1, Σ3,1) P
ab
, N3,2(µ3,2, Σ3,2) P
ab
, N3,k(µ3,k, Σ3,k)
P
ab
, N4,1(µ4,1, Σ4,1)
Layer 2
Layer 3
Layer 4
ICINCO 2006 - ROBOTICS AND AUTOMATION
458