- Successful implementation of a Spacial Nearest Neighbor algorithm. This is a recursive algorithm which calculates the distance between a point and all the other points the are not yet assigned to a cluster, if that distance is lower than the clustering threshold then the points are assigned to that cluster.
I also represent the results of the segmentation with this last algorithm on rviz plataform:
Once again, each layer represents the clusters obtained for each segmentation method (counting upwards):
- Simple Segmentation
- Multivariable Segmentation
- Dietmayer Segmentation (or jump distance segmentation)
- Adaptative Breakpoint Detector
- Spacial Nearest Neighbor
The comparison between the algorithms
In order to compare which algorithm offers less error, a manual "groundtruth" labeling was preformed.
Well, last week i only labeled the moving objects, however he decided that the segmentation of those objects alone weren't enough to compare the performance of each algorithm. So during the week i've been labeling all the objects in the scans obtained in a quick tour in a roundabout near Aveiro.
The next image is an example of my manual labeling:
Just to remember:
This was made via Matlab, the program reads the laser scans data form a .txt file, then the data is converted into Cartesian coordinates and creates a structure composed by the coordinates and a label
So i've segmented all the 1220 scan the best as i possibly could, however, not all scans were as pretty, clean and easy to label like the one presented in the latest figure.
Now i give you a pair of problematic scans example:
The roundabout where the car's journey was made, has some trees in it which was kind of hard to label (group of those single points on the top left of the image).
"With some objects, the outline seen by the scanner appears to fluctuate in a random way as the
scanner moves and vegetation has this problem" - MacLachlan, Robert (2005). Tracking moving objects from a moving vehicle using a laser scanner. Pittsburgh: Carnegie Mellon University.
In the next example i present an example of a zone very subjective to segment (the one delimited by the red "circle"), the problem with that marked zone is that i am not sure what that range points may represent in the "real world" so the main point here is that for groundtruth purposes scans like this one will not be used for comparison so they don't compromise the truth of the results when the comparison between the Several algorithms is made.
- Write the results of the manual labeling on a txt file (number of the sacan, cartesian coordinates of the ranges and their respective lalbels)
- Read those results on the ros platform
- Post the groundtruth segmentation on the rviz plataform
- Compare the groundtruth segmentation with the other algorithms