Below is the uncorrected machine-read text of this chapter, intended to provide our own search engines and external engines with highly rich, chapter-representative searchable text of each book. Because it is UNCORRECTED material, please consider the following text as a useful but insufficient proxy for the authoritative book pages.
64 C h a p t e r 1 0 Chapter 9 described a process for establishing basic vehicle tra- jectories, sufficient to localize vehicles and search for specific types of events (for example, to find potential conflicts based on timing, position and direction of motion, such as left turns across path). However, for many conflict metrics, such as those involving time to collision (TTC), the vehicle velocity is needed. For other purposes (e.g., hard braking events), estimates of vehicle acceleration information also may be required. There- fore, some degree of trajectory refinement is needed. Here refinement of vehicle trajectories by two distinct methods is considered: 1. Position refinement: Tracking clusters in groups and allow- ing for the local position of each available cluster gives multiple estimate of the vehicle centroid path. Combining these into a mean path should reduce position errors and in particular reduce the tendency for position errors to drift over time. The main purpose is to apply something akin to cluster position averaging but take into account the known local coordinates of each cluster, as estimated at the reference time (see Chapter 9). 2. Motion estimation: To make use of commonly used tracking algorithms, specifically the model-based Kalman filter (KF) to estimate speed and acceleration. As was seen in Figure 9.12, such estimates are feasible, but the use of a KF can reduce noise and is essential when accelerations are estimated. Multicluster Centroid path Figure 10.1 shows the method of centroid tracking. The dashed line is the projection into the ground plane of the cluster motion, using the height estimate obtained at the reference time t = tref. From the fitted rectangle and its orientation, the position of the cluster relative to the center of the rectangle xË G is known. Assuming the cluster stays fixed relative to the vehi- cle body, its motion is used to infer the motion of xË G. With multiple clusters, multiple estimates of xË G at later times are generated, and simple averaging can be used to improve the position accuracy. Figure 10.2 shows a typical example: a left-turning vehicle, with t = tref in the left plot and t = tref +1 on the right. The red circles are the estimated locations of the clusters after projec- tion into world coordinates, making use of the cluster heights estimated previously. The blue dots show the corresponding estimates of the centroid, which are averaged to fit the rect- angle, centered at the cross marker, seen better in the zoomed figure, inset. The dashed line is the estimated path based on single clusters and without height or position refinement. Figure 10.3 shows the same vehicle (at time t = tref + 0.7 to keep it within the image frame of the camera) where the left plot fits the bounding box based on the earlier path estimate, simply using a sample cluster track at a nominal height. Clearly there is significant positional bias; this path is also shown in Figure 10.2 as the dashed line. By comparison, the use of local coordinate offsets provides quite accurate positioning. This example was not specifically chosen and is quite typical of what is achieved when the bounding box fitting works well. Figure 10.4 shows a limitation of the current version of the localization method in that no attention has been devoted to countering the effects of shadows. Here the shadows clearly affect the location of the bounding box, and clearly the problem is inherited from the original blob and cluster fitting. There is ample scope to reduce such problems, especially by rejecting clusters at ground height and adjusting the box dimensions after checking the angle of the box relative to the sun. A more heuristic method based on typical vehicle rectangle shapes is also possible, but such heuris- tics have been avoided in the prototype analysis. Motion estimation: Kalman Filtering A KF is similar to other filters used for smoothing data, except that it uses an underlying model of how the data are gener- ated and includes estimates of the sources of disturbance (see, Trajectory Refinement and Estimation of Motion Variables
65 turbance is just the driver. The process model equations are presented briefly here, and the reader is referred to the many texts on the topic of how the KF is implemented, but suffice to say that compared with the many nonlinear transformations and image processing steps considered, the KF is an extra- ordinarily quick and simple method. The underlying model equations are of the following form: x xk A k Gv k+( ) = ( )+ ( )1 where the matrices of constant coefficients take the block form A A A A T T T G=    =       = 3 3 3 1 2 2 0 0 1 0 1 0 0 1 , , G G G T T3 3 3 1 2 2 1     =      , and the measured output is y x= =   C C, . 1 0 0 0 0 0 0 0 0 1 0 0 The model has six states: two for translation (x(k), y(k)), two for velocity (xË(k), yË(k)), and two for acceleration (x¨(k), ÿ(k)). The input v(k) represents errors between the model and the physical data resulting from unmodeled driver control actions, measurement noise, and so forth. In this model, there is no preferred sense of direction for the vehicle; a car that came into the intersection, turned two circles, and returned from where it came would be tracked as well as one taking a more normal path. e.g., Bar-Shalom et al. 2001). This additional model-based information provides a way to not only smooth a noisy day but also to estimate other information contained within the model. For the current application, the purpose is to extract other vehicle motion variables, in particular the speed and (longitudinal) acceleration. In fact, to a large degree, the esti- mated trajectories are not especially noisy, mainly because it was possible, early on, to remove worst effects of fluctuations in the positions of the clusters. Once we have estimated any vehicle centroid path, as above, we have data in the form of an estimated position vector xË(k) = [xË(k), yË(k)] equally spaced over time, where k is a time index corresponding to our chosen frame rate of 50 ms, and the hat denotes an estimate of the actual physical quantity. Between these time intervals, the KF model assumes the acceleration can vary linearly and in an unknown way; this is the classic Wiener process model (again see Bar-Shalom et al. 2001), for which the degree of jerk (rate of change in accelera- tion) varies unpredictably. Of course, here the source of dis- Figure 10.1. Centroid position estimation by local coordinate rotation and offset. The dashed triangle indicates the fixed distances of lateral and longitudinal offset relative to the vehicle center. reftt 1reftt )(Ë reftGx )1(Ë reftGx Figure 10.2. Example of position refinement. Red circles are cluster projections; blue dots are centroid estimates. Left: At reference time. Right: At time tref + 1. Zoomed image also is at time tref + 1. M et er s MetersMeters M et er s
66 Figure 10.3. Effect of position refinement. Left: Initial approximation from single cluster and nominal height estimate. Right: Uses position refinement by coordinate offsets. Time: tref + 0.7. Figure 10.4. Lateral offset attributable to vehicle shadow. No shadow compensation has been applied in this analysis. Time: tref + 1. One challenge for using the KF is to initialize the six states; some initial best guess of position, velocity, and acceleration is needed. Because position is best estimated within the inter- section itself, the method adopted is as follows: (1) estimate the position at the reference time and for a few meters of travel near to that point; (2) fit a polynomial path to that segment and use this to estimate velocity and acceleration; (3) run the KF forward in time from this initial state until it reaches a distance 50 m from the intersection center (or runs out of data); (4) run the KF backward in time from the same reference position, again until 50 m is reached or the data run out; and (5) join the two paths into a single trajectory, which now includes velocities and accelerations. Afterward it is sim- ple to resolve the motion variables in various directions to estimate speed, longitudinal acceleration, lateral acceleration, and yaw rate (rate of turn). Sample results for a left-turning vehicle are presented, and Kalman filter estimates are com- pared with the results of instrumented vehicles. In Figure 10.5, Meters M et er s Figure 10.5. Kalman filter estimation of vehicle path.
67 the dashed line is the smoothed path based on single clus- ters, whereas the red line is the output of the KF position states. Some degree of wobble is seen in this plot, and over- all it appears that the KF used, which is effective for speed and acceleration estimation, does little to improve the esti- mation of position. For this reason, the KF results are seen as augmenting the positioning refinement shown but not fully replacing it. It is possible in the future that the extended KF method can be used to improve the height estimation of cluster, but this is beyond the scope of this prototype development. Figure 10.6 shows the resulting speed and acceleration plots, similar to those shown in Figure 9.12; however, acceleration estimates are found, something not reliably obtained from polynomial curve fitting. Again, the fact that the vehicle temporarily stops does not cause any special problems for the KF. 995 1000 1005 1010 1015 1020 0 5 10 15 time (s) sp ee d (m /s) 995 1000 1005 1010 1015 1020 -1 0 1 2 time (s) a cc e l (m /s2 ) Figure 10.6. Speed and acceleration estimation for a left-turning vehicle.