bayesian occupancy filtering for multitarget tracking: an … › inria-00182004 › file ›...

13
HAL Id: inria-00182004 https://hal.inria.fr/inria-00182004 Submitted on 24 Oct 2007 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Bayesian Occupancy Filtering for Multitarget Tracking: an Automotive Application Christophe Coué, Cédric Pradalier, Christian Laugier, Thierry Fraichard, Pierre Bessiere To cite this version: Christophe Coué, Cédric Pradalier, Christian Laugier, Thierry Fraichard, Pierre Bessiere. Bayesian Occupancy Filtering for Multitarget Tracking: an Automotive Application. The International Journal of Robotics Research, SAGE Publications, 2006, 25, 25 (1), pp.19–30. inria-00182004

Upload: others

Post on 30-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

HAL Id: inria-00182004https://hal.inria.fr/inria-00182004

Submitted on 24 Oct 2007

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.

Bayesian Occupancy Filtering for Multitarget Tracking:an Automotive Application

Christophe Coué, Cédric Pradalier, Christian Laugier, Thierry Fraichard,Pierre Bessiere

To cite this version:Christophe Coué, Cédric Pradalier, Christian Laugier, Thierry Fraichard, Pierre Bessiere. BayesianOccupancy Filtering for Multitarget Tracking: an Automotive Application. The International Journalof Robotics Research, SAGE Publications, 2006, 25, 25 (1), pp.19–30. �inria-00182004�

Page 2: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

Christophe CouéCédric PradalierChristian LaugierThierry FraichardPierre BessièreINRIARhône-Alpes and Gravir-CNRShttp://www.inrialpes.fr/[email protected]

Bayesian OccupancyFiltering for MultitargetTracking: An AutomotiveApplication

Abstract

Reliable and efficient perception and reasoning in dynamic anddensely cluttered environments are still major challenges for driverassistance systems. Most of today’s systems use target tracking al-gorithms based on object models. They work quite well in simple en-vironments such as freeways, where few potential obstacles have tobe considered. However, these approaches usually fail in more com-plex environments featuring a large variety of potential obstacles,as is usually the case in urban driving situations. In this paper, wepropose a new approach for robust perception and risk assessmentin highly dynamic environments. This approach is called Bayesianoccupancy filtering; it basically combines a four-dimensional occu-pancy grid representation of the obstacle state space with Bayesianfiltering techniques.

KEY WORDS—multitarget tracking, Bayesian state estima-tion, occupancy grid

1. Introduction

1.1. Advanced Driver Assistance Systems Context

Unlike regular cruise control systems, adaptive cruise control(ACC) systems use a range sensor to regulate the speed ofthe car while ensuring collision avoidance with the vehicle infront. ACC systems were introduced on the automotive mar-ket in 1999. Since then, surveys and experimental assessmentshave demonstrated the interest for this type of system. Theyare the first step towards the design of future advanced driverassistance systems (ADASs) that should help the driver inincreasingly complex driving tasks. The use of today’s com-mercially available ACC systems is generally limited to mo-

The International Journal of Robotics ResearchVol. 25, No. 1, January 2006, pp. 19-30DOI: 10.1177/0278364906061158©2006 SAGE PublicationsFigures 1, 2, 6, 8 and 9 appear in color online: http://ijr.sagepub.com

torways or urban expressways without crossings. The traf-fic situations encountered are rather simple and attention canbe focused on a few, well-defined detected objects (cars andtrucks). None the less, even in these relatively simple situa-tions, these systems display a number of limitations. They arenot very good at handling fixed obstacles and because of thismay generate false alarms. Moreover, in “cut-in” situations,i.e., when the intrusion of another vehicle or a pedestrian inthe detection beam is too close to the vehicle, they may beunable to react appropriately.

A wider use of such systems requires an extension of theirrange of operation to more complex situations in dense traf-fic environments, around or inside urban areas. In such areas,traffic is characterized by lower speeds, tight curves, trafficsigns, crossings, and “fragile” traffic participants such as mo-torbikes, bicycles, or pedestrians.

1.2. Problem

Prerequisites to a reliable ADAS in such complex traffic situ-ations are the following.

• Robust and accurate sensing of the environment. Inparticular, dynamic characteristics of the traffic partici-pants, such as position and velocity, have to be correctlyestimated.

• Appropriate sensing representation that allows both agood understanding of the traffic situation and selectionof the most appropriate driving decisions.

1.3. Related Work

1.3.1. Multitarget Tracking

The estimation of the dynamic characteristics of the trafficparticipants is basically a multitarget tracking problem. Theobjective is to collect observations, i.e., sensor data, on one or

19

Page 3: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

20 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / January 2006

more potential obstacles in the environment of the vehicle, andthen to estimate at each time step (and as robustly as possible)the obstacles positions and velocities. The classical approachis to track the different objects independently, by maintaininga list of tracks, i.e., a list of currently known objects. The maindifficulty of multitarget tracking is known as the data associa-tion problem. It includes observation-to-track association andtrack management problems. The goal of observation-to-trackassociation is to decide whether a new sensor observation cor-responds to an existing track or not. Then track managementincludes deciding whether existing tracks should be main-tained or deleted, and whether new tracks should be created.Numerous methods exist to perform data association (Bar-Shalom and Li 1995; Streit and Luginbuhl 1995; Gauvrit, LeCadre, and Jauffret 1997). The reader is referred to Black-man and Popoli (2000) for a complete review of the existingtracking methods with one or more sensors.

Urban traffic scenarios are still a challenge in the multi-target tracking area: the traditional data association problemis intractable in situations involving numerous appearances,disappearances and occlusions of a large number of rapidlymaneuvering targets.

In Wang, Thorpes, and Thrun (2003), a classical multiplehypothesis tracking technique is used to track moving objectswhile stationary objects are used for simultaneous localiza-tion and mapping (SLAM). Unfortunately, the authors didnot explicitly address the problem of the interaction betweentracked and stationary objects, e.g., when a pedestrian is tem-porary hidden by a parked car. It is one of the purposes of ourapproach to solve this problem.

1.3.2. Grid Representation of the Environment

The occupancy grid framework (Moravec 1988; Elfes 1989) isa classical way to describe the environment of a mobile robot.It has been extensively used for static indoor mapping usinga two-dimensional grid (Thrun 2002). The goal is to computefrom the sensor observations the probability that each cell isfull or empty. To avoid a combinatorial explosion of grid con-figuration, the cell states are estimated as independent randomvariables.

More recently, occupancy grids have been adapted to trackmultiple moving objects (Prassler, Scholz, and Elfes 2000). Inthis approach, spatio-temporal clustering applied to temporalmaps is used to perform motion detection and tracking. Amajor drawback of this work, relatively to the ADAS context,is that a moving object may be lost due to occlusion effects.

1.4. Contribution

The objective of this paper is to propose a new approach fora robust perception, representation and analysis of highly dy-namic environments. Four main motivations were taken intoaccount in the design of this approach, as follows.

• Taking explicitly into account the uncertainty (which isinherently present in any model of a real phenomenon)when estimating the state of the environment.

• Avoiding the “data association problem”, which usu-ally fails to solve the complex scenarios we would liketo address, i.e., scenarios involving numerous appear-ances, disappearances and occlusions of several rapidlymaneuvering targets.

• Increasing the robustness of the system relatively toobject occlusions, appearances and disappearances, byexploiting at any time all the relevant information onthe vehicle environment; this information includes thedescription of the occupied areas, of the unoccupiedareas, and of the hidden areas (i.e., areas of the envi-ronment that are temporarily hidden from sensors byan obstacle).

• Designing a method that could be implemented lateron a dedicated hardware, in order to both reach highperformances and decrease the costs of the final system.

Our approach is based on a probabilistic grid representationof the obstacle state space. This approach allows us to meetthe four previous objectives.

• Uncertainty is explicitly taken into account thanks to theprobabilistic reasoning paradigm, which is becoming akey paradigm in robotics: various approaches based onthis paradigm have already been successfully used toaddress several robotic problems, such as CAD mod-eling (Mekhnacha, Mazer, and Bessière 2001) or mapbuilding and localization (SLAM; Thrun 1998; Kae-bling, Littman, and Cassandra 1998; Arras, Tomatis,and Siegwart 2001).

• The data association problem is avoided by reasoningon a probabilistic grid representation of the dynamicenvironment. In such a model, concepts such as objectsor tracks do not explicitly exist; they are replaced bymore useful properties such as occupancy or risk, whichare directly estimated for each cell of the grid usingboth sensor observations and some prior knowledge.Furthermore, when estimating occupancy probabilitythanks to an adequate sensor model, the hidden parts ofthe environments can also be explicitly characterized.Since we consider both the positions and the velocitiesof the potential obstacles with respect to our vehicle,this grid is four-dimensional and is called the obstaclestate space (OSS) grid .

• The dynamic nature of the environment and robustnessto object occlusion is addressed using a novel two-stepmechanism allowing us to take into account the sen-sor observation history and the temporal consistency of

Page 4: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

Coué / Bayesian Occupancy Filtering 21

the scene. This mechanism estimates, at each time step,the state of the occupancy grid by combining a predic-tion step (history) and an estimation step (new mea-surements). This approach is derived from the Bayesfilter approach (Jazwinsky 1970); our filter is called theBayesian occupancy filter (BOF).

• The BOF has been designed in order to be highly paral-lelizable. So, a hardware implementation on a dedicatedchip is possible, which will lead to a very efficient wayto represent the environment of an automotive vehicle.This problem (i.e., SoC for theBOF) is currently ad-dressed within the scope of the Safemove France–Koreaproject.

1.5. Outline of the Paper

In the next section we present the estimation of the occupancygrid in a static case, i.e., taking into account only the last sen-sor observation. In Section 3 we describe the BOF itself, i.e.,how we take into account the sensor observation history. Ex-perimental results are shown in Sections 2 and 3. In Section 4we describe a collision avoidance application based on theBOF. This approach has been implemented on the CyCab, anelectric vehicle (see http://www.robosoft.fr) equipped with aSick laser range finder, allowing the system to estimate targetposition and velocity (Figure 1).

2. Static Estimation of the OccupancyProbability

In this section, we introduce first the Bayesian formalism(called Bayesian programming) which has been used for de-veloping our approach. Then, we present the Bayesian pro-gram, which has been developed for estimating the state ofthe occupancy grid of the vehicle environment, by using onlythe latest sensor observations (i.e., static estimation). Finally,experimental results are presented and discussed.

Fig. 1. The CyCab experimental vehicle. It is equipped witha Sick laser range finder.

2.1. Bayesian Formalism and Related Computational Tools

The Bayesian programming framework has initially been de-veloped by our research team, for designing robust robotcontrol programs (Lebeltel 1999; Coué and Bessière 2001;Lebeltel et al. 2004). Today, it is used for addressing variousproblems involving uncertain or incomplete knowledge (e.g.,Mekhnacha, Mazer, and Bessière 2001; Le Hy et al. 2003).This framework is based on a well-defined mathematical the-ory, and it provides both formal and computational tools fordesigning applications in a systematic way.

From the formal point of view, a Bayesian program is madeup of two main parts: a description and a question.

• The description. This part of the Bayesian program canbe viewed as a knowledge base containing the a prioriinformation available on the problem at hand; it mainlyrepresents a joint probability distribution. This descrip-tion is made up of three components:

1. a set of relevant variables on which the joint distri-bution is defined, e.g., motor, sensory, or internalstate variables;

2. a decomposition of the joint distribution as a prod-uct of simpler terms, which is obtained by ap-plying Bayesian rules and by taking advantagesof the conditional independences that may existsbetween the variables;

3. the parametric forms assigned to each of the termsappearing in the decomposition (they are requiredto compute the joint distribution).

• The probabilistic questions. Given a distribution, itis possible to ask probabilistic questions. Basically, aquestion can be expressed by first partitioning the setof variables into three subsets(S,K,F) (representing re-spectively the “searched variables”, the “known vari-ables”, and the “free variables”), and by writing a prob-abilistic expression of the type:

P(S | K)? (1)

Given the previous description, it is always possible toanswer such a question, i.e., to compute the probability distri-butionP(S | K). This can be done using the following generalinference:

P(S | K) =∑

FP (S F K)

P (K)

= 1

α×∑

FP (S F K), (2)

whereα is a normalization term.From the computational point of view, it is well known that

a brute force approach cannot be applied in practice for solv-ing the previous inference problem (Bayesian inference has

Page 5: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

22 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / January 2006

been shown to be NP-hard; Cooper 1990), and that a previ-ous symbolic simplification phase can drastically reduce thenumber of sums necessary to compute a given distribution.This is why we have developed an Application ProgrammingInterface (API), called ProBT®, which allows us to easily ex-press Bayesian programs and to perform in an efficient waythe related symbolic and numerical operations. This engineoperates in two complementary stages:

• a symbolic simplification stage, which reduces the com-plexity of the probability distribution to be computed;

• a numerical stage that actually computes the relateddistributions.

This engine is now commercialized by the Probayes com-pany (see http://www.probayes.com).The approach describedin this paper has been implemented using this framework.

2.2. Bayesian Program for Static Estimation

Our goal is to estimate the occupancy probability of each cellof the grid, using the last set of sensor observations. Theseobservations represent preprocessed information given by asensor. At each time step, the sensor is able to return a listof detected objects, along with their associated positions andvelocities in the sensor reference frame. In practice, this setof observations could also contain two types of false mea-surements: the false alarms (i.e., when the sensor detects anon-existing object) and the missed detection (i.e., when thesensor does not detect an existing object).

Then, solving the previous static estimation problem canbe done by building the following Bayesian program.

1. Choosing the relevant variables and decomposition.

• C: the cell itself; this variable is four-dimensionaland represents a position and a speed relative tothe vehicle.

• EC : the state of the cellC, occupied or not.

• Z: the sensor observation set; one observation isdenotedZs ; the number of observations is denotedS; each variableZs is four-dimensional.

• M: the “matching” variable; its goal is to specifywhich observation of the sensor is currently usedto estimate the state of a cell.

Then, the following decomposition of the joint distri-bution determined by these variables can be chosen:

P(C EC Z M) = P(C)P (EC | C)P (M)

×S∏

s=1

P(Zs | C EC M)

. (3)

2. Assigning the parametric forms. According to ourknowledge of the problem to be solved, we can assignthe following parametric forms to each of the terms ofthe previous decomposition:

• P(C) represents the information on the cell itself.As we always know the cell for which we are cur-rently estimating the state, this distribution doesnot need to be specified.

• P(EC | C) represents the a priori information onthe occupancy of the cell. If available, a prior dis-tribution could be used to specify it. Otherwise,a uniform distribution has to be selected. In thenext section we explain how the prior distributionmay be obtained from passed estimation.

• P(M) is chosen uniform.

• The shape ofP(Zs | C EC M) depends on thevalue the matching variable.

– If M �= s, the observation is not due to thecellC. Consequently, we cannot say anythingon this observation.P(Zs | C EC M) is de-fined by a uniform distribution.

– If M = s, the form ofP(Zs | C EC M) isgiven by the sensor model. Its goal is to modelthe sensor response knowing the cell state.Details on this model can be found in Elfes(1989).

3. Solution of the problem. It is now possible to ask theBayesian question corresponding to the searched solu-tion.1 Since the problem to solve consists in finding agood estimate of the cell occupancy, the question canbe stated as follows:

P(EC |Z C)? (4)

Following the general inference mechanism given byeq. (2), the result of the inference can be written as follows:

P(EC |Z C) ∝S∑

M=1

(S∏

s=1

P(Zs | EC C M)

). (5)

The result of this inference is computed by our inferenceengine. During this inference, the sum on the previous vari-ables allows us to consider every sensor observation whenupdating the state of one cell. It should be noticed that theestimation step is performed without any explicit associationbetween cells and observations; this problematic operation isreplaced by the integration of all the possible values ofM.

1. The answer to this question is given by our inference engine. It representsthe searched probability distribution.

Page 6: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

Coué / Bayesian Occupancy Filtering 23

x

y 0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

(a) (b) (c)z1 = (8.3, −4, 0, 0) P ([EC = 1] |Z c) P ([EC = 1] |Z c)

z2 = (5, 3, 0, 0) [c = (x, y, 0, 0)] [c = (x, y, 0, 0.8)]z3 = (7.3, 1.9, 0, 0.8)

Fig. 2. Example of static grid estimation. (a) The situation and the sensor observations, given in(x, y, x, y). (b), (c) Values ofoccupancy probability for two “slices” of the four-dimensional grid, i.e., for all possible positions at a given speed.

2.3. Experimental Result

We have tested the previous approach for the static estimationof an occupancy grid, using both a simulator and a real vehicleequipped with a laser sensor (the CyCab).

Figure 2 shows some resulting grid estimations. Figure 2(a)depicts the situation: the sensor mounted on the CyCab islocated at(x = 0, y = 0); the part of the environment coveredby the grid is represented by the light gray rectangle; the sensorfield of view is modeled by the dark gray area. In this situation,three obstacles (black disks) are present in front of the CyCab;two of these are stationary objects, and the third is movingfrom the left to the right, at a speed of 0.8 m s−1 representedby a black arrow. In this first experiment, the CyCab is notmoving.

As mentioned earlier, we use a four-dimensional grid.Thus, only two-dimensional “slices” of the grid are depictedby Figures 2(b) and (c). In both figures, the occupancy prob-ability value is given by the gray level of the cell. We can seethe correspondence between probability value and gray levelon the right side of the figure.

Figure 2(b) depicts the occupancy probability of each cellcorresponding to a null relative velocity (i.e.,c = [x, y, 0, 0]),which is the speed associated with the two previous sensorobservations. As expected, two areas with high occupancyprobabilities are visible. These probability values depend onseveral factors attached to the sensor model: the probabilityof true detection, the probability of false alarm, and the sensoraccuracy. Since the measured speed for the third obstacle isnot null, any area of high occupancy probability correspond-ing to this observation is only represented in the related slicesof the grid (i.e., the slice corresponding toc = [x, y, 0, 0.8] inthis case; see Figure 2(c)). It should be noticed that the cellslocated outside the sensor field of view, or the cells hiddenby one of the three sensor observations (i.e., the cells located

behind the three detected obstacles) cannot be observed; con-sequently, nothing really consistent can be said about thesecells, and the system has given an occupancy probability valueof 0.5 for these cells (red areas). Finally, all the cells located inthe observable area and not related to any sensor observationare associated with a low occupancy probability value (purpleareas).

3. Bayesian Occupancy Filter

3.1. Problem Addressed and Approach

We are now interested in taking into account the sensor ob-servation history, in order to be able to make more robust es-timations in changing environments (i.e., in order to be ableto process temporary objects occlusions and detection prob-lems). Our approach for solving this problem is to make useof an appropriate Bayesian filtering technique called the BOF.

Bayes filters (Jazwinsky 1970) address the general prob-lem of estimating the state sequencexk, k ∈ IN of a systemgiven by

xk = f k(xk−1, uk−1, wk), (6)

wheref k is a possibly nonlinear transition function,uk−1 isa “control” variable (e.g., speed or acceleration) for the sen-sor which allows to estimate its ego-movement between timek − 1 and timek, andwk is the process noise. This equationdescribes a Markov process of order one.

Let zk be the sensor observation of the system at timek.The objective of the filtering is to recursively estimatexk fromthe sensor measurements:

zk = hk(xk, vk). (7)

Page 7: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

24 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / January 2006

Here,hk is a possibly nonlinear function andvk is the mea-surement noise. This function models the uncertainty of themeasurementzk of the system’s statexk.

In other words, the goal of the filtering is to recursively es-timate the probability distributionP(Xk | Zk), known as theposterior distribution. In general, this estimation is done intwo stages: prediction and estimation. The goal of the predic-tion stage is to compute an a priori estimate of the target’sstate known as the prior distribution. The goal of the estima-tion stage is to compute the posterior distribution, using thisa priori estimate and the current measurement of the sensor.

Exact solutions to this recursive propagation of theposterior density do exist in a restrictive set of cases.In particular, the Kalman filter (Kalman 1960; seehttp://www.cs.unc.edu/∼welch/kalman/index.html) is an op-timal solution when the functionsf k andhk are linear andthe noiseswk andvk are Gaussian. However, in general, solu-tions cannot be determined analytically, and an approximatesolution has to be computed.

In our case, the state of the system is given by the occu-pancy state of each cell of the grid, and the required conditionsfor being able to apply an exact solution such as the Kalmanfilter are not always verified. Moreover, the particular struc-ture of the model (occupancy grid) and the real-time constraintcoming from theADAS application have led us to develop thenew concept of the BOF. This filter consists in estimating theoccupancy state in two steps, as depicted in Figure 3.

3.2. Bayesian Occupancy Filter Estimation Step

In this loop, the estimation step is similar to the static esti-mation of the grid depicted in the previous section, exceptthat the a priori on the cell occupancyP(Ek

C| Ck) is not given

by a uniform distribution, but by the result of the previousprediction step.

3.3. Bayesian Occupancy Filter Prediction Step

The goal of this processing step is to estimate an a priori modelof the occupancy probability at timek of a cell using the latestestimation of the occupancy grid, i.e., the estimation at timek − 1. The variables that are relevant here are the following:

Prediction

P(E kC | C k Uk−1)

Estimation

P(E kC | Z k C k )

z k

Fig. 3. BOF as a recursive loop.

• Ck: cell C considered at timek;

• EkC: state of cellC at timek;

• Ck−1: cell C at timek − 1;

• Ek−1C : state of cellC at timek − 1;

• Uk−1: “control” input of the CyCab at timek − 1, e.g.,it could be a measurement of its instantaneous velocityat timek − 1.

Using these variables, we can define the following decom-position of the joint distribution:

P(Ck EkC

Ck−1 Ek−1C Uk−1) =

P(Uk−1)P (Ck−1)

×P(Ek−1C | Ck−1)

×P(Ck | Ck−1 Uk−1)

×P(EkC| Ek−1

C Ck−1 Ck)

.

(8)

Then, we can assign the following parametric to each ofthe previous decomposition terms.

• P(Ck−1) and P(Uk−1) are chosen as uniformdistributions.

• P(Ek−1C | Ck−1) is given by the result of the estimation

step at timek − 1.

• P(Ck | Ck−1 Uk−1) is given by the dynamic model. Itrepresents the probability that an object has moved fromthe cellCk−1 to the cellCk. This movement is due tothe object itself and to the CyCab movement betweentimesk − 1 andk. To define this model, we suppose aconstant velocity model subject to zero mean Gaussianerrors for the moving objects.

• P(EkC

| Ek−1C Ck−1 Ck) represents the probability that an

existing object at timek −1 (i.e.,[Ek−1C = 1] still exists

at timek (i.e., [EkC

= 1]). As we consider that objectscannot disappear, Dirac are chosen for these distribu-tions.

The problem to be solved is to find an estimate of theoccupancy probability for each cell of the grid. Solving thisproblem can be done by asking the following question to ourinference engine:

P(Ek

C| Ck Uk−1)? (9)

The result of the inference can be expressed as follows:

P(Ek

C| Ck Uk−1)∝

∑Ck−1

Ek−1C

(P(Ck | Ck−1 Uk−1)

×P(Ek−1C | Ck−1)

). (10)

Page 8: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

Coué / Bayesian Occupancy Filtering 25

Unfortunately, most of the time this expression cannot beexpressed analytically, and it cannot be computed in real time.This is why an approximate solution of the integral term hasto be computed. Our approach for making this computation isbased on the fact that only a few points are needed to approx-imate the integral. Thus, for each cell of the grid at timek−1,we can compute the probability distributionP(Ck | Ck−1);then, a cellck is drawn according to this probability distri-bution; finally, the cellCk−1 is used to update the predictedstate of the cellck. It should be noticed that the complexity ofthe previous algorithm increases linearly with the number ofcells in our grid, and ensures that the most informative pointsare used to compute the sum appearing in eq. (10).

Using the BOF approach, the estimation of the occupancygrid at timek is carried out in two steps. (1) The predictionstep makes use of both the result of the estimation step attimek − 1 and a dynamical model, for computing an a prioriestimate of the grid. (2) Then, the estimation step makes useof both this prediction result and the sensor observations attimek, to compute the grid.

3.4. Experimental Results

Figure 4 shows a short sequence of successive prediction andestimation results, for a dynamic scene involving two movingobstacles. The objective of this example is to experimentallydemonstrate the robustness of our approach to objects occlu-sions. The first row describes the experimental conditions: theCyCab is immobile, and its sensors can observe two movingobjectsO1 andO2 (O1 is moving from left to right, andO2is moving from right to left). In the situation depicted by Fig-ure 4(c1),O1 is temporary hidden byO2 (and thusO1 is notdetected by the Sick laser range finder).

The second and third rows show the results of the predictionand estimation steps, respectively. We have chosen to onlyrepresent the cells of the grid corresponding to a relative speedequal to (x = 0.0 m s−1, y = 1.0 m s−1), which is close to thespeed ofO1. The occupancy probabilities of the related cellsare represented by several shades.

In this example, an area of “high occupancy probability”,which corresponds to the moving objects, is well character-ized in Figures 4(a2) and (a3). We can also see that the areashidden by the moving objects have an occupancy probabilityvalue equal to 0.5. Similar results can be seen in Figures 4(b2)and (b3). Figure 4(c2) shows the result of the prediction step,based on the grid of Figure 4(b3) and on the used dynamicmodel; this prediction shows that an object is probably lo-cated in the area hidden byO2 (i.e., an area of high occupancyprobability is found in Figure 4c3). Of course, confidence inthe presence of a hidden object (i.e., the values of the occu-pancy probability in the grid) progressively decreases whenthis object is not observed by the sensor during the next timesteps. In the example depicted by Figure 4(d3), the object isno longer hidden byO2; it is detected by the laser, and therelated occupancy probability values increase.

Figure 5 shows another sequence of successive predictionand estimation results. The first row describes the experimen-tal conditions: the CyCab is moving forward at a constantspeed equal to 2.0 m s−1; a static object is present in the sen-sor field of view of the CyCab. Since the CyCab is movingforward, this object finally goes out of the sensor field of view,as depicted in Figure 5(d1). The second and third rows showthe results of the prediction and estimation steps, respectively.We have chosen to only represent the cells of the grid corre-sponding to a relative speed equal to (x = −2.0 m s−1, y = 0.0m s−1), which is close to the relative object/CyCab. As in thecase of the example of Figure 4, the prediction step allowsus to infer knowledge on the current occupancy state of theCyCab environment, even if the object is no longer observedby the sensor. This is the situation depicted by Figure 5(d3),where an area of high occupancy probability still exists whenthe object is going out of the sensor field of view. In somesense, our prediction step can be seen as a “short-term mem-ory”, which allows us to combine in an evolutive way pastand current observations.

3.5. Performance

As mentioned earlier, thanks to our approximation algorithm,both the prediction step and the estimation step complexi-ties increase linearly with the number of cells of the grid.This makes the approach tractable in real situations involvingreasonable grid sizes. This is the case for the experimentalexamples described in this section and in the next section.Typically, the characteristics of the related grid models arethe following:

• 0 to 10 m in theX direction, with a 0.5 m resolution;

• −5 to 5 m in theY direction, with a 0.5 m resolution;

• −3 to 1 m s−1 in the X direction, with a 0.4 m s−1

resolution;

• −3.2 to 3.2 m s−1 in the Y direction, with a 0.4 m s−1

resolution.

Using such a grid of 64, 000 cells, the computation timefor both prediction and estimation steps is about 100 ms on a1 GHz computer. This is fast enough to control the CyCab ata maximum speed of 2 m s−1.

However, this grid size is not fine enough for an automotiveapplication involving higher speeds. In this case, the numberof cells increases quickly, and the required computational timebecomes too high for satisfying the real-time constraints. Forinstance, doubling the size of the grid in all directions willresult in a global size of 1, 024, 000 cells, and in a requiredcomputation time of about 2400 ms (using a single 1 GHzprocessor).

Hopefully, our BOF approach has been designed in orderto be highly parallelizable: thanks to the hypothesis that each

Page 9: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

26 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / January 2006

(a1) (b1) (c1) (d1)

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

(a2) (b2) (c2) (d2)

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

(a3) (b3) (c3) (d3)

Fig. 4. A short sequence of a dynamic scene. The first row describes the situation: a moving object is temporary hidden bya second object. The second row shows the predicted occupancy grids, and the third row shows the result of the estimationstep. The grids showP([Ek

C= 1] | x y [x = 0.0] [y = 1.0]).

cell is independent, the state of each cell can be computedindependently. Current work deals with the development ofa dedicated hardware that will exploit this characteristic (andconsequently allows a real-time application of the BOF inlarge-scale applications).

In this section we have described the way the system oper-ates for continuously interpreting the state of the environmentusing the BOF. In the next section we explain how we haveexploited this information for implementing safe basic be-haviors on an autonomous robot (and more precisely on theCyCab).

4. Bayesian Occupancy Filter Based CollisionAvoidance

The goal of this section is to show how the BOF can beused for developing a collision avoidance function on an au-tonomous vehicle. This function has been implemented andexperimented on the CyCab experimental vehicle; the goalof the implemented function is to continuously select the for-ward speed values, in order to move safely (i.e., while avoidingmoving obstacles such as pedestrians or other cars) along agiven road lane.

Page 10: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

Coué / Bayesian Occupancy Filtering 27

(a1) (b1) (c1) (d1)

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

(a2) (b2) (c2) (d2)

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

0.1

0.2

0.3

0.4

0.5

0.6

0 0.2 0.4 0.6 0.8 1

0

2

4

6

8

10

-4 -2 0 2 4

(a3) (b3) (c3) (d3)

Fig. 5. A short sequence of a dynamic scene. The CyCab is moving forward at a constant speed. The grids showP([Ek

C= 1] | x y [x = −2.0] [y = 0.0]).

As mentioned earlier, the cell state can be used to encodesome relevant properties of the robot environment (e.g., oc-cupancy, observability, reachability, etc.). In the previous sec-tions, only the occupancy characteristic was stored; in the caseof the vehicle application, we also encode the danger property.This leads us to control the vehicle by combining occupancyand danger criteria.

4.1. Danger Estimation

For each cell of the grid, the probability that this cell is haz-ardous is estimated; this estimation is done independently ofthe occupancy probability property. LetP(Dk

C| Ck) be the

probability distribution associated with the cellCk of the ve-

hicle environment, whereDkX

is a Boolean variable that indi-cates whether this cell is hazardous or not.

Basically, both “time to collision” and “safe traveling dis-tance” may be seen as two complementary relevant criteria tobe used for estimating the danger to associate to a given cell.In our current implementation, we are using the following re-lated criteria which can easily be computed. (1) The closestpoint of approach (CPA), which defines the relative positionsof the pair (vehicle, obstacle) corresponding to the “closestadmissible distance” (i.e., safety distance). (2) The time tothe closest point of approach (TCPA), which is the time re-quired for reaching the CPA. (3) The distance at the closestpoint of approach (DCPA), which is the distance separatingthe vehicle and the obstacle when the CPA has been reached.

Page 11: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

28 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / January 2006

In some sense, these criteria give an assessment of the futurerelative trajectories of any pair of environment componentsof the type (vehicle, potential obstacle).

The previous criteria are evaluated for each cell, andat each time stepk, by taking into account the dynamicscharacteristics of both the vehicle and the potential obsta-cles. In practice, both TCPA and DCPA are estimated un-der the hypothesis that the related velocities at timek re-main constant. This computation can easily be one usingsome classical geometrical algorithms (see, for instance,http://softsurfer.com/algorithms.htm).

As previously mentioned, our goal is to estimate the “dan-ger probability” to associate to each cell of the grid (or inother terms, the probability for each cellCk that a collisionwill occur in the near future between the CyCab and a potentialobstacle inCk). Since each cellCk represents a pair (position,velocity) defined relatively to the CyCab, it is easy to computethe TCPA and DCPA factors, and in a second step to estimatethe associated danger probability using given intuitive userknowledge. In the current implementation, this knowledgeroughly states that when the DCPA and the TCPA decrease,the related probability of collision increases. In a future ver-sion of the system, we could expect that such knowledge couldbe acquired using a learning phase.

Figure 6 shows the cells for which the danger probabilityis greater than 0.7 in our CyCab application. In the picture,each cell is represented by an arrow: the tail of the arrow in-dicates the position, and its length and direction indicate theassociated relative speed. This figure exhibits quite intuitivedata: any cell located in the vicinity of the front part of theCyCab are considered as having a high danger probability forany relative velocity (the arrows are pointing in all directions);the other cells having a high “oriented” danger probability arethose having a relative speed vector oriented towards the Cy-Cab. Since we only consider relative speeds for constructingthe danger grid, the content of this grid does not depend onthe actual CyCab velocity.

4.2. Collision Avoidance Behaviors

In this section we describe how we can control the longitudinalspeed of the autonomous vehicle (the CyCab), for avoidingpartially observed moving obstacles having a high probabilityof collision with the vehicle. The implemented behavior con-sists of braking or accelerating, in order to adapt the velocityof the vehicle to the level of risk estimated by the system.

As mentioned earlier, this behavior derives from the com-bination of two criteria defined on the grid: the danger prob-ability associated with each cellCk of the grid (characterizedby the distributionP(Dk

C| Ck); see Section 4.1), and the occu-

pancy probability of this cell (characterized by the posteriordistribution P(Ek

C|Zk Ck); see Section 3). In practice, we

search, at each time step, for the most hazardous cell that isconsidered as probably occupied. This can be done using the

0

2

4

6

8

10

-4-2 0 2 4

Fig. 6. Cells of high danger probabilities. For each position,arrows model the speed.

following equation:

maxCk

{P(Dk

C| Ck), with P(Ek

C| Ck) > 0.5}.

Then the longitudinal acceleration/deceleration to apply to theCyCab controller can be decided according to the obtainedlevel of danger and to the actual velocity of the CyCab.

Figure 7 depicts the scenario used for experimentally val-idating the previous collision avoidance behavior on the Cy-Cab. In this scenario, the CyCab is moving forward, the pedes-trian is moving from right to left, and during a small periodof time the pedestrian is temporarily hidden by a parked car.

Cycab

pedestrian

parked car

Fig. 7. Scenario description: the pedestrian is temporary hid-den by a parked car.

Page 12: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

Coué / Bayesian Occupancy Filtering 29

Fig. 8. Snapshots of the experimental pedestrian avoidance scenario (see Extension 1 for the video).

0

0.5

1

1.5

2

0 2 4 6 8 10 12 14

Vco

nsig

ne (

m/s

-1)

time (s)

Fig. 9. Velocity of the CyCab during the experiment involving a pedestrian occlusion.

Figure 8 shows some snapshots of the experiment (see alsoExtension 1, which shows the entire video).The CyCab brakesto avoid the pedestrian, who is temporarily hidden by theparked car, and then it accelerates as soon as the pedestrianhas crossed the road.

Figure 9 shows the velocity of the CyCab during this ex-periment. Fromt = 0 s tot = 7 s, the CyCab accelerates, upto 2 m s−1. At t = 7 s, the pedestrian is detected; as a collisioncould possibly occur, the CyCab decelerates. Fromt = 8.2 sto t = 9.4 s, the pedestrian is hidden by the parked car; thanksto the BOF results, the hazardous cells of the grid are still con-sidered as probably occupied and, as a consequence, the Cy-Cab still brakes. When the pedestrian reappears att = 9.4 s,there is no longer a risk of collision, and the CyCab canaccelerate.

5. Conclusions

In this paper we have addressed the problem of designing anew approach for robust perception and danger assessmentof highly dynamic environments. The proposed approach iscalled Bayesian occupancy filtering, which basically com-bines a four-dimensional occupancy grid representation of theobstacle state space with Bayesian filtering techniques. Thisapproach can be seen as an alternative to complex multitargettracking algorithms, which usually fail in situations involving

numerous appearances, disappearances and occlusions of alarge number of rapidly maneuvering targets. It also brings asignificant improvement to traditional approaches, by includ-ing a prediction step which allows us to make more robustestimation relatively to temporary occlusions.

This approach has experimentally been validated on ourexperimental vehicle (the CyCab), for avoiding partially ob-served moving obstacles. A scenario involving the CyCab, amoving pedestrian, and a parked car which temporarily hidsthe pedestrian from the sensors of the CyCab, has successfullybeen executed. In this experiment, the avoidance behavior hasbeen obtained by combining the occupancy probability andthe danger probability of each cell of the grid.

Current and future work deal with three major points.

1. Improvement of the approximation algorithm used forthe prediction step; this improvement should allow toestimate bigger grids (which are required for dealingwith complex urban traffic situations).

2. Development of a dedicated hardware that will exploitthe parallelizable property of the BOF algorithm, forbeing able to meet the real-time constraint in large-scaleapplications.

3. Fusion of the occupancy grid with higher-level infor-mation, such as GPS maps, to better estimate the dangerof the situation.

Page 13: Bayesian Occupancy Filtering for Multitarget Tracking: an … › inria-00182004 › file › coue-etal-ijrr-06.pdf · plex environments featuring a large variety of potential obstacles,

30 THE INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH / January 2006

Appendix: Index to Multimedia Extensions

The multimedia extension page is found at http://www.ijrr.org.

Table of Multimedia ExtensionsExtension Type Description

1 Video Complete experimentation video forthe scenario described in sectionIV.B. The CyCab detect and track atemporarily occluded obstacle usingthe BOF, while adjusting its speed tominimise collision risk.

Acknowledgments

This work was partially supported by the European projectIST-1999-12224 “Sensing of Car Environment at Low SpeedDriving” (http://www.carsense.org).

References

Arras, K. O., Tomatis, N., and Siegwart, R. 2001. Multisensoron-the-fly localization: precision and reliability for appli-cations.Robotics and Autonomous Systems 44:131–143.

Bar-Shalom, Y. and Li, X. 1995.Multitarget MultisensorTracking: Principles and Techniques, YBS Publishing,Storrs, CT.

Blackman, S. and Popoli, R. 2000.Design and Analysis ofModern Tracking Systems, Artech House, Boston, MA.

Cooper, G. 1990. The computational complexity of proba-bilistic inference using Bayesian belief network.ArtificialIntelligence 42(2–3):393–405.

Coué, C. and Bessière, P. 2001. Chasing an elusive targetwith a mobile robot.Proceedings of the IEEE/RSJ Inter-national Conference on Intelligent Robots and Systems(IROS), Maui, HI, October.

Elfes, A. 1989. Using occupancy grids for mobile robot per-ception and navigation.IEEE Computer 22(6):46–57.

Gauvrit, H., Le Cadre, J. P., and Jauffret, C. 1997. A formula-tion of multitarget tracking as an incomplete data problem.IEEE Transactions on Aerospace and Electronic Systems33(4):1242–1257.

Jazwinsky, A. H. 1970.Stochastic Processes and FilteringTheory, Academic Press, New York.

Kaelbling, L. P., Littman, M. L., and Cassandra, A. R. 1998.Planning and acting in partially observable stochastic do-mains.Artificial Intelligence 101:99–134.

Kalman, R. E. 1960. A new approach to linear filtering andprediction problems.Transactions of the ASME, Journalof Basic Engineering 82(D):35–45.

Lebeltel, O. 1999. Programmation Bayésienne des Robots.Thèse de doctorat, Institut National Polytechnique deGrenoble, Grenoble, France, September.

Lebeltel, O., Bessière, P., Diard, J., and Mazer, E. 2004.Bayesian robot programming.Autonomous Robots 16:49–79.

Le Hy, R., Arrigoni, A., Bessière, P., and Lebeltel, O. 2003.Teaching Bayesian behaviors to video game characters.Proceedings of the IEEE/RSJ International Conference onIntelligent Robots and Systems (IROS), Las Vegas, NV,October.

Mekhnacha, K., Mazer, E., and Bessière, P. 2001. The de-sign and implementation of a Bayesian CAD modeler forrobotic applications.Advanced Robotics 15(1):45–70.

Moravec, H. P. 1988. Sensor fusion in certainty grids for mo-bile robots.AI Magazine 9(2):61–74.

Prassler, E., Scholz, J., and Elfes, A. 2000. Tracking multiplemoving objects for real-time robot navigation.AutonomousRobots 8(2):105–116.

Streit, R. L. and Luginbuhl, T. E. 1995. Probabilistic multi-hypothesis tracking. Technical Report 10,428, Naval Un-dersea Warfare Center Division, Newport, RI.

Thrun, S. 1998. Learning metric-topological maps for indoormobile robot navigation.Artificial Intelligence 99(1):21–71.

Thrun, S. 2002. Robotic mapping: a survey.Exploring Arti-ficial Intelligence in the New Millennium, Morgan Kauf-mann, San Mateo, CA.

Wang, C-C., Thorpes, C., and Thrun, S. 2003. On-line si-multaneous localization and mapping with detection andtracking of moving objects: theory and results from aground vehicle in crowded urban areas.Proceedings of theIEEE International Conference on Robotics and Automa-tion, Taipei, Taiwan, September, pp. 842–849.