Machine learning?

Hi.

I am trying to learn some machine learning, in order to machine learn what a hopper looks like to drive towards one. By any chance, do you know any resources that I could look into for that? I program in C++, but a tutorial in any programming language would be fine.

Thanks!

Pay me $2

I think machine learning might be a bit overkill for FRC. I’d probably have a camera pointed kinda upwards to find the retro-reflective rings on the high goal, but that’s just me.

Alright so i looked into this over last summer, as this is (in my opinion) is super cool. When you begin looking into it though youl hit a learning wall. There isn’t ANY real good resources out there. All the resources i was able to find require either, and advanced calc (college course) class or a pre-understanding of machine learning ( you see the flaw). Hoping https://www.kickstarter.com/projects/adrianrosebrock/deep-learning-for-computer-vision-with-python-eboo comes out and is good. If you do happen to find a resource that helps you accomplish this i would be very excited to know,

Do some searches in the white papers for Zebravision or checkout Zebracorn Labs

Unfortunately there is a steep learning curve when it comes to understanding machine learning. It is typically a junior or senior level elective in cs programs. To fully understand it, it requires a working knowledge of many advanced math topics, such as operational calculus to statistics. On top of that, if you want to develop your own algorithm, it takes a skilled programmer (or even team).

That being said, there are libraries out there that do all the heavy lifting for you. OpenCV has the most traditional algorithms you’d hit in an undergrad computer vision class, and some of the algorithms are machine learning based (like cascade classifier). Then you can have entire frameworks dedicated to one algorithm: neural networks. More specifically deep learning.

This isn’t to discourage you. I love machine learning and am lucky I get to do it everyday at my job let me know if you have any questions.

Machine learning would have a tough time distinguishing a hopper unless you have a near perfect replica of the hopper on your practice field to get training data from. Make sure if you do try to build as visually similar hopper as you can. Definitely an interesting idea, would love to hear the results if you try it!

“Machine Learning” covers a lot of ground, but there are aspects that might work. Heavy emphasis on “might”.

On the web you can find a whole lot of tutorials on using a Haar Cascade to recognize faces and other things—but mostly faces, all using opencv My guess is that a hopper has enough similarity to a face that it would be a good candidate. I can’t claim to have tried it. My own experience with Haar Cascade training is pretty limited, but it worked with faces. On the other hand, I never got it working with last year’s boulders.

To the last post’s point, you will need several examples of a real picture of a real hopper.

On the other hand, if your goal is to recognize a hopper, as opposed to studying machine learning, some more traditional HSV filtering, dilation and selection might do a better job of recognizing a hopper. There aren’t many big yellow-green areas at hopper height. My own goal is to use that method late in the season to try and dump a hopper during autonomous, but that’s weeks ahead. At our first competition I will just be recording video to use as training images.