Skip to content

Commit 7664e58

Browse files
author
AdamMiltonBarker
committed
Updated images and added Amita & Taru's Keras notebook
1 parent 9f73be0 commit 7664e58

40 files changed

+4600
-2017
lines changed

Augmentation/V1/Augmentation.ipynb

+1,815-1,768
Large diffs are not rendered by default.
-651 KB
Binary file not shown.
-318 KB
Binary file not shown.

Augmentation/V1/README.md

+48-26
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
# Peter Moss Acute Myeloid/Lymphoblastic Leukemia AI Research Project
1+
# Peter Moss Acute Myeloid & Lymphoblastic Leukemia AI Research Project
22

3-
## AML/ALL Detection System
3+
## Acute Myeloid & Lymphoblastic Leukemia Detection System
4+
5+
![Peter Moss Acute Myeloid & Lymphoblastic Leukemia AI Research Project](https://www.PeterMossAmlAllResearch.com/media/images/repositories/banner.png)
46

57
## Data Augmentation
68

7-
![Peter Moss Acute Myeloid/Lymphoblastic Leukemia Research Project](Media/Images/banner.png)
9+
![Peter Moss Acute Myeloid & Lymphoblastic Leukemia Research Project](https://www.PeterMossAmlAllResearch.com/media/images/repositories/ALL_IDB1_Augmentation_Banner-Lg.png)
10+
11+
The AML & ALL Detection System Data Augmentation program applies augmentations/filters to datasets and increases the amount of training/test data available to use. The program is part of the computer vision research and development for the Peter Moss Acute Myeloid & Lymphoblastic Leukemia AI Research Project. This page will provide general information, as well as a guide for installing and setting up the augmentation script.
12+
13+
 
814

9-
The AML/ALL Detection System Data Augmentation program applies augmentations/filters to datasets and increases the amount of training/test data available to use. The program is part of the computer vision research and development for the Peter Moss Acute Myeloid/Lymphoblastic Leukemia AI Research Project. This page will provide general information, as well as a guide for installing and setting up the augmentation script.
15+
| Project | Description | Author |
16+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
17+
| [Data Augmentation Using Jupyter Notebook](https://github.com/AMLResearchProject/AML-ALL-Detection-System/tree/master/Augmentation/Augmentation.ipynb "Data Augmentation Using Jupyter Notebook") | A Python tutorial and Jupyter Notebook for applying filters to datasets to increase the amount of training / test data. | [Adam Milton-Barker](https://www.petermossamlallresearch.com/team/adam-milton-barker/profile "Adam Milton-Barker") |
18+
| [Data Augmentation Using Python](https://github.com/AMLResearchProject/AML-ALL-Detection-System/tree/master/Augmentation/Manual.py "Data Augmentation Using Python") | A Python program for applying filters to datasets to increase the amount of training / test data. | [Adam Milton-Barker](https://www.petermossamlallresearch.com/team/adam-milton-barker/profile "Adam Milton-Barker") |
1019

11-
| Project | Description | Author |
12-
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
13-
| [Data Augmentation Using Jupyter Notebook](https://github.com/AMLResearchProject/AML-ALL-Detection-System/tree/master/Augmentation/Augmentation.ipynb "Data Augmentation Using Jupyter Notebook") | A Python tutorial and Jupyter Notebook for applying filters to datasets to increase the amount of training / test data. | [Adam Milton-Barker](https://github.com/AdamMiltonBarker "Adam Milton-Barker") |
14-
| [Data Augmentation Using Python](https://github.com/AMLResearchProject/AML-ALL-Detection-System/tree/master/Augmentation/Manual.py "Data Augmentation Using Python") | A Python program for applying filters to datasets to increase the amount of training / test data. | [Adam Milton-Barker](https://github.com/AdamMiltonBarker "Adam Milton-Barker") |
20+
 
1521

1622
# Research papers followed
1723

@@ -21,24 +27,30 @@ Research papers used in this part of the project were shared by project team mem
2127
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
2228
| Leukemia Blood Cell Image Classification Using Convolutional Neural Network | T. T. P. Thanh, Caleb Vununu, Sukhrob Atoev, Suk-Hwan Lee, and Ki-Ryong Kwon | [Paper](http://www.ijcte.org/vol10/1198-H0012.pdf "Paper") |
2329

24-
# Datasets
30+
 
31+
32+
# Dataset
2533

2634
The [Acute Lymphoblastic Leukemia Image Database for Image Processing](https://homes.di.unimi.it/scotti/all/) dataset is used for this project. The dataset was created by [Fabio Scotti, Associate Professor Dipartimento di Informatica, Università degli Studi di Milano](https://homes.di.unimi.it/scotti/). Big thanks to Fabio for his research and time put in to creating the dataset and documentation, it is one of his personal projects. You will need to follow the steps outlined [here](https://homes.di.unimi.it/scotti/all/#download) to gain access to the dataset.
2735

2836
| Dataset | Description | Link |
2937
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
3038
| Acute Lymphoblastic Leukemia Image Database for Image Processing | Created by [Fabio Scotti, Associate Professor Dipartimento di Informatica, Università degli Studi di Milano](https://homes.di.unimi.it/scotti/). | [Dataset](https://homes.di.unimi.it/scotti/all/#download "Dataset") |
3139

40+
 
41+
3242
# Data augmentation
3343

34-
![Acute Myeloid Leukemia Research Python Classifier](Media/Images/slides.png)
44+
![AML & ALL Data Augmentation](https://www.PeterMossAmlAllResearch.com/media/images/repositories/ALL_IDB1_Augmented_Slides.png)
3545

3646
I decided to use some augmentation proposals outlined in Leukemia Blood Cell Image Classification Using Convolutional Neural Network by T. T. P. Thanh, Caleb Vununu, Sukhrob Atoev, Suk-Hwan Lee, and Ki-Ryong Kwon. The augmentations I chose were grayscaling, histogram equalization, horizontal and vertical reflection, rotation, translation and gaussian blur.
3747

3848
In this dataset there were 49 negative and 59 positive. To make this even I removed 10 images from the positive dataset. From here I removed a further 10 images per class for testing further on in the tutorial and for the purpose of demos etc. In my case I ended up with 20 test images (10 pos/10 neg) and 39 images per class ready for augmentation. Place the original images that you wish to augment into the **Model/Data/0** & **Model/Data/1**. Using this program I was able to create a dataset of **1053** positive and **1053** negative augmented images.
3949

4050
The full Python class that holds the functions mentioned below can be found in [Classes/Data.py](Classes/Data.py), The Data class is a wrapper class around releated functions provided in popular computer vision libraries including as OpenCV and Scipy.
4151

52+
 
53+
4254
## Resizing
4355

4456
The first step is to resize the image this is done with the following function:
@@ -231,13 +243,17 @@ def rotation(self, path, filePath, filename, show = False):
231243
- Requires PIP3
232244
- Jupyter Notebook (Optional)
233245

234-
# Installation
246+
 
235247

236-
Below is a guide on how to install the augmentation program on your device, as mentioned above the program has been tested with Ubuntu 18.04 & 16.04, but may work on other versions of Linux and possibly Windows.
248+
# Setup
249+
250+
Below is a guide on how to setup the augmentation program on your device, as mentioned above the program has been tested with Ubuntu 18.04 & 16.04, but may work on other versions of Linux and possibly Windows.
251+
252+
 
237253

238254
## Clone the repository
239255

240-
First of all you should clone the [AML/ALL Detection System](https://github.com/AMLResearchProject/AML-ALL-Detection-System/ "AML/ALL Detection System") repo to your device. To do this can you navigate to the location you want to download to on your device using terminal (cd Your/Download/Location), and then use the following command:
256+
First of all you should clone the [AML & ALL Detection System](https://github.com/AMLResearchProject/AML-ALL-Detection-System/ "AML & ALL Detection System") repo to your device. To do this can you navigate to the location you want to download to on your device using terminal (cd Your/Download/Location), and then use the following command:
241257

242258
```
243259
$ git clone https://github.com/AMLResearchProject/AML-ALL-Detection-System.git
@@ -256,6 +272,8 @@ If you have problems running the above program and have errors try run the follo
256272
$ sh setup.sh
257273
```
258274

275+
 
276+
259277
## Sort your dataset
260278

261279
The ALL IDB_1 dataset is the one used in this tutorial. In this dataset there were 49 negative and 59 positive. To make this even I removed 10 images from the positive dataset. From here I removed a further 10 images per class for testing further on in the tutorial and for the purpose of demos etc. In my case I ended up with 20 test images (10 pos/10 neg) and 39 images per class ready for augmentation. Place the original images that you wish to augment into the **Model/Data/0** & **Model/Data/1**. Using this program I was able to create a dataset of **1053** positive and **1053** negative augmented images.
@@ -289,19 +307,31 @@ If you would like to run the program locally you can navigate to the Augmentatio
289307
$ python3.5 Manual.py
290308
```
291309

292-
# Your augmented dataset
310+
## Your augmented dataset
293311

294-
If you head to your **Model/Data/** directory you will notice the augmented directory. Inside the augmented directory you will find 0 (negative) and 1 (postive) directories including resized copies of the original along with Grayscaled, Histogram Equalized, Reflected, Gaussian Blurred and rotated copies.
312+
If you head to your **Model/Data/** directory you will notice the augmented directory. Inside the augmented directory you will find 0 (negative) and 1 (postive) directories including resized copies of the original along with augmented copies.
295313

296314
Using data augmentation I was able to increase the dataset from 39 images per class to 1053 per class.
297315

316+
 
317+
318+
# About the author
319+
320+
[Adam Milton-Barker](https://www.petermossamlallresearch.com/team/adam-milton-barker/profile "Adam Milton-Barker") is a [Bigfinite](https://www.bigfinite.com "Bigfinite") IoT Network Engineer, part of the team that works on the core IoT software. In his spare time he is an [Intel Software Innovator](https://software.intel.com/en-us/intel-software-innovators/overview "Intel Software Innovator") in the fields of Internet of Things, Artificial Intelligence and Virtual Reality.
321+
322+
 
323+
298324
# Contributing
299325

300-
The Peter Moss Acute Myeloid/Lymphoblastic Leukemia AI Research project encourages and welcomes code contributions, bug fixes and enhancements from the community to the Github repositories. Please read the [CONTRIBUTING](https://github.com/AMLResearchProject/AML-ALL-Detection-System/blob/master/CONTRIBUTING.md "CONTRIBUTING") document for a full guide to forking our repositories and submitting your pull request. You will also find information about our code of conduct on this page.
326+
The Peter Moss Acute Myeloid & Lymphoblastic Leukemia AI Research project encourages and welcomes code contributions, bug fixes and enhancements from the Github.
327+
328+
Please read the [CONTRIBUTING](https://github.com/AMLResearchProject/AML-ALL-Detection-System/blob/master/CONTRIBUTING.md "CONTRIBUTING") document for a full guide to forking our repositories and submitting your pull requests. You will also find information about our code of conduct on this page.
301329

302-
## Peter Moss Acute Myeloid/Lymphoblastic Leukemia AI Research Project Team Contributors
330+
## Acute Myeloid & Lymphoblastic Leukemia Detection System Contributors
303331

304-
- [Adam Milton-Barker](https://github.com/AdamMiltonBarker "Adam Milton-Barker") - Bigfinite IoT Network Engineer & Intel Software Innovator, Barcelona, Spain
332+
- [Adam Milton-Barker](https://www.petermossamlallresearch.com/team/adam-milton-barker/profile "Adam Milton-Barker") - Bigfinite IoT Network Engineer & Intel Software Innovator, Barcelona, Spain
333+
- [Dr Amita Kapoor](https://www.petermossamlallresearch.com/team/amita-kapoor/profile "Dr Amita Kapoor") - Associate Professor in the Department of Electronics, SRCASW, Delhi University, Delhi, India
334+
- [Taru Jane](https://www.petermossamlallresearch.com/team/salvatore-raieli/profile "Taru Jane") - Pre-final year undergraduate pursuing B.Tech in IT, Project Research Intern, Delhi, India
305335

306336
 
307337

@@ -316,11 +346,3 @@ This project is licensed under the **MIT License** - see the [LICENSE](https://g
316346
# Bugs/Issues
317347

318348
We use the [repo issues](https://github.com/AMLResearchProject/AML-ALL-Detection-System/issues "repo issues") to track bugs and general requests related to using this project.
319-
320-
 
321-
322-
# Repository Manager
323-
324-
Adam is a [BigFinite](https://www.bigfinite.com "BigFinite") IoT Network Engineer, part of the team that works on the core IoT software. In his spare time he is an [Intel Software Innovator](https://software.intel.com/en-us/intel-software-innovators/overview "Intel Software Innovator") in the fields of Internet of Things, Artificial Intelligence and Virtual Reality.
325-
326-
[![Adam Milton-Barker: BigFinte IoT Network Engineer & Intel® Software Innovator](../Media/Images/Adam-Milton-Barker.jpg)](https://github.com/AdamMiltonBarker)

0 commit comments

Comments
 (0)