Tracking and Challenge Problem
One way to create associations between two different frames is by how close in proximity two detections are to each other and how similar they look. There are also a lot more filtering procedures that you can explore, such as looking at detection that are seen in consecutive frames before they are considered. You could also filter based on bounding boxes, their volume and shapes. By deploying tracking methods and associations you could try to dynamically build the shapes of obstacles. Examples of this might be, maybe you see the backside of a long truck, the lidar only first sees the back of the truck. Then later you drive past the truck. letting the lidar see the trucks side. There are many ways to keep exploring and making the detection process more robust.
Challenge Problem
If you are up for an additional challenge check out src/sensors/data/pcd/data_2
 to see how well you can detect/track a bicyclist riding in front of the car, along with detecting/tracking the other surrounding obstacles in the scene.