Tracking

Our tracking algorithm is based on Hungarian method (to assign pedestrian’s ID in consecutive frames) and Kalman filter (to fuse prediction by dynamics and observation from LiDAR point cloud). The input to the system are the pedestrians’ detected centroids in Cartesian space. The output will be a list of pedestrian with unique id and historical positions.

Within the system, Kalman filter is used to refine pedestrians’ positions using noisy sensor data and predict pedestrians’ positions at next time step for data association. Every pedestrian will have a dynamics model with constant velocity between each time frame. Every time a new observation comes in, it will update the Gaussian distribution for the pedestrian. Since detected centroid positions are highly sensitive to pedestrian configuration like orientation and waving hands, we also assign a large noise matrix to such observation. By doing so, Kalman filter would utilize internal dynamics model to correct the observation noise.

Hungarian method is a combinatorial optimization algorithm that solves assignment problem in polynomial time. Specifically, in our system, it is used to achieve data association from consecutive frames. I constructed a cost matrix table in which each row associated with an existing tracked object and each column associated with a new detected object. The elements inside the table are calculated by the Euclidean distance between each pair of the points. After that, Hungarian method will how to associate the point pairs in order to reduce the overall association cost.

The final tracking results are shown below. Different color indicates different pedestrians. As seen from the graph, our algorithm can track the pedestrian reliably with a frame rate of 10.

 

Figure showing the tracking of multiple pedestrians while maintaining their pedestrian IDs (each color represents a different ID)