That vehicle you see in the picture above? That might just be the vehicle of the future.
If you spend a good part of your time in the one-north area in Singapore, you’re likely to already have seen it making its way around. Perhaps you even noticed that the car didn’t have a driver.
As the name on the side of the car indicates, it belongs to a company called nuTonomy, a startup that makes software to build self-driving cars.
The push towards self-driving vehicles in the recent years is evident, with proponents suggesting that such vehicles will alleviate problems of congestion and reduce accidents and deaths due to human error among other benefits.
In fact, driverless vehicles are slated to start operating on Singapore roads by 2022, at least in the three areas of Punggol, Jurong Innovation District and Tengah. If you think driverless vehicles are the future, you’ll want to be a part of this development.
Top 3 Programming Languages You Need To Know If You Want To Be A Data Scientist
Moving Towards A ‘Smart Nation’ Should Not Mean Creating More Apps That Nobody Wants
Ride Sharing Is Supposed To Save The Environment, But It Could Be Making Things Worse
How can I be a part of the auto-revolution?
So what does it take to work on software that teaches vehicles to get from point A to point B without human input during the ride?
If you’ve attended a driving lesson before, you’ll know that a large part of learning how to drive, more than just operating the car, is knowing what to look out for on the road and learning how to react to possible situations that could come up during the drive.
Some situations, like what to do when the traffic lights turn red, simply require you to follow the rules. But what happens when you see a cat run across the road and you’re in danger of running over it? What if jamming the breaks might cause a pile-up? What if the cat were a young child instead?
In order to make decisions in any of these situations, vehicle systems first have to be able to identify what a “cat” or a “young child” may be—that’s where computer vision comes in.
What on earth is computer vision?
According to Techopedia, computer vision helps computers to “see, identify and process images in the same way that human vision does”. In other words, it gets computers to distinguish between different objects and classify them like a human being would.
While a 3 year old human child could probably differentiate between a cat and a fellow small human, the task is much more difficult for a computer system. This comic below from xkcd illustrates the difficulty.
Things that are seemingly easy for a human to identify are not so simple for a machine. Take a look at the compilations of images below.
While a human should have no problem identifying the first set of animals as cats and the second set of animals as dogs, the same cannot be said for a computer, which essentially “sees” these creatures as differently coloured pixels.
Another problem computer vision poses is the computer’s inability to identify objects correctly when it assumes a different posture or when it’s seen from a different angle. Take the images below, for instance.
While we can clearly identify the subject of all the photographs as cats with orange and white fur, a computer would have more difficulty doing so. Similarly, while we have little difficulty identifying a vehicle regardless of whether we see it from the front, back or sides, the same cannot be said for a computer.
Computers also have trouble identifying objects if they are presented in dim lighting, are partially obscured or resemble other objects.
The problems with this are evident. If self-driving car technology cannot identify objects accurately without strong lighting, the cars will not be able to operate at night. If they cannot identify objects that are partially hidden, they will not be able to recognise vehicles or human beings that are blocked by any structure or object.
Object identification is important as self-driving vehicle software needs to be able to recognise objects accurately or it will not be able to react appropriately or adequately to them.
From computer vision to driverless cars
The problem we have described above merely scratches the surface of what it takes to create software for driverless cars and a few lessons on computer vision certainly aren’t going to make you an expert at machine learning or solving algorithmic problems.
But we all have to begin pursuing our interests and our career goals somewhere and computer vision, the very base on which driverless cars begin their operations, is surely the way to go if you’re interested in the technology.
Interested in finding out more about computer vision? Check out our computer vision course here. Sign up for an account now to indicate your interest and receive first-hand news when the course goes live for registrations.