Live data from Hacker News

Lane Following Autopilot with Keras and Tensorflow

wroscoe.github.io

41–50 of 78 posts

Re: Lane Following Autopilot with Keras and Tensorflow

#41

Earlier quoted context omitted.

I agree with you. If you can leverage control theory from the 1950s to solve your problem, what's the point? However, I will state that using e.g. Lyapunov functions to prove the stability of the system requires a model of the system. And even if you need a guarantee for your system, that guarantee is only as good as the fidelity of your model. For an inexpensive RC car, with slippage and saturation, without torque c…

You seem to be forgetting the entire vision pipeline that automatically extracts "lanes" and that information gets incorporated in an end to end manner requiring only true steering angles and nothing else. Its easy to comment but its not as straightforward or trivial as one might assume.

Indeed, I was not really talking about the vision pipeline. But once you decouple the problem (use ML for vision, planning for the trajectory, controls for the rest), you'll get much more stability, guarantees and insight into how to improve your problem. These kinds of end-to-end approaches are very hard to evaluate, they have zero educational value, are not parsimonious and tend to reduce people's analytical skills.

Re: Lane Following Autopilot with Keras and Tensorflow

#42
post #18
post #5

Earlier quoted context omitted.

Obviously, "Lane Following Autopilot using my brain and controls theory" would not make it to the top of HN. Welcome to the new era where Tensorflow replaces Lyapunov and ML spares you the need of understanding hard problems... until you need guarantees and safety... but but it's ok let's add more data.

Why learn to walk when crawling is effective? When crawling you have hard guarantees that you won't fall down.

When falling down actually corresponds to killing a pedestrian, then I'd rather try to understand the complexity of robust walking rather than observing a bunch of humans, mimic their behavior and hope for the best.

Re: Lane Following Autopilot with Keras and Tensorflow

#43

Earlier quoted context omitted.

So control theory is ok for unmanned aerial drones but autonomous driving is just too far? Control theory can't handle noisy domains? Guarantees of safety (more accurately stability) is the entire point of lyaponov analysis, and it's used on noisy systems all of the time ( https://www.mathematik.hu-berlin.de/~imkeller/research/paper... ). Can you point to a specific noisy system that control theory is ill suited for?

Unmanned drones are orders of magnitude easier since you don't have anything that you can just fly into once you are above few hundred feets. They also don't have to rely on any vision based sensing. E.g. a drone has altitude, current speed, heading all of which while noisy can be represented easily as a small set of values. The whole Lyapunov and control theory assumes perfect knowledge of sensors. Even though the s…

I cited Lyapunov, more as the ABC of nonlinear controls. Much more can be done in an analytical fashion, the "end-to-end" system here does not "solve" anything. It is a trained steering command regressor, nothing fancy, it's likely to work in this guy's living room, under certain lighting conditions, there is no way of predicting its accuracy, sensibility or anything else. Engineers have been breaking down systems into sub systems for a reason -> tractability of testing and improvement. End-to-end systems like that have close to zero value if you need something reliable.

Re: Lane Following Autopilot with Keras and Tensorflow

#44
post #41

Earlier quoted context omitted.

You seem to be forgetting the entire vision pipeline that automatically extracts "lanes" and that information gets incorporated in an end to end manner requiring only true steering angles and nothing else. Its easy to comment but its not as straightforward or trivial as one might assume.

Indeed, I was not really talking about the vision pipeline. But once you decouple the problem (use ML for vision, planning for the trajectory, controls for the rest), you'll get much more stability, guarantees and insight into how to improve your problem. These kinds of end-to-end approaches are very hard to evaluate, they have zero educational value, are not parsimonious and tend to reduce people's analytical skills…

But to be able to decouple the vision pipeline you need a lot of manual annotation work which is tedious.

Re: Lane Following Autopilot with Keras and Tensorflow

#45
What I would love to see is an end to end neural network soln. On one end camera input comes through, on the other outputs for speed and steering angle.

But rather than a black box, it's explainable what the different layers are doing. If neural nets are turing machines then we should be able to compile some parts of the net from code.

Then the net is a library of layers. Some Layers trained with back prop, some compiled from code.

Re: Lane Following Autopilot with Keras and Tensorflow

#46
I might be missing it, but I don't see instructions for installing TensorFlow/Keras on the Raspberry Pi in the Donkey repo or in this blog post (needed to actually run the trained model, it looks like). For TensorFlow, there are pre-built binaries and instructions to build from source here:

https://github.com/samjabrahams/tensorflow-on-raspberry-pi

Note: I am the owner of this repo

Re: Lane Following Autopilot with Keras and Tensorflow

#47
post #46

I might be missing it, but I don't see instructions for installing TensorFlow/Keras on the Raspberry Pi in the Donkey repo or in this blog post (needed to actually run the trained model, it looks like). For TensorFlow, there are pre-built binaries and instructions to build from source here: https://github.com/samjabrahams/tensorflow-on-raspberry-pi Note: I am the owner of this repo

Donkey runs a client on the Pi and a remote server that runs Keras/Tensorflow.

Re: Lane Following Autopilot with Keras and Tensorflow

#48

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.

Re: Lane Following Autopilot with Keras and Tensorflow

#49

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.

Re: Lane Following Autopilot with Keras and Tensorflow

#50
post #30

Was the track changed at all during the training? I'm wondering if there's some subtle overfitting here where the car learned to drive along only this specific track. It mentions this but I'm not sure what concrete actions were taken to avoid overfitting: > The biggest problem I ran into was over fitting the model so that it would not work in evenlly slightly different scenarios. Regardless, a very cool project.

The method to avoid overfitting was to use the model with the lowest validation loss, not training loss. I was able to change the track around my house with reasonable success. I think would need many more example turns in the training data to become robust.
Post reply on HN