I first heard about Google’s computer controlled car from Brian Micklethwait. It was a top secret project. It’s been going for a while: Robert Scoble spotted one back in January, and it didn’t like being videoed, even though he didn’t know at the time what it was.
Why might Google work on such a project? Perhaps they are not just an advertising company. They have form: Street View looks like good practice for building up a database of roads and learning how to automate cataloging of road features. And Google are good at working with vast quantities of data. From their blog post:
Our automated cars use video cameras, radar sensors and a laser range finder to “see” other traffic, as well as detailed maps (which we collect using manually driven vehicles) to navigate the road ahead. This is all made possible by Google’s data centers, which can process the enormous amounts of information gathered by our cars when mapping their terrain.
From a software design point of view, building a big database of road features in advance makes sense. Real time image processing is hard. The more complicated the task, the more error prone it becomes. Robert Scoble’s 2010 Prius can detect lane markings and warn him if he drifts out of his lane. But the Google car must understand the difference between and navigate all kinds of road junctions. By building the database in advance you can make sure your images are captured in conditions of optimum visibility, take pictures from all angles, add human input, and even have humans check the results.
Keeping the database up to date would be a challenge, but the sort of challenge Google would be good at solving. I can imagine a fleet of un-manned automated cars driving around updating the images, if that is not too much chicken and egg. Another consideration is that it’s easier to write an algorithm that checks for the the existence of something you are expecting, than to detect what is there with no advance knowlege. An example of this is Evernote, which can search for text in photographs of handwritten notes not because it can understand your handwriting, but because it can come up with a probability that a given image matches a particular word. So the car’s database might only have to augment a computer vision system that would find other ways to cope when the database does not agree with what is seen.
And Google has got the co-operation of authorities, so they have some idea of how to begin solving the regulatory problems.
If anyone can make automated cars a reality, it’s Google.