README.md 3.67 KB
Newer Older
vishnubanna's avatar
vishnubanna committed
1
2
3
4
5
# YOLO Object Detectors, You Only Look Once

[![Paper](http://img.shields.io/badge/Paper-arXiv.1804.02767-B3181B?logo=arXiv)](https://arxiv.org/abs/1804.02767)
[![Paper](http://img.shields.io/badge/Paper-arXiv.2004.10934-B3181B?logo=arXiv)](https://arxiv.org/abs/2004.10934)

6
7
8
9
This repository is the unofficial implementation of the following papers.
However, we spent painstaking hours ensuring that every aspect that we
constructed was the exact same as the original paper and the original
repository.
vishnubanna's avatar
vishnubanna committed
10
11
12
13
14
15
16

* YOLOv3: An Incremental Improvement: [YOLOv3: An Incremental Improvement](https://arxiv.org/abs/1804.02767)

* YOLOv4: Optimal Speed and Accuracy of Object Detection: [YOLOv4: Optimal Speed and Accuracy of Object Detection](https://arxiv.org/abs/2004.10934)

## Description

Abdullah Rashwan's avatar
Abdullah Rashwan committed
17
18
19
20
YOLO v1 the original implementation was released in 2015 providing a
ground breaking algorithm that would quickly process images and locate objects
in a single pass through the detector. The original implementation used a
backbone derived from state of the art object classifiers of the time, like
21
22
[GoogLeNet](https://arxiv.org/abs/1409.4842) and
[VGG](https://arxiv.org/abs/1409.1556). More attention was given to the novel
Abdullah Rashwan's avatar
Abdullah Rashwan committed
23
YOLO Detection head that allowed for Object Detection with a single pass of an
24
image. Though limited, the network could predict up to 90 bounding boxes per
Abdullah Rashwan's avatar
Abdullah Rashwan committed
25
26
27
image, and was tested for about 80 classes per box. Also, the model can only
make predictions at one scale. These attributes caused YOLO v1 to be more
limited and less versatile, so as the year passed, the Developers continued to
28
29
update and develop this model.

Abdullah Rashwan's avatar
Abdullah Rashwan committed
30
31
YOLO v3 and v4 serve as the most up to date and capable versions of the YOLO
network group. This model uses a custom backbone called Darknet53 that uses
32
33
34
knowledge gained from the ResNet paper to improve its predictions. The new
backbone also allows for objects to be detected at multiple scales. As for the
new detection head, the model now predicts the bounding boxes using a set of
Abdullah Rashwan's avatar
Abdullah Rashwan committed
35
36
37
38
39
40
41
anchor box priors (Anchor Boxes) as suggestions. Multiscale predictions in
combination with Anchor boxes allow for the network to make up to 1000 object
predictions on a single image. Finally, the new loss function forces the network
to make better predictions by using Intersection Over Union (IOU) to inform the
model's confidence rather than relying on the mean squared error for the entire
output.

vishnubanna's avatar
vishnubanna committed
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

## Authors

* Vishnu Samardh Banna ([@GitHub vishnubanna](https://github.com/vishnubanna))
* Anirudh Vegesana ([@GitHub anivegesana](https://github.com/anivegesana))
* Akhil Chinnakotla ([@GitHub The-Indian-Chinna](https://github.com/The-Indian-Chinna))
* Tristan Yan ([@GitHub Tyan3001](https://github.com/Tyan3001))
* Naveen Vivek ([@GitHub naveen-vivek](https://github.com/naveen-vivek))

## Table of Contents

* [Our Goal](#our-goal)
* [Models in the library](#models-in-the-library)
* [References](#references)


## Our Goal
59

Abdullah Rashwan's avatar
Abdullah Rashwan committed
60
61
62
Our goal with this model conversion is to provide implementation of the Backbone
and YOLO Head. We have built the model in such a way that the YOLO head could be
connected to a new, more powerful backbone if a person chose to.
vishnubanna's avatar
vishnubanna committed
63
64
65
66
67
68
69
70
71
72

## Models in the library

| Object Detectors | Classifiers      |
| :--------------: | :--------------: |
| Yolo-v3          | Darknet53        |
| Yolo-v3 tiny     | CSPDarknet53     |
| Yolo-v3 spp      |
| Yolo-v4          |
| Yolo-v4 tiny     |
Vishnu Banna's avatar
Vishnu Banna committed
73
74
75
76
| Yolo-v4 csp      |
| Yolo-v4 large    |

## Models Zoo
vishnubanna's avatar
vishnubanna committed
77
78


Vishnu Banna's avatar
Vishnu Banna committed
79
80
## Requirements
[![TensorFlow 2.6](https://img.shields.io/badge/TensorFlow-2.6-FF6F00?logo=tensorflow)](https://github.com/tensorflow/tensorflow/releases/tag/v2.6.0)
Vishnu Banna's avatar
Vishnu Banna committed
81
[![Python 3.8](https://img.shields.io/badge/Python-3.8-3776AB)](https://www.python.org/downloads/release/python-380/)