Live data from Hacker News

An Unintuitive Take on Data Augmentation for Self-Driving Cars

towardsdatascience.com

21–30 of 38 posts

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#21
post #17

I find it interesting that the project team had been implementing several "improvements" that actually worsened performance, and that it took an intern to figure this out. Or are these augmentations default-on options in deep learning frameworks?

Says so in the article. Essentially "we do this because everybody else does, therefore it's good." Note the title "ML practitioners" - it's used akin to alchemy these days: if the stars are right, it works.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#22
post #5

That's scary. Using deep learning to recognize "obstruction" using cameras. Discriminate "car", "bike", "pedestrian", and "bus", sure. Recognize signs and traffic lights, fine. But "obstruction"? No. That's a geometry problem. If it's not flat road, it's an obstacle. Deep learning is for deciding what kind of obstacle. Because deep learning just isn't that good. It's going to be badly wrong a few percent of the time.…

It's also concerning that the system seems to rely on processing images independently - I would have expected at least parallax and previous-frame processing in there, possibly an edge detection pass. All very traditional computer vision techniques. Parallax will tell you how far away things are and automatically separate out things at different depths. Previous-frame will show you how things are moving relative to the vehicle.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#23
post #2

Forgive me hijackjng a self-driving ML discussion to ask a novice question on self-driving — “stateful” vs “stateless”, and how can state be used safely? Specifically I mean pre-determined saved/downloaded knowledge about the current route being driven, or your specific instantaneous location. Anything from annotated maps, to LIDAR scans. It seems like the paradox is that stateful algorithms can dramatically improve…

The question of statefulness reminds me of some not-immediately-intuitive observations from game development. Say you're working on potentially-visible-set computation for a first-person shooter. Where do you spend your optimization efforts? Do you put a lot of work into taking advantage of object coherence between frames, for instance? Chances are good that something that's visible in one frame will remain visible i…

The problem is a nigh-unbounded problem space: so many variables that there are myriads of corner cases.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#24
post #5

That's scary. Using deep learning to recognize "obstruction" using cameras. Discriminate "car", "bike", "pedestrian", and "bus", sure. Recognize signs and traffic lights, fine. But "obstruction"? No. That's a geometry problem. If it's not flat road, it's an obstacle. Deep learning is for deciding what kind of obstacle. Because deep learning just isn't that good. It's going to be badly wrong a few percent of the time.…

It's not identifying obstructions, it's identifying things behind obstructions even though they're being obstructed

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#25

Earlier quoted context omitted.

The question of statefulness reminds me of some not-immediately-intuitive observations from game development. Say you're working on potentially-visible-set computation for a first-person shooter. Where do you spend your optimization efforts? Do you put a lot of work into taking advantage of object coherence between frames, for instance? Chances are good that something that's visible in one frame will remain visible i…

The problem is a nigh-unbounded problem space: so many variables that there are myriads of corner cases.

The AI people would argue that simply following the prime directive ("Don't hit anything") covers a multitude of driving sins, and they're not wrong in a technical sense. But the prime directive doesn't cover all of them. Driving defensively involves much more than just not hitting stuff.

My favorite example is a humorous image that went around several years ago, a photo that depicted someone driving in a Miata or similar convertible with the top down. The convertible was driving behind a sewage truck, the kind that has a large tank with a hose attachment to clean out septic tanks.

The sewage truck, in turn, was heading straight for an overpass that obviously had nowhere near enough clearance. An alert human driver would have no problem anticipating what was about to happen, but the oblivious one in the Miata was clearly about to find out the hard way.

Every time I find myself idly wondering if would be fun to work on self-driving cars, I flash back to that image. Then I get back to work on whatever I'm actually supposed to be doing.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#26

Earlier quoted context omitted.

If DNNs are unreliable, why is it ok to use them to discriminate a car from a pedestrian? The planning that you do in order to avoid hitting a car is very different from what you need in order to avoid a pedestrian. If you erroneously treat a pedestrian as a car, you are very likely to cause a tragedy.

As a non-driver, I'm curious, how different is the planning? Isn't it just a matter of size?

in addition to the comments about having a much stronger bias against hitting a pedestrian than a car, the pedestrian or car currently presenting an obstacle may make evasive actions (or other movements) of their own, which will be quite different...

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#27
post #5

That's scary. Using deep learning to recognize "obstruction" using cameras. Discriminate "car", "bike", "pedestrian", and "bus", sure. Recognize signs and traffic lights, fine. But "obstruction"? No. That's a geometry problem. If it's not flat road, it's an obstacle. Deep learning is for deciding what kind of obstacle. Because deep learning just isn't that good. It's going to be badly wrong a few percent of the time.…

> "The car will almost never be on the left side of the road, and the cameras will never flip angles, so training on flipped data forces the network to overgeneralize to situations it will never see." What could possibly go wrong? That quote jumped off the page for me as well. This sounds like the start of a new blog post: Falsehoods Programmers Believe About Driving You can throw a few more in there. - "Pedestrians…

Structured, scrutible systems perform really badly on this task and I don’t think anyone knows how to do much better. The current state of the art is an extremely unstructured and inscrutable system with no design behind it whatsoever, and that system gets a lot of people killed. The moment anything can do better than that, we should push it hard even if it has stupid failures.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#28
post #27

Earlier quoted context omitted.

> "The car will almost never be on the left side of the road, and the cameras will never flip angles, so training on flipped data forces the network to overgeneralize to situations it will never see." What could possibly go wrong? That quote jumped off the page for me as well. This sounds like the start of a new blog post: Falsehoods Programmers Believe About Driving You can throw a few more in there. - "Pedestrians…

Structured, scrutible systems perform really badly on this task and I don’t think anyone knows how to do much better. The current state of the art is an extremely unstructured and inscrutable system with no design behind it whatsoever, and that system gets a lot of people killed. The moment anything can do better than that, we should push it hard even if it has stupid failures.

With the obvious assumption that we do have something better. So far...nope.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#29
post #27

Earlier quoted context omitted.

Structured, scrutible systems perform really badly on this task and I don’t think anyone knows how to do much better. The current state of the art is an extremely unstructured and inscrutable system with no design behind it whatsoever, and that system gets a lot of people killed. The moment anything can do better than that, we should push it hard even if it has stupid failures.

With the obvious assumption that we do have something better. So far...nope.

With the assumption that we will, not that we currently do. That’s not a given, but it seems likely. The bar to clear is not high.

Re: An Unintuitive Take on Data Augmentation for Self-Driving Cars

#30
post #17

I find it interesting that the project team had been implementing several "improvements" that actually worsened performance, and that it took an intern to figure this out. Or are these augmentations default-on options in deep learning frameworks?

not turned on by default but they are sort of a default choice for vision tasks. it may also be that they were useful on an earlier iteration of the model, and only became harmful later.

nobody’s quite sure why anything works, though. hence comparisons to alchemy — we have lots of cool empirical results, and a highly elaborated set of theories and ideas trying to explain what works and what doesn’t, but in fact these theories often fail to make correct predictions. So the only way to make progress is constant blind experimentation.

Post reply on HN