Two major errors: 1) This doesn't seem to be controlling overfitting on the right validation set. 2) There isn't a test set at all (separate from validation). Using Keras' "validation_split" parameter will just randomly select a validation set. This is not the right thing to do when your data is image sequences , because you will get essentially identical data in training and validation. Because of this, the numbers/…
Keras uses the end of the data set as validation, and only randomizes it if the "shuffle" argument is set to True [1].
This is nice work, but anyone wanting to try it for themselves should be warned that you shouldn't unpickle data received from an untrusted source. https://blog.nelhage.com/2011/03/exploiting-pickle/
I copied this method of loading datasets from Keras. https://github.com/fchollet/keras/blob/master/keras/datasets... . What's a better alternative.
Another serialization format which doesn't create objects, like JSON, XML, CSV,...
Consider the fairly massive changes to the competitive landscape ushered in by the combined factors of self-driving and electric vehicles: - For liability reasons, most of the algorithmic IP will likely be open sourced. Either because it's required by regulators or because it's the most efficient way for car makers to socialize risk of an algorithmic failure. - Electric vehicles have many fewer moving parts, which me…
How do you see car makers differentiating their products in a world where all the parts including the frame are commoditized and the software is open source? Also, GM built an electric car back in the 90s called the EV-1. I wonder how much innovation was in that car vs the Volt.
Interior design. Cars will evolve into mobile living spaces so the quality of interior becomes more significant to exterior.
Consider the fairly massive changes to the competitive landscape ushered in by the combined factors of self-driving and electric vehicles: - For liability reasons, most of the algorithmic IP will likely be open sourced. Either because it's required by regulators or because it's the most efficient way for car makers to socialize risk of an algorithmic failure. - Electric vehicles have many fewer moving parts, which me…
I like your analysis here but how is this related to the article?
Not to put down the OP's work (I think it's a great project), but I'm just wondering what advantages might an ML approach have over "traditional" CV algorithms. In a really well controlled environment lanes will be easy to detect, and computing the difference between the current heading and lane direction should be doable; maybe if we're talking about complex outdoor environments and poor sensors then ML would have a…
Traditional CV approaches are much easier to debug as well. I chose the ML approach with the assumption that it would be easier to build a robust autopilot that would work in many lighting conditions. Actually my short term goal is to get the car to drive around my block on the sidewalk (no lines). From my experience CV approaches have many parameters that need to be tuned specifically for each environment. While ML approaches also have parameters that need tuning they stay constant between environments.
Consider the fairly massive changes to the competitive landscape ushered in by the combined factors of self-driving and electric vehicles: - For liability reasons, most of the algorithmic IP will likely be open sourced. Either because it's required by regulators or because it's the most efficient way for car makers to socialize risk of an algorithmic failure. - Electric vehicles have many fewer moving parts, which me…
How do you see car makers differentiating their products in a world where all the parts including the frame are commoditized and the software is open source? Also, GM built an electric car back in the 90s called the EV-1. I wonder how much innovation was in that car vs the Volt.
Quality, maintenance, cost of ownership, style, comfort, physical construction, actual innovation, accessories, existing brand preference; all the things they differentiate themselves with today.
Not to put down the OP's work (I think it's a great project), but I'm just wondering what advantages might an ML approach have over "traditional" CV algorithms. In a really well controlled environment lanes will be easy to detect, and computing the difference between the current heading and lane direction should be doable; maybe if we're talking about complex outdoor environments and poor sensors then ML would have a…
Traditional CV approaches are much easier to debug as well. I chose the ML approach with the assumption that it would be easier to build a robust autopilot that would work in many lighting conditions. Actually my short term goal is to get the car to drive around my block on the sidewalk (no lines). From my experience CV approaches have many parameters that need to be tuned specifically for each environment. While ML…
I see, that makes sense. It'd be indeed worth it if we can apply a model trained on controlled environment to a more challenging one with little to no modification. Good luck with the project and keep us updated!
X is in the range 0, 255. They don't show code converting it to a much saner range for the network they've chosen. Is the full source somewhere?
Have you already looked at the pickled data? Because it looks like the model is outputting a single label value out of 256 labels; depending on the training data (steering angle) and how it is represented in the data (signed float or integer?), each one of those 256 learned should (?) be similar - I think. Again, I'm not an expert. Or - maybe it is outputting a number 0-255, and then taking that number and converting…
The input values are image arrays 120x160 pixels with 3 channels for red,green,blue. The values range from 0-255 and are not normalized before they are fed into the convolution layer. I found this did not make a difference.
The output of the model is a single real number between -90(left) and 90(right). I believe a better approach would be to bin the outputs and use a classifier. This way you'd know when the model was getting confused (ie, approaching a perpendicular line.