Since this is my first post I’d like to introduce myself before asking questions
I’m from Switzerland, 37 I guess (did not check in a while). I’m a Testautomation Engineer who decided to go back to school. So I started my bachelors study in IT some time ago while working part time.
In one of the modules I’m attending to, the team is constructing a small robot which has to analyse a stair, calculate a path around some obstacles and finally climb it according to this calculated path. This calculation has to be done exactly once on one picture as shown below.
My question here is regarding the detection of those obstacles which are placed on the stair.
As you can see in the image there are two colors of stones used as obstacles one of them almost matches the color of the stair wich makes it hard to work with colors at all.
I have a bit of experience working with HAAR cascades since we used this method in the same project for another task. I therefore went for the same approach with the stones. Unfortunately I was not able to get a good result out of it. I could of course take more pictures and get a larger dataset but this is very time consuming and it did not seem the right way.
As a second approach i tried a Fast Feature Detector to get all the corners. But as you can imagine, even tuning the Threshold you get way to many resulting points, almost unable to group and identifying them as stones. Especially because of the background which might also change in the future.
Asking the school staff we were told that using Template Matching techniques could also be a possible solution. I honestly did not try it out yet since time is getting shorter and shorter. But I’ve read the theory of it.
In my opinion, template matching is not the best option here since we’d need to have many templates of stones in every possible position in order to get an accurate reading.
As there are surely people here who have a lot of experience in working on different approaches I ask you what way you would choose to tackle this challenge.
Is there the one right thing to do?
Thank you in advance and best Regards