Real-Time Object Detection with YOLO

栏目: IT技术 · 发布时间: 4年前

Real-Time Object Detection with YOLO

This is Tesla’s self-driving Model S.

Tesla’s autopilot functionality

Now besides the fact that even the idea of a self-driving car was unheard of until very recently, one has to wonder how does a self-driving car actually work? I mean we are trusting our lives — and the lives of our friends and family with what is essentially a bundle of metal and circuits. The answer, unfortunately, is very complicated and includes a variety of components such as radar, LiDAR, GPS localization and more. Nevertheless, at the core of the self-driving car’s brain is YOLO Object Detection.

Now in mylast article, I talked about convolutional neural networks and how they allow computers to classify objects in an image. However, to have something like Tesla’s autopilot work, the car needs to not only recognize what images it’s seeing but also know exactly where those objects are. For this, classifiers aren’t enough — and it’s where YOLO comes in.

Ultra-Fast, Real-Time Object Detection

To clarify, YOLO Object Detection does not stand for “You Only Live Once” Object Detection (I would not want to get in a car using that software), but rather “You Only Look Once” Object Detection. Whereas traditional classifiers need to slide windows over the image multiple times to detect different classes, YOLO — as expected — need only look once. It is an extremely fast, real-time method of not only identifying but localizing objects up to an astounding 155 frames per second.

Real-Time Object Detection with YOLO

YOLO Object Detection in action

Bounding Boxes and Grids

YOLO works by applying a single neural network to the full image input. The network divides each input image into an S by S grid and each grid cell predicts a predetermined number of bounding boxes. These boxes predict the x coordinate, y coordinate, width, and height of the object. The boxes also include a confidence score of how sure they are the object is of the class identified.

Real-Time Object Detection with YOLO

The YOLO grid and bounding boxes

Intersection over Union Model Evaluation

Real-Time Object Detection with YOLO

To evaluate the model’s performance, YOLO uses something called Intersection over Union ( IoU), calculated by divided the area of overlap between the predicted bounding box and the ground truth by the area of union between the two. IoU is a measure of how accurate the YOLO network is in identifying the objects as it compares the output of the network to hand-labelled data.

Non-Maximal Suppression

Ultimately, each grid cell ends up giving us a set number of bounding boxes with a confidence score and classification for each. Most of these bounding boxes tend to be useless or irrelevant, so only those above a certain confidence threshold are kept as the final outputs of the YOLO network.

Real-Time Object Detection with YOLO

Benefits of YOLO Objection Detection

Although there have been many predecessors before it, no computer vision algorithm has been as fast or effective as YOLO in real-time object detection. To recap, YOLO is:

1. Extremely Fast

Now at this point, you’re probably tired of me hitting you over the head with the fact that YOLO is really really fast, but it is a point that I cannot stress enough. One of the primary obstacles to applying artificial intelligence to real-life situations is that computers for the most part, just take too long in the real world. We simply cannot have self-driving cars running around rogue if every time, they need to stop and think for a few seconds whether it is a child in front of them or a plastic bag! Computer vision was — for the most part — always accurate, but YOLO allows computer vision to be much more applicable and practical in real-life scenarios due to its speed.

Real-Time Object Detection with YOLO

Photo by Lukas Blazek on Unsplash

2. Contextually Aware

YOLO is also trained on entire images during training, meaning that it doesn’t look at specific objects in isolation. It not only encodes information about the appearance of a class but contextual information about it as well. In this way, YOLO networks are barely bothered by potential background noise being mistaken for an object. The network knows that cars are more often than not surrounded by other cars and pavement — so that shadow that kind of looks like a car in the forest? It’s probably not a car.

3. A Generalized Network

Finally, YOLO is a highly generalized network because of its architecture and the way it is trained. YOLO doesn’t just learn how to identify objects in isolation but learns generalized representations of them. When applied to unexpected inputs and unfamiliar situations, it is much less likely to break down or fail — something quite desirable if I must say, to have in a self-driving car.

Real-Time Object Detection with YOLO


以上所述就是小编给大家介绍的《Real-Time Object Detection with YOLO》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Go语言实战

Go语言实战

威廉·肯尼迪 (William Kennedy)、布赖恩·克特森 (Brian Ketelsen)、埃里克·圣马丁 (Erik St.Martin) / 李兆海 / 人民邮电出版社 / 2017-3-1 / CNY 59.00

Go语言结合了底层系统语言的能力以及现代语言的高级特性,旨在降低构建简单、可靠、高效软件的门槛。本书向读者提供一个专注、全面且符合语言习惯的视角。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题。一起来看看 《Go语言实战》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具