argos - a video surveillance system for boat traffic...

24
June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai International Journal of Pattern Recognition and Artificial Intelligence c World Scientific Publishing Company ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC MONITORING IN VENICE DOMENICO BLOISI, LUCA IOCCHI Dipartimento di Informatica e Sistemistica, Sapienza University of Rome, Via Ariosto 25, Rome, 00185, Italy {bloisi,iocchi}@dis.uniroma1.it http://www.dis.uniroma1.it/iocchi Visual surveillance in dynamic scenes is currently one of the most active research topics in computer vision and many existing applications are available. However, difficul- ties in realizing effective video surveillance systems that are robust to the many different conditions that arise in real environments, make the actual deployment of such systems very challenging. In this article we present a real, unique and pioneer video surveillance system for boat traffic monitoring, ARGOS. The system runs continuously 24 hours a day, 7 days a week, day and night in the city of Venice since 2007 and it is able to build a reliable background model of the water channel and to track the boats navigating the channel with good accuracy in real-time. A significant experimental evaluation, reported in this article, has been performed in order to assess the real performance of the system. Keywords : Video surveillance; Image Segmentation in Water Scenario; Multi-object Tracking. 1. Introduction Visual surveillance in dynamic scenes is currently one of the most active research topics in computer vision. There exist a wide spectrum of promising applications for video surveillance systems 23,22,19,17,20,36 , including access control in special areas, human identification at a distance, crowd flux statistics and congestion analysis, detection of anomalous behaviors, interactive surveillance using multiple cameras, etc. However, very often these applications are only prototypes and their use is limited to indoor environments (like museums or offices) or very special outdoor ones (crossroads or highways). In particular, the majority of the outdoor applications consider only street scenarios where the background (i.e. the street) is mostly static and visual changes due on varying light conditions are limited. The main difficulty in realizing effective video surveillance systems that can reliably work in real conditions is the need of implementing techniques that are robust to the many different conditions that arise in real environments. In order to develop an effective and robust video surveillance system it is important both to 1

Upload: others

Post on 12-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

International Journal of Pattern Recognition and Artificial Intelligencec© World Scientific Publishing Company

ARGOS - A VIDEO SURVEILLANCE SYSTEMFOR BOAT TRAFFIC MONITORING IN VENICE

DOMENICO BLOISI, LUCA IOCCHI

Dipartimento di Informatica e Sistemistica,Sapienza University of Rome,

Via Ariosto 25, Rome, 00185, Italy{bloisi,iocchi}@dis.uniroma1.it

http://www.dis.uniroma1.it/∼iocchi

Visual surveillance in dynamic scenes is currently one of the most active researchtopics in computer vision and many existing applications are available. However, difficul-ties in realizing effective video surveillance systems that are robust to the many differentconditions that arise in real environments, make the actual deployment of such systemsvery challenging.

In this article we present a real, unique and pioneer video surveillance system forboat traffic monitoring, ARGOS. The system runs continuously 24 hours a day, 7 daysa week, day and night in the city of Venice since 2007 and it is able to build a reliablebackground model of the water channel and to track the boats navigating the channelwith good accuracy in real-time. A significant experimental evaluation, reported in thisarticle, has been performed in order to assess the real performance of the system.

Keywords: Video surveillance; Image Segmentation in Water Scenario; Multi-objectTracking.

1. Introduction

Visual surveillance in dynamic scenes is currently one of the most active researchtopics in computer vision. There exist a wide spectrum of promising applications forvideo surveillance systems 23,22,19,17,20,36, including access control in special areas,human identification at a distance, crowd flux statistics and congestion analysis,detection of anomalous behaviors, interactive surveillance using multiple cameras,etc. However, very often these applications are only prototypes and their use islimited to indoor environments (like museums or offices) or very special outdoor ones(crossroads or highways). In particular, the majority of the outdoor applicationsconsider only street scenarios where the background (i.e. the street) is mostly staticand visual changes due on varying light conditions are limited.

The main difficulty in realizing effective video surveillance systems that canreliably work in real conditions is the need of implementing techniques that arerobust to the many different conditions that arise in real environments. In order todevelop an effective and robust video surveillance system it is important both to

1

Page 2: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

2 Domenico Bloisi and Luca Iocchi

develop good solutions for all the video analysis phases: i.e., image segmentation,object detection and tracking, and to integrate these techniques in a proper way.

In this article we present ARGOS: a real, unique and pioneer video surveillancesystem for boat traffic monitoring that is in use to monitor the Gran Canal ofVenice in Italy. Our system is able to build a reliable background model of the waterchannel and to track the boats navigating the channel with good accuracy (as ourexperiments demonstrate) in real-time. The system runs continuously 24 hours aday, 7 days a week, day and night in the city of Venice. With respect to a classicvehicle traffic monitoring system, we deal with an intrinsic non static backgrounddue to waves, sun reflections on the water, high and low tide. Furthermore, in awater channel there are neither forced driving lane (boats can navigate both onthe left and on the right) nor side lane delimiters, the dimensions and shapes ofthe boats navigating the channel may vary from the smallest gondolas up to thebiggest ferry boats and it is not rare that half of the image from a camera is occupiedby large boats. Finally, ARGOS requirements include the need of estimating theworld position of each tracked boat and camera calibration has been employed totransform image coordinates to world referenced (Gauss-Boaga) coordinates. Thiscalibration has been performed with the help of a differential GPS mounted on aboat. But also this phase is more difficult in water scenario, since a boat cannotstay perfectly still and tide varies up to 2 meters during the year, thus introducinga noise in this transformation.

In this article we describe all the components of the ARGOS system and we dis-cuss the choices made in order to realize a robust and efficient system. An extensiveexperimental evaluation has been performed in order to assess the performance ofthe system in real operating conditions. Very often they have been performed on-line during the real execution of the system and not off-line on pre-stored data sets.The real data used in the experiments create very interesting and challenging realdata sets that may be used as benchmarks for many video surveillance modules.It is our intention to provide these data sets available for comparison of differentmethods.

The article is organized as follows. After a brief overview of the system givenin Section 2, we will relate our work with respect to the state-of-the-art in thefield in Section 3. Then we describe the two main processes of our system: ImageSegmentation (Section 4) and Multi-Object Tracking (Section 5). Section 6 brieflydescribe the user front-end, while the experimental evaluation of our system isreported in Section 7, and conclusions are drawn in Section 8.

2. Overview of ARGOS project

Wave motion has been recognized as one of the major causes of damage to thebasement structures of historical buildings in Venice. Since 1960’s the VenetianMunicipal Authorities have been involved in defining rules and tradeoffs suitablefor the need of both mobility of goods, inhabitants and tourists and preservation of

Page 3: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 3

historical heritage. Strict traffic behavior rules (such as speed limits), though, wereproven to be only partly effective, due to the lack of continuous and autonomoustraffic monitoring systems.

The ARGOS project 4 (Automatic Remote Grand Canal Observation System)was launched in early 2006, by the Municipal Administration of Venice with theobjective of boat traffic monitoring, measurement and management along the GrandCanal of Venice based on automated vision techniques. The ARGOS system hasbeen developed during 2006-2007, fully installed in September 2007 and officiallyreleased and demonstrated in November 2007. Since then, ARGOS is fully working24 hours/day, 7 days/week.

Fig. 1. ARGOS map and examples of survey cells.

The ARGOS system controls a waterway of about 6 km length, 80 to 150 meterswidth, through 14 survey cells, as shown in Figure 1 left. All the survey cells areconnected through a wireless network to the Control Center, providing for a unifiedview of the whole Grand Canal waterway. Each survey cell, installed just belowthe roof of several buildings leaning over the Grand Canal (see Figure 1 right), iscomposed of 4 optical sensors: one central wide-angle (90 degree), orthogonal to thenavigation axis, two side deep-field cameras (50-60 degree), and one PTZ camera forthe automatic high-resolution tracking of selected targets. The resulting overall viewfield of each cell along the waterway could stretch over 250-300 meters end-to-end.The four cameras are connected to a local computer where images are processedthrough a set of processing modules that are described in the following sectionsof this article. From an analysis of balancing between tracking and computationalperformance, we found out the best trade-off was to process 640x480 color images.Therefore a single machine (PC with an Intel Core 2 Duo 2.4 GHz CPU) is usedto process three streams of 640x480 images.

The main ARGOS functions are: optical detection and tracking of moving tar-gets present in the field of view of each survey cell; computing position, speed andheading of any moving target observed by a cell; automatic detection of a set ofpredefined events; transmission of data and video stream to the Control Center.

These functions have been implemented in a video analysis software that runson each survey cell and tracks all the boats in the range of the cell. The information

Page 4: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

4 Domenico Bloisi and Luca Iocchi

about position and speed of each tracked boat as well as specific events are sentto the Control Center together with the image stream. The Control Center is thenresponsible for elaborating statistics of traffic, presenting to the end-user a repre-sentation of interesting events (e.g., speed-limit), recording video data, acceptingtemporal and geo-referentiated queries and playing back past events.

The ARGOS system is integrated with the SALOMON system, that, since1990’s, equipped the public water-bus fleet with differential GPS receivers. SA-LOMON system was proven to be very effective and precise; however, because ofthe need of a permanent installment of the intelligent navigation unit on the boats,its use is currently limited to the major resident fleets only. The integration betweenARGOS and SALOMON has been very useful for evaluation purposes, since it hasbeen possible to directly compare in the real environment position and speed ofboats tracked with the ARGOS system with the values from the differential GPSreceivers, thus allowing for a precise measure of position and speed errors of theARGOS system (see Section 7).

3. Related Work

Video-surveillance systems have been extensively experimented for observing andtracking vehicles and people in dynamic scenes (see 12,23). While such systems en-able robust foreground segmentation under a wide range of conditions, they cannotaccommodate background clutter that exhibits high spatiotemporal correlation aswater. Indeed, in water-based scenarios, waves caused by wind or by moving vessels(wakes) form highly correlated moving patterns that confuse traditional backgroundanalysis models 1.

Some works 1,29,32,37 have specifically considered water background modeling.However, they lack an accurate and probing evaluation activity and none of themcan meet our real time requirements (only 29 claims quasi real-time performance).

On the other hand, there are several systems that tracks boats or ships in realtime, but they rely on GPS units (Automatic Identification System) mounted onthe vesselsa, that are not available in our case. Moreover, the use of satellite imagesis again not suitable for detecting small boats like the ones travelling in VeniceGrand Canal.

The ARGOS system presented in this paper has demonstrated to be an effectiveboat tracking system for water scenario and it is based only on images taken by anumber of standard video cameras. As many other video-surveillance systems, themain components of our system are image segmentation and multi-object tracking.The next subsections thus highlight the relationship of our solution with the state-of-the-art in these fields.

aSee for example http://hd-sf.com/livemap.html

Page 5: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 5

3.1. Image segmentation on water background

While there are many general approaches to image segmentation with dynamicbackground, only a few of them have been tested on water background.

As suggested in 1, for dealing with water background it is fundamental to in-tegrate a pixel-wise statistical model with a global model of the movement of thescene (for example, optical flow). In fact, the background model needs to be sensitiveenough to detect movement of objects that are of interest, adapting to long-termlighting and structural changes (e.g., objects entering the field of view and be-coming stationary). It needs also to rapidly adjust to sudden background changes.Combining the statistical model with the optical flow computation allows to satisfysimultaneously both the sensitivity to foreground motion and the ability to modelsudden background changes (waves and boat’s wakes). Unfortunately, the approachproposed in 1 seems too computationally demanding and the performance are notassessed with extensive experiments.

In 29, a method for background modeling that is able to account for dynamicscenes is presented. The central idea is to generate a prediction mechanism thatcan determine the actual frame using the k latest observed images. Ocean wavesare considered as an example of a scene to be described as dynamic and withnon-stationary properties in time. The system works at 5 frames per second with320×240 images and it seems again too computationally demanding for our pur-poses (i.e., processing three 640×480 video streams on a single machine).

In 32, a method to determine real world scale as well as other factors, includingwave height, sea state, and wind speed, from uncalibrated water video is proposed.Fourier transforms of individual frames are used to find the energy at various spa-tial frequencies. Principal component analysis (PCA) of the whole video sequencefollowed by another Fourier transformation is used to find the energy at varioustemporal frequencies. This approach works only for water waves in the open oceandue to some assumptions on wavelengths that are obviously not true in a narrowwater channel with high boat traffic as the Grand Canal is.

Zhong and Sclaroff 37 propose an algorithm that explicitly models the dynamic,textured background via an Autoregressive Moving Average (ARMA) model. Un-fortunately, this approach is not usable in real time application, since the authorsclaim a computational speed of 8 seconds per frame.

The many approaches on image segmentation with dynamic background canbe generally classified into two categories 8: those that build generative models forthe background scene and those that model the background distribution with anon-parametric form. The simplest, but still effective, generative approaches areAdjacent Frame Difference (FD)35 and Mean-Filter (MF)35. As its name suggests,FD operates by subtracting a current pixel value from its previous value, markingit as foreground if absolute difference is greater than a threshold. MF computesan on-line estimate of a Gaussian distribution from a buffer of recent pixel valueseither in the form of single Gaussians (SGM) 36,24 or mixture of Gaussians (MGM)

Page 6: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

6 Domenico Bloisi and Luca Iocchi

16,33,15 or using others approaches (median 11, minimum-maximum values 21, etc.).Non-parametric methods maintain a background distribution for a pixel based

on a list of past examples, using kernel density estimates (KDEs) 13,14,28. As statedin 8, FD is the worst approach for computing dynamic background, while a majordrawback of non-parametric approaches is that they ignore the time-series natureof the problem. Moreover, KDE requires training data from a sequence of examplesthat have a relatively clean background.

In our system we have implemented a mean-filter method based on mixtureof Gaussians, integrated with an approximated online clustering mechanism (seeSection 4). Although some experiments 18 report slightly better performance ofSGM with respect to MGM, in our application we have experimented a differenttrend, with MGM having better performance. We believe that the water backgroundhas quite different characteristics of the indoor scenarios used in 18 for such acomparison.

3.2. Multi-object Tracking

Multi-Object Tracking (MOT) is an active research field and many technical solu-tions have been presented and compared. The joint probabilistic data associationfilter (JPDAF) 3, and its many variants, integrates all the observations for all theobjects in a joint probabilistic space. This allows for a very accurate solution, butit has a high computational complexity that makes the method suitable only whena few objects must be tracked. Other approaches that can better deal with manytracked objects are based on multiple trackers, one for each object, that are typi-cally realized with Bayesian filtering methods (such as Kalman Filters or ParticleFilters). However, multiple independent trackers have problems with occlusions andinteractions among objects, since data association in these cases is very challenging.

To overcome these problems some approaches have been proposed. MacCormickand Blake 27 proposed a method based on probabilistic exclusion principle andCondensation algorithm, that prevent two targets to merge in a single track whenthey get close. Although the authors also introduce partitioned sampling in orderto improve computational requirements, real-time performance is not addressed inthe paper.

Another method using particle filters to deal with interacting targets is de-scribed in 26. The method defines a Markov random field motion prior to modelinteractions among targets and to maintain identity of targets throughout an inter-action. Markov chain Monte Carlo (MCMC) sampling step is used in the particlefilter implementation in order to reduce computational requirements. The resultingfilter is very effective in tracking many interacting targets, but also in this casereal-time performance are not addressed.

A different group of solutions that have been designed to deal with (and recoverfrom) data association errors is based on multiple hypothesis trackers (MHT) 30,10.In these trackers data association can generate multiple hypotheses on a track that

Page 7: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 7

can be later solved with future observations.In the ARGOS system we have implemented a multi-hypothesis tracker based on

a set of Kalman Filters. Our approach differs from original MHT in the generation ofhypotheses, that is limited in size and depth. Multiple hypotheses are maintainedduring the system operation and procedures for splitting and merging them aredefined based on state distances and covariance matrices of the Kalman filtersSection 5 describes in more details our approach to multi-hypothesis multi-objecttracking.

Although other choices may be promising, the main motivation behind ourchoice was the need of real-time performance. From our experience we believe thatMHT with KF provides for a good balance between real-time requirements androbustness in tracking many targets.

4. Image Segmentation for Water Scenario

The algorithm used for image segmentation consists of the following steps: Back-ground formation: a set S of n frames is used to build the background imageB which represents only the static (i.e., non-moving) part of the scenario. Thisprocedure is done continuously to adapt to the scenario’s changes. Foregroundcomputation: the difference between the current image I from the camera andthe B image of the background gives the foreground image F. This image is a binaryimage and contains only elements which are not in the background (new elementsin the scenario); an example is Figure 2-b). Blob formation: the binary imageB is analyzed in order to find connected components (i.e., blobs). Optical flowrefining: for every detected blob a sparse optical flow map is computed. The mappoints are clustered using the new algorithm Rek-means. In addition, optical flowis used to eliminate wave noise. Ellipse approximation: ellipses calculated on thesize of the blobs represent an approximation of the boats detected. The centroidsof the ellipses are used to track the boats over time (see Section 5).

The main techniques used during these phases are summarized in the following.

4.1. Background modelling

In order to detect the moving targets in the scenario (the boats), we have to detectand cluster the zones of the images representing the moving boats. A common andeffective technique to do that is called background subtraction. The background im-age is not fixed but must adapt to: both gradual illumination changes and suddenones (such as clouds), motion changes (camera oscillations), high frequency back-ground objects (waves in our case), changes in the background geometry (such asparked boats).

Our approach is based on a mixture of Gaussians 16,33,15. The system computesthe bar chart for every pixel (i.e., the approximation of the distribution) in theRGB color space and it clusters the raw data in sets based on distance in the colorspace. The clustering is made online after each new sample is added to S avoiding

Page 8: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

8 Domenico Bloisi and Luca Iocchi

to wait until S is full. In this way the background extraction process is fasterbecause the computational load is spread over the the sampling interval insteadof concentrating it after having completely filled S. In order to correctly managethe fluctuating water background, up to seven clusters (i.e., background values) foreach pixels are considered. This solution allows for representing fluctuations in thebackground due to reflection on water, wakes and clouds.

Moreover, for sudden managing illumination changes the images that are partof S are sampled at a variable rate depending on the illumination condition. Ifa sudden sun ray illuminates the scene, the system shorten the sampling period,inserting the changed background values in each pixel bar chart.

4.2. Optical flow analysis

When two boats are very near, it is common to have an error called under segmen-tation due to the perspective of the camera view: the foreground image has onlyone bigger blob instead of two or more. To improve the detection in this situationwe consider also the optical flow which correlates two consecutive frames. Everyfeature which is present in both the frames has a motion vector (direction, versusand value) which is not null if the position in the two frames is different. Opticalflow is a good approximation of the motion over time in image coordinates.

Fig. 2. An example of under-segmentation: a) there are five boats in the scene but b) the systemdetects four blobs. c) Using optical flow and Rek-means the system understands the differentdirections of the boats

The system considers four directions for each of the three view (left, central andright). A typical example of under-segmentation correctly solved with optical flowis showed in Figure 2.

ARGOS exploits a pyramidal implementation of the Lucas-Kanade optical flowalgorithm 9 that yields a sparse map (see Fig. 2-c). The points in the map must beclustered for segmenting the boats: unfortunately, we cannot know in advance howmany boats are in the image in a given moment. For coping with such a problem,we have developed the new clustering algorithm Rek-means (see 4.3).

Page 9: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 9

Optical flow is often useful also when we have a single boat with a long wakeon the back. Figure 3-b shows another typical segmentation error: the dimensionof the boat is estimated more than double than the real one. Using optical flow(Figure 3-c) the system detects a big yellow blob that corresponds to the boat andother little ones in different directions which are the water waves. Also in this caseoptical flow provides a correct detection (Figure 3-d)

Fig. 3. Example of wrong segmentation caused by water waves: b) The blob in the foregroundimage is much bigger than the real boat and a) the system gives a wrong detection result but c)using optical flow the system distinguishes the boat from the waves and d) we obtain the correctdetection

However, this approach fails when a boat is involved in particular maneuvers.For example, when a boat turns around itself, the optical flow may detect differentdirections for the different parts of the boat (e.g., one for the prow and another forthe stern) and discard (for some frames) detection of such a target. Moreover, itis not useful when boats travel close by in the same direction. From an analysis ofthe performance of the segmentation process on many live video streams from ourapplication scenario, we have evaluated that situations where optical flow worsenthe performance of the segmentation process are very limited, with respect to theadvantages in refining segmentation when two boats moving in different directionscome close and in presence of long wakes after the tracked boat.

4.3. Clustering through Rek-means

Sparse optical flow points must be clustered with the objective of assigning onecluster to each boat in the image. There are a lot of well known algorithms thatperform the task of clustering data: k-means, Fuzzy C-means, Hierarchical cluster-ing, EM, and many others 25. Among them, k-means is the most efficient in terms ofexecution time 25. However, k-means requires to specify in advance the number of

Page 10: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

10 Domenico Bloisi and Luca Iocchi

Fig. 4. Rek-means clustering example.

clusters k, it converges only to a locally optimal solution, and the solution dependsfrom the initialization step.

In order to overcome these limitations, we developed an extension of k-meansthat works without an a priori knowledge on the number of clusters (k) and isrobust with respect to a random initialization. Our extension of k-means, calledRek-means 5, has thus the following features:

1. it provides better results in clustering data coming from different Gaussian dis-tributions;

2. it does not require to specify k beforehand;3. it maintains real-time performance.

Rek-means algorithm. Rek-means has been developed for clustering data com-ing from a supposed Gaussian distribution and extends k-means algorithm by usingsmall rectangular areas first to over cluster the data, then to efficiently merge themin the final clusters. The prefix ”Re” in Rek-means stands thus for rectangle.

In the following we briefly summarize Rek-means algorithm (details are givenin 5). Suppose we have n 2D-points to cluster (see Fig. 4-a). We may choose adistance d that is the maximal distance between two points in order to considerthem belonging to the same cluster. We may choose also a minimal dimension dimC

so that a cluster is considered of interest.As a first step, we compute k-means with k = n/4 taking the n points we have

to cluster as input (see Fig. 4-b). The choice of this number k is a trade-off betweenspeed of execution for this step and the number of clusters that will be associatedin the next steps. Our choice (k = n/4) gave us good results in our application. Inthis step, we perform an over clustering of the data, thus we need to reduce the

Page 11: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 11

number of clusters.The second step consists on discarding too small clusters: those whose size is≤ 2.

in average 4 points: if a cluster has a number of points < 4, In fact, small clustersare likely to be outliers, i.e. points far from the true centroid we are searching for.Furthermore, this discarding rule is useful in presence of noise between two distinctclusters.

In the third step, Rek-means builds a rectangle around each remained centroid(see Fig. 4-c).

In the forth step, Rek-means associates clusters with respect to a distance d. InFig. 4-c this association is represented by a line linking the rectangles that are closeenough. This step produces larger macro-clusters and subsequently a new set ofcentroids for these macro-clusters are computed, by merging the points containedin the associated rectangles (see Fig. 4-d). Rek-means uses rectangles to discretizethe cluster dimension since it is computationally efficient to compare the relativedistance between them.

As one can note, the associating algorithm heavily depends on the value chosenfor the distance d : If we choose a large value for d, then we may obtain an incorrectoutput. In order to avoid an under clustering caused by a wrong choice for d, weapply a validating test as the final step of the algorithm.

The validating step is useful if the data to cluster are not well-separated, forexample if we have to deal with overlapping clusters. Rek-means assumes that thedata to cluster follow a Gaussian distribution and uses the Anderson-Darling (AD)statistics 2,34 to test the data.

Further details on the method and experimental evaluation are provided in 5.

4.4. Segmentation results

The overall result of the segmentation process is a set of ellypses characterizing allthe boats detected in each image. Before tracking, the observations from each of thethe three cameras in a survey cell are mapped into a single space, that represents apanoramic 180 degree view of the observation cell. This is obtained by simply findinghomographies between the adjacent views which have a small overlap. Tracking (asdescribed in the next section) is thus performed in this panorama space, avoidingthe need of merging the results from the different cameras of a cell.

5. Multi-hypothesis Kalman Filter Tracking

Kalman Filter is commonly used in vision based tracking applications because itis an optimal recursive algorithm and it is easy to implement and computationallynot demanding. Such a filter represents an efficient solution to the general problemof estimating the state of a discrete-time controlled process.

While Kalman filter is used to track a single object, when developing a multi-object tracking (MOT) method, one usually has to deal with data association andtrack management. In our application, especially when we have a very crowded

Page 12: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

12 Domenico Bloisi and Luca Iocchi

scene, data association is very challenging, since it is not straightforward to as-sign an observation to a certain track. Therefore an approach based on a singlehypothesis is not adequate, since it cannot recover from data association errors.

In our system we adopt a multi-hypothesis tracker based on a set of KalmanFilters. Data association is used to determine relationships between observationsand tracks, but multiple hypotheses are maintained when observations may beassociated to more that one track. Track management is performed by extending thetypical steps of a multi-object tracker (MOT). While in a single-hypothesis MOT,tracks are managed by allowing track initiation, track update and track deletion, in amulti-hypothesis MOT two steps must be added: track split, that occurs every timean observation can be assigned to more than one track and thus the system splitsthe tracks in two hypotheses; track merge, that allows for detecting and merginghypotheses that correspond to the same real track. Moreover, among all the tracksmaintained in memory by the system only a subset of them are exported to the user.Finally, the results of tracking is also transformed in Gauss-Boaga coordinates thatallows integration of the ARGOS results with GIS applications. This is obtainedwith a preliminary calibration of each cell helped by a differential GPS unit mountedon a boat.

An example of the result of tracking is shown in Figure 5. The upper part showstracks presented to the user with ID, speed and a few past observations, showingthe motion of each boat; while the lower part shows a live top view of the part ofthe Grand Canal, obtained with the image-to-world rectification process.

In the following, we summarize the data association, the multi-hypothesis track-ing steps, and the track selection. More details on the single and multi hypothesistracking phases are available in 4.

5.1. Data Association

The technique used for the data association is the Nearest Neighbor rule. When anew observation is received, all existing tracks are projected forward to the time ofthe new measurement (predict step of the filter) and the observation is assigned tothe nearest of such predicted state.

The distance between observations and predicted filter states is computed con-sidering also the relative uncertainties (covariances) associated with them. Themost widely used measure of the correlation between two mean and covariancepair {x1,P1} and {x2,P2}, which are assumed to be Gaussian-distributed randomvariables, is:

Pass(x1,x2) =exp (− 1

2 (x1 − x2)(P1 + P2)−1(x1 − x2)T )√2π | (P1 + P2) |

(1)

If this quantity is above a given threshold, the two estimates are considered to befeasibly correlated. An observation is assigned to the track with which it has thehighest association ranking. In this way, a multiple-target problem can be decom-posed into a set of single-target problems. In addition, when an observation is ”close

Page 13: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 13

Fig. 5. Example of panorama tracking and map projection.

enough” to more than one track, multiple hypotheses are generated (see Track splitoperation).

5.2. Track management

Track formation. When a new observation is obtained, if it is not highly corre-lated with any existing track, then a new track is created and a new Kalman filteris initialized with the position (x, y) observed and given to all the not observedcomponents (e.g., velocity) a null value with a relatively high covariance. If thesubsequent observations confirm the track existence, the filter will converge to thereal state.

Track update. Once observations are associated to tracks, standard update of theKalman Filters are performed and the filters normally evolve..

Track split. When an observation is highly correlated with more than one track,new association hypothesis are created. The new observation received is used toupdate all the tracks with which it has a probability association that exceeds the

Page 14: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

14 Domenico Bloisi and Luca Iocchi

threshold value. A copy of each not updated track is also maintained (track split).Subsequent observations can be used to determine which assignment is correct. Thissplitting is limited to the best 2 associations. Moreover, we limit the total numberof hypotheses to 50.

Track merge. This step aims at detecting redundant tracks, i.e. tracks that (typi-cally after being splitted) lock onto the same object. At each step, for each track thecorrelation with all the other tracks is calculated using equation (1). If the probabil-ity association between two tracks exceeds a threshold (experimentally established),one of the two tracks is deleted, keeping only the most significant hypothesis.

Track deletion. Finally, when a track is not supported by observations, the un-certainty in the state estimate increases and when this is over a threshold, we candelete the track from the system. We have considered, as a measure of the uncer-tainty in the state estimate of each target, the filter gain relative to the track:

Kt = P−t HT (HP−t HT + R)−1 (2)

Fig. 6. a)Two boats very near are detected as one because there is a b)Foreground under seg-mentation error and c)Optical flow does not solve the problem but d)With the multi-hypothesismethod the system continues to track the boats separated over time

An example of the multi-hypothesis tracking method is shown in Figure 6: whentwo boats are very near they are detected as one (ellipse in Figure 6-a) because thereis a foreground under-segmentation error (Figure 6-b) and also the optical flowdoes not solve the problem because the two boats proceed in the same direction(Figure 6-c). Thanks to the multi-hypothesis approach the system considers thewrong observation as a new track but it continues to track over time the formertwo because of the history of the observations (Figure 6-d). After some frames,the two correct tracks survive since they are supported by observations, while thenew erroneous hypothesis will be deleted. Obviously, the multi-hypothesis trackerdoes not remove all the error cases, but it is successful in many cases in which asingle-hypothesis tracker would fail.

Page 15: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 15

5.3. Track selection for the end user

The presence of multiple hypotheses make unfeasible to export and display all thetracks in the system memory to the end user. Therefore it is also important to selectthe tracks to be exported as the final result of tracking at each time. Therefore,we have implemented a application-dependent evaluation of tracks that allows forselecting the good tracks to be exported to the end user. Good tracks are computedon the basis of time lived, size of covariance matrices, and analysis of the performedtrajectory. This process has been tuned on our boat tracking application, and hasthe advantage of hiding to the user all those tracks that are probably not correct. Forexample, the system does not show too short tracks (often caused by reflections orwaves), tracks that do not move linearly in the space for more than a given amount(again caused by local phenomena like waves or reflections). Moreover, the systemalways shows only one hypothesis in a multiple hypothesis set, choosing the morelikely.

Only good tracks are considered when events and track analysis are computed.This allows for significantly more accurate results in traffic statistics and event de-tection. Moreover, when a track becomes good event and track analysis is performedalso on past observations of such track. In this way, we obtain a complete event andtrack analysis for good tracks, while bas tracks are not considered. As a drawbackof this mechanism, the visualization of the beginning of a track is delayed. However,when the track starts, the system shows (i.e. displays) also past observations so theuser does not perceive an error of the system.

6. Application and User Interface

In order to make available all the information gathered by the system in a usefulway for the Venice Municipal Authorities, we have developed different visualizationsof the results of the system.

The main control window shows a live global view of the Grand Canal, inte-grating a GIS map with live information about position and velocity of the boatscurrently in the canal (see Figure 7). Colors are used to denote the speed of thevehicles and other icons may appear close by to indicate specific events (such as,moving in a wrong way, stopping in a forbidden area, etc.) In addition, flow anddensity analysis are performed and displayed in order to have a global view of thetraffic present in the canal at every time (example in Figure 8).

The relevant information that are extracted by ARGOS are divided in twogroups: statistics measures and event detection.

The first kind of information is necessary to continuously monitor the traffic inthe Canal. In particular, we want to calculate the traffic of boats moving in eachdirection for each survey cell at different times of the day, as well as the boat densityin the different areas of the Canal. To this end track analysis has been performed inorder to compute the quantities of interest. For example, for computing the flow ofboats passing within the area monitored by a survey cell we have defined a virtual

Page 16: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

16 Domenico Bloisi and Luca Iocchi

Fig. 7. The main control window shows a live global view of the Grand Canal with informationabout position and velocity of the boats currently in the canal.

line in the Canal and counted the number of boats (i.e., tracks) passing this line(the next section reports experimental evaluation of this feature).

Fig. 8. Density analysis are performed and displayed in order to have a global view of the trafficpresent in the canal at every time.

Another important measure is the velocity of the boats, that is one of themain concerns of Venetian Authorities. Such velocity is computed as the averagespeed over an interval of time of 5 seconds. Again, in the next section we provideexperimental results about precision of measuring position and velocity of a boat.

As for event detection, the main situations that must be automatically detectedare: speed limits, i.e., detecting boats going at a velocity greater than a given thresh-old; parallel travel, i.e., detecting boats that move parallel and close each other forlong timeb; wrong directions, i.e., detecting boats moving in the wrong directionin one-way pieces of the Canal; forbidden stops, i.e., detecting boats stopping inforbidden areas.

Event detection is again based on specific analysis of the determined tracks.Speed limit is checked using two thresholds (that have been fixed to 5 Km/h and7 Km/h) and each target is labeled with a color: green for speed below 5 Km/h,yellow for speed between 5 and 7 Km/h and red for speed above 7 Km/h. The visu-alization of colored dots in the GIS map makes it possible to quickly detect speed

bThis is currently forbidden by Municipal Authorities.

Page 17: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 17

limit violations. Moreover, the system automatically records the tracks moving ata velocity above 7 Km/h for some time, allowing for subsequent analysis and post-processing. Parallel travel is detected by track analysis, in which we first detectparallel motion (by projecting the position of one boat to the direction line of theother) and then computing the distance between the two direction lines. A pair ofparallel boats that maintain this distance below a given threshold for more than agiven amount of time will generate an automatic alert. Also in this case automaticrecording will allow subsequent analysis. Finally, the other events are detected bydefining zones in the canal that activate the corresponding checking procedures: forwrong direction we simply check that boats move in the right direction, for stopsdetection we monitor the time in which a boat remains within a limited area.

7. Experimental Evaluation

To evaluate the performance of the system with respect to the functionalities de-scribed before, we have defined a set of performance evaluation tests. As alreadymentioned, segmentation and tracking are the main processing components of thesystem, since all the quantities for traffic monitoring and event detection are mea-sured in terms of track analysis.

Performance analysis of video surveillance systems is always performed off-lineby manual labelling a set of frames and comparing the results of the system withsuch ground truth 7,31. Although this procedure guarantees precise results withrespect to the performance metrics defined, it is very time-consuming, it can beapplied only off-line and for a limited number of frames.

Our approach to evaluation is different, since it is not based on manual la-belling of video frames, but on human inspection of the system results. Although,this method may return only approximate results, due to human errors in suchobservations, it has important advantages: it can be performed on-line during theactual execution of the system on the real data, it can be performed on very longvideo sequences and several times in different operating conditions. Moreover, thisapproach allows for measuring more high-level performance of the system that wereexplicitly requested in the development of our project by the end user, the VenetianAuthorities.

Consequently, the performance results reported here refer to the actual capabil-ity of the system to provide accurate traffic statistics and event detection. Table 1summarizes the experimental evaluation that is reported in this paper, indicatingalso the modality in which they have been executed and the ground truth used forcomparison. For the modality we consider three cases: on-line, evaluation is per-formed during the actual operation of the system, recorded on-line, evaluation isperformed on a video recording the output of the system running on-line, or off-line,evaluation is performed on the system running off-line on recorded input videos.The ground truth considered for the evaluation is: differential GPS mounted onspecial boats, or human visual inspection. As already mentioned, we do not require

Page 18: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

18 Domenico Bloisi and Luca Iocchi

Test Modality Ground Truth Time (hours) FramesDetection &

TrackingOn-Line Human 28.5 2.2 · 107

Count Rec. On-Line Human 2 1.3 · 105

Positon &Velocity

Off-Line GPS - -

Table 1. Summary of reported experimental evaluation.

manual labelling of video frames, thus we can conduct an extensive evaluation (to-tal number of hours and frames considered for each class of experiments are alsoshown in the table).

All the tests have been executed with the same configuration of the software(i.e., with no specific optimization for a given functionality) on real images takenfrom different survey cells installed in Venice.

On-line evaluation The first experiment has been performed on-line during theexecution of the system by an operator (not one of the developers of the system)that manually verified and annotated errors of the system. End-users decided inwhich days and hours these experiments have been performed and we report hereall the results. The operator observed 10 minutes of operation for each cell (12 or13 cells depending on the day) and counted the following errors:

FN: False negatives, i.e. boats not trackedFP-R: False positives due to reflections (wrong track with a random direc-tion)FP-W: False positives due to wakes (wrong track following the correct one)

Only good tracks, as described in Section 5.3, were visible to the operator andthus were considered in this evaluation. The false negative errors were counted onlyif the boat is not tracked at all or not tracked for a long time (more than about 20seconds), while we do not count the delay in starting the tracking.

Table 7 shows the results of this evaluation in 14 days. In some days only 13or 12 cells were available. We report in the table the error rates for FN, FP-Rand FP-W, i.e. the average number of errors per cell in 1 minute. As shown in thetable, the majority of errors are due to wakes. The maximum value was detected inthe first video with an average error rate of 0.531 per minute (i.e. 1 false positiveof this kind every about 2 minutes in one cell). From the analysis of this table,it seems there is no a direct relationship between errors and meteo conditions. Infact, both bright sun and fog cause difficulties: in the first case because of manyreflections and saturation of the images towards white that make almost impossible(also for humans) to detect white boats passing in white water spots, in the second

Page 19: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 19

DayDuration(min.)

Meteo FN FP-R FP-W

1 07/01/2008 130 Cloud/Fog 0.062 0.215 0.5312 08/01/2008 130 Sun/Cloud 0.038 0.192 0.4313 15/01/2008 130 Sun/Cloud 0.031 0.154 0.3234 31/01/2008 120 Cloud 0.075 0.158 0.4005 01/02/2008 120 Cloud/Fog 0.000 0.150 0.3926 04/02/2008 120 Cloud/Rain 0.000 0.200 0.3427 05/02/2008 120 Sun/Cloud 0.000 0.225 0.3928 06/02/2008 120 Sun/Cloud 0.017 0.200 0.3339 07/02/2008 120 Sun 0.033 0.167 0.44210 11/02/2008 120 Sun 0.017 0.292 0.37511 12/02/2008 120 Sun 0.025 0.158 0.38312 13/02/2008 120 Sun 0.033 0.267 0.36713 14/02/2008 120 Sun 0.067 0.108 0.30014 15/02/2008 120 Sun 0.000 0.150 0.250

Avg. - - - 0.028 0.188 0.375

Table 2. Detection and Tracking Errors.

case because colors of both foreground and background tends towards grey, makingdifficult foreground detection.

It is interesting to notice that these experiments involved 12 or 13 cells, eachcell processing image streams from three cameras for a total of 1710 minutes ofoperation. Considering an average frame rate of 6 fps, the total number of framesthat have been processed by the system during these tests is about 2.2107.

Counting evaluation test. The second evaluation has been conducted with theobjective of assessing the performance of the system in counting the number ofboats passing below a survey cell. The evaluation has been done by drawing avirtual line across the Canal view of a survey cell and counting boats (i.e., tracks)passing this line. The system automatically highlights tracks passing the line andan operator is responsible for verifying errors in detecting boats passing such aline. In particular, we measured false negatives (FN) rate, i.e. percentage of missingboats, and false positives (FP) rate, i.e. percentage of tracks passing the line butnot corresponding to a boat, and accuracy of the system in estimating the totalnumber of boats passing below the survey cell, where, fortunately, false positivesand false negatives compensate each other.

Observe that the system counts tracks passing the center line and not singleobservations. Therefore tracking errors determine counting errors and this test isalso useful for evaluating short-term tracking.

The evaluation has been performed by visual inspection of a set of output videos

Page 20: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

20 Domenico Bloisi and Luca Iocchi

recorded during actual operation of the system. In Table 3 we summarize the re-sults. All the videos captured 10 minutes of operation of the system, the first columnindicates date and cell under examination, the second column the number of boatspassing the virtual line (i.e., the ground truth), the third and fourth columns indi-cates error rates and the last column accuracy in counting the boats.

The results are ordered by decreasing number of boats in the scene. The resultsshow a slight trend towards having more errors in the presence of many boats, sincethis determines an increased probability of tracking and data association errors.As already pointed out, accuracy takes advantage from the fact that FN and FPcompensate each other, and in fact in some situations we have a correct estimationof the number of counted boats also in presence of tracking errors.

Video n boats FN FP count accuracy %20070928 1335 c09 47 0.11 0.04 93.620071030 1015 c07 37 0.05 0.03 97.320070928 1335 c10 36 0.11 0.06 94.420071031 1000 c03 35 0.17 0.03 85.720071030 1035 c04 35 0.06 0.06 100.020071030 1025 c05 33 0.03 0.00 97.020071214 0939 c08 31 0.10 0.00 90.320071030 1355 c12 29 0.03 0.03 100.020071210 1300 c06 17 0.12 0.00 88.220071213 1130 c03 17 0.00 0.06 94.120071030 1335 c10 14 0.07 0.07 100.020071210 1145 c01 9 0.11 0.00 88.9

Avg. 28.3 0.08 0.03 94.1

Table 3. Counting errors.

Position and velocity evaluation tests .The evaluation tests reported above were not sufficient to assess the performance

of the system in terms of position and velocity errors. Therefore we have performedtwo tests to evaluate precision in determining the position and the velocity of theboat. For these tests we monitored the results of the system when tracking a boatequipped with a differential GPS receiver that provide position accuracy in theorder of cm. We thus compared the position and velocity computed by the ARGOSsystem, with those reported from GPS analysis.

Due to the need of using a special boat for this analysis and to the fact thatthis is not always available, for this test we have performed (up to this time) onlya few experiments. The boat passed below the cells in two different days and wecould evaluate only a few trajectories for some of the cells. Thus we consider these

Page 21: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 21

preliminary results and we are planning to do extensive evaluation also for this test.In Table 4 we report the results of these tests, in terms of differences in position

and velocity with respect to the differential GPS estimate. Track numbers refers tothe ID assigned by the system to the boat equipped with the GPS unit that has beenmanually identified by an operator. Some abnormal values arise for the position ofthe first track and the velocity of the fourth one, that were due to imprecision indetection and tracking.

This highlights the difficulty of a vision-based tracking system, whose perfor-mance greatly depend on accuracy of detection and tracking, in comparison withGPS-like devices that usually have limited known errors. Nonetheless, an averageposition error of 5 meters and an average velocity error of 1 Km/h have been con-sidered good performance by Venetian Municipal Authorities.

Track IDAvg position

error [m]Avg velocityerror [Km/h]

0528 14.08 0.090613 3.56 1.291274 2.94 0.421780 4.13 3.832613 1.48 0.123097 3.03 0.18Avg 4.87 0.99

Table 4. Position and Velocity errors.

System Performance. As already mentioned, the overall tracking system runson a single machine processing three high resolution (640×480) image streams. Theprocessing also includes the decoding of the three image streams, since video isacquired from a network digital camera that uses a compressed video format. Themachine used in each cell is a PC with an Intel Core 2 Duo 2.4 GHz CPU. Thecomputational performance of the overall system described in this article has aframe rate varying from 5.5 to 7.5 frame per seconds, depending on the traffic inthe scene and on the amount of light changes that drive background updating. Theaverage frame rate is above 6.5 fps and it is sufficient to reliably track boats thatare usually not moving very fast in the scenario.

8. Conclusions

In this paper we have presented an implemented video surveillance system for mon-itoring and analysis of boat traffic in the Grand Canal of Venice. The system is fullyoperational 7 days/week 24 hours/day and is in use by the Venetian Authorities toregulate and monitor traffic rules in the hystorical city.

Page 22: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

22 Domenico Bloisi and Luca Iocchi

The ARGOS system performs real-time image processing, detecting and track-ing the boats moving in the waterway. The system has been designed and realizedwith the objective of achieving at the same time real-time efficiency and robust-ness to different environmental conditions. The extensive experimental evaluationperformed also on-line on the systems demonstrates the real system performancein real operating conditions.

Nonetheless, further investigation can be performed in order to improve theperformance. For example, track post-analysis (e.g., 6) may help in providing moreprecise results in a quasi-live setting (i.e., with a delay of a few seconds in reportingsituations) that is still acceptable for the end-user.

References

1. V. Ablavsky. Background models for tracking objects in water. In ICIP (3), pages125–128, 2003.

2. T. W. Anderson and D. A. Darling. Asymptotic theory of certain ”goodness of fit” cri-teria based on stochastic processes. The Annals of Mathematical Statistics, 23(2):193–212, 1952.

3. Y. Bar-Shalom and X. R. Li. Multitarget-Multisensor Tracking: Principles and Tech-niques. YBS, Storrs, CT, 1995.

4. D. Bloisi, L. Iocchi, G. R. Leone, R. Pigliacampo, L. Tombolini, and L. Novelli. Adistributed vision system for boat traffic monitoring in the venice grand canal. InProc. of Int. Conf. on Computer Vision Theory and Applications (VISAPP), pages549–556, 2007. ISBN: 978-972-8865-74-0.

5. D. D. Bloisi and L. Iocchi. Rek-means: A k-means based clustering algorithm. InA. Gasteratos, M. Vincze, and J. K. Tsotsos, editors, Computer Vision Systems,volume 5008 of LNCS, pages 109–118. Springer, 2008.

6. L. M. Brown, M. Lu, C. Shu, Y. Tian, and A. Hampapur. Improving performance viapost track analysis. In Proc. of 14th Intern. Conference on Computer Communicationsand Networks, pages 341–347, Washington, DC, USA, 2005. IEEE Computer Society.

7. L. M. Brown, A. W. Senior, Y. Tian, J. Connell, A. Hampapur, C. Shu, H. Merkl,and M. Lu. Performance evaluation of surveillance systems under varying conditions.In IEEE Intern. Workshop on Performance Evaluation of Tracking and Surveillance,2005.

8. L. Cheng, S. Wang, D. Schuurmans, T. Caelli, and S. V. N. Vishwanathan. An onlinediscriminative approach to background subtraction. In AVSS, page 2. IEEE ComputerSociety, 2006.

9. Intel Corp. Open computer vision library (opencv).10. I. J. Cox and S. L. Hingorani. An efficient implementation of reid’s multiple hypothesis

tracking algorithm and its evaluation for the purpose of visual tracking. IEEE Trans.on Pattern Analysis and Machine Intelligence, 18(2):138–150, 1996.

11. R. Cucchiara, C. Grana, M. Piccardi, and A. Prati. Detecting moving objects, ghosts,and shadows in video streams. IEEE Transactions on Pattern Analysis and MachineIntelligence, 25(10):1337–1342, 2003.

12. H. M. Dee and S. A. Velastin. How close are we to solving the problem of auto-mated visual surveillance? a review of real-world surveillance, scientific progress andevaluative mechanisms”. Machine Vision and Applications, Special Issue on VideoSurveillance Research in Industry and Academic, 2007.

13. R. O. Duda and P. E. Hart. Pattern Classification and Scene Analysis. Wiley, 1973.

Page 23: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

ARGOS A video Surveillance System for Boat Traffic Monitoring 23

14. A. M. Elgammal, D. Harwood, and L. S. Davis. Non-parametric model for backgroundsubtraction. In ECCV (2), pages 751–767, 2000.

15. Ahmed M. Elgammal, David Harwood, and Larry S. Davis. Non-parametric modelfor background subtraction. In Proc. of the 6th European Conference on Computer(ECCV), pages 751–767, London, UK, 2000. Springer-Verlag.

16. N. Friedman and S. Russell. Image segmentation in video sequences: a probabilisticapproach. In Proc. of 13th Conf. on Uncertainty in Artificial Intelligence, pages 175–181, 1997.

17. G. Halevi and D. Weinshall. Motion of disturbances: Detection and tracking of multi-body non-rigid motion. Machine Vision and Applications, 11:122–137, 1999.

18. D. Hall, J. Nascimento, P. Ribeiro, E. Andrade, P. Moreno, S. Pesnel, T. List,R. Emonet, R. B. Fisher, J. S. Victor, and J. L. Crowley. Comparison of target de-tection algorithms using adaptive background models. In Proc. of 14th InternationalConference on Computer Communications and Networks, pages 113–120, Washington,DC, USA, 2005. IEEE Computer Society.

19. I. Haritaoglu, R. Cutler, D. Harwood, and L. S. Davis. Backpack: Detection of peoplecarrying objects using silhouettes. Computer Vision and Image Understanding: CVIU,81(3):385–397, 2001.

20. I. Haritaoglu, D. Harwood, and L. S. Davis. Hydra: Multiple people detection andtracking using silhouettes. In ICIAP ’99: Proceedings of the 10th International Con-ference on Image Analysis and Processing, pages 280–285, Washington, DC, USA,1999. IEEE Computer Society.

21. I. Haritaoglu, D. Harwood, and L. S. Davis. W4: Real-time surveillance of people andtheir activities. IEEE Transactions on Pattern Analysis and Machine Intelligence,22(8), 2000.

22. J. Heikkila and O. Silven. A real-time system for monitoring of cyclists and pedes-trians. In Proc. of 2nd IEEE Intern. Workshop on Visual Surveillance, pages 74–81,1999.

23. W. Hu, T. Tieniu, W. Liang, and S. Maybank. A survey on visual surveillance of objectmotion and behaviors. Systems, Man and Cybernetics, Part C, IEEE Transactions on,34(3):334–352, 2004.

24. Sumer Jabri, Zoran Duric, Harry Wechsler, and Azriel Rosenfeld. Detection and lo-cation of people in video images using adaptive fusion of color and edge information.In Proc. of 15th International Conference on Pattern Recognition (ICPR’00), 4:4627,2000.

25. A. K. Jain, M. N. Murty, and P. J. Flynn. Data clustering: a review. ACM Comput.Surv., 31(3):264–323, September 1999.

26. Zia Khan, Tucker Balch, and Frank Dellaert. MCMC-based particle filtering for track-ing a variable number of interacting targets. IEEE Trans. on Pattern Analysis andMachine Intelligence, 27(11):1805–1819, 2005.

27. J. MacCormick and A. Blake. A probabilistic exclusion principle for tracking multipleobjects. International Journal of Computer Vision, 39(1):57–71, 2000.

28. A. Mittal and N. Paragios. Motion-based background subtraction using adaptive ker-nel density estimation. In CVPR (2), pages 302–309, 2004.

29. A. Monnet, A. Mittal, N. Paragios, and V. Ramesh. Background modeling and sub-traction of dynamic scenes. In ICCV, pages 1305–1312, 2003.

30. D. B. Reid. An algorithm for tracking multiple targets. IEEE Trans. on Automationand Control, 24(6):8490, 1979.

31. K. Smith, D. Gatica-Perez, J. Odobez, and S. Ba. Evaluating multi-object tracking.In IEEE Conf. on Computer Vision and Pattern Recognition, 2005.

Page 24: ARGOS - A VIDEO SURVEILLANCE SYSTEM FOR BOAT TRAFFIC ...iocchi/publications/iocchi-ijprai09-draft.pdf · stay perfectly still and tide varies up to 2 meters during the year, thus

June 4, 2008 0:41 WSPC/INSTRUCTION FILE ws-ijprai

24 Domenico Bloisi and Luca Iocchi

32. L. Spencer and M. Shah. Water video analysis. In ICIP, pages 2705–2708, 2004.33. C. Stauffer and W. E. L. Grimson. Learning patterns of activity using real-time track-

ing. IEEE Trans. on Pattern Analysis and Machine Intelligence, 22(8):747–757, 2000.34. M. A. Stephens. Edf statistics for goodness of fit and some comparisons. Journal of

the American Statistical Association, 69(347):730–737, 1974.35. K. Toyama, J. Krumm, B. Brumitt, and B. Meyers. Wallflower: principles and prac-

tice of background maintenance. In Computer Vision, 1999. The Proceedings of theSeventh IEEE International Conference on, volume 1, pages 255–261 vol.1, 1999.

36. Christopher Richard Wren, Ali Azarbayejani, Trevor Darrell, and Alex Pentland.Pfinder: Real-time tracking of the human body. IEEE Trans. on Pattern Analysisand Machine Intelligence, 19(7):780–785, 1997.

37. J. Zhong and S. Sclaroff. Segmenting foreground objects from a dynamic texturedbackground via a robust kalman filter. In ICCV, pages 44–50, 2003.