diff options
| author | Vineet Kumar <git@vineetk.net> | 2026-04-22 09:44:03 -0400 |
|---|---|---|
| committer | Vineet Kumar <git@vineetk.net> | 2026-04-22 09:44:03 -0400 |
| commit | 8aa7de25b342c5fbe2f85dcf68918eb5614b92c8 (patch) | |
| tree | cc3033145162e8fcfb301e33260afc56bf1fec0a | |
| parent | 9b8cf40297e4e0bee41e3a7697bb063c04ae7335 (diff) | |
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | assignment/proposal.org | 93 | ||||
| -rw-r--r-- | assignment/proposal.pdf | bin | 0 -> 113957 bytes | |||
| -rw-r--r-- | assignment/report.org (renamed from report.org) | 0 | ||||
| -rw-r--r-- | assignment/report.pdf | bin | 0 -> 1004606 bytes | |||
| -rw-r--r-- | assignment/retina_class0.jpg | bin | 0 -> 55083 bytes | |||
| -rw-r--r-- | assignment/retina_class4.jpg | bin | 0 -> 37113 bytes |
7 files changed, 95 insertions, 3 deletions
| @@ -4,6 +4,5 @@ guix-root | |||
| 4 | guix-root-1-link | 4 | guix-root-1-link |
| 5 | *.pth | 5 | *.pth |
| 6 | venv/ | 6 | venv/ |
| 7 | report.tex | 7 | *.tex |
| 8 | report.pdf | 8 | *.bbl |
| 9 | report.bbl | ||
diff --git a/assignment/proposal.org b/assignment/proposal.org new file mode 100644 index 0000000..727418a --- /dev/null +++ b/assignment/proposal.org | |||
| @@ -0,0 +1,93 @@ | |||
| 1 | #+TITLE: Diabetic Retinopathy Classification | ||
| 2 | #+AUTHOR: Vineet Kumar | ||
| 3 | #+DATE: | ||
| 4 | #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t | ||
| 5 | #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc | ||
| 6 | #+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:https://orgmode.org/org-info.js | ||
| 7 | #+EXPORT_SELECT_TAGS: export | ||
| 8 | #+EXPORT_EXCLUDE_TAGS: noexport | ||
| 9 | #+HTML_LINK_UP: | ||
| 10 | #+HTML_LINK_HOME: | ||
| 11 | #+startup: beamer | ||
| 12 | #+LaTeX_CLASS: beamer | ||
| 13 | #+LaTeX_CLASS_OPTIONS: [aspectratio=169,bigger] | ||
| 14 | #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %4BEAMER_col(Col) %10BEAMER_extra(Extra) | ||
| 15 | #+BEAMER_THEME: metropolis | ||
| 16 | #+latex_header: \usepackage{fontspec} | ||
| 17 | #+latex_header: \setsansfont{Comic Neue} | ||
| 18 | |||
| 19 | * Objective | ||
| 20 | ** Objective | ||
| 21 | - Classifying diabetic retinopathy into 5 classes | ||
| 22 | 1. Healthy retina | ||
| 23 | 2. Mild nonproliferative diabetic retinopathy | ||
| 24 | 3. Moderate nonproliferative diabetic retinopathy | ||
| 25 | 4. Severe nonproliferative diabetic retinopathy | ||
| 26 | 5. Proliferative diabetic retinopathy | ||
| 27 | - Input would be a picture of a retina (like those from an optometrist | ||
| 28 | when they scan your eye) | ||
| 29 | |||
| 30 | * Materials and Method | ||
| 31 | ** Materials | ||
| 32 | - Using a dataset from Kaggle ("Diabetic Retinopathy Arranged") that | ||
| 33 | has all the labelled images: | ||
| 34 | - There is a class imbalance (73% / 25k images are of healthy | ||
| 35 | retinas), would be accounted for with the loss function when | ||
| 36 | training | ||
| 37 | - Class 0: 25k images | ||
| 38 | - Class 1: 2.4k images | ||
| 39 | - Class 2: 5.2k images | ||
| 40 | - Class 3: 800 images | ||
| 41 | - Class 4: 700 images | ||
| 42 | |||
| 43 | ** Image Examples | ||
| 44 | *** figure | ||
| 45 | :PROPERTIES: | ||
| 46 | :BEAMER_col: 0.5 | ||
| 47 | :END: | ||
| 48 | #+ATTR_LATEX: :width 0.8\textheight | ||
| 49 | #+CAPTION: Class 0: Healthy retina | ||
| 50 | [[./retina_class0.jpg]] | ||
| 51 | |||
| 52 | *** figure 2 | ||
| 53 | :PROPERTIES: | ||
| 54 | :BEAMER_col: 0.5 | ||
| 55 | :END: | ||
| 56 | #+ATTR_LATEX: :width 0.8\textheight | ||
| 57 | #+CAPTION: Class 4: Proliferative diabetic retinopathy | ||
| 58 | [[./retina_class4.jpg]] | ||
| 59 | |||
| 60 | |||
| 61 | ** Method | ||
| 62 | - Training a CNN model for classification | ||
| 63 | - There exists a few that can be finetuned on a dataset such as | ||
| 64 | Microsoft's ResNet-50 (2015) and Google's EfficientNet-B0 (2019) | ||
| 65 | - I would be comparing with both models | ||
| 66 | - Preprocessing | ||
| 67 | - Resize images to 224x224 (input size that EfficientNet uses) | ||
| 68 | - Apply CLAHE (Contrast Limited Adaptive Histogram Equalization) on | ||
| 69 | luminosity channel of LAB | ||
| 70 | - there is more usable information for a retina in the luminosity | ||
| 71 | channel than the chrominance (colour) channel | ||
| 72 | - I would also compare without CLAHE to see how that affects | ||
| 73 | metrics | ||
| 74 | - Normalize with ImageNet's mean and std | ||
| 75 | - Perform random flips and rotations of the images so that the model | ||
| 76 | can generalize across orientations | ||
| 77 | |||
| 78 | ** Metrics | ||
| 79 | *** Primary | ||
| 80 | - Weighted F1-score (to account for class imbalance) | ||
| 81 | *** Additional | ||
| 82 | - Per-class precision and recall | ||
| 83 | - Confusion matrix | ||
| 84 | |||
| 85 | * Timeline | ||
| 86 | ** Timeline | ||
| 87 | - Day 1-3: dataset setup, make preprocessing pipeline, perform baseline | ||
| 88 | training on both models | ||
| 89 | - Day 4-6: evaluate and compare outputs, tune weighted loss function, | ||
| 90 | maybe train with additional epochs for better metrics (depending on | ||
| 91 | how long it takes) | ||
| 92 | - Day 7-9: gather final metrics, start preparing final report and | ||
| 93 | presentation slides | ||
diff --git a/assignment/proposal.pdf b/assignment/proposal.pdf new file mode 100644 index 0000000..d922705 --- /dev/null +++ b/assignment/proposal.pdf | |||
| Binary files differ | |||
diff --git a/report.org b/assignment/report.org index 044e888..044e888 100644 --- a/report.org +++ b/assignment/report.org | |||
diff --git a/assignment/report.pdf b/assignment/report.pdf new file mode 100644 index 0000000..8ace579 --- /dev/null +++ b/assignment/report.pdf | |||
| Binary files differ | |||
diff --git a/assignment/retina_class0.jpg b/assignment/retina_class0.jpg new file mode 100644 index 0000000..3f82c4f --- /dev/null +++ b/assignment/retina_class0.jpg | |||
| Binary files differ | |||
diff --git a/assignment/retina_class4.jpg b/assignment/retina_class4.jpg new file mode 100644 index 0000000..b902aeb --- /dev/null +++ b/assignment/retina_class4.jpg | |||
| Binary files differ | |||
