Elon Musk is either a super genius or the biggest fraud with a platform. I believe he is the former and also imagine how our civilisation would have been if we had just a thousand Elons. I am convinced we would have been a Kardashev Level 1 civilization by now.
Did you watch the Tesla Autonomy Day presentation a few months ago? If you didn’t, do not worry, that’s the point of this post: to give you highlights of what they spoke about and why I titled this post the way I did. It’s a little Buzzfeedy, I know. Surely Elon is not ending self-driving cars. I mean, that’s one of Tesla’s biggest selling points! You are right, he didn’t exactly kill self driving cars but he sort of did. I had to get your attention somehow. You can watch the presentation here if you have three hours. If not, I will try summarise what tickled my nerdness in this post. I will also try my best to not be technical as they were in some parts of the presentation.
A self-driving vehicle is a very complex piece of machinery. It puts together cutting-edge hardware and algorithms to create something that is potentially going to be much safer than us driving ourselves. To get there though, there are some very challenging problems that need to be solved and Tesla highlighted many of them during their presentation. For emphasis, Tesla was talking about Level 5 self driving, which is Full Self Driving (FSD) i.e. no need for a steering wheel at all. To get an idea of the different levels, see this image:
Now that that’s out of the way, here’s what fascinated me during the presentation:
1. The need for a new computer chip
Humans are, for the most part, okay at making split second decisions. Our brains can see what is happening on the road, run scenario tests and settle on an action in seconds. We can see a car swerving into our lane, quickly come up with what that means (scenarios) and decide what to do. A self-driving car needs to be able to do this at an even better rate than us. Current computer chips can do billions of calculations in seconds but for a fully autonomous vehicle, Tesla realised they needed better computer chips and so they created their own:
This beast has two independent computers that boot up and run separate operating systems. Elon said this allows the car to keep driving even if one of the parts fails (probability of that happening is lower than someone losing consciousness, he said). The chip can run 144 trillion operations per second (TOPS) of neural network performance. (That’s compared with Nvidia’s Drive Xavier’s theoretical performance of 21 TOPS, which many other self-driving cars are using (our brain comes in at a whooping 38 thousand TOPS). Tesla’s focus on only self-driving allows them to squeeze the highest performance out of their chip unlike Nvidia who cater to multiple customers and different focuses. The chip has a batch size of one meaning as soon as an image shows up, it processes that image immediately and bench-marking showed that Tesla’s new chips can process 2 300 frames or images per second up from 110fps they had previously. Essentially what that means is as the car is driving itself down the road, the cameras are constantly taking videos a.k.a stream of pictures of what is around it and the chip can process 2 300 of these images every second. It will not miss anything. There is also security chip which uses cryptography to protect the car from external software that is not signed by Tesla. They have “objectively created the best chip in the world by a huge margin.” Is it not death for other self-driving competitors who are running chips that process 110 fps when Tesla is doing 2 300?
2. LiDAR is a fool’s errant
Rhetoric question: why is it that the first thing you get tested on when you go to driving school is your eye sight? No matter how good your reflexes are or how hard you crammed that K54 booklet, when you are out there on the road, everything starts from how good you can see. Oh there is a car next to you? How did you know? You saw it. The brain then decides what to do. See that truck that’s coming into your lane? The brain then calls upon your super reflexes to avoid it. “Sight” is equally important in a self-driving vehicle. To do this, most pioneers are using a system called Light Detection and Ranging (LiDAR) except Tesla. According to MIT, “self-driving vehicles being tested by companies such as Alphabet, Uber, and Toyota rely heavily on LiDAR to locate themselves on the detailed maps they need to get around, and to identify things like pedestrians and other vehicles”. Elon Musk said, and I quote, “What we will tell you today is LiDAR is a fool’s errant. Whoever is using LiDAR is doomed.” Later on during QnA he emphasised this point by saying, “LiDAR is lame. LiDAR is lame. Lame.” The reason he said this kind of makes sense when you think about it. LiDAR uses a pulsed laser to calculate an object’s distances from the earth’s surface. The principle of LiDAR is quite simple: send out a laser beam towards an object and measure how long it takes for that beam to be reflected back then use the distance of the object = (Speed of Light x Time of Flight) / 2 to calculate how far the object is. If your self driving car can send out thousands of these laser beams a second, it can start building how the world around it looks like and how far/close everything is:
Amazing right? Well, not according to Elon. He believes it is fool’s errant because the sensors are expensive, unnecessary and worthless once you are able to use algorithms to give computers “sight”, a field called Computer Vision. If your algorithm can look at a video and detect what objects are in that HD video and how far they are, Elon says LiDAR becomes pointless. Tesla also uses Radar in conjunction with its cameras and ultrasonic sensors for near field information instead because radar can penetrate occluding elements like fog.
- LiDAR uses short wavelengths of light in the visible spectrum which makes it incredibly challenging to have much range and perception.
- LiDAR systems have too many moving parts as they are placed on top of the vehicle and rotate at many revolutions a second, sending out lasers to map the environment. These moving parts are susceptible to wear and tear.
- Some black cars are difficult to detect with LiDAR because they do not reflect the light/lasers back.
- White background light can mess up the sensors.
- Elements such as fog can scatter the light/lasers
Elon did say they use LiDAR at SpaceX as a way to guide their rockets when they dock with the International Space Station and he believes there it makes sense but is completely useless for self driving cars and he predicts all competitors are going to dump it soon enough. Another idea competitors are using he completely shut down was the use of high definition precision GPS maps. This is where the lanes are set in stone in the car and it knows where they are using these HD maps. Elon thinks vision should be primary and lane lines should just be guidelines. I heard some competitor self-driving cars throw themselves into the dumpster at this point.
3.The power of continuous learning
Self driving cars rely on a field of artificial intelligence called Deep Learning. Algorithms in this field are built using Neural Networks. If you are not quite sure of what this means, you can read my “Lunch and Artificial Intelligence” post where I sat down with one of co-workers and I explained the basics of A.I. Basically neural networks allow one to code applications like text-to-speech, image detection, image recognition, speech translation, music generation and so on. Neural networks are quite an impressive set of algorithms because with image detection and recognition, a self-driving car is able to detect that there is an object on the road and recognise what it is when these algorithms analyse a picture or video that was taken by the car’s cameras. Whatever system the self-driving car is using to sense what is around it, a neural network is the one that’s actually analysing the data and coming up with a result or prediction of whether the video has pedestrians, and where other cars are which is then passed on to controlling algorithms the same way your brain passes on a conclusion to your muscles to change lanes and the muscles do the actual turning of the steering wheel. Like I explained in my “Lunch and Artificial Intelligence” posts, these algorithms are trained. What this means is when you code them, they obviously do not know what a person looks like or something called a car. Just think of a new born baby. As the baby grows and is exposed to the world, they get to learn and know how to distinguish a cat from a tiger, for example. That’s essentially the same thing with a neural network. When you code it, you feed data to it, say images of humans, to train it to identify people in videos. The more data of different people the better the algorithm becomes at detecting humans in a video. You also train the algorithms to identify road lanes, cars, obstacles, street signs from videos that are being streamed from the car’s cameras. The accuracy of the detection is dependent on how well the algorithm was trained. This highlights one big difference between our new baby analogy and these algorithms. It does not take many pictures of cats for a human to be able to distinguish them from tigers. On the other hand, these algorithms need millions of examples for them to successfully learn what a cat looks like. You can easily recognise a cat when the picture is upside-down, the cat is running or jumping, the background changes, its in a dim room and so on even after seeing just one example of a cat. On the other hand, neural networks will struggle to do the same if they are trained on data that doesn’t cover almost every possible iteration of what a cat looks like. If you train them on a dataset composed of cats sitting down, they will fail to recognise a cat that is jumping from the edge of a table. The implications of this is then the need of having a vast and diverse dataset and this is another area Tesla beats the competitors, hands down. Tesla has a fleet of cars driving across the world and collecting data. The videos each car records on the road is added to the pool of data the neural network algorithms are trained on. The more cars you have on the road, the more data you can collect and the better you can train your self-driving algorithms.
Competitors like Waymo do not have anywhere near the size of Tesla’s fleet or data gathering capabilities so they are using simulators to train their cars. Elon scoffed at this idea of using simulators because, let’s be honest, it is impossible to practically model every possible real world scenario. Have you seen some of those dashcam videos on YouTube? No simulator can model all that! If a Tesla car comes across a situation it cannot understand for example a bicycle that is tied to a car, since it was not trained to recognise that, it will wrongly predict this situation. When it does so and the engineers notice this, they can easily push a software request to every other Tesla car requesting each one of the thousands out there to take pictures of bicycles tied to cars when they come across them on the road. This then gives Tesla the ability to build a large dataset of this kind of situation, train their algorithms and then push the updated image recognition algorithm to all the cars and like magic, every Tesla car will start correctly recognising that it is possible to carry a bicycle on the back of a car and they will not freak out. When another car comes across a boat being towed by a car and the image recognition neural network was not ready for this, the process repeats and accuracy of the neural network increases again. Tesla is definitely killing every other competitor in this respect. Their level of gathering data which is vast, varied, and includes various unpredictable events on the road, which leads to better trained self-driving algorithms, is unparalleled.
4. Other details
- There is one last announcement Elon made and that was the use of their self-driving Teslas to provide a ride hailing service like Uber. This was a huge announcement and I think is well deserving of its own post.
Maybe I should have titled this article “Elon killed competitor self-driving cars” because the announcements made are going to be incredibly difficult to match for any competitor. Sure, they can all come up with customised chips but would they compete with Tesla’s real-world data gathering capability? It’s like competing with Google in search. The sheer volume presents such a high barrier to entry that I don’t see any other self-driving car coming up with a viable option to Tesla. If Elon cannot figure out how to make cars drive themselves frankly who will?
It’s a brave new world indeed!