




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This paper describes the development of a moving vehicle tracking module for an autonomous driving robot, junior. The module uses laser range finders to provide reliable tracking of vehicles from a high-speed moving platform. The approach models dynamic and geometric properties of vehicles and builds efficient 2d representations from 3d range data. Techniques for detecting poorly visible black vehicles are also presented. The module was tested in the darpa autonomous vehicle competition.
Typology: Study Guides, Projects, Research
1 / 8
This page cannot be seen from the preview
Don't miss anything!





Computer Science Department Stanford University Stanford, California 94305, USA { anya, thrun }@cs.stanford.edu
Abstract — Situational awareness is crucial for autonomous driving in urban environments. This paper describes moving vehicle tracking module that we developed for our autonomous driving robot Junior. The robot won second place in the Urban Grand Challenge, an autonomous driving race organized by the U.S. Government in 2007. The tracking module provides reliable tracking of moving vehicles from a high-speed moving platform using laser range finders. Our approach models both dynamic and geometric properties of the tracked vehicles and estimates them using a single Bayes filter per vehicle. We also show how to build efficient 2D representations out of 3D range data and how to detect poorly visible black vehicles. Experimental validation includes the most challenging conditions presented at the UGC as well as other urban settings.
I. INTRODUCTION Autonomously driving cars have been a long-lasting dream of robotics researchers and enthusiasts. Self-driving cars promise to bring a number of benefits to society, including prevention of road accidents, optimal fuel usage, comfort and convenience. In recent years the Defense Advanced Research Projects Agency (DARPA) has taken a lead on encouraging research in this area. DARPA has organized a series of competitions for autonomous vehicles. In 2005, autonomous vehicles were able to complete a 131 mile course in the desert. In 2007 competition, the Urban Grand Challenge, the robots were presented with an even more difficult task: autonomous safe navigation in urban environments. In this competition the robots had to drive safely with respect to other robots, human- driven vehicles and the environment. They also had to obey the rules of the road as described in the California rulebook. One of the most significant changes from the previous competition is that for urban driving, robots need to have situational awareness of both static and dynamic parts of the environment. Our robot won the second prize at the 2007 competition. In this paper we describe the approach we developed for tracking of moving vehicles. Vehicle tracking has been studied for several decades. A number of approaches focused on the use of vision exclusively [1, 2, 3]. Whereas others utilized laser range finders sometimes in combination with vision [4, 5, 6, 7]. Typically these approaches perform data segmentation and data association prior to performing a filter update. Usually only position and velocity of each vehicle are tracked. The vehicle tracking literature almost universally relies on variants of Kalman filters, although particle filters and hybrid approaches have been widely used in other tracking applications [8, 9, 10]. For our application we are concerned with laser based vehicle tracking from our autonomous robotic platform Junior,
Fig. 1. Junior, our entry in the DARPA Urban Challenge. Junior is equipped with five different laser measurement systems, a multi-radar assembly, and a multi-signal inertial navigation system, as shown in this figure.
to which we will also refer as the ego-vehicle (Fig. 1). In contrast to prior art we propose a model based approach which encompasses both geometric and dynamic properties of the tracked vehicle in a single Bayes filter. The approach naturally handles data segmentation and association, so that these pre- processing steps are not required. To properly model the de- pendence between geometric and dynamic vehicle properties, we introduce anchor point coordinates. Further, we introduce an abstract sensor representation we call the virtual scan , that allows for efficient computation and can be used for a wide variety of laser sensors. We present techniques for building virtual scans from 3D range data and show how to detect poorly visible black vehicles in laser scans. Our approach runs in real time with an average update rate of 40Hz, which is 4 times faster than the common sensor frame rate of 10Hz. The results show that our approach is reliable and efficient even in challenging traffic situations presented at the Urban Grand Challenge.
A. Probabilistic model and notation
Our goal for this work is to track multiple vehicles in an urban environment. Our ego-vehicle has been outfitted with the Applanix navigation system that can provide pose localization with 1m error as well as produce a locally consistent pose estimates based on an inertial measurement unit (IMU). Hence we will leave ego-vehicle localization outside the scope of the paper. Instead we will assume that a reasonably precise pose of the ego-vehicle is always available.
Fig. 2. Dynamic Bayesian network model of the tracked vehicle pose Xt, forward velocity vt, geometry G, and measurements Zt.
From the theoretical standpoint, multiple vehicle track- ing entails a single joint probability distribution over the state parameters of all of the vehicles. Unfortunately, such a representation is not practical because it quickly becomes intractable as the number of vehicles grows. Also, since the number of vehicles is unknown and variable, it is in fact challenging to model the problem in this way. We note that dependencies between vehicles are strong when vehicles are close together, but become extremely weak as the distance between vehicles increases. Hence it is wasteful to model dependencies between vehicles that are far from each other. Instead, following the common practice in vehicle tracking, we will represent each vehicle with a separate Bayesian filter, and represent dependencies between vehicles via a set of local spatial constraints. Specifically we will assume that no two vehicles overlap, that there is a free space of at least 1m around each vehicle and that all vehicles of interest are located on or near the road. This representation is efficient because its complexity grows linearly with the number of vehicles. It also easily accommodates a variable number of tracked vehicles. For each vehicle we estimate its 2D position and orientation Xt = (xt, yt, θt) at time t, its forward velocity vt and its geometry G (further defined in Sect. II-B). Also at each time step we obtain a new measurement Zt. See Fig. 2 for a dynamic Bayes network representation of the resulting probabilistic model. The dependencies between the parameters involved are modeled via probabilistic laws discussed in detail in Sects. II-C and II-E. For now we briefly note that the velocity evolves over time according to
p(vt|vt− 1 ).
The vehicle moves based on the evolved velocity according to a dynamics model:
p(Xt|Xt− 1 , vt).
The measurements are governed by a measurement model:
p(Zt|Xt, G).
For convenience we will write Xt^ = (X 1 , X 2 , ..., Xt) for the vehicle’s trajectory up to time t. Similarly, vt^ and Zt^ will denote all velocities and all measurements up to time t.
Fig. 3. As we move to observe a different side of a stationary car, our belief of its shape changes and so does the position of the car’s center point. To compensate for the effect, we introduce local anchor point coordinates C = (Cx, Cy ) so that we can keep the anchor point Xt stationary in the world coordinates.
B. Vehicle geometry The exact geometric shape of a vehicle can be complex and difficult to model precisely. For simplicity we approximate it by a rectangular shape of width W and length L. The 2D representation is sufficient because the height of the vehicles is not important for driving applications. For vehicle tracking it is common to track the position of a vehicle’s center within the state variable Xt. However, there is an interesting dependence between our belief about the vehicle’s shape and position (Fig. 3). As we observe the object from a different vantage point, we change not only our belief of its shape, but also our belief of the position of its center point. Allowing Xt to denote the center point can lead to the undesired effect of obtaining a non-zero velocity for a stationary vehicle, simply because we refine our knowledge of its shape. To overcome this problem, we view Xt as the pose of an anchor point who’s position with respect to the vehicle’s center can change over time. Initially we set the anchor point to be the center of what we believe to be the car shape and thus its coordinates in the vehicle’s local coordinate system are C = (0, 0). We assume that the vehicle’s local coordinate system is tied to its center with the x-axis pointing directly forward. As we revise our knowledge of the vehicle’s shape, the local coordinates of the anchor point will also need to be revised accordingly to C = (Cx, Cy ). Thus the complete set of geometric parameters is G = (W, L, Cx, Cy ).
C. Vehicle dynamics model Given a vehicle’s velocity vt− 1 at time step t − 1 , the velocity evolves via addition of random bounded noise based on maximum allowed acceleration amax and the time delay ∆t between time steps t − 1 and t. Specifically, we sample ∆v uniformly from [−amax∆t, amax∆t]. The pose evolves via linear motion - a motion law that is often utilized when exact dynamics of the object are unknown. The motion consists of perturbing orientation by ∆θ 1 , then moving forward according to the current velocity by vt∆t, and making a final adjustment to orientation by ∆θ 2. Again we
(a)
(b)
Fig. 5. Measurement likelihood computations. (a) shows the geo- metric regions involved in the likelihood computations. (b) shows the costs assignment for a single ray.
and white points denoting obstacles that remained in place or appeared in previously occluded areas.
E. Measurement model
Given a vehicle’s pose X, geometry G and a virtual scan Z we compute the measurement likelihood p(Z|G, X) as follows. We position a rectangular shape representing the vehicle according to X and G. Then we build a bounding box to include all points within a predefined distance λ^1 around the vehicle (see Fig. 5). Assuming that there is an actual vehicle in this configuration, we would expect the points within the rectangle to be occupied or occluded, and points in its vicinity to be free or occluded, because vehicles are spatially separated from other objects in the environment. Following the common practice for modeling laser range finders, we consider measurements obtained along each ray independent of each other. Thus if we have a total of N rays in the virtual scan Z, the measurement likelihood factors as follows:
p(Z|G, X) =
i=
p(zi|G, X).
We model each ray’s likelihood as a zero-mean Gaussian of variance σi computed with respect to a cost ci selected based on the relationship between the ray and the vehicle (ηi is a
(^1) We used the setting of λ = 1m in our implementation.
normalization constant):
P (zi|G, X) = ηi exp{ −
c^2 i σ i^2
The costs and variances are set to constants that depend on the region in which the reading falls into (see Fig. 5 for illustration). cocc, σocc are the settings for range readings that fall short of the bounding box and thus represent situations when another object is occluding the vehicle. cb and σb are the settings for range readings that fall short of the vehicle but inside of the bounding box. cs and σs are the settings for readings on the vehicle’s visible surface (that we assume to be of non-zero depth). cp, σp are used for rays that extend beyond the vehicle’s surface. The domain for each range reading is between minimum range rmin and maximum range rmax of the sensor. Since the costs we select are piece-wise constant, it is easy to integrate the unnormalized likelihoods to obtain the normalization con- stants ηi. Note that for the rays that do not target the vehicle or the bounding box, the above logic automatically yields uniform distributions as these rays never hit the bounding box. Note that the above measurement model naturally handles partially occluded objects including objects that are “split up” by occlusion into several point clusters. In contrast these cases are often challenging for approaches that utilize separate data segmentation and correspondence methods.
III. INFERENCE Most vehicle tracking methods described in the literature apply separate methods for data segmentation and correspon- dence matching before fitting model parameters via extended Kalman filter (EKF). In contrast we use a single Bayesian filter to fit model parameters from the start. This is possible because our model includes both geometric and dynamic parameters of the vehicles and because we rely on efficient methods for parameter fitting. We chose the particle filter method for Bayesian estimation because it is more suitable for multi- modal distributions than EKF. Unlike the multiple hypothesis tracking (MHT) method commonly used in the literature, the computational complexity for our method grows linearly with the number of vehicles in the environment, because vehicle dynamics dictates that vehicles can only be matched to data points in their immediate vicinity. The downside of course is that in our case two targets can in principle merge into one. In practice we have found that it happens rarely and only in situations where one of the targets is lost due to complete occlusion. In these situations target merging is acceptable for our application. We have a total of eight parameters to estimate for each vehicle: X = (x, y, θ), v, G = (W, L, Cx, Cy ). Computational complexity grows exponentially with the number of parame- ters for particle filters. Thus to keep computational complexity low, we turn to Rao-Blackwellized particle filters (RBPFs) first introduced in [11]. We estimate X and v by samples and keep Gaussian estimates for G within each particle. Below we give a brief derivation of the required update equations.
A. Derivation of update equations At each time step t we produce an estimate of a Bayesian belief about the tracked vehicle’s trajectory, velocity and
geometry based on a set of measurements:
Belt = p(Xt, vt, G|Zt).
The derivation provided below is similar to the one used in [12]. We split up the belief into two conditional factors:
Belt = p(Xt, vt|Zt) p(G|Xt, vt, Zt).
The first factor encodes the vehicle’s motion posterior:
Rt = p(Xt, vt|Zt).
The second factor encodes the vehicle’s geometry posterior, conditioned on its motion:
St = p(G|Xt, vt, Zt).
The factor Rt is approximated using a set of particles; the factor St is approximated using a Gaussian distribution (one Gaussian per particle). We denote a particle by qtm =
(Xt,[m], vt,[m], S[ tm ]) and a collection of particles at time t by Qt = {qtm}m. We compute Qt recursively from Qt− 1. Suppose that at time step t, particles in Qt− 1 are distributed according to Rt− 1. We compute an intermediate set of parti- cles Q¯t by sampling a guess of the vehicle’s pose and velocity at time t from the dynamics model (described in detail in Sect. II-C). Thus, particles in Q¯t are distributed according to the vehicle motion prediction distribution:
R^ ¯t = p(Xt, vt|Zt−^1 ).
To ensure that particles in Qt are distributed according to Rt (asymptotically), we generate Qt by sampling from Q¯t with replacement in proportion to importance weights given by wt = Rt/ R¯t. Before we can compute the weights, we need to derive the update equations for the geometry posterior. We use a Gaussian approximation for the geometry pos- terior, St. Thus we keep track of the mean μt and the co- variance matrix Σt of the approximating Gaussian in each
particle: qtm = (Xt,[m], vt,[m], μ
[m] t ,^ Σ
[m] t ). We have: St = p(G|Xt, vt, Zt) ∝ p(Zt|G, Xt, vt, Zt−^1 ) p(G|Xt, vt, Zt−^1 ) = p(Zt|G, Xt) p(G|Xt−^1 , vt−^1 , Zt−^1 ). (1)
The first step above follows from Bayes’ rule; the second step follows from the conditional independence assumptions of our model (Fig. 2). The expression (1) is a product of the measurement likelihood and the geometry prior St− 1. To obtain a Gaussian approximation for St we linearize the mea- surement likelihood as will be explained in Sect. III-C. Once the linearization is performed, the mean and the co-variance matrix for St can be computed in closed form, because St− 1 is already approximated by a Gaussian (represented by a Rao- Blackwellized particle from the previous time step). Now we are ready to compute the importance weights. Briefly, following the derivation in [12], it is straightforward to show that the importance weights wt should be:
wt = Rt/ R¯t =
p(Xt, vt|Zt) p(Xt, vt|Zt−^1 )
= IESt− 1 [ p(Zt|G, Xt) ].
In words, the importance weights are the expected value (with respect to the vehicle geometry prior) of the measure- ment likelihood. Using Gaussian approximations of St− 1 and
p(Zt|G, Xt), this expectation can be expressed as an integral over a product of two Gaussians, and can thus be carried out in closed form.
B. Motion inference As we mentioned in Sect. II-A, a vehicle’s motion is governed by two probabilistic laws: p(vt|vt− 1 ) and p(Xt|Xt− 1 , vt). These laws are related to the motion predic- tion distribution as follows:
R^ ¯t = p(Xt, vt|Zt−^1 ) = p(Xt, vt|Xt−^1 , vt−^1 , Zt−^1 ) p(Xt−^1 , vt−^1 |Zt−^1 ) = p(Xt|Xt−^1 , vt, Zt−^1 ) p(vt|Xt−^1 , vt−^1 , Zt−^1 ) Rt− 1 = p(Xt|Xt− 1 , vt) p(vt|vt− 1 ) Rt− 1.
The first and second steps above are simple conditional factorizations; the third step follows from the conditional independence assumptions of our model (Fig. 2). Note that since only the latest vehicle pose and velocity are used in the update equations, we do not need to actually store entire trajectories in each particle. Thus the memory storage requirements per particle do not grow with t.
C. Shape inference In order to maintain the vehicle’s geometry posterior in a Gaussian form, we need to linearize the measurement likeli- hood p(Zt|G, Xt) with respect to G. Clearly the measurement likelihood does not lend itself to differentiation in closed form. Thus we turn to Laplace’s method to obtain a suitable Gaussian approximation. The method involves fitting a Gaussian at the global maximum of a function. Since the global maximum is not readily available, we search for it via local optimization starting at the current best estimate of geometry parameters. Due to construction of our measurement model (Sect. II-E) the search is inexpensive as we only need to recompute the costs for the rays directly affected by a local change in G. The dependence between our belief of the vehicle’s shape and position (discussed in Sect. II-B) manifests itself in a dependence between the local anchor point coordinates C and the vehicle’s width and length. The vehicle’s corner closest to the vantage point is a very prominent feature that impacts how the sides of the vehicle match the data. When revising the belief of the vehicle’s width and length, we keep the closest corner in place. Thus a change in the width or the length leads to a change in the global coordinates of the vehicle’s center point, for which we compensate with an adjustment in C to keep the anchor point in place. This way a change in geometry does not create phantom motion of the vehicle.
D. Initializing new tracks Before vehicle tracking can begin, we need to initialize new vehicle tracks. Detection of new vehicles is the most expensive part of vehicle tracking. However a number of optimizations can be made to achieve detection in real time, including spatial constraints and sensor data analysis. Detailed description of our vehicle detection algorithm is given in [13]. Here we provide a brief summary. To detect new vehicles, we search the area within sensor range of our ego-vehicle to find good matches using the measurement model described in Sect. II-E. A total of three (3) frames are required to acquire a new tracking target. The
(a) actual appearance of the vehicle
(b) the vehicle gives very few laser returns
(c) generated virtual scan after black object detection
(d) successful tracking of the black vehicle Fig. 8. Detecting black vehicles in 3D range scans. White points represent raw Velodyne data. In (c) green lines represent the generated virtual scan. In (d) the purple box denotes the estimated pose of the tracked vehicle.
angle). We cycle through the rays in the slice from the lowest vertical angle to the highest. For three consecutive readings A, B, and C, the slope between AB and BC should be near zero if all three points lie on the ground (see Fig. 6 for illustration). If we normalize AB and BC, their dot product should be close to 1. Hence a simple thresholding of the dot product allows us to classify ground readings and to obtain estimates of local ground elevation. Thus one useful piece of information we can obtain from 3D sensors is an estimate of ground elevation.
Using the elevation estimates we can classify the remaining non-ground readings into low, medium and high obstacles, out of which we are only interested in the medium ones (see Fig. 7). It turns out that there can be medium height obstacles that are still worth filtering out: birds, insects and occasional readings from cat-eye reflectors. These obstacles are easy to
filter, because the BC vector tends to be very long (greater than 1m), which is not the case for normal vertical obstacles such as buildings and cars. After identifying the interesting obstacles we simply project them on the 2D horizontal plane to obtain a virtual scan. Laser range finders are widely known to have difficulty seeing black objects. Since these objects absorb light, the sensor never gets a return. Clearly it is desirable to “see” black obstacles for driving applications. Other sensors could be used, but they all have their own drawbacks. Here we present a method for detecting black objects in 3D laser data. Figure 8 shows the returns obtained from a black car. The only readings obtained are from the license plate and wheels of the vehicle, all of which get filtered out as low obstacles. Instead of looking at the little data that is present, we can detect the presence of a black obstacle by looking at the data that is absent. If no readings are obtained along a range of vertical angles in a specific direction, we can conclude that the space must be occupied by a black obstacle. Otherwise the rays would have hit some obstacle or the ground. To provide a conservative estimate of the range to the black obstacle we place it at the last reading obtained in the vertical angles just before the absent readings. We note that this method works well as long as the sensor is good at seeing the ground. For the Velodyne sensor the range within which the ground returns are reliable is about 25 - 30m, beyond this range the black obstacle detection logic does not work.
B. Tracking results The most challenging traffic situation at the Urban Grand Challenge was presented on course A during the qualifying event (Fig. 9(a) and Fig. 9(b)). The test consisted of dense human driven traffic in both directions on a course with an outline resembling the Greek letter θ. The robots had to merge repeatedly into the dense traffic. The merge was performed using a left turn, so that the robots had to cross one lane of traffic each time. In these conditions accurate estimates of positions and velocities of the cars are very useful for determining a gap in traffic large enough to perform the merge safely. Cars passed in close proximity to each other and to stationary obstacles (e.g. signs and guard rails) providing plenty of opportunity for false associations. Partial and complete occlusions happened frequently due to the traffic density. Moreover these occlusions often happened near merge points which complicated decision making. During extensive testing the performance of our vehicle tracking module has been very reliable and efficient (see Fig. 4 and Fig. 9). It proved capable of handling complex traffic situations such as the one presented on course A. The computation time of our approach averages out at 25ms per frame, which is faster than real time for most modern laser range finders. We also gathered empirical results of the tracking module performance on data sets from several urban environments: course A of the UGC, Stanford campus and a port town in Alameda, CA. For each frame of data we counted how many vehicles a human is able to identify in the laser range data. The vehicles had to be within 50m of the ego-vehicle, on or near the road, and moving with a speed of at least 5mph. We summarize the tracker’s performance in Fig. 10. Note that the maximum theoretically possible true positive rate is lower
Datasets Total Frames Total Vehicles Correctly Detected Falsely Detected Max TP (%) TP (%) FP (%) Area A 1,577 5,911 5,676 205 97.8 96.02 3. Stanford 2,140 3,581 3,530 150 99.22 98.58 4. Alameda 1,531 901 879 0 98.22 97.56 0 Overall 5,248 10,393 10,085 355 98.33 97.04 3.
Fig. 10. Tracker performance on data sets from three urban environments. Max TP is the theoretically maximum possible true positive percent for each data set. TP and FP are the actual true positive and false positive rates attained by the algorithm.
(a) test conditions on course A at the UGC
(b) Junior at intersection on course A
(c) vehicle size estimation on Stanford campus Fig. 9. Test conditions and results of tracking. Purple boxes represent tracked vehicles. In (c) yellow lines represent the virtual scan.
than 100% because three frames are required to detect a new vehicle. On all three data sets the tracker performed very close to the theoretical bound. Overall the true positive rate was 97% compared to the theoretical maximum of 98%. Several videos of vehicle detection and tracking using the techniques presented in this paper are available at the website
http://cs.stanford.edu/∼anya/uc.html
V. CONCLUSIONS We have presented the vehicle detection and tracking mod- ule developed for Stanford’s autonomous driving robot Junior. Tracking is performed from a high-speed moving platform and relies on laser range finders for sensing. Our approach models both dynamic and geometric properties of the tracked vehicles
and estimates them with a single Bayes filter per vehicle. In contrast to prior art, the common data segmentation and association steps are carried out as part of the filter itself. The approach has proved reliable, efficient and capable of handling challenging traffic situations, such as the ones presented at the Urban Grand Challenge. Clearly there is ample room for future work. The pre- sented approach does not model pedestrians, bicyclists, or motorcyclists, which is a prerequisite for driving in populated areas. Another promising direction for future work is fusion of different sensors, including laser, radar and vision.
ACKNOWLEDGMENT This research has been conducted for the Stanford Racing Team and would have been impossible without the whole team’s efforts to build the hardware and software that makes up the team’s robot Junior. The authors thank all team members for their hard work. The Stanford Racing Team is indebted to DARPA for creating the Urban Challenge, and for its financial support under the Track A Program. Further, Stanford University thanks its various sponsors. Special thanks also to NASA Ames for permission to use their air field.
REFERENCES [1] T. Zielke, M. M. Brauckmann, and W. von Seelen. Intensity and edge based symmetry detection applied to car following. In ECCV, Berlin, Germany , 1992. [2] E. Dickmanns. Vehicles capable of dynamic vision. In IJCAI, Nagoya, Japan , 1997. [3] F. Dellaert and C. Thorpe. Robust car tracking using kalman filtering and bayesian templates. In Conference on Intelligent Transportation Systems , 1997. [4] L. Zhao and C. Thorpe. Qualitative and quantitative car tracking from a range image sequence. In Computer Vision and Pattern Recognition ,
[5] D. Streller, K. Furstenberg, and K. Dietmayer. Vehicle and object models for robust tracking in traffic scenes using laser range images. In Intelligent Transportation Systems , 2002. [6] C. Wang, C. Thorpe, S. Thrun, M. Hebert, and H. Durrant-Whyte. Simultaneous localization, mapping and moving object tracking. The International Journal of Robotics Research, Sep 2007; vol. 26: pp. 889- 916 , 2007. [7] S. Wender and K. Dietmayer. 3d vehicle detection using a laser scanner and a video camera. In 6th European Congress on ITS in Europe, Aalborg, Denmark , 2007. [8] D. Schulz, W. Burgard, D. Fox, and A. Cremers. Tracking multiple moving targets with a mobile robot using particle filters and statistical data association. In ICRA , 2001. [9] S. S. Blackman. Multiple hypothesis tracking for multiple target tracking. IEEE AE Systems Magazine , 2004. [10] S. S¨arkk¨a, A. Vehtari, and J. Lampinen. Rao-blackwellized particle filter for multiple target tracking. Inf. Fusion , 8(1), 2007. [11] A. Doucet, N. de Freitas, K. Murphy, and S. Russell. Rao-blackwellised filtering for dynamic bayesian networks. In UAI, San Francisco, CA ,
[12] M. Montemerlo. FastSLAM: A Factored Solution to the Simultaneous Localization and Mapping Problem with Unknown Data Association. PhD thesis, Robotics Institute, Carnegie Mellon University, 2003. [13] A. Petrovskaya and S. Thrun. Efficient techniques for dynamic vehicle detection. In ISER, Athens, Greece , 2008.