(e.g., one for the prow and another for the stern) and
discard (for some frames) detection of such a target.
Moreover, it is not useful when boats travel close by
in the same direction. From an analysis of the per-
formance of the segmentation process on many live
video streams from our application scenario, we have
evaluated that situations where optical flow worsen
the performance of the segmentation process are very
limited, with respect to the advantages in refining seg-
mentation when two boats moving in different direc-
tions come close and in presence of long waves after
the tracked boat. In summary, the algorithm used for
image segmentation consists of the following steps:
Background formation: a set S of n frames is used to
build the background image B which represents only
the static (i.e. non-moving) part of the scenario. This
procedure is done continuously to adapt to the sce-
nario’s changes. Foreground computation: the dif-
ference between the current image I from the camera
and the B image of the background gives the fore-
ground image F. This image is a binary image and
contains only elements which are not in the back-
ground (new elements in the scenario); an example is
Figure 3-b). Blob formation: the binary image B is
analyzed in order to find connected components (i.e.,
blobs). Optical flow refining: for every detected blob
optical flow is computed. If there is only one domi-
nant moving direction (more than 70%) the blob is
confirmed, otherwise the blob is split in the different
directions detected. In addition, optical flow is used
to eliminate wave noise. Ellipse approximation: el-
lipses calculated on the size of the blobs represent an
approximation of the boats detected. The centroids of
the ellipses are used to track the boats over time (see
Section 4).
4 MULTI-HYPOTHESIS KALMAN
FILTER TRACKING
An optimal recursive data processing algorithm for
tracking moving targets over time is the Kalman Fil-
ter (Welch and Bishop, 2004; Maybeck, 1979). Such
a filter represents an efficient solution to the gen-
eral problem of estimating the state of a discrete-time
controlled process. When developing a multi-object
tracking method, one usually has to deal with track
initiation, track update including prediction and data
association and track deletion. The process is di-
vided into two fundamental steps: association: as-
signment of each incoming observation to a specific
target track; estimate: the receivedobservationis used
to provide a state estimate of the associated track.
Each time a new observation is received, it must be
associated to the correct track among the set of the
existing tracks, or, if it represents a new target, a
new track must be created. Thus, the tracking sys-
tem needs some mechanisms of Data Association and
tracks management (see (Hall and Llinas, 2001)).
This is a single hypothesis approach which means that
at all times an observation is associated to only one
of the existing tracks. If a wrong association hap-
pens (i.e. an observation is associated to a wrong
track) the system cannot recover from this error. In
our case, especially when we have a very crowded
scene, it is not straightforward to assign an observa-
tion to a certain track. For this reason we use a multi-
hypothesis Kalman filter tracking system. Every time
there is an observation that could be assigned to more
than one track the system considers the two hypothe-
ses for every candidate track (i.e. every track is di-
vided in two new ones). This is called track split.
This technique leads to the proliferation of the num-
ber of tracks and we need to detect and delete redun-
dant track (track merging. In the next paragraph we
illustrate with more details the single and multi hy-
pothesis tracking phases.
4.1 Single Hypothesis Tracking
4.1.1 Data Association
The technique used for the data association is the
Nearest Neighbor rule. When a new observation is
received, all existing tracks are projected forward to
the time of the new measurement. Then the observa-
tion is assigned to the nearest such estimate.
More generally, the distance calculation is computed
to reflect the relative uncertainties (covariances) as-
sociated with each track and observation. The most
widely used measure of the correlation between two
mean and covariance pair {x
1
,P
1
} and {x
2
,P
2
},
which are assumed to be Gaussian-distributed random
variables, is:
P
ass
(x
1
,x
2
) =
exp(−
1
2
(x
1
− x
2
)(P
1
+ P
2
)
−1
(x
1
− x
2
)
T
)
p
2π | (P
1
+ P
2
) |
(1)
If this quantity is above a given threshold, the two
estimates are considered to be feasibly correlated.
An observation is assigned to the track with which
it has the highest association ranking. In this way, a
multiple-target problem can be decomposed into a set
of single-target problems.