From eafc7b6490e29056dd58607df72f86f0ddd85d66 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Tue, 4 Oct 2022 15:46:57 +1000 Subject: [PATCH 01/31] Initial Commit To accept changes made in most recent pull request --- recognition/ISICs_UNet/README.md | 125 ++++++++++--------------------- recognition/XUE4645768/README.md | 46 ++++++++++++ 2 files changed, 84 insertions(+), 87 deletions(-) diff --git a/recognition/ISICs_UNet/README.md b/recognition/ISICs_UNet/README.md index 788ea17b79..f2c009212e 100644 --- a/recognition/ISICs_UNet/README.md +++ b/recognition/ISICs_UNet/README.md @@ -1,101 +1,52 @@ -# Segment the ISICs data set with the U-net +# Segmenting ISICs with U-Net -## Project Overview -This project aim to solve the segmentation of skin lesian (ISIC2018 data set) using the U-net, with all labels having a minimum Dice similarity coefficient of 0.7 on the test set[Task 3]. +COMP3710 Report recognition problem 3 (Segmenting ISICs data set with U-Net) solved in TensorFlow -## ISIC2018 -![ISIC example](imgs/example.jpg) +Created by Christopher Bailey (45576430) -Skin Lesion Analysis towards Melanoma Detection +## The problem and algorithm +The problem solved by this program is binary segmentation of the ISICs skin lesion data set. Segmentation is a way to label pixels in an image according to some grouping, in this case lesion or non-lesion. This translates images of skin to masks representing areas of concern for skin lesions. -Task found in https://challenge2018.isic-archive.com/ +U-Net is a form of autoencoder where the downsampling path is expected to learn the features of the image and the upsampling path learns how to recreate the masks. Long skip connections between downpooling and upsampling layers are utilised to overcome the bottleneck in traditional autoencoders allowing feature representations to be recreated. +## How it works +A four layer padded U-Net is used, preserving skin features and mask resolution. The implementation utilises Adam as the optimizer and implements Dice distance as the loss function as this appeared to give quicker convergence than other methods (eg. binary cross-entropy). -## U-net -![UNet](imgs/uent.png) +The utilised metric is a Dice coefficient implementation. My initial implementation appeared faulty and was replaced with a 3rd party implementation which appears correct. 3 epochs was observed to be generally sufficient to observe Dice coefficients of 0.8+ on test datasets but occasional non-convergence was observed and could be curbed by increasing the number of epochs. Visualisation of predictions is also implemented and shows reasonable correspondence. Orange bandaids represent an interesting challenge for the implementation as presented. -U-net is one of the popular image segmentation architectures used mostly in biomedical purposes. The name UNet is because it’s architecture contains a compressive path and an expansive path which can be viewed as a U shape. This architecture is built in such a way that it could generate better results even for a less number of training data sets. +### Training, validation and testing split +Training, validation and testing uses a respective 60:20:20 split, a commonly assumed starting point suggested by course staff. U-Net in particular was developed to work "with very few training images" (Ronneberger et al, 2015) The input data for this problem consists of 2594 images and masks. This split appears to provide satisfactory results. -## Data Set Structure +## Using the model +### Dependencies required +* Python3 (tested with 3.8) +* TensorFlow 2.x (tested with 2.3) +* glob (used to load filenames) +* matplotlib (used for visualisations, tested with 3.3) -data set folder need to be stored in same directory with structure same as below -```bash -ISIC2018 - |_ ISIC2018_Task1-2_Training_Input_x2 - |_ ISIC_0000000 - |_ ISIC_0000001 - |_ ... - |_ ISIC2018_Task1_Training_GroundTruth_x2 - |_ ISIC_0000000_segmentation - |_ ISIC_0000001_segmentation - |_ ... -``` +### Parameter tuning +The model was developed on a GTX 1660 TI (6GB VRAM) and certain values (notably batch size and image resolution) were set lower than might otherwise be ideal on more capable hardware. This is commented in the relevant code. -## Dice Coefficient +### Running the model +The model is executed via the main.py script. -The Sørensen–Dice coefficient is a statistic used to gauge the similarity of two samples. +### Example output +Given a batch size of 1 and 3 epochs the following output was observed on a single run: +Era | Loss | Dice coefficient +--- | ---- | ---------------- +Epoch 1 | 0.7433 | 0.2567 +Epoch 2 | 0.3197 | 0.6803 +Epoch 3 | 0.2657 | 0.7343 +Testing | 0.1820 | 0.8180 -Further information in https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient -## Dependencies +### Figure 1 - example visualisation plot +Skin images in left column, true mask middle, predicted mask right column +![Visualisation of predictions](visual.png) -- python 3 -- tensorflow 2.1.0 -- pandas 1.1.4 -- numpy 1.19.2 -- matplotlib 3.3.2 -- scikit-learn 0.23.2 -- pillow 8.0.1 - - -## Usages - -- Run `train.py` for training the UNet on ISIC data. -- Run `evaluation.py` for evaluation and case present. - -## Advance - -- Modify `setting.py` for custom setting, such as different batch size. -- Modify `unet.py` for custom UNet, such as different kernel size. - -## Algorithm - -- data set: - - The data set we used is the training set of ISIC 2018 challenge data which has segmentation labels. - - Training: Validation: Test = 1660: 415: 519 = 0.64: 0.16 : 0.2 (Training: Test = 4: 1 and in Training, further split 4: 1 for Training: Validation) - - Training data augmentations: rescale, rotate, shift, zoom, grayscale -- model: - - Original UNet with padding which can keep the shape of input and output same. - - The first convolutional layers has 16 output channels. - - The activation function of all convolutional layers is ELU. - - Without batch normalization layers. - - The inputs is (384, 512, 1) - - The output is (384, 512, 1) after sigmoid activation. - - Optimizer: Adam, lr = 1e-4 - - Loss: dice coefficient loss - - Metrics: accuracy & dice coefficient - -## Results - -Evaluation dice coefficient is 0.805256724357605. - -plot of train/valid Dice coefficient: - -![img](imgs/train_and_valid_dice_coef.png) - -case present: - -![case](imgs/case%20present.png) - -## Reference -Manna, S. (2020). K-Fold Cross Validation for Deep Learning using Keras. [online] Medium. Available at: https://medium.com/the-owl/k-fold-cross-validation-in-keras-3ec4a3a00538 [Accessed 24 Nov. 2020]. - -zhixuhao (2020). zhixuhao/unet. [online] GitHub. Available at: https://github.com/zhixuhao/unet. - -GitHub. (n.d.). NifTK/NiftyNet. [online] Available at: https://github.com/NifTK/NiftyNet/blob/a383ba342e3e38a7ad7eed7538bfb34960f80c8d/niftynet/layer/loss_segmentation.py [Accessed 24 Nov. 2020]. - -Team, K. (n.d.). Keras documentation: Losses. [online] keras.io. Available at: https://keras.io/api/losses/#creating-custom-losses [Accessed 24 Nov. 2020]. - -262588213843476 (n.d.). unet.py. [online] Gist. Available at: https://gist.github.com/abhinavsagar/fe0c900133cafe93194c069fe655ef6e [Accessed 24 Nov. 2020]. - -Stack Overflow. (n.d.). python - Disable Tensorflow debugging information. [online] Available at: https://stackoverflow.com/questions/35911252/disable-tensorflow-debugging-information [Accessed 24 Nov. 2020]. +## References +Segments of code in this assignment were used from or based on the following sources: +1. COMP3710-demo-code.ipynb from Guest Lecture +1. https://www.tensorflow.org/tutorials/load_data/images +1. https://www.tensorflow.org/guide/gpu +1. Karan Jakhar (2019) https://medium.com/@karan_jakhar/100-days-of-code-day-7-84e4918cb72c diff --git a/recognition/XUE4645768/README.md b/recognition/XUE4645768/README.md index 36250adaa3..94bc1848c0 100644 --- a/recognition/XUE4645768/README.md +++ b/recognition/XUE4645768/README.md @@ -53,6 +53,52 @@ python gcn.py Warning: Please pay attention to whether the data path is correct when you run the gcn.py. +# Training + +Learning rate= 0.01 +Weight dacay =0.005 + +For 200 epoches: +```Epoch 000: Loss 0.2894, TrainAcc 0.9126, ValAcc 0.8954 +Epoch 001: Loss 0.2880, TrainAcc 0.9126, ValAcc 0.895 +Epoch 002: Loss 0.2866, TrainAcc 0.9126, ValAcc 0.8961 +Epoch 003: Loss 0.2853, TrainAcc 0.9132, ValAcc 0.8961 +Epoch 004: Loss 0.2839, TrainAcc 0.9137, ValAcc 0.8961 +Epoch 005: Loss 0.2826, TrainAcc 0.9141, ValAcc 0.8963 +Epoch 006: Loss 0.2813, TrainAcc 0.9146, ValAcc 0.8956 +Epoch 007: Loss 0.2800, TrainAcc 0.9146, ValAcc 0.8956 +Epoch 008: Loss 0.2788, TrainAcc 0.9146, ValAcc 0.8959 +Epoch 009: Loss 0.2775, TrainAcc 0.9146, ValAcc 0.8970 +Epoch 010: Loss 0.2763, TrainAcc 0.915, ValAcc 0.8974 +Epoch 011: Loss 0.2751, TrainAcc 0.915, ValAcc 0.8972 +Epoch 012: Loss 0.2739, TrainAcc 0.915, ValAcc 0.8976 +Epoch 013: Loss 0.2727, TrainAcc 0.9157, ValAcc 0.8979 +Epoch 014: Loss 0.2716, TrainAcc 0.9157, ValAcc 0.8983 +Epoch 015: Loss 0.2704, TrainAcc 0.9161, ValAcc 0.8990 +Epoch 016: Loss 0.2693, TrainAcc 0.9168, ValAcc 0.8988 +Epoch 017: Loss 0.2682, TrainAcc 0.9181, ValAcc 0.8990 +Epoch 018: Loss 0.2671, TrainAcc 0.9179, ValAcc 0.8990 +Epoch 019: Loss 0.2660, TrainAcc 0.9179, ValAcc 0.8992 +Epoch 020: Loss 0.2650, TrainAcc 0.9188, ValAcc 0.8996 +...... +Epoch 190: Loss 0.1623, TrainAcc 0.9553, ValAcc 0.9134 +Epoch 191: Loss 0.1619, TrainAcc 0.9555, ValAcc 0.9134 +Epoch 192: Loss 0.1615, TrainAcc 0.9555, ValAcc 0.9132 +Epoch 193: Loss 0.1611, TrainAcc 0.9557, ValAcc 0.9130 +Epoch 194: Loss 0.1607, TrainAcc 0.9562, ValAcc 0.9130 +Epoch 195: Loss 0.1603, TrainAcc 0.9559, ValAcc 0.9130 +Epoch 196: Loss 0.1599, TrainAcc 0.9562, ValAcc 0.9126 +Epoch 197: Loss 0.1595, TrainAcc 0.9562, ValAcc 0.9123 +Epoch 198: Loss 0.1591, TrainAcc 0.9562, ValAcc 0.9123 +Epoch 199: Loss 0.1587, TrainAcc 0.9562, ValAcc 0.9123``` + +For test accuracy:around 0.9 + +# TSNE +For the test:iteration=500, with lower dimension to 2 + + + ```python From 987d6efdeeef3165973ac42b10c8b6947fa0b4fa Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:08:16 +1000 Subject: [PATCH 02/31] Creation of Files and Instructions added to README All files listed in the report spec sheet have been created and README instructions from spec sheet have been added to the README file. --- recognition/46413587_ImprovedUNet/README.md | 10 ++++++++++ recognition/46413587_ImprovedUNet/dataset.py | 0 recognition/46413587_ImprovedUNet/modules.py | 0 recognition/46413587_ImprovedUNet/predict.py | 0 recognition/46413587_ImprovedUNet/train.py | 0 recognition/46413587_ImprovedUNet/utils.py | 0 6 files changed, 10 insertions(+) create mode 100644 recognition/46413587_ImprovedUNet/README.md create mode 100644 recognition/46413587_ImprovedUNet/dataset.py create mode 100644 recognition/46413587_ImprovedUNet/modules.py create mode 100644 recognition/46413587_ImprovedUNet/predict.py create mode 100644 recognition/46413587_ImprovedUNet/train.py create mode 100644 recognition/46413587_ImprovedUNet/utils.py diff --git a/recognition/46413587_ImprovedUNet/README.md b/recognition/46413587_ImprovedUNet/README.md new file mode 100644 index 0000000000..1ffe79516c --- /dev/null +++ b/recognition/46413587_ImprovedUNet/README.md @@ -0,0 +1,10 @@ +Attempt at easy difficulty task. + +1. The readme file should contain a title, a description of the algorithm and the problem that it solves +(approximately a paragraph), how it works in a paragraph and a figure/visualization. +2. It should also list any dependencies required, including versions and address reproducibility of results, +if applicable. +3. provide example inputs, outputs and plots of your algorithm +4. The read me file should be properly formatted using GitHub markdown +5. Describe any specific pre-processing you have used with references if any. Justify your training, validation +and testing splits of the data. diff --git a/recognition/46413587_ImprovedUNet/dataset.py b/recognition/46413587_ImprovedUNet/dataset.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/recognition/46413587_ImprovedUNet/modules.py b/recognition/46413587_ImprovedUNet/modules.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/recognition/46413587_ImprovedUNet/predict.py b/recognition/46413587_ImprovedUNet/predict.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/recognition/46413587_ImprovedUNet/train.py b/recognition/46413587_ImprovedUNet/train.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/recognition/46413587_ImprovedUNet/utils.py b/recognition/46413587_ImprovedUNet/utils.py new file mode 100644 index 0000000000..e69de29bb2 From 04efe94cb6949fb8a1cebc3d0625b5699e558887 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sat, 15 Oct 2022 11:58:35 +1000 Subject: [PATCH 03/31] Updated Gitignore Updated to prevent local data files from being uploaded --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 92459a9d2f..c1b98d256f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ __pycache__/ *.py[cod] *$py.class +#DataSets +**DataSets/ + # C extensions *.so @@ -129,4 +132,4 @@ dmypy.json .vscode/ # no tracking mypy config file -mypy.ini \ No newline at end of file +mypy.ini From e75007f76dbd15a32c23ee2ec5d3a31fc7afb006 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sat, 15 Oct 2022 11:59:58 +1000 Subject: [PATCH 04/31] End UNet Changing project from UNet to VQVAE --- recognition/46413587_ImprovedUNet/dataset.py | 43 ++++++++++++++++++++ recognition/46413587_ImprovedUNet/modules.py | 28 +++++++++++++ 2 files changed, 71 insertions(+) diff --git a/recognition/46413587_ImprovedUNet/dataset.py b/recognition/46413587_ImprovedUNet/dataset.py index e69de29bb2..01f33b0096 100644 --- a/recognition/46413587_ImprovedUNet/dataset.py +++ b/recognition/46413587_ImprovedUNet/dataset.py @@ -0,0 +1,43 @@ +import torch +import torch.optim as optim +import torch.nn as nn +import torch.nn.parallel +import argparse +import torchvision.transforms as transforms +import torch.backends.cudnn as cudnn +import torch.utils.data +import torchvision.datasets as dset +import torchvision.utils as vutils +import os +import numpy as np +import matplotlib.pyplot as plt +import random + +TrainImRoot="\DataSets\ISIC-2017_Training_Data" +TrainLbRoot="\DataSets\ISIC-2017_Training_Truth" +#TestImRoot="\DataSets\ISIC-2017_Test_Data" +TestLbRoot="\DataSets\ISIC-2017_Test_Truth" +ValImRoot="\DataSets\ISIC-2017_Validation_Data" +ValLbRoot="\DataSets\ISIC-2017_Validation_Truth" +workers = 2 +batch_size=128 +image_size=64 +channels=3 +num_epochs=20 +learn_rate=0.0002 +beta1=0.5 + +trainset=dset.ImageFolder(root = TrainImRoot, + transform=transforms.Compose([ + transforms.Resize(image_size), + transforms.CenterCrop(image_size), + transforms.ToTensor(), + transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5)), + ])) + +dataloader=torch.utils.data.DataLoader(TrainImRoot, shuffle = True, batch_size=batch_size, + numworkers = workers) + +device=torch.device("cuda:0" if torch.cuda.is_available() else "cpu") + +print("no errors") \ No newline at end of file diff --git a/recognition/46413587_ImprovedUNet/modules.py b/recognition/46413587_ImprovedUNet/modules.py index e69de29bb2..2ef8c19b08 100644 --- a/recognition/46413587_ImprovedUNet/modules.py +++ b/recognition/46413587_ImprovedUNet/modules.py @@ -0,0 +1,28 @@ + +''' +import tensorflow as tf +from tensorflow import keras +from tensorflow.keras import layers +from tensorflow.keras.models import Sequential +from tensorflow.keras.layers import concatenate, Flatten +from tensorflow.keras.layers import Input, Conv2D, UpSampling2D +from tensorflow.keras.models import Model + +import numpy as np +''' +import torch +import torch.optim as optim +import torch.nn as nn +import torch.nn.parallel +import argparse +import torchvision.transforms as transforms +import torch.backends.cudnn as cudnn +import torch.utils.data +import torchvision.datasets as dset +import torchvision.utils as vutils +import os +import numpy as np +import matplotlib.pyplot as plt +import random + +print("TF Version:", tf.__version__) \ No newline at end of file From afa251c131959e6ab290371bdd5900553eb393df Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sat, 15 Oct 2022 14:19:24 +1000 Subject: [PATCH 05/31] Changed File name Due to errors in data loading, file name has been changes (will revert to more appropriate name at end of project) --- recognition/46413587_ImprovedUNet/README.md | 10 ----- recognition/46413587_ImprovedUNet/dataset.py | 43 -------------------- recognition/46413587_ImprovedUNet/modules.py | 28 ------------- recognition/46413587_ImprovedUNet/predict.py | 0 recognition/46413587_ImprovedUNet/train.py | 0 recognition/46413587_ImprovedUNet/utils.py | 0 6 files changed, 81 deletions(-) delete mode 100644 recognition/46413587_ImprovedUNet/README.md delete mode 100644 recognition/46413587_ImprovedUNet/dataset.py delete mode 100644 recognition/46413587_ImprovedUNet/modules.py delete mode 100644 recognition/46413587_ImprovedUNet/predict.py delete mode 100644 recognition/46413587_ImprovedUNet/train.py delete mode 100644 recognition/46413587_ImprovedUNet/utils.py diff --git a/recognition/46413587_ImprovedUNet/README.md b/recognition/46413587_ImprovedUNet/README.md deleted file mode 100644 index 1ffe79516c..0000000000 --- a/recognition/46413587_ImprovedUNet/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Attempt at easy difficulty task. - -1. The readme file should contain a title, a description of the algorithm and the problem that it solves -(approximately a paragraph), how it works in a paragraph and a figure/visualization. -2. It should also list any dependencies required, including versions and address reproducibility of results, -if applicable. -3. provide example inputs, outputs and plots of your algorithm -4. The read me file should be properly formatted using GitHub markdown -5. Describe any specific pre-processing you have used with references if any. Justify your training, validation -and testing splits of the data. diff --git a/recognition/46413587_ImprovedUNet/dataset.py b/recognition/46413587_ImprovedUNet/dataset.py deleted file mode 100644 index 01f33b0096..0000000000 --- a/recognition/46413587_ImprovedUNet/dataset.py +++ /dev/null @@ -1,43 +0,0 @@ -import torch -import torch.optim as optim -import torch.nn as nn -import torch.nn.parallel -import argparse -import torchvision.transforms as transforms -import torch.backends.cudnn as cudnn -import torch.utils.data -import torchvision.datasets as dset -import torchvision.utils as vutils -import os -import numpy as np -import matplotlib.pyplot as plt -import random - -TrainImRoot="\DataSets\ISIC-2017_Training_Data" -TrainLbRoot="\DataSets\ISIC-2017_Training_Truth" -#TestImRoot="\DataSets\ISIC-2017_Test_Data" -TestLbRoot="\DataSets\ISIC-2017_Test_Truth" -ValImRoot="\DataSets\ISIC-2017_Validation_Data" -ValLbRoot="\DataSets\ISIC-2017_Validation_Truth" -workers = 2 -batch_size=128 -image_size=64 -channels=3 -num_epochs=20 -learn_rate=0.0002 -beta1=0.5 - -trainset=dset.ImageFolder(root = TrainImRoot, - transform=transforms.Compose([ - transforms.Resize(image_size), - transforms.CenterCrop(image_size), - transforms.ToTensor(), - transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5)), - ])) - -dataloader=torch.utils.data.DataLoader(TrainImRoot, shuffle = True, batch_size=batch_size, - numworkers = workers) - -device=torch.device("cuda:0" if torch.cuda.is_available() else "cpu") - -print("no errors") \ No newline at end of file diff --git a/recognition/46413587_ImprovedUNet/modules.py b/recognition/46413587_ImprovedUNet/modules.py deleted file mode 100644 index 2ef8c19b08..0000000000 --- a/recognition/46413587_ImprovedUNet/modules.py +++ /dev/null @@ -1,28 +0,0 @@ - -''' -import tensorflow as tf -from tensorflow import keras -from tensorflow.keras import layers -from tensorflow.keras.models import Sequential -from tensorflow.keras.layers import concatenate, Flatten -from tensorflow.keras.layers import Input, Conv2D, UpSampling2D -from tensorflow.keras.models import Model - -import numpy as np -''' -import torch -import torch.optim as optim -import torch.nn as nn -import torch.nn.parallel -import argparse -import torchvision.transforms as transforms -import torch.backends.cudnn as cudnn -import torch.utils.data -import torchvision.datasets as dset -import torchvision.utils as vutils -import os -import numpy as np -import matplotlib.pyplot as plt -import random - -print("TF Version:", tf.__version__) \ No newline at end of file diff --git a/recognition/46413587_ImprovedUNet/predict.py b/recognition/46413587_ImprovedUNet/predict.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/recognition/46413587_ImprovedUNet/train.py b/recognition/46413587_ImprovedUNet/train.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/recognition/46413587_ImprovedUNet/utils.py b/recognition/46413587_ImprovedUNet/utils.py deleted file mode 100644 index e69de29bb2..0000000000 From 600d662fcb4b80d45621f85c06f9dc0ba38b757a Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sat, 15 Oct 2022 14:20:17 +1000 Subject: [PATCH 06/31] DataSet Can now load in data as keras objects --- recognition/AA_VQVAE_Mine/README.md | 10 ++++ recognition/AA_VQVAE_Mine/dataset.py | 82 ++++++++++++++++++++++++++++ recognition/AA_VQVAE_Mine/utils.py | 0 3 files changed, 92 insertions(+) create mode 100644 recognition/AA_VQVAE_Mine/README.md create mode 100644 recognition/AA_VQVAE_Mine/dataset.py create mode 100644 recognition/AA_VQVAE_Mine/utils.py diff --git a/recognition/AA_VQVAE_Mine/README.md b/recognition/AA_VQVAE_Mine/README.md new file mode 100644 index 0000000000..1ffe79516c --- /dev/null +++ b/recognition/AA_VQVAE_Mine/README.md @@ -0,0 +1,10 @@ +Attempt at easy difficulty task. + +1. The readme file should contain a title, a description of the algorithm and the problem that it solves +(approximately a paragraph), how it works in a paragraph and a figure/visualization. +2. It should also list any dependencies required, including versions and address reproducibility of results, +if applicable. +3. provide example inputs, outputs and plots of your algorithm +4. The read me file should be properly formatted using GitHub markdown +5. Describe any specific pre-processing you have used with references if any. Justify your training, validation +and testing splits of the data. diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py new file mode 100644 index 0000000000..1f9eca845f --- /dev/null +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -0,0 +1,82 @@ +import numpy as np +import matplotlib.pyplot as plt + +from tensorflow import keras +from tensorflow.keras import layers +import tensorflow_probability as tfp +import tensorflow as tf + +import os + + +im_root = path = os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\AD_NC") + + +training_set = tf.keras.utils.image_dataset_from_directory( + os.path.join(im_root,"train"), + labels='inferred', + label_mode='categorical', + color_mode='grayscale', + batch_size=None, + image_size=(256, 256), + shuffle=True, + seed=46, + validation_split=0.3, + subset='training', + interpolation='bilinear', + crop_to_aspect_ratio=True + ) + +validation_set = tf.keras.utils.image_dataset_from_directory( + os.path.join(im_root,"train"), + labels='inferred', + label_mode='categorical', + color_mode='grayscale', + batch_size=None, + image_size=(256, 256), + shuffle=True, + seed=46, + validation_split=0.3, + subset='validation', + interpolation='bilinear', + crop_to_aspect_ratio=True + ) + +test_set = tf.keras.utils.image_dataset_from_directory( + os.path.join(im_root,"test"), + labels='inferred', + label_mode='categorical', + color_mode='grayscale', + batch_size=None, + image_size=(256, 256), + shuffle=True, + seed=46, + interpolation='bilinear', + crop_to_aspect_ratio=True + ) + +class_names = training_set.class_names +print(class_names) + +''' +x_train = np.expand_dims(x_train, -1) +x_test = np.expand_dims(x_test, -1) +x_val = np.expand_dims(x_val, -1) +x_train_scaled = (x_train / 255.0) - 0.5 +x_test_scaled = (x_test / 255.0) - 0.5 +x_val_scaled = (x_val / 255.0) - 0.5 + +data_variance = np.var(x_train / 255.0) +''' + + +#And plot images +plt.figure(figsize=(10, 10)) +for images, labels in training_set.take(1): + for i in range(9): + ax = plt.subplot(3, 3, i + 1) + plt.imshow(images[i].numpy().astype("uint8")) + #plt.title(class_names[label_list[i]]) + plt.axis("off") + +plt.show() \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/utils.py b/recognition/AA_VQVAE_Mine/utils.py new file mode 100644 index 0000000000..e69de29bb2 From a17e779b7bfdbc5959f0209032ef06e98120a190 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sat, 15 Oct 2022 15:15:08 +1000 Subject: [PATCH 07/31] dataset image display Updated and debugged to sample images for display --- recognition/AA_VQVAE_Mine/dataset.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index 1f9eca845f..ee07080f46 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -8,6 +8,9 @@ import os +image_height = 240 +image_width = 256 +b_size = 32 im_root = path = os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\AD_NC") @@ -15,10 +18,10 @@ training_set = tf.keras.utils.image_dataset_from_directory( os.path.join(im_root,"train"), labels='inferred', - label_mode='categorical', + label_mode='int', color_mode='grayscale', - batch_size=None, - image_size=(256, 256), + image_size=(image_width, image_height), + batch_size = b_size, shuffle=True, seed=46, validation_split=0.3, @@ -30,10 +33,10 @@ validation_set = tf.keras.utils.image_dataset_from_directory( os.path.join(im_root,"train"), labels='inferred', - label_mode='categorical', + label_mode='int', color_mode='grayscale', - batch_size=None, - image_size=(256, 256), + image_size=(image_width, image_height), + batch_size = b_size, shuffle=True, seed=46, validation_split=0.3, @@ -45,10 +48,10 @@ test_set = tf.keras.utils.image_dataset_from_directory( os.path.join(im_root,"test"), labels='inferred', - label_mode='categorical', + label_mode='int', color_mode='grayscale', - batch_size=None, - image_size=(256, 256), + image_size=(image_width, image_height), + batch_size = b_size, shuffle=True, seed=46, interpolation='bilinear', @@ -75,8 +78,8 @@ for images, labels in training_set.take(1): for i in range(9): ax = plt.subplot(3, 3, i + 1) - plt.imshow(images[i].numpy().astype("uint8")) - #plt.title(class_names[label_list[i]]) + plt.imshow(images[i].numpy().astype("uint8"),cmap='gray') + plt.title(class_names[labels[i]]) plt.axis("off") -plt.show() \ No newline at end of file +plt.show() From 86096c8deea93be31018704028d359bc0c047dfa Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sun, 16 Oct 2022 13:48:21 +1000 Subject: [PATCH 08/31] Added Pickle to speed up module testing Note that train code references module which is not yet successful and thus not committed. Code adapted from https://github.com/keras-team/keras-io/blob/master/examples/generative/vq_vae.py which is linked to in paper 11 from assignment resources --- recognition/AA_VQVAE_Mine/dataset.py | 33 +++++++++++++---- recognition/AA_VQVAE_Mine/train.py | 53 ++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 7 deletions(-) create mode 100644 recognition/AA_VQVAE_Mine/train.py diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index ee07080f46..a37a4b2e28 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -9,7 +9,7 @@ import os image_height = 240 -image_width = 256 +image_width = 240 b_size = 32 im_root = path = os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\AD_NC") @@ -21,7 +21,7 @@ label_mode='int', color_mode='grayscale', image_size=(image_width, image_height), - batch_size = b_size, + batch_size = None, shuffle=True, seed=46, validation_split=0.3, @@ -36,7 +36,7 @@ label_mode='int', color_mode='grayscale', image_size=(image_width, image_height), - batch_size = b_size, + batch_size = None, shuffle=True, seed=46, validation_split=0.3, @@ -51,7 +51,7 @@ label_mode='int', color_mode='grayscale', image_size=(image_width, image_height), - batch_size = b_size, + batch_size = None, shuffle=True, seed=46, interpolation='bilinear', @@ -59,9 +59,13 @@ ) class_names = training_set.class_names -print(class_names) +#print(class_names) -''' + +"""Convert images to floating point with the range [0.5, 0.5]""" +(x_train, y_train) = tuple(zip(*training_set)) +(x_val,y_val) = tuple(zip(*validation_set)) +(x_test,y_test) = tuple(zip(*test_set)) x_train = np.expand_dims(x_train, -1) x_test = np.expand_dims(x_test, -1) x_val = np.expand_dims(x_val, -1) @@ -70,9 +74,9 @@ x_val_scaled = (x_val / 255.0) - 0.5 data_variance = np.var(x_train / 255.0) -''' +''' #And plot images plt.figure(figsize=(10, 10)) for images, labels in training_set.take(1): @@ -83,3 +87,18 @@ plt.axis("off") plt.show() +''' +import pickle + +# example, replace with your result +filename = "resulta.pickle" +with open(filename, "wb") as file: + pickle.dump(x_train, file) + +filename = "resultb.pickle" +with open(filename, "wb") as file: + pickle.dump(data_variance, file) + +filename = "resultc.pickle" +with open(filename, "wb") as file: + pickle.dump(x_test_scaled, file) \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py new file mode 100644 index 0000000000..876614785b --- /dev/null +++ b/recognition/AA_VQVAE_Mine/train.py @@ -0,0 +1,53 @@ +import numpy as np +import matplotlib.pyplot as plt + +from tensorflow import keras +from tensorflow.keras import layers +import tensorflow_probability as tfp +import tensorflow as tf + + +import pickle + +# same filename +filename = "resulta.pickle" +with open(filename, "rb") as file: + x_train = pickle.load(file) + +filename = "resultb.pickle" +with open(filename, "rb") as file: + data_variance = pickle.load(file) + +filename = "resultc.pickle" +with open(filename, "rb") as file: + x_test_scaled = pickle.load(file) + +import modules + + +vqvae_trainer = modules.VQVAETrainer(data_variance, latent_dim=16, num_embeddings=128) +vqvae_trainer.compile(optimizer=keras.optimizers.Adam()) +vqvae_trainer.fit(x_train, epochs=3, batch_size=28) + + +def show_subplot(original, reconstructed): + plt.subplot(1, 2, 1) + plt.imshow(original.squeeze() + 0.5,cmap='gray') + plt.title("Original") + plt.axis("off") + + plt.subplot(1, 2, 2) + plt.imshow(reconstructed.squeeze() + 0.5,cmap='gray') + plt.title("Reconstructed") + plt.axis("off") + + plt.show() + + +trained_vqvae_model = vqvae_trainer.vqvae +idx = np.random.choice(len(x_test_scaled), 10) +test_images = x_test_scaled[idx] +reconstructions_test = trained_vqvae_model.predict(test_images) + +for test_image, reconstructed_image in zip(test_images, reconstructions_test): + show_subplot(test_image, reconstructed_image) \ No newline at end of file From ff2332629eb1af19fb08c4bd67d543bded3aabd1 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Sun, 16 Oct 2022 13:49:27 +1000 Subject: [PATCH 09/31] Updates .gitignore w/ pickle files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c1b98d256f..d8f0547fcc 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,4 @@ dmypy.json # no tracking mypy config file mypy.ini +*.pickle From 473dadf84263486956a94c39c5c37e54117841b3 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Tue, 18 Oct 2022 20:33:16 +1000 Subject: [PATCH 10/31] End VQVAE Marking the end of all progress towards the VQVAE Task and moving back to UNet --- recognition/AA_VQVAE_Mine/dataset.py | 22 ++-- recognition/AA_VQVAE_Mine/modules.py | 146 +++++++++++++++++++++++++++ recognition/AA_VQVAE_Mine/predict.py | 21 ++++ recognition/AA_VQVAE_Mine/train.py | 10 +- 4 files changed, 189 insertions(+), 10 deletions(-) create mode 100644 recognition/AA_VQVAE_Mine/modules.py create mode 100644 recognition/AA_VQVAE_Mine/predict.py diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index a37a4b2e28..296fdd98e9 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -63,20 +63,24 @@ """Convert images to floating point with the range [0.5, 0.5]""" -(x_train, y_train) = tuple(zip(*training_set)) -(x_val,y_val) = tuple(zip(*validation_set)) -(x_test,y_test) = tuple(zip(*test_set)) -x_train = np.expand_dims(x_train, -1) -x_test = np.expand_dims(x_test, -1) -x_val = np.expand_dims(x_val, -1) +(x_train, y_train) = zip(*training_set) +#x_train = np.expand_dims(x_train, -1) +x_train = np.asarray(x_train) x_train_scaled = (x_train / 255.0) - 0.5 -x_test_scaled = (x_test / 255.0) - 0.5 +(x_val,y_val) = zip(*validation_set) +#x_val = np.expand_dims(x_val, -1) +x_val = np.asarray(x_val) x_val_scaled = (x_val / 255.0) - 0.5 +(x_test,y_test) = zip(*test_set) +#x_test = np.expand_dims(x_test, -1) +x_test = np.asarray(x_test) +x_test_scaled = (x_test / 255.0) - 0.5 + data_variance = np.var(x_train / 255.0) -''' + #And plot images plt.figure(figsize=(10, 10)) for images, labels in training_set.take(1): @@ -87,7 +91,7 @@ plt.axis("off") plt.show() -''' + import pickle # example, replace with your result diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py new file mode 100644 index 0000000000..408e67860f --- /dev/null +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -0,0 +1,146 @@ +import numpy as np +import matplotlib.pyplot as plt + +from tensorflow import keras +from tensorflow.keras import layers +import tensorflow_probability as tfp +import tensorflow as tf + +class VectorQuantizer(layers.Layer): + def __init__(self, num_embeddings, embedding_dim, beta=0.55, **kwargs): + super().__init__(**kwargs) + self.embedding_dim = embedding_dim + self.num_embeddings = num_embeddings + + # The `beta` parameter is best kept between [0.25, 2] as per the paper. + self.beta = beta + + # Initialize the embeddings which we will quantize. + w_init = tf.random_uniform_initializer() + self.embeddings = tf.Variable( + initial_value=w_init( + shape=(self.embedding_dim, self.num_embeddings), dtype="float32" + ), + trainable=True, + name="embeddings_vqvae", + ) + + def call(self, x): + # Calculate the input shape of the inputs and + # then flatten the inputs keeping `embedding_dim` intact. + input_shape = tf.shape(x) + flattened = tf.reshape(x, [-1, self.embedding_dim]) + + # Quantization. + encoding_indices = self.get_code_indices(flattened) + encodings = tf.one_hot(encoding_indices, self.num_embeddings) + quantized = tf.matmul(encodings, self.embeddings, transpose_b=True) + + # Reshape the quantized values back to the original input shape + quantized = tf.reshape(quantized, input_shape) + + # Calculate vector quantization loss and add that to the layer. You can learn more + # about adding losses to different layers here: + # https://keras.io/guides/making_new_layers_and_models_via_subclassing/. Check + # the original paper to get a handle on the formulation of the loss function. + commitment_loss = tf.reduce_mean((tf.stop_gradient(quantized) - x) ** 2) + codebook_loss = tf.reduce_mean((quantized - tf.stop_gradient(x)) ** 2) + self.add_loss(self.beta * commitment_loss + codebook_loss) + + # Straight-through estimator. + quantized = x + tf.stop_gradient(quantized - x) + return quantized + + def get_code_indices(self, flattened_inputs): + # Calculate L2-normalized distance between the inputs and the codes. + similarity = tf.matmul(flattened_inputs, self.embeddings) + distances = ( + tf.reduce_sum(flattened_inputs ** 2, axis=1, keepdims=True) + + tf.reduce_sum(self.embeddings ** 2, axis=0) + - 2 * similarity + ) + + # Derive the indices for minimum distances. + encoding_indices = tf.argmin(distances, axis=1) + return encoding_indices + +def get_encoder(latent_dim=16): + encoder_inputs = keras.Input(shape=(240, 240, 1)) + x = layers.Conv2D(32, 3, activation="relu", strides=2, padding="same")( + encoder_inputs + ) + x = layers.Conv2D(64, 3, activation="relu", strides=2, padding="same")(x) + encoder_outputs = layers.Conv2D(latent_dim, 1, padding="same")(x) + return keras.Model(encoder_inputs, encoder_outputs, name="encoder") + + +def get_decoder(latent_dim=16): + latent_inputs = keras.Input(shape=get_encoder(latent_dim).output.shape[1:]) + x = layers.Conv2DTranspose(64, 3, activation="relu", strides=2, padding="same")( + latent_inputs + ) + x = layers.Conv2DTranspose(32, 3, activation="relu", strides=2, padding="same")(x) + decoder_outputs = layers.Conv2DTranspose(1, 3, padding="same")(x) + return keras.Model(latent_inputs, decoder_outputs, name="decoder") + +def get_vqvae(latent_dim=16, num_embeddings=64): + vq_layer = VectorQuantizer(num_embeddings, latent_dim, name="vector_quantizer") + encoder = get_encoder(latent_dim) + decoder = get_decoder(latent_dim) + inputs = keras.Input(shape=(240, 240, 1)) + encoder_outputs = encoder(inputs) + quantized_latents = vq_layer(encoder_outputs) + reconstructions = decoder(quantized_latents) + return keras.Model(inputs, reconstructions, name="vq_vae") + +class VQVAETrainer(keras.models.Model): + def __init__(self, train_variance, latent_dim=32, num_embeddings=128, **kwargs): + super(VQVAETrainer, self).__init__(**kwargs) + self.train_variance = train_variance + self.latent_dim = latent_dim + self.num_embeddings = num_embeddings + + self.vqvae = get_vqvae(self.latent_dim, self.num_embeddings) + + self.total_loss_tracker = keras.metrics.Mean(name="total_loss") + self.reconstruction_loss_tracker = keras.metrics.Mean( + name="reconstruction_loss" + ) + self.vq_loss_tracker = keras.metrics.Mean(name="vq_loss") + + @property + def metrics(self): + return [ + self.total_loss_tracker, + self.reconstruction_loss_tracker, + self.vq_loss_tracker, + ] + + def train_step(self, x): + with tf.GradientTape() as tape: + # Outputs from the VQ-VAE. + reconstructions = self.vqvae(x) + + # Calculate the losses. + reconstruction_loss = ( + tf.reduce_mean((x - reconstructions) ** 2) / self.train_variance + ) + total_loss = reconstruction_loss + sum(self.vqvae.losses) + + # Backpropagation. + grads = tape.gradient(total_loss, self.vqvae.trainable_variables) + self.optimizer.apply_gradients(zip(grads, self.vqvae.trainable_variables)) + + # Loss tracking. + self.total_loss_tracker.update_state(total_loss) + self.reconstruction_loss_tracker.update_state(reconstruction_loss) + self.vq_loss_tracker.update_state(sum(self.vqvae.losses)) + + # Log results. + return { + "loss": self.total_loss_tracker.result(), + "reconstruction_loss": self.reconstruction_loss_tracker.result(), + "vqvae_loss": self.vq_loss_tracker.result(), + } + + diff --git a/recognition/AA_VQVAE_Mine/predict.py b/recognition/AA_VQVAE_Mine/predict.py new file mode 100644 index 0000000000..1b20708a45 --- /dev/null +++ b/recognition/AA_VQVAE_Mine/predict.py @@ -0,0 +1,21 @@ +def show_subplot(original, reconstructed): + plt.subplot(1, 2, 1) + plt.imshow(original.squeeze() + 0.5) + plt.title("Original") + plt.axis("off") + + plt.subplot(1, 2, 2) + plt.imshow(reconstructed.squeeze() + 0.5) + plt.title("Reconstructed") + plt.axis("off") + + plt.show() + + +trained_vqvae_model = vqvae_trainer.vqvae +idx = np.random.choice(len(x_test_scaled), 10) +test_images = x_test_scaled[idx] +reconstructions_test = trained_vqvae_model.predict(test_images) + +for test_image, reconstructed_image in zip(test_images, reconstructions_test): + show_subplot(test_image, reconstructed_image) \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index 876614785b..7b516a03d5 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -24,10 +24,18 @@ import modules +plt.figure(figsize=(10, 10)) +for images in x_train.take(1): + for i in range(9): + ax = plt.subplot(3, 3, i + 1) + plt.imshow(images[i].numpy().astype("uint8"),cmap='gray') + plt.axis("off") + +plt.show() vqvae_trainer = modules.VQVAETrainer(data_variance, latent_dim=16, num_embeddings=128) vqvae_trainer.compile(optimizer=keras.optimizers.Adam()) -vqvae_trainer.fit(x_train, epochs=3, batch_size=28) +vqvae_trainer.fit(x_train, epochs=1, batch_size=128) def show_subplot(original, reconstructed): From df4a7e6f5a3464132e2d1e8d1901014510162bd8 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Tue, 18 Oct 2022 21:40:59 +1000 Subject: [PATCH 11/31] Load in image/mask pair Successfully load in and display image and mask pairs --- recognition/AA_VQVAE_Mine/dataset.py | 91 ++++++++++++++++- recognition/AA_VQVAE_Mine/modules.py | 144 ++------------------------- 2 files changed, 94 insertions(+), 141 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index 296fdd98e9..aa57ef803e 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -1,17 +1,101 @@ import numpy as np import matplotlib.pyplot as plt +import cv2 from tensorflow import keras from tensorflow.keras import layers +from tensorflow.keras.preprocessing.image import load_img, img_to_array +from tensorflow.keras.utils import to_categorical ,Sequence import tensorflow_probability as tfp import tensorflow as tf import os +from PIL import Image +from glob import glob +from pathlib import Path +from random import sample, choice -image_height = 240 -image_width = 240 +img_w = 4288 +img_h = 2848 b_size = 32 +partition = {} +labels = {} + +im_root = Path(os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\ISIC")) + +paths = [ + "ISIC-2017_Training_Data", + "ISIC-2017_Training_Truth", + "ISIC-2017_Test_Data", + "ISIC-2017_Test_Truth", + "ISIC-2017_Validation_Data", + "ISIC-2017_Validation_Truth" +] +''' +for p in paths: + folder_fp = os.path.join(im_root, p) + for im_fn in os.listdir(folder_fp): + im_fp = os.path.join(folder_fp, im_fn) + new_im = os.path.join(folder_fp, im_fn) + im = Image.open(new_im).convert("L") + im.save(new_im) +''' +train_imgs = list((im_root / "ISIC-2017_Training_Data").glob("*.jpg")) +train_labels = list((im_root / "ISIC-2017_Training_Truth").glob("*.png")) +test_imgs = list((im_root / "ISIC-2017_Test_Data").glob("*.jpg")) +test_labels = list((im_root / "ISIC-2017_Test_Truth").glob("*.png")) +val_imgs = list((im_root / "ISIC-2017_Validation_Data").glob("*.jpg")) +val_labels = list((im_root / "ISIC-2017_Validation_Truth").glob("*.png")) + +(len(train_imgs),len(train_labels)), (len(val_imgs),len(val_labels)) , (len(test_imgs),len(test_labels)) + +def make_pair(img,label,dataset): + pairs = [] + for im in img: + pairs.append((im , dataset / label / (im.stem +"_segmentation.png"))) + + return pairs + +train_pair = make_pair(train_imgs, "ISIC-2017_Training_Truth", im_root) +test_pair = make_pair(val_imgs, "ISIC-2017_Test_Truth", im_root) +val_pair = make_pair(test_imgs, "ISIC-2017_Validation_Truth", im_root) + +temp = choice(train_pair) +img = img_to_array(load_img(temp[0], target_size=(img_w,img_h))) +mask = img_to_array(load_img(temp[1], target_size = (img_w,img_h))) +plt.figure(figsize=(10,10)) +plt.subplot(121) +plt.imshow(img/255) +plt.subplot(122) +plt.imshow(mask/255) +plt.show() + +class_map = [] +for index,item in class_map_df.iterrows(): + class_map.append(np.array([item['b'], item['w']])) + + +''' +seed = 909 # (IMPORTANT) to transform image and corresponding mask with same augmentation parameter. +image_datagen = ImageDataGenerator(width_shift_range=0.1, + height_shift_range=0.1, + preprocessing_function = image_preprocessing) # custom fuction for each image you can use resnet one too. +mask_datagen = ImageDataGenerator(width_shift_range=0.1, + height_shift_range=0.1, + preprocessing_function = mask_preprocessing) # to make mask as feedable formate (256,256,1) + +image_generator =image_datagen.flow_from_directory(os.path.join(im_root, "ISIC-2017_Training_Data"), + class_mode=None, seed=seed) + +mask_generator = mask_datagen.flow_from_directory(os.path.join(im_root, "ISIC-2017_Training_Truth"), + class_mode=None, seed=seed) +''' + +print("no errors") + + +''' im_root = path = os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\AD_NC") @@ -105,4 +189,5 @@ filename = "resultc.pickle" with open(filename, "wb") as file: - pickle.dump(x_test_scaled, file) \ No newline at end of file + pickle.dump(x_test_scaled, file) + ''' \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index 408e67860f..1edc38ad9f 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -6,141 +6,9 @@ import tensorflow_probability as tfp import tensorflow as tf -class VectorQuantizer(layers.Layer): - def __init__(self, num_embeddings, embedding_dim, beta=0.55, **kwargs): - super().__init__(**kwargs) - self.embedding_dim = embedding_dim - self.num_embeddings = num_embeddings - - # The `beta` parameter is best kept between [0.25, 2] as per the paper. - self.beta = beta - - # Initialize the embeddings which we will quantize. - w_init = tf.random_uniform_initializer() - self.embeddings = tf.Variable( - initial_value=w_init( - shape=(self.embedding_dim, self.num_embeddings), dtype="float32" - ), - trainable=True, - name="embeddings_vqvae", - ) - - def call(self, x): - # Calculate the input shape of the inputs and - # then flatten the inputs keeping `embedding_dim` intact. - input_shape = tf.shape(x) - flattened = tf.reshape(x, [-1, self.embedding_dim]) - - # Quantization. - encoding_indices = self.get_code_indices(flattened) - encodings = tf.one_hot(encoding_indices, self.num_embeddings) - quantized = tf.matmul(encodings, self.embeddings, transpose_b=True) - - # Reshape the quantized values back to the original input shape - quantized = tf.reshape(quantized, input_shape) - - # Calculate vector quantization loss and add that to the layer. You can learn more - # about adding losses to different layers here: - # https://keras.io/guides/making_new_layers_and_models_via_subclassing/. Check - # the original paper to get a handle on the formulation of the loss function. - commitment_loss = tf.reduce_mean((tf.stop_gradient(quantized) - x) ** 2) - codebook_loss = tf.reduce_mean((quantized - tf.stop_gradient(x)) ** 2) - self.add_loss(self.beta * commitment_loss + codebook_loss) - - # Straight-through estimator. - quantized = x + tf.stop_gradient(quantized - x) - return quantized - - def get_code_indices(self, flattened_inputs): - # Calculate L2-normalized distance between the inputs and the codes. - similarity = tf.matmul(flattened_inputs, self.embeddings) - distances = ( - tf.reduce_sum(flattened_inputs ** 2, axis=1, keepdims=True) - + tf.reduce_sum(self.embeddings ** 2, axis=0) - - 2 * similarity - ) - - # Derive the indices for minimum distances. - encoding_indices = tf.argmin(distances, axis=1) - return encoding_indices - -def get_encoder(latent_dim=16): - encoder_inputs = keras.Input(shape=(240, 240, 1)) - x = layers.Conv2D(32, 3, activation="relu", strides=2, padding="same")( - encoder_inputs - ) - x = layers.Conv2D(64, 3, activation="relu", strides=2, padding="same")(x) - encoder_outputs = layers.Conv2D(latent_dim, 1, padding="same")(x) - return keras.Model(encoder_inputs, encoder_outputs, name="encoder") - - -def get_decoder(latent_dim=16): - latent_inputs = keras.Input(shape=get_encoder(latent_dim).output.shape[1:]) - x = layers.Conv2DTranspose(64, 3, activation="relu", strides=2, padding="same")( - latent_inputs - ) - x = layers.Conv2DTranspose(32, 3, activation="relu", strides=2, padding="same")(x) - decoder_outputs = layers.Conv2DTranspose(1, 3, padding="same")(x) - return keras.Model(latent_inputs, decoder_outputs, name="decoder") - -def get_vqvae(latent_dim=16, num_embeddings=64): - vq_layer = VectorQuantizer(num_embeddings, latent_dim, name="vector_quantizer") - encoder = get_encoder(latent_dim) - decoder = get_decoder(latent_dim) - inputs = keras.Input(shape=(240, 240, 1)) - encoder_outputs = encoder(inputs) - quantized_latents = vq_layer(encoder_outputs) - reconstructions = decoder(quantized_latents) - return keras.Model(inputs, reconstructions, name="vq_vae") - -class VQVAETrainer(keras.models.Model): - def __init__(self, train_variance, latent_dim=32, num_embeddings=128, **kwargs): - super(VQVAETrainer, self).__init__(**kwargs) - self.train_variance = train_variance - self.latent_dim = latent_dim - self.num_embeddings = num_embeddings - - self.vqvae = get_vqvae(self.latent_dim, self.num_embeddings) - - self.total_loss_tracker = keras.metrics.Mean(name="total_loss") - self.reconstruction_loss_tracker = keras.metrics.Mean( - name="reconstruction_loss" - ) - self.vq_loss_tracker = keras.metrics.Mean(name="vq_loss") - - @property - def metrics(self): - return [ - self.total_loss_tracker, - self.reconstruction_loss_tracker, - self.vq_loss_tracker, - ] - - def train_step(self, x): - with tf.GradientTape() as tape: - # Outputs from the VQ-VAE. - reconstructions = self.vqvae(x) - - # Calculate the losses. - reconstruction_loss = ( - tf.reduce_mean((x - reconstructions) ** 2) / self.train_variance - ) - total_loss = reconstruction_loss + sum(self.vqvae.losses) - - # Backpropagation. - grads = tape.gradient(total_loss, self.vqvae.trainable_variables) - self.optimizer.apply_gradients(zip(grads, self.vqvae.trainable_variables)) - - # Loss tracking. - self.total_loss_tracker.update_state(total_loss) - self.reconstruction_loss_tracker.update_state(reconstruction_loss) - self.vq_loss_tracker.update_state(sum(self.vqvae.losses)) - - # Log results. - return { - "loss": self.total_loss_tracker.result(), - "reconstruction_loss": self.reconstruction_loss_tracker.result(), - "vqvae_loss": self.vq_loss_tracker.result(), - } - - +batch_size=128 +image_size=64 +channels=3 +num_epochs=20 +learn_rate=0.0002 +beta1=0.5 \ No newline at end of file From 3527f148b8a9d40c85db64f5379f21bbbef3be41 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Tue, 18 Oct 2022 21:58:41 +1000 Subject: [PATCH 12/31] convert mask to 2D array of labels Tweaking source code to work for black and white data instead of rgb values in a .cvs file --- recognition/AA_VQVAE_Mine/dataset.py | 32 +++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index aa57ef803e..cd16866d2e 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -1,19 +1,24 @@ import numpy as np import matplotlib.pyplot as plt -import cv2 from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.preprocessing.image import load_img, img_to_array from tensorflow.keras.utils import to_categorical ,Sequence +from tensorflow.keras import backend as K import tensorflow_probability as tfp import tensorflow as tf +from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, concatenate, Conv2DTranspose, BatchNormalization, Activation, Dropout +from tensorflow.keras.optimizers import Adadelta, Nadam ,Adam +from tensorflow.keras.models import Model, load_model +from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau, CSVLogger, TensorBoard import os from PIL import Image from glob import glob from pathlib import Path from random import sample, choice +import shutil img_w = 4288 img_h = 2848 @@ -69,12 +74,29 @@ def make_pair(img,label,dataset): plt.subplot(122) plt.imshow(mask/255) -plt.show() +#plt.show() + +class_map = [(255),(0)] -class_map = [] -for index,item in class_map_df.iterrows(): - class_map.append(np.array([item['b'], item['w']])) +def assert_map_range(mask,class_map): + mask = mask.astype("uint8") + for j in range(img_w): + for k in range(img_h): + assert mask[j][k] in class_map , tuple(mask[j][k]) + +def form_2D_label(mask,class_map): + mask = mask.astype("uint8") + label = np.zeros(mask.shape[:2],dtype= np.uint8) + + for i, rgb in enumerate(class_map): + label[(mask == rgb).all(axis=2)] = i + return label + +lab = form_2D_label(mask,class_map) +np.unique(lab,return_counts=True) + + ''' seed = 909 # (IMPORTANT) to transform image and corresponding mask with same augmentation parameter. From 5a5431b6adaa0218f77bddb4a4edf7b987690a4e Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Wed, 19 Oct 2022 08:29:01 +1000 Subject: [PATCH 13/31] Functional DataLoader --- recognition/AA_VQVAE_Mine/dataset.py | 172 +++++++++++---------------- 1 file changed, 71 insertions(+), 101 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index cd16866d2e..40145e74f5 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -20,8 +20,8 @@ from random import sample, choice import shutil -img_w = 4288 -img_h = 2848 +img_h = 4288 +img_w = 2848 b_size = 32 partition = {} labels = {} @@ -52,7 +52,7 @@ val_imgs = list((im_root / "ISIC-2017_Validation_Data").glob("*.jpg")) val_labels = list((im_root / "ISIC-2017_Validation_Truth").glob("*.png")) -(len(train_imgs),len(train_labels)), (len(val_imgs),len(val_labels)) , (len(test_imgs),len(test_labels)) +(len(train_imgs),len(train_labels)), (len(test_imgs),len(test_labels)) , (len(val_imgs),len(val_labels)) def make_pair(img,label,dataset): pairs = [] @@ -62,8 +62,8 @@ def make_pair(img,label,dataset): return pairs train_pair = make_pair(train_imgs, "ISIC-2017_Training_Truth", im_root) -test_pair = make_pair(val_imgs, "ISIC-2017_Test_Truth", im_root) -val_pair = make_pair(test_imgs, "ISIC-2017_Validation_Truth", im_root) +test_pair = make_pair(test_imgs, "ISIC-2017_Test_Truth", im_root) +val_pair = make_pair(val_imgs, "ISIC-2017_Validation_Truth", im_root) temp = choice(train_pair) img = img_to_array(load_img(temp[0], target_size=(img_w,img_h))) @@ -96,107 +96,76 @@ def form_2D_label(mask,class_map): lab = form_2D_label(mask,class_map) np.unique(lab,return_counts=True) +class DataGenerator(Sequence): + 'Generates data for Keras' + + def __init__(self, pair, class_map, batch_size=16, dim=(224,224,3), shuffle=True): + 'Initialization' + self.dim = dim + self.pair = pair + self.class_map = class_map + self.batch_size = batch_size + self.shuffle = shuffle + self.on_epoch_end() + + def __len__(self): + 'Denotes the number of batches per epoch' + return int(np.floor(len(self.pair) / self.batch_size)) + + def __getitem__(self, index): + 'Generate one batch of data' + # Generate indexes of the batch + indexes = self.indexes[index*self.batch_size:(index+1)*self.batch_size] + + # Find list of IDs + list_IDs_temp = [k for k in indexes] + + # Generate data + X, Y = self.__data_generation(list_IDs_temp) + + return X, Y + + def on_epoch_end(self): + 'Updates indexes after each epoch' + self.indexes = np.arange(len(self.pair)) + if self.shuffle == True: + np.random.shuffle(self.indexes) + + def __data_generation(self, list_IDs_temp): + 'Generates data containing batch_size samples' # X : (n_samples, *dim, n_channels) + # Initialization + batch_imgs = list() + batch_labels = list() + + # Generate data + for i in list_IDs_temp: + # Store sample + img = load_img(self.pair[i][0] ,target_size=self.dim) + img = img_to_array(img)/255. + batch_imgs.append(img) + + label = load_img(self.pair[i][1],target_size=self.dim) + label = img_to_array(label) + label = form_2D_label(label,self.class_map) + label = to_categorical(label , num_classes = 2) + batch_labels.append(label) + + return np.array(batch_imgs) ,np.array(batch_labels) + +train_generator = DataGenerator(train_pair+test_pair,class_map,b_size, dim=(img_w,img_h,3) ,shuffle=True) +train_steps = train_generator.__len__() + +X,Y = train_generator.__getitem__(1) +print(Y.shape) + +val_generator = DataGenerator(val_pair, class_map, batch_size=4, dim=(img_w,img_h,3) ,shuffle=True) +val_steps = val_generator.__len__() -''' -seed = 909 # (IMPORTANT) to transform image and corresponding mask with same augmentation parameter. -image_datagen = ImageDataGenerator(width_shift_range=0.1, - height_shift_range=0.1, - preprocessing_function = image_preprocessing) # custom fuction for each image you can use resnet one too. -mask_datagen = ImageDataGenerator(width_shift_range=0.1, - height_shift_range=0.1, - preprocessing_function = mask_preprocessing) # to make mask as feedable formate (256,256,1) - -image_generator =image_datagen.flow_from_directory(os.path.join(im_root, "ISIC-2017_Training_Data"), - class_mode=None, seed=seed) - -mask_generator = mask_datagen.flow_from_directory(os.path.join(im_root, "ISIC-2017_Training_Truth"), - class_mode=None, seed=seed) -''' - print("no errors") ''' -im_root = path = os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\AD_NC") - - -training_set = tf.keras.utils.image_dataset_from_directory( - os.path.join(im_root,"train"), - labels='inferred', - label_mode='int', - color_mode='grayscale', - image_size=(image_width, image_height), - batch_size = None, - shuffle=True, - seed=46, - validation_split=0.3, - subset='training', - interpolation='bilinear', - crop_to_aspect_ratio=True - ) - -validation_set = tf.keras.utils.image_dataset_from_directory( - os.path.join(im_root,"train"), - labels='inferred', - label_mode='int', - color_mode='grayscale', - image_size=(image_width, image_height), - batch_size = None, - shuffle=True, - seed=46, - validation_split=0.3, - subset='validation', - interpolation='bilinear', - crop_to_aspect_ratio=True - ) - -test_set = tf.keras.utils.image_dataset_from_directory( - os.path.join(im_root,"test"), - labels='inferred', - label_mode='int', - color_mode='grayscale', - image_size=(image_width, image_height), - batch_size = None, - shuffle=True, - seed=46, - interpolation='bilinear', - crop_to_aspect_ratio=True - ) - -class_names = training_set.class_names -#print(class_names) - - -"""Convert images to floating point with the range [0.5, 0.5]""" -(x_train, y_train) = zip(*training_set) -#x_train = np.expand_dims(x_train, -1) -x_train = np.asarray(x_train) -x_train_scaled = (x_train / 255.0) - 0.5 -(x_val,y_val) = zip(*validation_set) -#x_val = np.expand_dims(x_val, -1) -x_val = np.asarray(x_val) -x_val_scaled = (x_val / 255.0) - 0.5 -(x_test,y_test) = zip(*test_set) -#x_test = np.expand_dims(x_test, -1) -x_test = np.asarray(x_test) -x_test_scaled = (x_test / 255.0) - 0.5 - - -data_variance = np.var(x_train / 255.0) - - - -#And plot images -plt.figure(figsize=(10, 10)) -for images, labels in training_set.take(1): - for i in range(9): - ax = plt.subplot(3, 3, i + 1) - plt.imshow(images[i].numpy().astype("uint8"),cmap='gray') - plt.title(class_names[labels[i]]) - plt.axis("off") - -plt.show() import pickle @@ -212,4 +181,5 @@ def form_2D_label(mask,class_map): filename = "resultc.pickle" with open(filename, "wb") as file: pickle.dump(x_test_scaled, file) - ''' \ No newline at end of file + +''' \ No newline at end of file From 6f8478aaf502bca6b50bcbb55e496018e54ff87f Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:26:38 +1000 Subject: [PATCH 14/31] Note to Marker Note to marker: I am about to do a bunch of commits in a short period of time - this is because I've been working in google colab & forgot to do commits. I've split these into where I would have committed had I remembered to do that properly - each point where I copied across to my personal device to save (using undo, this is the real code I had at these times). Please don't be too harsh. --- recognition/AA_VQVAE_Mine/Note to Maker | 1 + 1 file changed, 1 insertion(+) create mode 100644 recognition/AA_VQVAE_Mine/Note to Maker diff --git a/recognition/AA_VQVAE_Mine/Note to Maker b/recognition/AA_VQVAE_Mine/Note to Maker new file mode 100644 index 0000000000..d4b0f41f01 --- /dev/null +++ b/recognition/AA_VQVAE_Mine/Note to Maker @@ -0,0 +1 @@ +Please see commit description \ No newline at end of file From 4a0e2805386fd6b670721852ade3d722e56e7e0a Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:28:10 +1000 Subject: [PATCH 15/31] Create Convolution Blocks & Tidy Dataset Convolution and deconvolution blocks built --- recognition/AA_VQVAE_Mine/Note to Maker | 1 - recognition/AA_VQVAE_Mine/dataset.py | 7 +----- recognition/AA_VQVAE_Mine/modules.py | 30 ++++++++++++++++++++----- 3 files changed, 25 insertions(+), 13 deletions(-) delete mode 100644 recognition/AA_VQVAE_Mine/Note to Maker diff --git a/recognition/AA_VQVAE_Mine/Note to Maker b/recognition/AA_VQVAE_Mine/Note to Maker deleted file mode 100644 index d4b0f41f01..0000000000 --- a/recognition/AA_VQVAE_Mine/Note to Maker +++ /dev/null @@ -1 +0,0 @@ -Please see commit description \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index 40145e74f5..33daaceafd 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -8,10 +8,6 @@ from tensorflow.keras import backend as K import tensorflow_probability as tfp import tensorflow as tf -from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, concatenate, Conv2DTranspose, BatchNormalization, Activation, Dropout -from tensorflow.keras.optimizers import Adadelta, Nadam ,Adam -from tensorflow.keras.models import Model, load_model -from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau, CSVLogger, TensorBoard import os from PIL import Image @@ -23,8 +19,7 @@ img_h = 4288 img_w = 2848 b_size = 32 -partition = {} -labels = {} + im_root = Path(os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\ISIC")) diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index 1edc38ad9f..17832806e0 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -6,9 +6,27 @@ import tensorflow_probability as tfp import tensorflow as tf -batch_size=128 -image_size=64 -channels=3 -num_epochs=20 -learn_rate=0.0002 -beta1=0.5 \ No newline at end of file +from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, concatenate, Conv2DTranspose, BatchNormalization, Activation, Dropout +from tensorflow.keras.models import Model, load_model + +img_h = 4288 +img_w = 2848 +b_size = 32 + +def conv_block(tensor, nfilters, size=3, padding='same', initializer="he_normal"): + block = Conv2D(filters=nfilters, kernel_size=(size, size), padding=padding, kernel_initializer=initializer)(tensor) + block = BatchNormalization()(block) + block = Activation("relu")(block) + block = Conv2D(filters=nfilters, kernel_size=(size, size), padding=padding, kernel_initializer=initializer)(block) + block = BatchNormalization()(block) + block = Activation("relu")(block) + return block + + +def deconv_block(tensor, residual, nfilters, size=3, padding='same', strides=(2, 2)): + block = Conv2DTranspose(nfilters, kernel_size=(size, size), strides=strides, padding=padding)(tensor) + block = concatenate([block, residual], axis=3) + block = conv_block(block, nfilters) + return block + + From aa2dd1e8d8497fba2d903c9d608bd8014a80546f Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:34:10 +1000 Subject: [PATCH 16/31] Create Unet Unet created from convolutional blocks with snapshots --- recognition/AA_VQVAE_Mine/modules.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index 17832806e0..4719c09243 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -30,3 +30,30 @@ def deconv_block(tensor, residual, nfilters, size=3, padding='same', strides=(2, return block +def Unet(h, w, filters): +# down + input = Input(shape=(h, w, 1), name='image_input') + conv1_snapshot = conv_block(input, nfilters=filters) + conv1_out = MaxPooling2D(pool_size=(2, 2))(conv1_snapshot) + conv2_snapshot = conv_block(conv1_out, nfilters=filters*2) + conv2_out = MaxPooling2D(pool_size=(2, 2))(conv2_snapshot) + conv3_snapshot = conv_block(conv2_out, nfilters=filters*4) + conv3_out = MaxPooling2D(pool_size=(2, 2))(conv3_snapshot) + conv4_snapshot = conv_block(conv3_out, nfilters=filters*8) + conv4_out = MaxPooling2D(pool_size=(2, 2))(conv4_snapshot) + conv4_out = Dropout(0.5)(conv4_out) + conv5 = conv_block(conv4_out, nfilters=filters*16) + conv5 = Dropout(0.5)(conv5) +# up + deconv6 = deconv_block(conv5, residual=conv4_snapshot, nfilters=filters*8) + deconv6 = Dropout(0.5)(deconv6) + deconv7 = deconv_block(deconv6, residual=conv3_snapshot, nfilters=filters*4) + deconv7 = Dropout(0.5)(deconv7) + deconv8 = deconv_block(deconv7, residual=conv2_snapshot, nfilters=filters*2) + deconv9 = deconv_block(deconv8, residual=conv1_snapshot, nfilters=filters) + output_layer = Conv2D(filters=2, kernel_size=(1, 1), activation='softmax')(deconv9) + + model = Model(inputs=input, outputs=output_layer, name='Unet') + return model + +model = Unet(img_w,img_h, 64) From fa08e7af04ea9500843f0fc0097572db38c2cc27 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:35:17 +1000 Subject: [PATCH 17/31] Training process created Training code written - currently throwing memory errors --- recognition/AA_VQVAE_Mine/train.py | 59 ++++++++++++++---------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index 7b516a03d5..f04f2e2404 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -6,38 +6,24 @@ import tensorflow_probability as tfp import tensorflow as tf +from tensorflow.keras.optimizers import Adadelta, Nadam ,Adam +from tensorflow.keras.models import Model, load_model +from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau, CSVLogger, TensorBoard -import pickle - -# same filename -filename = "resulta.pickle" -with open(filename, "rb") as file: - x_train = pickle.load(file) - -filename = "resultb.pickle" -with open(filename, "rb") as file: - data_variance = pickle.load(file) - -filename = "resultc.pickle" -with open(filename, "rb") as file: - x_test_scaled = pickle.load(file) +import dataset import modules -plt.figure(figsize=(10, 10)) -for images in x_train.take(1): - for i in range(9): - ax = plt.subplot(3, 3, i + 1) - plt.imshow(images[i].numpy().astype("uint8"),cmap='gray') - plt.axis("off") +modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=['accuracy']) -plt.show() - -vqvae_trainer = modules.VQVAETrainer(data_variance, latent_dim=16, num_embeddings=128) -vqvae_trainer.compile(optimizer=keras.optimizers.Adam()) -vqvae_trainer.fit(x_train, epochs=1, batch_size=128) +es = EarlyStopping(mode='max', monitor='val_acc', patience=10, verbose=0) +tb = TensorBoard(log_dir="logs/", histogram_freq=0, write_graph=True, write_images=False) +rl = ReduceLROnPlateau(monitor='val_acc',factor=0.1,patience=5,verbose=1,mode="max",min_lr=0.0001) +results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=30, + validation_data=dataset.val_generator,validation_steps=dataset.val_steps,callbacks=[es,tb,rl]) +''' def show_subplot(original, reconstructed): plt.subplot(1, 2, 1) plt.imshow(original.squeeze() + 0.5,cmap='gray') @@ -52,10 +38,21 @@ def show_subplot(original, reconstructed): plt.show() -trained_vqvae_model = vqvae_trainer.vqvae -idx = np.random.choice(len(x_test_scaled), 10) -test_images = x_test_scaled[idx] -reconstructions_test = trained_vqvae_model.predict(test_images) -for test_image, reconstructed_image in zip(test_images, reconstructions_test): - show_subplot(test_image, reconstructed_image) \ No newline at end of file + +import pickle + +# same filename +filename = "resulta.pickle" +with open(filename, "rb") as file: + x_train = pickle.load(file) + +filename = "resultb.pickle" +with open(filename, "rb") as file: + data_variance = pickle.load(file) + +filename = "resultc.pickle" +with open(filename, "rb") as file: + x_test_scaled = pickle.load(file) + +''' \ No newline at end of file From 1f57e850aa5ebeb2011954434ee28048d975d687 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:37:00 +1000 Subject: [PATCH 18/31] Training Excess Removed Unnecessary code removed to help with debugging --- recognition/AA_VQVAE_Mine/train.py | 40 +----------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index f04f2e2404..99190b07b9 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -16,43 +16,5 @@ modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=['accuracy']) -es = EarlyStopping(mode='max', monitor='val_acc', patience=10, verbose=0) -tb = TensorBoard(log_dir="logs/", histogram_freq=0, write_graph=True, write_images=False) -rl = ReduceLROnPlateau(monitor='val_acc',factor=0.1,patience=5,verbose=1,mode="max",min_lr=0.0001) - results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=30, - validation_data=dataset.val_generator,validation_steps=dataset.val_steps,callbacks=[es,tb,rl]) - -''' -def show_subplot(original, reconstructed): - plt.subplot(1, 2, 1) - plt.imshow(original.squeeze() + 0.5,cmap='gray') - plt.title("Original") - plt.axis("off") - - plt.subplot(1, 2, 2) - plt.imshow(reconstructed.squeeze() + 0.5,cmap='gray') - plt.title("Reconstructed") - plt.axis("off") - - plt.show() - - - - -import pickle - -# same filename -filename = "resulta.pickle" -with open(filename, "rb") as file: - x_train = pickle.load(file) - -filename = "resultb.pickle" -with open(filename, "rb") as file: - data_variance = pickle.load(file) - -filename = "resultc.pickle" -with open(filename, "rb") as file: - x_test_scaled = pickle.load(file) - -''' \ No newline at end of file + validation_data=dataset.val_generator,validation_steps=dataset.val_steps) From 8d340edaf3c8d53278d7408a1aff329850be24bb Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:38:08 +1000 Subject: [PATCH 19/31] Input shape fixed Incorrect input shape found to be causing errors --- recognition/AA_VQVAE_Mine/modules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index 4719c09243..a2272bc12b 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -32,7 +32,7 @@ def deconv_block(tensor, residual, nfilters, size=3, padding='same', strides=(2, def Unet(h, w, filters): # down - input = Input(shape=(h, w, 1), name='image_input') + input = Input(shape=(h, w, 3), name='image_input') conv1_snapshot = conv_block(input, nfilters=filters) conv1_out = MaxPooling2D(pool_size=(2, 2))(conv1_snapshot) conv2_snapshot = conv_block(conv1_out, nfilters=filters*2) From e81c877c0e86d6d3fcb2a6d5a9eb37378b1bd8fa Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:39:46 +1000 Subject: [PATCH 20/31] Images and Epochs fixed Images were too large & causing memory errors. Also, Epochs were taking too long and reached a reasonable val-accuracy after only 10 epochs. --- recognition/AA_VQVAE_Mine/dataset.py | 4 ++-- recognition/AA_VQVAE_Mine/train.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index 33daaceafd..e61dc7d843 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -16,8 +16,8 @@ from random import sample, choice import shutil -img_h = 4288 -img_w = 2848 +img_h = 432 +img_w = 288 b_size = 32 diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index 99190b07b9..8b9e72dc90 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -16,5 +16,5 @@ modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=['accuracy']) -results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=30, +results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=10, validation_data=dataset.val_generator,validation_steps=dataset.val_steps) From 33214139343fa410956fe4ae1dacf15c0c95f23d Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:42:03 +1000 Subject: [PATCH 21/31] Fixed Train+Test Source code merged training and testing data - this would invalidate results - fixed. --- recognition/AA_VQVAE_Mine/dataset.py | 39 +++------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/AA_VQVAE_Mine/dataset.py index e61dc7d843..255d6454cb 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/AA_VQVAE_Mine/dataset.py @@ -31,15 +31,7 @@ "ISIC-2017_Validation_Data", "ISIC-2017_Validation_Truth" ] -''' -for p in paths: - folder_fp = os.path.join(im_root, p) - for im_fn in os.listdir(folder_fp): - im_fp = os.path.join(folder_fp, im_fn) - new_im = os.path.join(folder_fp, im_fn) - im = Image.open(new_im).convert("L") - im.save(new_im) -''' + train_imgs = list((im_root / "ISIC-2017_Training_Data").glob("*.jpg")) train_labels = list((im_root / "ISIC-2017_Training_Truth").glob("*.png")) test_imgs = list((im_root / "ISIC-2017_Test_Data").glob("*.jpg")) @@ -147,34 +139,11 @@ def __data_generation(self, list_IDs_temp): return np.array(batch_imgs) ,np.array(batch_labels) -train_generator = DataGenerator(train_pair+test_pair,class_map,b_size, dim=(img_w,img_h,3) ,shuffle=True) +train_generator = DataGenerator(train_pair,class_map,b_size, dim=(img_w,img_h,3) ,shuffle=True) train_steps = train_generator.__len__() -X,Y = train_generator.__getitem__(1) -print(Y.shape) +test_generator = DataGenerator(test_pair,class_map,b_size, dim=(img_w,img_h,3) ,shuffle=True) +test_steps = test_generator.__len__() val_generator = DataGenerator(val_pair, class_map, batch_size=4, dim=(img_w,img_h,3) ,shuffle=True) val_steps = val_generator.__len__() - - -print("no errors") - - -''' - -import pickle - -# example, replace with your result -filename = "resulta.pickle" -with open(filename, "wb") as file: - pickle.dump(x_train, file) - -filename = "resultb.pickle" -with open(filename, "wb") as file: - pickle.dump(data_variance, file) - -filename = "resultc.pickle" -with open(filename, "wb") as file: - pickle.dump(x_test_scaled, file) - -''' \ No newline at end of file From 05714966e27eee50044fb1ff6fd1f4953477547e Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:47:46 +1000 Subject: [PATCH 22/31] Producing Labels The code now runs and produces fairly decent labels for the images (when run to 30 epochs, the labels almost seem better than the true labels for identifying skin discolourations - possibly over trained, so 10 epochs will be kept as optimal) --- recognition/AA_VQVAE_Mine/modules.py | 8 +++-- recognition/AA_VQVAE_Mine/predict.py | 52 +++++++++++++++++++--------- recognition/AA_VQVAE_Mine/train.py | 4 --- 3 files changed, 41 insertions(+), 23 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index a2272bc12b..3387581270 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -9,9 +9,11 @@ from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, concatenate, Conv2DTranspose, BatchNormalization, Activation, Dropout from tensorflow.keras.models import Model, load_model -img_h = 4288 -img_w = 2848 -b_size = 32 +import dataset + +img_h = dataset.img_h +img_w = dataset.img_w +b_size = dataset.b_size def conv_block(tensor, nfilters, size=3, padding='same', initializer="he_normal"): block = Conv2D(filters=nfilters, kernel_size=(size, size), padding=padding, kernel_initializer=initializer)(tensor) diff --git a/recognition/AA_VQVAE_Mine/predict.py b/recognition/AA_VQVAE_Mine/predict.py index 1b20708a45..3ef118630d 100644 --- a/recognition/AA_VQVAE_Mine/predict.py +++ b/recognition/AA_VQVAE_Mine/predict.py @@ -1,21 +1,41 @@ -def show_subplot(original, reconstructed): - plt.subplot(1, 2, 1) - plt.imshow(original.squeeze() + 0.5) - plt.title("Original") - plt.axis("off") +import numpy as np +import matplotlib.pyplot as plt - plt.subplot(1, 2, 2) - plt.imshow(reconstructed.squeeze() + 0.5) - plt.title("Reconstructed") - plt.axis("off") +from tensorflow import keras +from tensorflow.keras import layers +from tensorflow.keras.preprocessing.image import load_img, img_to_array - plt.show() +import train +import dataset +import modules -trained_vqvae_model = vqvae_trainer.vqvae -idx = np.random.choice(len(x_test_scaled), 10) -test_images = x_test_scaled[idx] -reconstructions_test = trained_vqvae_model.predict(test_images) +img_mask = choice(dataset.val_pair) +img= img_to_array(load_img(img_mask[0] , target_size= (dataset.img_w,dataset.img_h))) +gt_img = img_to_array(load_img(img_mask[1] , target_size= (dataset.img_w,dataset.img_h))) -for test_image, reconstructed_image in zip(test_images, reconstructions_test): - show_subplot(test_image, reconstructed_image) \ No newline at end of file +def make_prediction(model,img_path,shape): + img= img_to_array(load_img(img_path , target_size= shape))/255. + img = np.expand_dims(img,axis=0) + labels = model.predict(img) + labels = np.argmax(labels[0],axis=2) + return labels + +pred_label = make_prediction(train.model, img_mask[0], (dataset.img_w,dataset.img_h,3)) + +def form_colormap(prediction,mapping): + h,w = prediction.shape + color_label = np.zeros((h,w,3),dtype=np.uint8) + color_label = mapping[prediction] + color_label = color_label.astype(np.uint8) + return color_label + +pred_colored = form_colormap(pred_label,np.array(dataset.class_map)) + +plt.figure(figsize=(15,15)) +plt.subplot(131);plt.title('Original Image') +plt.imshow(img/255.) +plt.subplot(132);plt.title('True labels') +plt.imshow(gt_img/255.) +plt.subplot(133) +plt.imshow(pred_colored/255.);plt.title('predicted labels') \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index 8b9e72dc90..5a5c820133 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -6,10 +6,6 @@ import tensorflow_probability as tfp import tensorflow as tf -from tensorflow.keras.optimizers import Adadelta, Nadam ,Adam -from tensorflow.keras.models import Model, load_model -from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping, ReduceLROnPlateau, CSVLogger, TensorBoard - import dataset import modules From c0a2dd6325ff4de4fe96607012e9af5041891c6f Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 21:48:39 +1000 Subject: [PATCH 23/31] Labels corrected The labels were being printed in a colour map - updated to show correct 'grey scale' black and white --- recognition/AA_VQVAE_Mine/predict.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recognition/AA_VQVAE_Mine/predict.py b/recognition/AA_VQVAE_Mine/predict.py index 3ef118630d..e71067f27e 100644 --- a/recognition/AA_VQVAE_Mine/predict.py +++ b/recognition/AA_VQVAE_Mine/predict.py @@ -38,4 +38,4 @@ def form_colormap(prediction,mapping): plt.subplot(132);plt.title('True labels') plt.imshow(gt_img/255.) plt.subplot(133) -plt.imshow(pred_colored/255.);plt.title('predicted labels') \ No newline at end of file +plt.imshow(pred_colored/255., cmap='gray');plt.title('predicted labels') \ No newline at end of file From 26742c6b45015fca34792a265f442b4ab9116954 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 22:52:13 +1000 Subject: [PATCH 24/31] Updated loss and tweaked metrics Updated loss to use dice coefficient and made improvements model fit call. --- recognition/AA_VQVAE_Mine/modules.py | 10 ++++++++++ recognition/AA_VQVAE_Mine/predict.py | 3 ++- recognition/AA_VQVAE_Mine/train.py | 3 ++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index 3387581270..8b00da2681 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -31,6 +31,16 @@ def deconv_block(tensor, residual, nfilters, size=3, padding='same', strides=(2, block = conv_block(block, nfilters) return block +def dice_similarity(real, pred): + """ + Simple implementation of the Dice Similarity formula from wikipedia + """ + real_flattened = tf.keras.backend.flatten(real) + pred_flattened = tf.keras.backend.flatten(pred) + numerator = 2 * (tf.keras.backend.sum(real_flattened*pred_flattened)) + denominator = tf.keras.backend.sum(real_flattened) + tf.keras.backend.sum(pred_flattened) + + return numerator/denominator def Unet(h, w, filters): # down diff --git a/recognition/AA_VQVAE_Mine/predict.py b/recognition/AA_VQVAE_Mine/predict.py index e71067f27e..2d92aecf12 100644 --- a/recognition/AA_VQVAE_Mine/predict.py +++ b/recognition/AA_VQVAE_Mine/predict.py @@ -5,10 +5,11 @@ from tensorflow.keras import layers from tensorflow.keras.preprocessing.image import load_img, img_to_array +from random import sample, choice + import train import dataset -import modules img_mask = choice(dataset.val_pair) img= img_to_array(load_img(img_mask[0] , target_size= (dataset.img_w,dataset.img_h))) diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index 5a5c820133..f194edb8f0 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -13,4 +13,5 @@ modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=['accuracy']) results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=10, - validation_data=dataset.val_generator,validation_steps=dataset.val_steps) + validation_data=dataset.val_generator,validation_steps=dataset.val_steps, verbose=1, + loss='sparse_categorical_crossentropy', optimizer='adam', metrics=[modules.dice_similarity]) From bb0653e090bb5ae91107f637b776e8d6028d1a9a Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 22:58:02 +1000 Subject: [PATCH 25/31] Fixed the tweaking Put the code from the previous commit in the wrong line - fixed --- recognition/AA_VQVAE_Mine/train.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index f194edb8f0..f8466a647e 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -10,8 +10,7 @@ import dataset import modules -modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=['accuracy']) +modules.model.compile(optimizer='adam', loss='sparse_categorical_crossentropy' ,metrics=[modules.dice_similarity]) results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=10, - validation_data=dataset.val_generator,validation_steps=dataset.val_steps, verbose=1, - loss='sparse_categorical_crossentropy', optimizer='adam', metrics=[modules.dice_similarity]) + validation_data=dataset.val_generator,validation_steps=dataset.val_steps, verbose=1) From 522b0c49ef397fc3fbd96b9fa9aca6e988dde666 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Thu, 20 Oct 2022 23:41:52 +1000 Subject: [PATCH 26/31] Corrected loss --- recognition/AA_VQVAE_Mine/train.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index f8466a647e..c6c33b452f 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -10,7 +10,7 @@ import dataset import modules -modules.model.compile(optimizer='adam', loss='sparse_categorical_crossentropy' ,metrics=[modules.dice_similarity]) +modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=[modules.dice_similarity]) results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=10, validation_data=dataset.val_generator,validation_steps=dataset.val_steps, verbose=1) From 8f4fc9e2e13e72c62fff7d73f4d8d0857578f062 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Fri, 21 Oct 2022 12:58:40 +1000 Subject: [PATCH 27/31] Finalised Code Correct dice similarity and loss implemented. Epochs raised from 10 to 15 and learning rate specialized to 0.00003 to regain good accuracy results. Evaluation and prediction code added to verify functionality. Prediction now outputs 5 comparisons instead of 1. --- recognition/AA_VQVAE_Mine/modules.py | 19 +++++++++----- recognition/AA_VQVAE_Mine/predict.py | 39 ++++++++++++++-------------- recognition/AA_VQVAE_Mine/train.py | 35 +++++++++++++++++++++++-- 3 files changed, 65 insertions(+), 28 deletions(-) diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/AA_VQVAE_Mine/modules.py index 8b00da2681..c70dee723c 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/AA_VQVAE_Mine/modules.py @@ -31,16 +31,21 @@ def deconv_block(tensor, residual, nfilters, size=3, padding='same', strides=(2, block = conv_block(block, nfilters) return block -def dice_similarity(real, pred): +def dice_similarity(x, y): """ - Simple implementation of the Dice Similarity formula from wikipedia + Returns: + int: dice coefficient """ - real_flattened = tf.keras.backend.flatten(real) - pred_flattened = tf.keras.backend.flatten(pred) - numerator = 2 * (tf.keras.backend.sum(real_flattened*pred_flattened)) - denominator = tf.keras.backend.sum(real_flattened) + tf.keras.backend.sum(pred_flattened) + return 2 * (tf.keras.backend.sum(tf.keras.backend.flatten(x) * tf.keras.backend.flatten(y)) + 1) / \ + (tf.keras.backend.sum(tf.keras.backend.flatten(x) + tf.keras.backend.flatten(y)) + 1) - return numerator/denominator + +def dice_loss(x, y): + """ + Returns: + int: dice co-efficient loss + """ + return 1 - dice_similarity(x, y) def Unet(h, w, filters): # down diff --git a/recognition/AA_VQVAE_Mine/predict.py b/recognition/AA_VQVAE_Mine/predict.py index 2d92aecf12..2a52539a51 100644 --- a/recognition/AA_VQVAE_Mine/predict.py +++ b/recognition/AA_VQVAE_Mine/predict.py @@ -11,10 +11,13 @@ import train import dataset -img_mask = choice(dataset.val_pair) -img= img_to_array(load_img(img_mask[0] , target_size= (dataset.img_w,dataset.img_h))) -gt_img = img_to_array(load_img(img_mask[1] , target_size= (dataset.img_w,dataset.img_h))) - +def form_colormap(prediction,mapping): + h,w = prediction.shape + color_label = np.zeros((h,w,3),dtype=np.uint8) + color_label = mapping[prediction] + color_label = color_label.astype(np.uint8) + return color_label + def make_prediction(model,img_path,shape): img= img_to_array(load_img(img_path , target_size= shape))/255. img = np.expand_dims(img,axis=0) @@ -22,21 +25,19 @@ def make_prediction(model,img_path,shape): labels = np.argmax(labels[0],axis=2) return labels -pred_label = make_prediction(train.model, img_mask[0], (dataset.img_w,dataset.img_h,3)) +for i in range(5): + img_mask = choice(dataset.val_pair) + img= img_to_array(load_img(img_mask[0] , target_size= (dataset.img_w,dataset.img_h))) + gt_img = img_to_array(load_img(img_mask[1] , target_size= (dataset.img_w,dataset.img_h))) -def form_colormap(prediction,mapping): - h,w = prediction.shape - color_label = np.zeros((h,w,3),dtype=np.uint8) - color_label = mapping[prediction] - color_label = color_label.astype(np.uint8) - return color_label + pred_label = make_prediction(train.model, img_mask[0], (dataset.img_w,dataset.img_h,3)) -pred_colored = form_colormap(pred_label,np.array(dataset.class_map)) + pred_colored = form_colormap(pred_label,np.array(dataset.class_map)) -plt.figure(figsize=(15,15)) -plt.subplot(131);plt.title('Original Image') -plt.imshow(img/255.) -plt.subplot(132);plt.title('True labels') -plt.imshow(gt_img/255.) -plt.subplot(133) -plt.imshow(pred_colored/255., cmap='gray');plt.title('predicted labels') \ No newline at end of file + plt.figure(figsize=(15,15)) + plt.subplot(131);plt.title('Original Image') + plt.imshow(img/255.) + plt.subplot(132);plt.title('True labels') + plt.imshow(gt_img/255.) + plt.subplot(133) + plt.imshow(pred_colored/255., cmap='gray');plt.title('predicted labels') \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/AA_VQVAE_Mine/train.py index c6c33b452f..376d6de343 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/AA_VQVAE_Mine/train.py @@ -10,7 +10,38 @@ import dataset import modules -modules.model.compile(optimizer='adam', loss='categorical_crossentropy' ,metrics=[modules.dice_similarity]) +modules.model.compile(tf.keras.optimizers.Adam(learning_rate= 0.00003),loss=[modules.dice_loss],metrics=[modules.dice_similarity, 'accuracy']) -results = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=10, +history = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=15, validation_data=dataset.val_generator,validation_steps=dataset.val_steps, verbose=1) + +#Accuracy +plt.plot(history.history['accuracy']) +plt.plot(history.history['val_accuracy']) +plt.title('model accuracy') +plt.ylabel('accuracy') +plt.xlabel('epoch') +plt.legend(['train', 'validation'], loc='upper left') +plt.show() +#dice similarity +plt.plot(history.history['dice_similarity']) +plt.plot(history.history['val_dice_similarity']) +plt.title('model dice_similarity') +plt.ylabel('dice_similarity') +plt.xlabel('epoch') +plt.legend(['train', 'validation'], loc='upper left') +plt.show() +# "Loss" +plt.plot(history.history['loss']) +plt.plot(history.history['val_loss']) +plt.title('model loss') +plt.ylabel('loss') +plt.xlabel('epoch') +plt.legend(['train', 'validation'], loc='upper left') +plt.show() + +loss, dice_similarity, acc = model.evaluate(test_generator,batch_size=b_size) + +print('Test loss:', loss) +print('Test dice_similarity:', dice_similarity) +print('Test accuracy:', acc) \ No newline at end of file From 2c7ad0498e90e32b70ca24e918edc44db99b69a8 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Fri, 21 Oct 2022 19:32:15 +1000 Subject: [PATCH 28/31] Comments and ReadMe Added some general comments & produced ReadMe document. Also updated File Name --- recognition/AA_VQVAE_Mine/README.md | 10 --- recognition/AA_VQVAE_Mine/utils.py | 0 .../Images/acc.png | Bin 0 -> 14872 bytes .../Images/dsc.png | Bin 0 -> 15971 bytes .../Images/evaluation.png | Bin 0 -> 21637 bytes .../Images/good.png | Bin 0 -> 88896 bytes .../Images/good1.png | Bin 0 -> 73416 bytes .../Images/good3.png | Bin 0 -> 74060 bytes .../Images/good5.png | Bin 0 -> 95252 bytes .../Images/good6.png | Bin 0 -> 78869 bytes .../Images/loss.png | Bin 0 -> 14642 bytes .../Images/unet.png | Bin 0 -> 57883 bytes .../s46413587_Improved_Unet_on_ISIC/README.md | 57 ++++++++++++++++++ .../dataset.py | 12 +++- .../modules.py | 9 ++- .../predict.py | 17 +++--- .../train.py | 10 ++- 17 files changed, 91 insertions(+), 24 deletions(-) delete mode 100644 recognition/AA_VQVAE_Mine/README.md delete mode 100644 recognition/AA_VQVAE_Mine/utils.py create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/acc.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/dsc.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/evaluation.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/good.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/good1.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/good3.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/good5.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/good6.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/loss.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/Images/unet.png create mode 100644 recognition/s46413587_Improved_Unet_on_ISIC/README.md rename recognition/{AA_VQVAE_Mine => s46413587_Improved_Unet_on_ISIC}/dataset.py (91%) rename recognition/{AA_VQVAE_Mine => s46413587_Improved_Unet_on_ISIC}/modules.py (87%) rename recognition/{AA_VQVAE_Mine => s46413587_Improved_Unet_on_ISIC}/predict.py (65%) rename recognition/{AA_VQVAE_Mine => s46413587_Improved_Unet_on_ISIC}/train.py (87%) diff --git a/recognition/AA_VQVAE_Mine/README.md b/recognition/AA_VQVAE_Mine/README.md deleted file mode 100644 index 1ffe79516c..0000000000 --- a/recognition/AA_VQVAE_Mine/README.md +++ /dev/null @@ -1,10 +0,0 @@ -Attempt at easy difficulty task. - -1. The readme file should contain a title, a description of the algorithm and the problem that it solves -(approximately a paragraph), how it works in a paragraph and a figure/visualization. -2. It should also list any dependencies required, including versions and address reproducibility of results, -if applicable. -3. provide example inputs, outputs and plots of your algorithm -4. The read me file should be properly formatted using GitHub markdown -5. Describe any specific pre-processing you have used with references if any. Justify your training, validation -and testing splits of the data. diff --git a/recognition/AA_VQVAE_Mine/utils.py b/recognition/AA_VQVAE_Mine/utils.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/Images/acc.png b/recognition/s46413587_Improved_Unet_on_ISIC/Images/acc.png new file mode 100644 index 0000000000000000000000000000000000000000..e5bdea7bcaa43a7f491e7435ab1b8914791aa7e1 GIT binary patch literal 14872 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 literal 0 HcmV?d00001 diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/Images/dsc.png b/recognition/s46413587_Improved_Unet_on_ISIC/Images/dsc.png new file mode 100644 index 0000000000000000000000000000000000000000..8798f33f3a01f4ad0198618a2dcf97d18dfe7455 GIT binary patch literal 15971 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

|Zav z8(--rf)uT>q`kVf9s{~$d-C`*3h1<`hME8)rWa)Ye+D^J!h)Fy3ar<$%iIFN2C5Wl z#d4aZq}sPcUp-A3P<33 z?z@TfPci%`Y;&c~|LBj{!k(j@j`$gK@l_Lw;XIO>OYnz+navm7ecWX!39nT^rim+e3t}!tHN~N z^>Tp4|7@jVf)ko&Zm~FFD;8j-eF@e;hyWbs5#3AB=Dq0Rv)@C^b?YpiW&!k{aoZJhLl@M zSI3c`^f)>gDA}UWCA>m5hT66RR}5hVgibvB_FDcgOVr8Qfu>Y4_+`8{lOw+YTu(;P;ciAW~EC2&Plw( z;p8*JS(^3S~mtNZ+XtML7Sf?`s zR~o_Rf!XCZa*%SnTRSp%yrKA=B*Ef_c)v)&X&?&ZW_6*T5s-IQhG_-`VtD@RU>a3` z@nCu&H%%+dYzkSq28hKNEH`(rT+`!GHW;VTsOUME4RDVS~JAnm7=1^?7uzbN4ps$Lk=H{lvu)A@HPG&nTHLZtJVFJN2eW))|J#>R z>LKa~i{1Ix#QX0NZcpY!>!29_I(eSMmYgJRExjLV$v_}t_G=~DC;S!5HVEX6GTc@B ztK`t$$s_pvX~$+{6a6FyS=;@dH=Fr#wHzr2uN;3hEx zrj6;b;b?`yNqp$lpKA-N!>3DZJ<)q*AezOSY$={HDWwK_t$GYs=bK(jAkpcVZ~K#G z0Z(kcKcy*-u!R_j(@3An3i%Oi(jMshP`!1gBy%FjG3ZG~+iE4pBW4IM7GY2TM3V_3 zjmdz4it3ffD9Kf5i8+V|WPnl;XU_9>=w^6?=^7g$DwIt*_X@yfW-X(e70^2ow)}4q z{{P7He+^Rkm?375ay83s4E|4l?lZCkI@pRG8n>ja`N-l!RB!goIlUA`0+;8!3FPqe zdqhf+MUTfg+!ZY8ye6^{+_pY@-n-hn^uipIH@ zEYjd2#Y_?}py;1v!QC?;+5>q})qH~k__azn)$o)1Ab1(bX@1WRsLV}C!JG{qmc2E5 zpd}5cOKgQ8YV8w*UO#N5ZFAeR^u&SV+Hk@&Fdt<$K4Y%pB!vwGoKBs*hSnU!0$;pp zx_pD@SBSg}ZiTp{H{am3_w2@m;6PlyTrwQ&`hiek^q0w|Dx})NMzCF+Ir4sdO=mYBd0U*;0^u7L1P5XZhj&CsrjRT@K7Z=|H4dEaqIW<_htZ~Ty0_VrY=Kufz literal 0 HcmV?d00001 diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/Images/evaluation.png b/recognition/s46413587_Improved_Unet_on_ISIC/Images/evaluation.png new file mode 100644 index 0000000000000000000000000000000000000000..07088f2c673820e8f304b99da36f20b567f992f3 GIT binary patch literal 21637 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 UO2?Rh)uCTu9X%XsF=wy+4ND=5O8@`> literal 0 HcmV?d00001 diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/Images/good.png b/recognition/s46413587_Improved_Unet_on_ISIC/Images/good.png new file mode 100644 index 0000000000000000000000000000000000000000..8943633b5ab23bb5253b9ab32d6213d50d0ec1e8 GIT binary patch literal 88896 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 >GS5uW%lTEo#iEtn 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 Z(Q~PJL28Y$rt6XLKq@-Gw@S9r{|8^JzcBy+ literal 0 HcmV?d00001 diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/Images/good5.png b/recognition/s46413587_Improved_Unet_on_ISIC/Images/good5.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5d3895702ffd4fd7b2f56408d6a4c1468767e2 GIT binary patch literal 95252 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

-X|L! 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 literal 0 HcmV?d00001 diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/README.md b/recognition/s46413587_Improved_Unet_on_ISIC/README.md new file mode 100644 index 0000000000..7e1ab925a7 --- /dev/null +++ b/recognition/s46413587_Improved_Unet_on_ISIC/README.md @@ -0,0 +1,57 @@ +# Improved U-Net applied to the 2017 International Skin Imaging Collaboration (ISIC) Dataset with Segmentation + +## Why use U-Net on ISIC? +The ISIC is an annual challenge that serves as a part of an international effort to use computer vision to improve melanoma diagnosis based on images of skin legions. +A U-Net is a type of convolutional neural network that has been specifically developed for biomedical image segmentation, and is a collection of modifications made to a fully convolutional network with the intention of improving segmentation accuracy on smaller training sets. +By utilizing an improved U-Net algorithm, this project works to identify regions of a given image in which there is significant discolouration, based on training with images and corresponding segmentation mask images, to analyse each pixel of an image to determine whether or not the area is a different colour to the natural skin, identifying potential melanomas. + +## How an Improved U-Net works +An Improved U-Net works in 8 main sections, each comprised of two convolutional layers. These 8 sections are split into two parts - condensing and upsampling. The condensing part has 4 of these two part layers, where in the data goes through the standard convolutional layers, but at the end of each 'part' (or, every two layers), a snapshot of the state of the network layer is taken and stored for later use. Then, the network goes through 4 corresponding 'upsampling' layers, which replace the standard pooling layers by instead upscaling the previous layer and concatenating with the appropriate 'snapshot' from the convolutional layers. +I have followed the concepts and principals as explained the paper [Brain Tumor Segmentation and Radiomics Survival Prediction: Contribution to the BRATS 2017 Challenge](https://arxiv.org/pdf/1802.10508v1.pdf). This paper also provides this diagram, which provides a clearer visualization of how these layers interact. + +![1](Images\unet.png) + +I have also taken inspiration and advice from [This Kaggel U-Net implementation](https://www.kaggle.com/code/mukulkr/camvid-segmentation-using-unet/notebook) which segments an images into 32 different possible categories. + +## Results +The U-Net I have implemented has been very successful, getting these sound results on a test set after only 15 epochs: + +![2](Images\evaluation.png) + +Which can be visualised: + +![3](Images\good.png) +![4](Images\good1.png) +![5](Images\good3.png) +![6](Images\good5.png) + + +I have also created a plot of loss, Accuracy, and Dice Similarity (for more details on this metric, please read the paper above). + +![7](Images\loss.png) +![8](Images\acc.png) +![9](Images\dsc.png) + +## Reproducibility +These results were attained by running the code on google colab, with random seed set to 909, and all packages at their most current version as at 20/10/22. Note that due to computing and time constraints, it was run using only the 'training' set from the ISIC data, and was downloaded and split with the following code: +``` +dataset_url = "https://isic-challenge-data.s3.amazonaws.com/2017/ISIC-2017_Training_Data.zip" +maskset_url = "https://isic-challenge-data.s3.amazonaws.com/2017/ISIC-2017_Training_Part1_GroundTruth.zip" +data_dir = keras.utils.get_file(origin=dataset_url, extract=True) +mask_dir = keras.utils.get_file(origin=maskset_url, extract=True) + +im_root = "/root/.keras/datasets/ISIC-2017_Training_Data" +lb_root = "/root/.keras/datasets/ISIC-2017_Training_Part1_GroundTruth" +data = Path(im_root) +mask = Path(lb_root) + +base_imgs = list((data).glob("*.jpg")) + +train_imgs, val_imgs, test_imgs = np.split(base_imgs, [int(len(base_imgs)*0.7), int(len(base_imgs)*0.9)]) + +train_pair = make_pair(train_imgs, mask) +test_pair = make_pair(test_imgs, mask) +val_pair = make_pair(val_imgs, mask) +``` + +The split of 7:2:1 was chosen in accordance with the standard split, though the testing set is somewhat smaller than standard to ensure there was sufficient data for training on the smaller set. \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/dataset.py b/recognition/s46413587_Improved_Unet_on_ISIC/dataset.py similarity index 91% rename from recognition/AA_VQVAE_Mine/dataset.py rename to recognition/s46413587_Improved_Unet_on_ISIC/dataset.py index 255d6454cb..68eb44b673 100644 --- a/recognition/AA_VQVAE_Mine/dataset.py +++ b/recognition/s46413587_Improved_Unet_on_ISIC/dataset.py @@ -21,7 +21,7 @@ b_size = 32 -im_root = Path(os.path.join(os.getcwd(), "recognition\AA_VQVAE_Mine\DataSets\ISIC")) +im_root = Path(os.path.join(os.getcwd(), "recognition\s46413587_Improved_Unet_on_ISIC\DataSets\ISIC")) paths = [ "ISIC-2017_Training_Data", @@ -31,7 +31,7 @@ "ISIC-2017_Validation_Data", "ISIC-2017_Validation_Truth" ] - +#Import data into lists train_imgs = list((im_root / "ISIC-2017_Training_Data").glob("*.jpg")) train_labels = list((im_root / "ISIC-2017_Training_Truth").glob("*.png")) test_imgs = list((im_root / "ISIC-2017_Test_Data").glob("*.jpg")) @@ -41,6 +41,7 @@ (len(train_imgs),len(train_labels)), (len(test_imgs),len(test_labels)) , (len(val_imgs),len(val_labels)) +#Pair correct mask with correct image def make_pair(img,label,dataset): pairs = [] for im in img: @@ -52,6 +53,7 @@ def make_pair(img,label,dataset): test_pair = make_pair(test_imgs, "ISIC-2017_Test_Truth", im_root) val_pair = make_pair(val_imgs, "ISIC-2017_Validation_Truth", im_root) +#Check this works by producing a random pair temp = choice(train_pair) img = img_to_array(load_img(temp[0], target_size=(img_w,img_h))) mask = img_to_array(load_img(temp[1], target_size = (img_w,img_h))) @@ -65,12 +67,14 @@ def make_pair(img,label,dataset): class_map = [(255),(0)] +#Correct Mask size def assert_map_range(mask,class_map): mask = mask.astype("uint8") for j in range(img_w): for k in range(img_h): assert mask[j][k] in class_map , tuple(mask[j][k]) +#Create 2D vector representing the pixels of the mask for comparison def form_2D_label(mask,class_map): mask = mask.astype("uint8") label = np.zeros(mask.shape[:2],dtype= np.uint8) @@ -83,6 +87,7 @@ def form_2D_label(mask,class_map): lab = form_2D_label(mask,class_map) np.unique(lab,return_counts=True) +#Keras Data generator (Very Generic for Segmentation problems) class DataGenerator(Sequence): 'Generates data for Keras' @@ -139,6 +144,7 @@ def __data_generation(self, list_IDs_temp): return np.array(batch_imgs) ,np.array(batch_labels) +#Correctly format all the data train_generator = DataGenerator(train_pair,class_map,b_size, dim=(img_w,img_h,3) ,shuffle=True) train_steps = train_generator.__len__() @@ -146,4 +152,4 @@ def __data_generation(self, list_IDs_temp): test_steps = test_generator.__len__() val_generator = DataGenerator(val_pair, class_map, batch_size=4, dim=(img_w,img_h,3) ,shuffle=True) -val_steps = val_generator.__len__() +val_steps = val_generator.__len__() \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/modules.py b/recognition/s46413587_Improved_Unet_on_ISIC/modules.py similarity index 87% rename from recognition/AA_VQVAE_Mine/modules.py rename to recognition/s46413587_Improved_Unet_on_ISIC/modules.py index c70dee723c..e5a930ed69 100644 --- a/recognition/AA_VQVAE_Mine/modules.py +++ b/recognition/s46413587_Improved_Unet_on_ISIC/modules.py @@ -15,6 +15,8 @@ img_w = dataset.img_w b_size = dataset.b_size +#Convolutional 'block' with two layers - four of these pairs go in a U-Net, and they are split into these pairs so +# snapshots can be taken for upsampling def conv_block(tensor, nfilters, size=3, padding='same', initializer="he_normal"): block = Conv2D(filters=nfilters, kernel_size=(size, size), padding=padding, kernel_initializer=initializer)(tensor) block = BatchNormalization()(block) @@ -24,13 +26,14 @@ def conv_block(tensor, nfilters, size=3, padding='same', initializer="he_normal" block = Activation("relu")(block) return block - +#Upsampling blocks that replace pooling and 'undo' the above convolutions def deconv_block(tensor, residual, nfilters, size=3, padding='same', strides=(2, 2)): block = Conv2DTranspose(nfilters, kernel_size=(size, size), strides=strides, padding=padding)(tensor) block = concatenate([block, residual], axis=3) block = conv_block(block, nfilters) return block +#Dice similarity coefficient calculator - Metric for the model def dice_similarity(x, y): """ Returns: @@ -39,7 +42,7 @@ def dice_similarity(x, y): return 2 * (tf.keras.backend.sum(tf.keras.backend.flatten(x) * tf.keras.backend.flatten(y)) + 1) / \ (tf.keras.backend.sum(tf.keras.backend.flatten(x) + tf.keras.backend.flatten(y)) + 1) - +#The inverse of the above function to be used as a loss function for the model def dice_loss(x, y): """ Returns: @@ -47,6 +50,7 @@ def dice_loss(x, y): """ return 1 - dice_similarity(x, y) +#The overarching U-Net structure def Unet(h, w, filters): # down input = Input(shape=(h, w, 3), name='image_input') @@ -73,4 +77,5 @@ def Unet(h, w, filters): model = Model(inputs=input, outputs=output_layer, name='Unet') return model +#Make the Model model = Unet(img_w,img_h, 64) diff --git a/recognition/AA_VQVAE_Mine/predict.py b/recognition/s46413587_Improved_Unet_on_ISIC/predict.py similarity index 65% rename from recognition/AA_VQVAE_Mine/predict.py rename to recognition/s46413587_Improved_Unet_on_ISIC/predict.py index 2a52539a51..2f0578acd6 100644 --- a/recognition/AA_VQVAE_Mine/predict.py +++ b/recognition/s46413587_Improved_Unet_on_ISIC/predict.py @@ -11,13 +11,15 @@ import train import dataset -def form_colormap(prediction,mapping): +#Colour Map to create the predicted image from the 2D pixel vector +def form_colourmap(prediction,mapping): h,w = prediction.shape - color_label = np.zeros((h,w,3),dtype=np.uint8) - color_label = mapping[prediction] - color_label = color_label.astype(np.uint8) - return color_label + colour_label = np.zeros((h,w,3),dtype=np.uint8) + colour_label = mapping[prediction] + colour_label = colour_label.astype(np.uint8) + return colour_label +#Use the model to predict the 2D pixel vector def make_prediction(model,img_path,shape): img= img_to_array(load_img(img_path , target_size= shape))/255. img = np.expand_dims(img,axis=0) @@ -25,6 +27,7 @@ def make_prediction(model,img_path,shape): labels = np.argmax(labels[0],axis=2) return labels +#Produce 5 sample images with matching predictions and the true mask (from validation set) for i in range(5): img_mask = choice(dataset.val_pair) img= img_to_array(load_img(img_mask[0] , target_size= (dataset.img_w,dataset.img_h))) @@ -32,7 +35,7 @@ def make_prediction(model,img_path,shape): pred_label = make_prediction(train.model, img_mask[0], (dataset.img_w,dataset.img_h,3)) - pred_colored = form_colormap(pred_label,np.array(dataset.class_map)) + pred_coloured = form_colourmap(pred_label,np.array(dataset.class_map)) plt.figure(figsize=(15,15)) plt.subplot(131);plt.title('Original Image') @@ -40,4 +43,4 @@ def make_prediction(model,img_path,shape): plt.subplot(132);plt.title('True labels') plt.imshow(gt_img/255.) plt.subplot(133) - plt.imshow(pred_colored/255., cmap='gray');plt.title('predicted labels') \ No newline at end of file + plt.imshow(pred_coloured/255., cmap='gray');plt.title('predicted labels') \ No newline at end of file diff --git a/recognition/AA_VQVAE_Mine/train.py b/recognition/s46413587_Improved_Unet_on_ISIC/train.py similarity index 87% rename from recognition/AA_VQVAE_Mine/train.py rename to recognition/s46413587_Improved_Unet_on_ISIC/train.py index 376d6de343..8eed063e48 100644 --- a/recognition/AA_VQVAE_Mine/train.py +++ b/recognition/s46413587_Improved_Unet_on_ISIC/train.py @@ -10,11 +10,15 @@ import dataset import modules +#Make and train the model + modules.model.compile(tf.keras.optimizers.Adam(learning_rate= 0.00003),loss=[modules.dice_loss],metrics=[modules.dice_similarity, 'accuracy']) history = modules.model.fit(dataset.train_generator , steps_per_epoch=dataset.train_steps ,epochs=15, validation_data=dataset.val_generator,validation_steps=dataset.val_steps, verbose=1) +#Plot the results + #Accuracy plt.plot(history.history['accuracy']) plt.plot(history.history['val_accuracy']) @@ -23,7 +27,7 @@ plt.xlabel('epoch') plt.legend(['train', 'validation'], loc='upper left') plt.show() -#dice similarity +#Dice similarity plt.plot(history.history['dice_similarity']) plt.plot(history.history['val_dice_similarity']) plt.title('model dice_similarity') @@ -40,7 +44,9 @@ plt.legend(['train', 'validation'], loc='upper left') plt.show() -loss, dice_similarity, acc = model.evaluate(test_generator,batch_size=b_size) +#Evaluate the model on the test set + +loss, dice_similarity, acc = modules.model.evaluate(dataset.test_generator,batch_size=dataset.b_size) print('Test loss:', loss) print('Test dice_similarity:', dice_similarity) From 2940abd30daac4a669ee6352359b339e882d8fdd Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Fri, 21 Oct 2022 19:37:10 +1000 Subject: [PATCH 29/31] Attempt to solve image Display error --- recognition/s46413587_Improved_Unet_on_ISIC/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/README.md b/recognition/s46413587_Improved_Unet_on_ISIC/README.md index 7e1ab925a7..50a5b85481 100644 --- a/recognition/s46413587_Improved_Unet_on_ISIC/README.md +++ b/recognition/s46413587_Improved_Unet_on_ISIC/README.md @@ -28,8 +28,8 @@ Which can be visualised: I have also created a plot of loss, Accuracy, and Dice Similarity (for more details on this metric, please read the paper above). -![7](Images\loss.png) -![8](Images\acc.png) +![7](\recognition\s46413587_Improved_Unet_on_ISIC\Images\loss.png) +![8](recognition\s46413587_Improved_Unet_on_ISIC\Images\acc.png) ![9](Images\dsc.png) ## Reproducibility @@ -54,4 +54,4 @@ test_pair = make_pair(test_imgs, mask) val_pair = make_pair(val_imgs, mask) ``` -The split of 7:2:1 was chosen in accordance with the standard split, though the testing set is somewhat smaller than standard to ensure there was sufficient data for training on the smaller set. \ No newline at end of file +The split of 7:2:1 was chosen in accordance with the standard split, though the testing set is somewhat smaller than standard to ensure there was sufficient data for training on the smaller set. From 539fa1b9d8899d42ef5aff79f5a394fb80309dcc Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Fri, 21 Oct 2022 19:39:19 +1000 Subject: [PATCH 30/31] Fixed ReadMe Image display Issues --- .../s46413587_Improved_Unet_on_ISIC/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/README.md b/recognition/s46413587_Improved_Unet_on_ISIC/README.md index 50a5b85481..4bc429908c 100644 --- a/recognition/s46413587_Improved_Unet_on_ISIC/README.md +++ b/recognition/s46413587_Improved_Unet_on_ISIC/README.md @@ -9,7 +9,7 @@ By utilizing an improved U-Net algorithm, this project works to identify regions An Improved U-Net works in 8 main sections, each comprised of two convolutional layers. These 8 sections are split into two parts - condensing and upsampling. The condensing part has 4 of these two part layers, where in the data goes through the standard convolutional layers, but at the end of each 'part' (or, every two layers), a snapshot of the state of the network layer is taken and stored for later use. Then, the network goes through 4 corresponding 'upsampling' layers, which replace the standard pooling layers by instead upscaling the previous layer and concatenating with the appropriate 'snapshot' from the convolutional layers. I have followed the concepts and principals as explained the paper [Brain Tumor Segmentation and Radiomics Survival Prediction: Contribution to the BRATS 2017 Challenge](https://arxiv.org/pdf/1802.10508v1.pdf). This paper also provides this diagram, which provides a clearer visualization of how these layers interact. -![1](Images\unet.png) +![1](Images/unet.png) I have also taken inspiration and advice from [This Kaggel U-Net implementation](https://www.kaggle.com/code/mukulkr/camvid-segmentation-using-unet/notebook) which segments an images into 32 different possible categories. @@ -20,17 +20,17 @@ The U-Net I have implemented has been very successful, getting these sound resul Which can be visualised: -![3](Images\good.png) -![4](Images\good1.png) -![5](Images\good3.png) -![6](Images\good5.png) +![3](Images/good.png) +![4](Images/good1.png) +![5](Images/good3.png) +![6](Images/good5.png) I have also created a plot of loss, Accuracy, and Dice Similarity (for more details on this metric, please read the paper above). -![7](\recognition\s46413587_Improved_Unet_on_ISIC\Images\loss.png) -![8](recognition\s46413587_Improved_Unet_on_ISIC\Images\acc.png) -![9](Images\dsc.png) +![7](Images/loss.png) +![8](Images/acc.png) +![9](Images/dsc.png) ## Reproducibility These results were attained by running the code on google colab, with random seed set to 909, and all packages at their most current version as at 20/10/22. Note that due to computing and time constraints, it was run using only the 'training' set from the ISIC data, and was downloaded and split with the following code: From 34d7c282b083f453cedd08a8bb025210fcb5fff8 Mon Sep 17 00:00:00 2001 From: MikStap <111872333+MikStap@users.noreply.github.com> Date: Fri, 21 Oct 2022 19:39:52 +1000 Subject: [PATCH 31/31] Final Image Fixed --- recognition/s46413587_Improved_Unet_on_ISIC/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recognition/s46413587_Improved_Unet_on_ISIC/README.md b/recognition/s46413587_Improved_Unet_on_ISIC/README.md index 4bc429908c..54bb2d3f57 100644 --- a/recognition/s46413587_Improved_Unet_on_ISIC/README.md +++ b/recognition/s46413587_Improved_Unet_on_ISIC/README.md @@ -16,7 +16,7 @@ I have also taken inspiration and advice from [This Kaggel U-Net implementation] ## Results The U-Net I have implemented has been very successful, getting these sound results on a test set after only 15 epochs: -![2](Images\evaluation.png) +![2](Images/evaluation.png) Which can be visualised: