Pregunta

In my application,I want to find the exact coordinates of the objects detected in a laser scanner placed in a moving vehicle in real time. Till now I have found out the local minima of the points in the graph and is giving all local minimas including the unwanted 2 show in the fig .But I want only the main object locations like the one indicated as 1 in the figure.

I tried these methods in C# after searching in google and stackoverflow

  1. I did moving average for the curve and found out the local minima.the result is okay.But Since it is real time,I worry that it may take some processing time.

  2. I also tried finding out the slopes of the different points in the curve and tried to mark the positions with the maximum and minimum slopes. It works but not exactly finding the correct position.

  3. I tried marking the points which satisfy both criteria i.e local minima having high slopes.but it is not working as intended.

  4. The last option I have is to have a reference in the first scan and subtracting the other object graphs from the reference.Then I can compare the subtracted range and the local minima to find the exact position. i.e the part 1 and the black curve at the bottom.

the scanning frequency is 50Hz and if the moving average does not much time. I will go with the first option. Finally I am going to code the algorithm in c++. I am trying different things in c# since it is easier to view and analyse the graphs.

Lidar Data Plot

¿Fue útil?

Solución

I have finally found out a solution. I used the foreground segmentation and blob detection algorithm. I referred this http://www.v2.nl/lab/projects/laser-measurement-system-object-for-max

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top