Hybrid Sampling Bayesian Occupancy Filter

Hybrid Sampling Bayesian Occupancy Filter Amaury Nègre, ... Abstract—Modeling and monitoring dynamic environments ... a more adaptive method...

0 downloads 145 Views 1MB Size
Hybrid Sampling Bayesian Occupancy Filter Amaury Nègre, Lukas Rummelhard, Christian Laugier

To cite this version: Amaury Nègre, Lukas Rummelhard, Christian Laugier. Hybrid Sampling Bayesian Occupancy Filter. IEEE Intelligent Vehicles Symposium (IV), Jun 2014, Dearborn, United States. 2014.

HAL Id: hal-01011703 https://hal.inria.fr/hal-01011703 Submitted on 24 Jun 2014

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published 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.

Hybrid Sampling Bayesian Occupancy Filter Amaury N`egre1 and Lukas Rummelhard2 and Christian Laugier2

Abstract— Modeling and monitoring dynamic environments is a complex task but is crucial in the field of intelligent vehicle. A traditional way of addressing these issues is the modeling of moving objects, through Detection And Tracking of Moving Objects (DATMO) methods. An alternative to a classic object model framework is the occupancy grid filtering domain. Instead of segmenting the scene into objects and track them, the environment is represented as a regular grid of occupancy, in which each cell is tracked at a sub-object level. The Bayesian Occupancy Filter [1] is a generic occupancy grid framework which predicts the spread of spatial occupancy by estimating cell velocity distributions. However its velocity model, corresponding to a transition histogram per cell, leads to huge data management which in practice makes it hardly compatible to severe computational and hardware constraints, like in many embedded systems. In this paper, we present a new representation for the BOF, describing the environment through a mix of static and dynamic occupancy. This differentiation enables the use of a model adapted to the considered nature: static occupancy is described in a classic occupancy grid, while dynamic occupancy is modeled by a set of moving particles. Both static and dynamic parts are jointly generated and evaluated, their distribution over the cells being adjusted. This approach leads to a more compact model and to drastically improve the accuracy of the results, in particular in term of velocities. Experimental results show that the number of values required to model the velocities have been reduced from a typical 900 per cell (for a 30x30 neighborhood) to less than 2 per cell in average. The massive data compression allows to plan dedicated embedded devices.

I. I NTRODUCTION In the fields of mobile robotics or intelligent vehicle, a key requirement for basic functionalities, such as navigation, mapping or collision awareness systems, is the ability to perceive and model a relevant representation of the dynamic environment. This crucial task is a challenging step. Its complexity is caused not only by the expectancies in term of result accuracy and pertinence, but also by the observed environment constitution itself. Indeed the exploration of an uncontrolled environment implies a meticulous analysis, robust to the diversity in the backgrounds, the encountered objects, their conceivable behaviors, the potential sensor errors or occlusions. Probabilistic methods enable to formally introduce in the models the uncertainties and prior knowledge, and have led to the development of efficient techniques, especially in static environments. When confronted to moving objects, many new issues are raised, the field of dynamic environment modeling still being active [2]. A classic way to address this problem is to adopt an objectbased representation, which leads to multiple target object 1 CNRS, 2 Inria,

LIG [email protected] e-Motion [email protected]

tracking literature [3], [4]. Another common approach is the field of occupancy grids [5], [6], which works on spatial occupancy without higher level segmentation. Significant advantages are then to avoid the delicate data segmentation and recognition, and producing a spatially dense model, empty space management being often needed, especially for intelligent vehicles. The Bayesian Occupancy Filter (BOF) [1] is a occupancy grid solution which infers the cell occupancy motion by a sub-object level tracking. To each cell are associated random variables modeling the occupancy and the velocity, concretely in the form of a transition histogram. This representation is convenient, facilitating computing parallelisation, but inserts in the method serious defaults, as aliasing issues and a curse of dimensionality when applied in practice. In this paper, we present a new representation for the BOF, in which the scene is analysed through a static-dynamic duality. The static part is a occupancy grid structure, and the dynamic field is modeled by moving particles. Both sections are jointly generated and evaluated. This distinction is pertinent for the scene interpretation, but also for a way more efficient calculation, allowing to focus the velocity computation on the dynamic objects. II. R ELATED WORKS The field of occupancy grid representation based interpretation of the environment is a developed study domain, overlapping various applications, such as intelligent environment management, automatic autonomous navigation or extended vehicle perception. The aim is to produce a compact regularly subdivided estimation of the spatial occupancy, without the requirement of object concepts. This structure usually implies the inference of cell dynamics. According to the method used to design and fill the grid, the algorithms are more or less reliant on the sensor type. To build the scene representation of their perceptive vehicle, Badino et al. [7] use an efficient medium level representation based on occupancy grids, but precisely designed for stereo vision, and traffic application. In many practical cases, in which are not a priori known the surroundings or even the types of the to be used sensors, a more generic approach is necessary. The Bayesian Occupancy Filter [1] is a generic Bayesian framework which updates a dynamic occupancy grid by filtering the occupancy and velocity in each cell in parallel. The observation model is incorporated as an instantaneous occupancy grid, which is generated by the used sensors but presents the observations in a generic form. To each cell is associated a estimated motion distribution in the form of a neighbourhood transition histogram. This motion

discretization design leads to high computational costs and aliasing issues. The BOFUM [8] proposes to use prior map knowledge to accelerate the convergence of the BOF, and then potentially reduce the required data dimensions, but such maps are not always available and their use requires a precise localization. To reduce the motion field dimensions, the histogram in each cell being mainly empty, a sampling of the motion distribution can be used. An importance sampling method has been proposed [9], but by drawing a fixed number of discrete velocity vectors per cell the aliasing problem is not resolved, and if the dimensions of the dynamics is already highly reduced, a more adaptive method can still drastically decrease it. As most cells, like empty or static ones, do not necessitate elaborated representation, important processing ressources can be saved. In the process presented by Danescu et al. [10], the idea to use a variable number of samples per cell, according to the occupancy estimated, is implemented. The scene is represented by a set of moving particles having not discretized positions and values, which corrects most of aliasing problems. The number of particles per cell corresponds to the occupancy of the cell, which leads to a very compact model. Nevertheless, a huge number of particles are still stated to represent static objects. Furthermore it deserves a generic Bayesian formalization. III. BOF F ORMALISATION The Bayesian Occupancy Filter (BOF) is a process that recursively estimates the occupancy and the velocity state of spatial cells. It associates to each cell random variables which evolution is used to describe the scene. The displayed here model is mainly based on the one defined in [11], to which is added a dynamic model to handle non constant velocity objects and priors on speeds and occupancies to avoid empty cells to move. The formalism used in the description comes from the Bayesian programming framework [12]. Given the set of random variables, the expression of their joint probability decomposition, the wanted distribution can easily be expressed, as presented in the following. A. Variable definition

Each expression can be interpreted as follows : • P (A) is the distribution over all possible antecedent of the cell. It is chosen to be uniform as the cell is considered reachable from all the antecedents with equal probability. −1 −1 • P (O V |A) is the conditional joint distribution over the occupancy and velocity of the antecedents. This distribution is updated at each time step. −1 −1 • P (OV |O V ) is the prediction model. The chosen model can be decomposed as the product of two terms, P (O|O−1 )P (V |V −1 O) . – P (O|O−1 ) is the conditional distribution over the occupancy of the current cell given the occupancy of the previous by a transition  cell. It is defined  1−ǫ ǫ matrix : T = , which allow a cell ǫ 1−ǫ to change its occupancy state with a low probability to take into account approximation errors. – P (V |V −1 O) is the conditional distribution over the current velocity knowing the previous velocity. We usually choose a Normal law, centered on the previous speed to represent a Gaussian acceleration model. This distribution can be adapted to fit various observed objects. As we consider that an empty cell can not move, a Dirac function is added in order to prevent it. • P (C|AV ) is the distribution that explains if the cell c is reachable from the antecedent [A = a] with the velocity [V = v]. This distribution is a Dirac with value equal to one if and only if aX + vX δt ∈ c. • P (Z|OV C) is the distribution over the sensor measurement value. C. Problem computation The aim of the bayesian filtering process is to estimate the occupancy and the speed with respect to the current observation for every cells P (OV |ZC). By using a discretization of the antecedent cells and of the velocities, the filtering equation can be write as follows :

C : A:

Index that identify each 2D cell. Index that identify each possible antecedent of a cell. O : Occupancy of the cell at current time. Its possible values are {occ, emp}. O−1 : Occupancy of the antecedent cell at previous time. V : Speed of the cell at current time. It’s possibles values is a 2D vector in R2 . −1 V : Speed of the antecedent cell at previous time. Z : Sensor measurement. B. Joint distribution P (CAOO−1 V V −1 Z)

=

P (A) P (O−1 V −1 |A) P (OV |O−1 V −1 ) P (C|AV ) P (Z|OV C)

(1)

P (OV |ZC) =

P

P (CAOO−1 V V −1 Z)

AO −1 V −1

P

AOO −1 V

P (CAOO−1 V V −1 Z) V

(2)

−1

IV. H YBRID S AMPLING A. Introduction The classic Bayesian Occupancy Filter (BOF) is a discretized uniform grid structure based Bayesian algorithm, in which the environment is subdivided in cells, each cell having an occupancy likelihood and associated motion distribution represented as a neighborhood transition histogram. If this representation is convenient for the fusion of data (the rigid structure gives a useful framework to merge data of heterogeneous layout) and potential antecedent research, since the potential antecedents of any cell is exactly structuredetermined, it also raises determinant issues :

the structure requires the process rate to be constant, and a priori known. • in the case of a moving grid, such as an application of car perception, many aliasing problems can appear, not only in the occupancy grid, but also in the motion distributions. An interpolation in 4-dimension field to fill each value of the histograms can quickly become unreasonable. • to be able to match the slowest moves in the scene and the smallest objects, as well as the most dynamic objects, high resolution and range motion histograms are required. These huge grids are paradoxically mostly empty : most of the occupied cell motion histogram will be empty (most cells are occupied by a single object), and an empty cell motion distribution is irrelevant. Besides, when the perception system is used to represent the direct environment of a moving subject (car for instance), the encoded velocity is a relative one, which implies, if we consider the maximal motion speed to be Vmax , to maintain a motion distribution able to represent speeds from −2 ∗ Vmax to 2 ∗ Vmax . The necessity of such a sized structure is a huge limitation of a practical use of the method, and prevents it from being used with satisfying results on an embedded device. Considering those limitations, another representation of the environment, more suited to describe the velocities of the surrounding of a moving vehicle, should be introduced. The first idea is to represent the motion distribution of a cell as a set of particles instead of a regular grid (figure 1). This leads to a more compact and discretization limitation free representation. The second step is to take into account that in a common practical setting, most of the scene is static : the background and most objects have null velocity, and empty cells have no velocity. Those scene areas do not necessitate any complex velocity model. The goal of our representation is to decompose the scene into two parts : the static scene, and the dynamic section.

0). A weight wi is also associated to each particle to represent the distribution of the speed in a cell. As further explained in the re-sampling part, the particles set is a shared resource for the scene representation, a fixed number of particles is drawn for the entire representation of the scene dynamics, spatially allocated according to the distribution P (V 6= 0). Each cell can therefore be decomposed in three sections: the empty section, the static occupied section and the dynamic occupied section (figure 1(b)).

B. Data representation : dynamics segregation

C. Distribution inference

To represent the spatial occupancy, a regular grid is used, as it is effective to merge various observation data, but also as in most applications, a dense, complete representation of the environment is required. The motion analysis is decomposed into two sections : a static field, where are represented the static objects and the free areas, and a dynamic field, for the moving objects. • Grids for static cells : The static part of the scene is composed by the stationary objects and free areas, which by convention are assigned zero speed (if the velocity of the empty space is irrelevant, the knowledge of emptiness in an area should be spread in time). It corresponds to P (V = 0). • Particles for dynamic objects : The dynamics of the moving areas are represented by a set of particles {χi }. Those particles are composed of a velocity vector vi and an exact spatial position xi , to avoid aliasing. Those samples are drawn along the distribution P (V = v|V 6=

The resolution of the global equation consists in computing the probability associated to each particle P (O = occ, V = vk |ZC) and to the static field P (O = occ, V = 0|ZC) and P (O = emp|ZC). In this section, we will consider a single cell c. By using the decomposition 1, and considering the denominator as scale factor, equation 2 can be rewritten as follows:  X P (OV |ZC) ∝ P (Z|OV C) P (A)P (O−1 V −1 |A)



velocity

occupancy (a) Classic BOF representation : a 2 dimension grid, to each cell are assigned an occupancy value and a velocity histogram

velocity Static Dynamic

Free

occupancy (b) Proposed representation : a 2 dimension grid, to each cell are assigned an occupancy value, a static coefficient P (V = 0) and a set of particles drawn along P (V = v|V 6= 0)

Fig. 1.

Data representations

AO −1 V −1



(3)

P (o|O−1 )P (v|oV −1 )P (C|Av)

(4)

P (O|O−1 )P (V |OV −1 )P (C|AV ) Let us note α(o, v) =

X

P (A)P (O−1 V −1 |A)

AO −1 V −1

For null velocity (static part), this distribution can be expressed by using only the static part of the cell at previous −1 time step p−1 occ,0 and pemp,0 p−1 occ,0

=

P (O−1 = occ, V −1 = 0|A = c)

(5)

p−1 emp,0

=

P (O

(6)

−1

= emp, V

−1

= 0|A = c)

We have α(occ, 0) α(emp, 0)

=

−1 p−1 occ,0 · (1 − ǫ) + pemp,0 · ǫ

=

p−1 occ,0

·ǫ+

p−1 emp,0

· (1 − ǫ)

(7) (8)

where ǫ = P (O = occ|O−1 = emp) = P (O = emp|O−1 = occ) is given by the transition matrix T defined in the previous section. For the dynamic part (v 6= 0), we first apply the motion model to the previous set of particles on the grid, according to the distribution P (V |V −1 ) :

vi

=

vi−1 + σ

xi

=

x−1 + dt · vi i

(9)

(11)

As empty cell are assumed to have null speed : α(emp, vi ) = 0

When the solving is completed, are available for each cell the evaluation of P (O = occV = 0|ZC) and a set of weighted particles {(xi , vi , wi )} representing P (O = occV = v|ZC). As for classic particle filtering, a resampling is required to sample a new population of particles for each cell from the previous one. In order to keep a constant framerate and to ease the parallelization of the process, the global number of particle remains constant. The re-sampling step adapts the local number of particles per cell and duplicates the best particles. This process is described by the following algorithm : Algorithm 1: Re-sampling 1 2 3

4

(10)

with σ ∼ N (0, Σ) is a 0 centered Gaussian noise of covariance Σ. Then, for each particles projected in the cell c (xi ∈ c), we note ai the previous cell of the particle (xi −1 ∈ ai ) and wi−1 = P (O−1 = occ, V −1 = vi−1 |A = ai ). We can express α(occ, vi ) as follows: α(occ, vi ) = wi−1 · (1 − ǫ)

D. Re-sampling

(12)

To end the resolution of Equation 3, we apply the observation model : β(occ, 0)

=

P (Z|O = occ, V = 0) α(occ, 0)

β(emp, 0) β(occ, vk )

= =

P (Z|O = emp, V = 0) α(emp, 0)(14) P (Z|O = occ, V = vk ) α(occ, vk )(15)

(13)

The marginalization over the occupancy and the velocity gives the scale factor d: X β(occ, vk ) (16) d = β(occ, 0) + β(emp, 0) +

5 6 7

newP articles ← ∅ ; for i ← 1 to nbP articles do Draw a cell index c according to the cell weights, defined as P (occ, v 6= 0|ZC) ; Randomly select a particle pi in this cell according to the cell particle relative weights, that is to say the distribution P (occ, v|Z, c) ; newP articles ← newP articles ∪ {pi } ; end Normalize particle weights per cell.

E. Particles management To this point, the issue of the velocity distribution initialization has not yet been addressed. If a new object appears in the grid, new particles are to be created. To do so, an ”apparition” probability is added, corresponding to the likelihood of the antecedent to be unknown (and so with unknown properties). If we note pa this appearance probability, we can simply add p4a and p2a respectively to equation (7) and (8) and a dynamic term α(occ, v = ”unknown”) = p4a . Then, in the re-sampling process, when the ”unknown” velocity is selected, the velocity is drawn from an uniform distribution. A second enhancement is to prevent particles from following static objects. This way, to each particle weight are assigned an additional coefficient, significantly downgrading slow ones, and conversely a contribution to the static probability α(occ, 0). For each particle i, we have :

α(occ, 0) += e

k

Finally the normalized bayesian filter estimation on probability for the null velocity is : β(occ, 0) P (O = occ, V = 0|ZC) = d

(17)

and for velocity vi : P (O = occ, V = vi |ZC) =

α(occ, vi ) = (1 − e

−||vi ||2 2 2σs

−||vi ||2 2 2σs

· wi−1 · (1 − ǫ)

(19)

) · wi−1 · (1 − ǫ)

(20)

where σs is a constant coefficient representing the static velocity contribution (for ||vi || > 3σs the static contribution is insignificant). F. Summary

β(occ, vi ) d

(18)

The proposed algorithm can be summarized by the following algorithm :

Algorithm 2: Global algorithm 1 2 3 4 5 6 7 8

9 10

Apply motion model to each particle using Eq 9-10; foreach cell c do Compute β(occ, 0) (Eq 13); Compute β(emp, 0) (Eq 14); foreach particle k ∈ c do Compute β(occ, vk ) (Eq 15); end Normalize all previous values to obtain the resulting distribution P (OV |ZC) (Eq 16,17,18); end Re-sample particles (Algorithm 1);

40

40

20

20

20

0

-20

-40 -40

-20

0

20

X velocity (km/h)

40

Y velocity (km/h)

40

Y velocity (km/h)

For the experiments, a standard road vehicle has been equipped with two multilayer Lidars Ibeo Lux under the two front lights. The horizontal field of view covered by the two lidars is of almost 180 degrees. The odometry has been computed using vehicle velocity and steering data collected from the CAN bus system. The algorithm inputs are sequences of occupancy grids computed from the two lidars. To merge the eight laser scan layers acquired by the two lidars, we use a method similar to [13]. The presented algorithm has been implemented on the Nvidia Cuda parallel architecture in order to run on a Graphic Processing Unit (GPU). The program runs in real-time at more than 25Hz on a Nvidia Quadro 2000 GPU. In the first experiment, we have tested a crossing scenario, the vehicle remaining static and observing a second approaching vehicle, while a third one passing from right to left. The grid dimensions are 50m by 30m with a cell size of 0.1m and the total number of particles is set to 262144, which corresponds to an average of 1.75 particles per cell. The results of our algorithm are displayed in figure 2. We can note that the occupancy of the approaching vehicle is well maintained when the crossing vehicle masks the approaching one. Further analysis of the particles localized on the approaching vehicle shows that the particles converge quickly to the right vehicle velocity (-25km/h in Y direction). On the second experimental set (Figure 3), different urban and highway situations have been evaluated. In both cases, the number of particles has been set to 262144 and the grid resolution to 0.1m. The size of the grid lightly differs between urban and highway situation to adapt the field of view to interesting areas. On urban situations (first row) the size of the grid is 50m x 30m while on highway situation the range is a bit larger (75m x 30m). The average number of particles per cell is thus 1.75 for urban data and 1.17 on highway. The presented figure represents the occupancy grid and the average velocity of dynamic cells (red lines). A cell is considered dynamic if the probability P (occ, v 6= 0) > 0.5. To remove noisy data on speed estimation, only the average velocity on the cell containing a minimum number of 8 particles is displayed. We can see that all dynamic objects (pedestrians, vehicles and cycles) are well detected with an

Y velocity (km/h)

V. R ESULTS

0

-20

-40 -40

-20

0

20

X velocity (km/h)

40

0

-20

-40 -40

-20

0

20

40

X velocity (km/h)

Fig. 2. Result of the algorithm on a crossing scenario. In the first row, we have a view from a front camera. In the second row is displayed the observation grid obtained from 2 lidars. The third row is the occupancy grid obtained by our algorithm. In the last row we plotted the velocity distribution for the cell marked with a red circle in 3rd row. We can notice that even when the encircled vehicle is hidden by the second car, the occupancy is maintained at the correct position. In the last row, we can see that all particles are concentrated around the right speed.

accurate velocity. However some outliers are perceptible on the bottom left grid : the highway median strip is considered dynamic because of its linear geometry. As we always observe occupancy in the median strip direction, the moving hypothesis is as much probable as static hypothesis. If we consider the memory and computation costs, the gain in classic urban and highway conditions is considerable. For the same cell resolution of 0.1m at 25Hz, the original BOF requires a velocity grid with a size of 30 × 30 = 900 samples to handle speed of 130 km/s. We saw that with our sampling method, an average of less than 2 samples per cell is enough. If we consider that each particles have a memory cost of 5 floats for the position, the speed and the probability, the global memory and computing reduction factor is about 100.

can be performed using the estimated occupancy and velocity grid, higher level perception, as lane change prediction or intersection understanding, can be valuable. Thanks to the sampling method proposed in this paper, the obtained performance and the precision gains will make it possible to use the velocity field as well as the static-dynamic classification to easily detect and track moving objects in real time. ACKNOWLEDGMENT This work has been carried out as part of the IRT Nanoelec project ”PERFECT”, which has received financial support from the French State. The authors would like to thank Toyota Motor Europe for their collaboration and their continuous support on the Lexus car. Our thanks are given to Nicolas Turro and Jean-Franc¸ois Cuniberto for their technical assistance in setting our experimental platform. R EFERENCES

Fig. 3. Resulting occupancy grid and velocity field on different urban and highway situations. Black cells represent the occupied space and red lines represent the average velocity vector for cell with a high dynamic probability.

VI. C ONCLUSION In this paper we presented an efficient hybrid sampling approach to solve the Bayesian Occupancy Filter (BOF). The proposed method jointly estimates the occupancy and the velocity distributions while splitting the scene into static and dynamic cases. This static-dynamic estimation is used to accumulate the samples not just on occupied area but rather on moving objects. The memory and computing costs of the BOF, thanks to this optimization, are drastically reduced: in typical applications, the number of samples of velocity per cell has been reduced from 900 to less than 2 in average. Additionally, the accuracy can be better than in the original BOF as the velocity samples allocation is adaptive and not limited by the grid resolution. Further works will concentrate on object based clustering to long term objects tracking. Even if reactive manoeuvres

[1] C. Cou´e, C. Pradalier, C. Laugier, T. Fraichard, and P. Bessi`ere, “Bayesian occupancy filtering for multitarget tracking: an automotive application,” The International Journal of Robotics Research, vol. 25, no. 1, pp. 19–30, 2006. [2] A. Petrovskaya, M. Perrollaz, L. Oliveira, L. Spinello, R. Triebel, A. Makris, J.-D. Yoder, U. Nunes, C. Laugier, and P. Bessi`ere, “Awareness of road scene participants for autonomous driving,” in Handbook of Intelligent Vehicles, A. Eskandarian, Ed. Springer, 2012, pp. 1383–1432. [3] T. E. Fortmann, Y. Bar-Shalom, and M. Scheffe, “Multi-target tracking using joint probabilistic data association,” in Decision and Control including the Symposium on Adaptive Processes, 1980 19th IEEE Conference on, vol. 19. IEEE, 1980, pp. 807–812. [4] Z. Khan, T. Balch, and F. Dellaert, “An mcmc-based particle filter for tracking multiple interacting targets,” in Computer Vision-ECCV 2004. Springer, 2004, pp. 279–290. [5] A. Elfes, “Using occupancy grids for mobile robot perception and navigation,” Computer, vol. 22, no. 6, pp. 46–57, 1989. [6] H. P. Moravec, “Sensor fusion in certainty grids for mobile robots,” AI magazine, vol. 9, no. 2, p. 61, 1988. [7] H. Badino, U. Franke, and D. Pfeiffer, “The stixel world-a compact medium level representation of the 3d-world,” in Pattern Recognition. Springer, 2009, pp. 51–60. [8] T. Gindele, S. Brechtel, J. Schroder, and R. Dillmann, “Bayesian occupancy grid filter for dynamic environments using prior map knowledge,” in Intelligent Vehicles Symposium, 2009 IEEE. IEEE, 2009, pp. 669–676. [9] S. Brechtel, T. Gindele, and R. Dillmann, “Recursive importance sampling for efficient grid-based occupancy filtering in dynamic environments,” in Robotics and Automation (ICRA), 2010 IEEE International Conference on. IEEE, 2010, pp. 3932–3938. [10] R. Danescu, F. Oniga, and S. Nedevschi, “Modeling and tracking the driving environment with a particle-based occupancy grid,” Intelligent Transportation Systems, IEEE Transactions on, vol. 12, no. 4, pp. 1331–1342, 2011. [11] M. Tay, K. Mekhnacha, C. Chen, and M. Yguel, “An efficient formulation of the bayesian occupation filter for target tracking in dynamic environments,” International Journal of Vehicle Autonomous Systems, vol. 6, no. 1, pp. 155–171, 2008. [12] P. Bessi`ere, E. Mazer, J. M. Ahuactzin-Larios, and K. Mekhnacha, Bayesian Programming. CRC Press, Dec. 2013. [Online]. Available: http://hal.inria.fr/hal-00905797 [13] J. D. Adarve, M. Perrollaz, A. Makris, and C. Laugier, “Computing Occupancy Grids from Multiple Sensors using Linear Opinion Pools,” in IEEE International Conference on Robotics and Automation, St Paul, Minnesota, United States, May 2012. [Online]. Available: http://hal.inria.fr/hal-00671211