Skip to content

Commit

Permalink
add ML pipeline instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
YaelBenShalom committed Mar 21, 2021
1 parent 4f4fdcf commit 5dda333
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 17 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Traffic-Sign Recognition and Classification
# Objects Recognition and Classification
## ME499 - Independent Project, Winter 2021
Yael Ben Shalom, Northwestern University.

Expand Down
10 changes: 5 additions & 5 deletions traffic_signs_detection/traffic_signs_classification/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Traffic-Sign Classification
## ME499 - Independent Project, Winter 2021
Yael Ben Shalom, Northwestern University.<br>
This module is a part of a [Traffic-Sign Recognition and Classification](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification) project.
This module is a part of a [Objects Recognition and Classification](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification) project.


## Module Overview
Expand All @@ -14,7 +14,7 @@ I based my program on the German Traffic Sign Recognition Benchmark ([GTSRB](htt

1. Clone the repository, using the following commands:
```
git clone https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/tree/master/traffic_signs_detection/traffic_signs_classification
git clone https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/tree/master/traffic_signs_detection/traffic_signs_classification
```
2. Download the dataset and extract it into `./data` directory. The dataset can be found on the [INI Benchmark website](https://benchmark.ini.rub.de/?section=gtsrb&subsection=news), or downloaded directly through [here](https://s3-us-west-1.amazonaws.com/udacity-selfdrivingcar/traffic-signs-data.zip).
Expand Down Expand Up @@ -45,15 +45,15 @@ Run the classification program:
<br>The program output when running it on the example image:
The loss plot:<br>
![Loss Graph](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_classification/images/Losses%20(100%20Epochs).png)
![Loss Graph](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_classification/images/Losses%20(100%20Epochs).png)
The accuracy plot:<br>
![Accuracy Graph](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_classification/images/Accuracy%20(100%20Epochs).png)
![Accuracy Graph](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_classification/images/Accuracy%20(100%20Epochs).png)
The output image (with the correct prediction):<br>
![Accuracy Graph](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_classification/images/Image_Classification.png)
![Accuracy Graph](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_classification/images/Image_Classification.png)
## Dataset
Expand Down
8 changes: 4 additions & 4 deletions traffic_signs_detection/traffic_signs_recognition/README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# Traffic-Sign Recognition
## ME499 - Independent Project, Winter 2021
Yael Ben Shalom, Northwestern University.<br>
This module is a part of a [Traffic-Sign Recognition and Classification](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification) project.
This module is a part of a [Objects Recognition and Classification](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification) project.


## Module Overview
In this module, I trained a neural network to detect and classify different traffic signs using PyTorch, YoloV5 and OpenCV.<br>
I based my program on the German Traffic Sign Detection Benchmark ([GTSBB](https://benchmark.ini.rub.de/gtsdb_news.html)) dataset.

An example of output video:<br>
![Traffic-Sign Recognition](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_recognition/images/traffic-sign.gif?raw=true)
![Traffic-Sign Recognition](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/traffic_signs_detection/traffic_signs_recognition/images/traffic-sign.gif?raw=true)


## User Guide
### Program Installation

1. Clone the repository, using the following commands:
```
git clone https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/tree/master/traffic_signs_detection/traffic_signs_recognition
git clone https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/tree/master/traffic_signs_detection/traffic_signs_recognition
```
2. Download the dataset and extract it into `./data` directory. The dataset can be found on the [INI Benchmark website](https://benchmark.ini.rub.de/?section=gtsrb&subsection=news), or downloaded directly through [here](https://sid.erda.dk/public/archives/daaeac0d7ce1152aea9b61d9f1e19370/published-archive.html).
Expand All @@ -30,7 +30,7 @@ An example of output video:<br>
Run the recognition program:
1. To train the program on the dataset and test it on a specific video, copy the video into `./input_video` directory and run the following command from the root directory:
```
python code/recognition.py --video <video-name>
python code/recognition_videos.py --video <video-name>
```
Where `<video-name>` is the name of the video (including video type).
Expand Down
10 changes: 5 additions & 5 deletions trash_detection/trash_classification/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Trash Classification
## ME499 - Independent Project, Winter 2021
Yael Ben Shalom, Northwestern University.<br>
This module is a part of a [Traffic-Sign Recognition and Classification](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification) project.
This module is a part of a [Objects Recognition and Classification](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification) project.


## Module Overview
Expand All @@ -14,7 +14,7 @@ I based my program on the [Garbage Classification Dataset](https://www.kaggle.co

1. Clone the repository, using the following commands:
```
git clone https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/tree/master/trash_recognition/trash_classification
git clone https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/tree/master/trash_recognition/trash_classification
```
2. Extract the dataset located in the `./data` directory.
Expand Down Expand Up @@ -45,15 +45,15 @@ Run the classification program:
<br>The program output when running it on the example image:
The loss plot:<br>
![Loss Graph](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/trash_recognition/trash_classification/images/Losses%20(100%20Epochs).png)
![Loss Graph](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/trash_detection/trash_classification/images/Losses%20(100%20Epochs).png)
The accuracy plot:<br>
![Accuracy Graph](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/trash_recognition/trash_classification/images/Accuracy%20(100%20Epochs).png)
![Accuracy Graph](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/trash_detection/trash_classification/images/Accuracy%20(100%20Epochs).png)
The output image (with the correct prediction):<br>
![Accuracy Graph](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/blob/master/trash_recognition/trash_classification/images/Image_Classification.png)
![Accuracy Graph](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/trash_detection/trash_classification/images/Image_Classification.png)
## Dataset
Expand Down
10 changes: 8 additions & 2 deletions trash_detection/trash_recognition/README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
# Trash Recognition
## ME499 - Independent Project, Winter 2021
Yael Ben Shalom, Northwestern University.<br>
This module is a part of a [Traffic-Sign Recognition and Classification](https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification) project.
This module is a part of a [Objects Recognition and Classification](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification) project.


## Module Overview
In this module I trained a neural network to detect and classify different recycable objects using PyTorch, YoloV5 and OpenCV.<br>
I based my program on the Trash Annotations in Context ([TACO](http://tacodataset.org/)) dataset.<br>
The TACO dataset contains ~60 different classes, but in this project I only detect 10 different objects.

An example of output video:<br>
![Trash Recognition](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/trash_detection/trash_recognition/images/real-time%20detection2.gif)


## User Guide
### Program Installation

1. Clone the repository, using the following commands:
```
git clone https://github.com/YaelBenShalom/Traffic-Sign-Recognition-and-Classification/tree/master/trash_recognition/trash_recognition
git clone https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/tree/master/trash_recognition/trash_recognition
```
2. Download the dataset and extract it into `./data` directory. The dataset can be found on the [TACO dataset website](http://tacodataset.org/), or downloaded directly through [here](https://www.kaggle.com/kneroma/tacotrashdataset/download).
Expand Down Expand Up @@ -70,6 +73,9 @@ After training the model, run the recognition program:
Where `<video-name>` is the name of the video (including video type).
![Trash Recognition](https://github.com/YaelBenShalom/Objects-Recognition-and-Classification/blob/master/trash_detection/trash_recognition/images/detecting_baxter.gif)
## Dataset
TACO is a growing image dataset of waste in the wild. It contains images of litter taken under diverse environments: woods, roads and beaches. These images are manually labeled and segmented according to a hierarchical taxonomy to train and evaluate object detection algorithms.<br>
The dataset currently contain 60 different classes.<br>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5dda333

Please sign in to comment.