Detecting one object

I am trying to detect an orange cone using an OpenMV Cam with Edge Impulse.
What I want my OpenMV Cam to identify is the orange cone’s centroid coordinates, which I believe can be achieved with FOMO.
However, I am unsure how to do this. Should I make two dataset classes, one that includes many pictures of the cone in different backgrounds and one that includes many pictures without the cone in different backgrounds? Will the algorithm identify that the cone is present in the image and the cone’s coordinates, even if the cone is in a new background? Or should I try to gather picture datasets of similar-looking backgrounds?
I have seen tutorials on Edge Impulse that used background class, but the background class was just a static image of a room. For my project, I would like my camera to detect the cone in any background (that doesn’t have any orange), so I was worried that the method didn’t work if I used a static background for every picture in the dataset.
Thank you in advance.

I would recommend to start collecting datasets, label them and then we will see how to adjust based on the performance.

Hi, Omar
Thank you for your reply.
Should I divide the datasets into background (no cone) and cone classes?
Also, should I upload pictures taken with the OpenMV cam, or could I use a smartphone?

Yes, you can divide the dataset with more images for cones.
Also, it would be ideal to have images with OpenMV, also adding images from smartphones will not harm the process

1 Like

Thank you, I will do that soon as possible.
I am still confused. So I only need to upload pictures of the cone and not pictures without the cone, since the FOMO model will automatically detect objects without “cone” labels as background? Or should I still upload pictures without the cone and not label anything?
Also, how many total pictures do you recommend I upload for each class?

I uploaded pictures of the cone and background to Edge Impulse, trained my data, and uploaded the library onto my OpenMV. My project ID is 173808.
However, my OpenMV seems to detect a cone whenever it sees something orange and red in the background, which I don’t want.
How can I solve this?

Go back into the EI Studio Data Acquisition tab and add additional bounding boxes around orange things, red things and other things that are not cones. Then it is up to you as to label all-things-not-a-cone with a label, for example, 'not_a_cone' or you may want to make up other labels like 'I_see_something_red', 'an orange', etc. It all depends on how the Feature Explorer is separating your data. There are no hard engineering rules here…put on your Data Scientist cap and start thinking like an AI bot.

1 Like

Thank you for the feedback,
I will try this when I have the time.