Go to Post Understand the problem before trying to apply bandaids. You might not even be putting the bandaids in the right spot. - Bryan Herbst [more]
Home
Go Back   Chief Delphi > CD-Media > White Papers
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

photos

papers

everything



ZebraVision 3.0 – Team 900

By: ForeverAlon
New: 05-28-2015 08:12 PM
Updated: 09-21-2016 07:51 PM
Total downloads: 937 times


Zebravision 3.0 is a culmination of libraries and several applications that are designed to use a Logitech C920 camera mounted to a robot to detect recycling bins in the 2015 FRC game: Recycle Rush. It is designed to run in real time using the OpenCV library onboard a NVIDIA Jetson TK1 DevKit mounted to the robot.

Zebravision 3.0 represents the culmination of many hours of work and research by the programming students for FRC Team 900, also known as the Zebracorns. It encompasses a library and several applications that are designed to use a Logitech C920 camera mounted to a robot to detect recycling bins in the 2015 FRC game: Recycle Rush. It is designed to run in real time using the OpenCV library onboard a NVIDIA Jetson TK1 DevKit mounted to the robot. The detection is done using the Cascade Classification method and Local Binary Patterns.

Attached Files

  • pdf Rev 1.0

    White Paper.pdf

    downloaddownload file

    uploaded: 05-28-2015 08:12 PM
    filetype: pdf
    filesize: 901.82kb
    downloads: 935



Recent Downloaders

Discussion

view entire thread

Reply

05-28-2015 08:18 PM

ForeverAlon


Unread Re: paper: ZebraVision 3.0 – Team 900

Zebravision 3.0 is Team 900's 2015 initiative to take robot vision in FRC farther. In the 2015 season we successfully integrated cascade classification using feature detection as well as an automated tracking and navigation system. This paper details what we did and how we did it, as well as offering a tutorial so that other teams can use this application. If you have any questions please post here and someone who worked on the paper will respond.



05-29-2015 11:51 AM

faust1706


Unread Re: paper: ZebraVision 3.0 – Team 900

What cost function did you use in your classifier?



05-29-2015 12:27 PM

Bernini


Unread Re: paper: ZebraVision 3.0 – Team 900

It seems that you didn't fully utilize the classifier. You classify a bin for instance, then compute on that. Extremely inefficient considering you could simply use a CNN and a SVM to compute anything you want about the object, including distance and rotation to it.



05-29-2015 04:44 PM

KJaget


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Originally Posted by faust1706 View Post
What cost function did you use in your classifier?
These are the parameters we used for a typical run : https://github.com/FRC900/2015Vision..._14/params.xml

Not sure the opencv_traincascade code exposes the option you're asking about, so if it isn't in there it'll be hard-coded in the OpenCV source.



05-29-2015 05:22 PM

faust1706


Unread Re: paper: ZebraVision 3.0 – Team 900

I figured you guys did that, just wanted to make sure though.

Will you be releasing an analysis of your data? Not your training sets, but rather a statistical analysis of the classifier's output.



05-29-2015 06:48 PM

Hjelstrom


Unread Re: paper: ZebraVision 3.0 – Team 900

Wow, great job! Can't wait to see what you guys do next!



05-29-2015 09:36 PM

marshall


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Originally Posted by faust1706 View Post
I figured you guys did that, just wanted to make sure though.

Will you be releasing an analysis of your data? Not your training sets, but rather a statistical analysis of the classifier's output.
Man... you guys don't ask for much do you?

Seriously though... we might but if we do then it will take us some time to get it done. We'll do our best to push students towards publishing whatever we can though. It's the second paper we've published on vision and I think it came out pretty well considering.



05-29-2015 09:42 PM

marshall


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Originally Posted by Bernini View Post
It seems that you didn't fully utilize the classifier. You classify a bin for instance, then compute on that. Extremely inefficient considering you could simply use a CNN and a SVM to compute anything you want about the object, including distance and rotation to it.
Could you publish a white paper about that? I'd like to understand more about it.



05-29-2015 09:43 PM

marshall


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Originally Posted by Hjelstrom View Post
Wow, great job! Can't wait to see what you guys do next!
Thanks! Neither can we. We've got some plans we're working on though. Something about depth perception and neural networks last I heard.



06-01-2015 03:12 AM

faust1706


Unread Re: paper: ZebraVision 3.0 – Team 900

I do have one more request, could you post the raw data that you analyze?



06-01-2015 01:56 PM

ForeverAlon


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Will you be releasing an analysis of your data? Not your training sets, but rather a statistical analysis of the classifier's output.
Quote:
I do have one more request, could you post the raw data that you analyze?
This is something I would be willing to work on in the next few weeks. However I'm not sure exactly what you are asking. My first thought was that you wanted data about how much the classifier improves after each stage or iteration. This data could be useful but it's also easy to predict: the classifier removes 50% of the negatives each stage so the improvement should be approximated by an exponential decay function. I'm not sure what other analysis type you're looking for.



06-01-2015 02:18 PM

faust1706


Unread Re: paper: ZebraVision 3.0 – Team 900

For starters, when nothing is moving, how much do your output variables change? How much noise does your output data have? Can said noise be classified as Gaussian? What is the exact relationship between resolution and frame rate? How much precision do you lose / gain with different resolutions?



06-03-2015 09:37 AM

KJaget


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Originally Posted by faust1706 View Post
For starters, when nothing is moving, how much do your output variables change? How much noise does your output data have? Can said noise be classified as Gaussian? What is the exact relationship between resolution and frame rate? How much precision do you lose / gain with different resolutions?
We didn't do a rigorous analysis of these questions so we don't have specific answers here. I'm sure you could easily hack up our code to generate this data - let us know if you want pointers on where to start.



06-12-2015 09:22 AM

faust1706


Unread Re: paper: ZebraVision 3.0 – Team 900

I am struggling to find the time for this inquiry. Here is a question you may be able to answer for me: How often did you get false positives? False negatives?

I'll eventually find the time to compile all the data of the vision programs in FRC the past few years: 341's, 1706's and yours, and do an analysis on each one. But that might be tricky considering I have zero of the materials they were all designed for.

Here is what @bernini (if we all start to do this, eventually chief delphi will add the feature, one can hope) was talking about with CNN (convolutional neural network) and SVM (support vector machine): http://yann.lecun.com/exdb/publis/pd...g-lecun-06.pdf

Your implementation of the same algorithm for FRC would yield better results due to the smaller scale of the network and SVM, I would suspect it to be 100 percent accurate in detecting with so few classes to classify something into (ball, robot, goal, etc..).

Quote:
Originally Posted by marshall View Post
Thanks! Neither can we. We've got some plans we're working on though. Something about depth perception and neural networks last I heard.
If you do go the neural network route, I highly suggest you have everyone involved in it watch Andrew Ng's class on machine learning on coursera. I find it to be the best introduction to the topic. Fortunately, there is an amazing tool at your disposal for deep learning with (convolutional) neural networks: caffe. It is not as user friendly as it could be, but it is an extremely powerful tool. Something to keep you busy in the offseason (I would not leave the task of learning caffe plus getting a data set as well as designing a network during build season).



08-09-2016 07:44 PM

AMendenhall


Unread Re: paper: ZebraVision 3.0 – Team 900

I know I'm late to the party, but still: that's awesome.

How did you guys get your project to run when the robot started up? Is that done with code on the RoboRIO or on the Jetson?



08-09-2016 09:25 PM

marshall


Unread Re: paper: ZebraVision 3.0 – Team 900

Quote:
Originally Posted by AMendenhall View Post
I know I'm late to the party, but still: that's awesome.

How did you guys get your project to run when the robot started up? Is that done with code on the RoboRIO or on the Jetson?
Both. It takes code on the RoboRIO to communicate with the Jetson. The Jetson had a startup script that would run our code at boot and we had to make sure it booted up before we ran the robot. Wasn't a huge problem to press a button and power it on before a match.



view entire thread

Reply

Tags

loading ...



All times are GMT -5. The time now is 05:03 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi