View Single Post
  #4   Spotlight this post!  
Unread 17-07-2014, 21:59
RyanCahoon's Avatar
RyanCahoon RyanCahoon is offline
Disassembling my prior presumptions
FRC #0766 (M-A Bears)
Team Role: Engineer
 
Join Date: Dec 2007
Rookie Year: 2007
Location: Mountain View
Posts: 689
RyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond reputeRyanCahoon has a reputation beyond repute
Re: Computer Vision without Image Processing

Quote:
Originally Posted by faust1706 View Post
The question arises as to how quick it is and computational heavy it will be. Thoughts?
You'd probably want to train the network with two outputs, a binary output that tells whether a target is visible and a real valued output to output the distance. Otherwise you're always going to get the network's best try even when it's looking at junk

There's a bit of a black art in picking the types of nodes to place in each layer of the network. I'd suggest checking out convolutional nets for the initial layers, unless you're going straight to deep learning.

If you're looking for a fun project to use to learn about NNs, then I can't encourage you enough (although you may want to start with some toy problems first). They are definitely a very cool computing paradigm. If you're considering this as a serious solution for FRC, though, I would offer the following caveats:

Regarding performance, a NN will never outperform a well-hand-coded algorithm in terms of speed, and will likely be several orders of magnitude slower. NNs have found wider usage lately because, like other types of machine learning, they're being used to implement algorithms that programmers have found it very difficult to discover on their own, but only in situations where data and compute power are highly available.

Collecting data manually is incredibly tedious. I assume that you were thinking of generating data using your existing hand-coded system. Realize, then, that your NN can't be any better (statistically) than your hand coded algorithm that it's being taught by.
__________________
FRC 2046, 2007-2008, Student member
FRC 1708, 2009-2012, College mentor; 2013-2014, Mentor
FRC 766, 2015-, Mentor

Last edited by RyanCahoon : 17-07-2014 at 22:03.