Question

I'm making a program to detect shapes from an r/c plane for a competition. I have no real images of the targets, but I do have computer generated examples of them on the rules.

My question is, can I train my program to detect real world objects based on computer generated shapes or should I find a different method to complete this task?

I would like to know before I foolishly generate 5k samples and find them useless in the end.

EDIT: I also don't know the exact color of the objects. If I feed the program samples of varying color, will it be a problem?

Thanks in advance!!

Edit2: Here's what groups from my school detected in previous years

As you can see, the detected images are not nearly as flawless as what would appear in real life. If you can suggest a better method, that would help.

Was it helpful?

Solution

If you think that the real images will have unique colors with simple geometric shapes then you could probably try to create a normalized Hue-histogram. Use it to train SVM classifier. The benefit of using Hue-histogram is that it will be rotational and scale invariant.

You can take the few precautions in mind:

  • Don't forget to remove the illumination affects.
  • Sometimes, White and black pixels create some problem in hue-histogram calculation so try to remove them from calculation by considering only those pixel which have S>0 and V>0 in S & V channels of HSV image.

OTHER TIPS

I would rather suggest you to use the real world images because the performance is largely dependent upon training (my personal experience). And why don't you try to use SIFT/SURF descriptors for training to SVM (support vector machine) as SIFT/SURF are scale as well as rotational invariant.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top