diff --git a/README.md b/README.md
index a650a97..e23ebcf 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,8 @@
Delivered Work •
Architecture •
Evaluation Snapshot •
+ Team •
+ References •
Reproducibility
@@ -30,9 +32,9 @@ This repository contains the completed COMP9517 group project for fine-grained i
| --- | --- |
| **Data and infrastructure** | Deterministic 500-class manifests, shared label metadata, Dataset/DataLoader utilities, manifest checks, and lightweight GitHub Actions validation. |
| **Traditional vision** | HOG, colour-histogram, and SIFT Bag-of-Visual-Words features; nearest-centroid, Linear SVM, and Random Forest classifiers; held-out evaluation and error analysis. |
-| **Scratch CNN** | Randomly initialized ResNet18, training/validation loops, loss and Top-1 curves, checkpointing, guarded resume support, held-out evaluation, and error analysis. |
+| **Scratch CNN** | Randomly initialized ResNet18, training/validation loops, loss and Top-1 curves, checkpointing, guarded resume support, held-out evaluation, error analysis, and Grad-CAM evidence. |
| **Pretrained CNN** | ImageNet-pretrained ResNet18 training, ablations, checkpoint recovery, held-out evaluation, and Grad-CAM evidence. |
-| **Advanced study** | Fixed 100-class / 10-task continual-learning protocol, sequential no-replay and replay baselines, class-balanced sampling, task-accuracy matrices, forgetting metrics, and offline comparison figures. |
+| **Advanced study** | Fixed 100-class / 10-task continual-learning protocol on both CNN routes, sequential no-replay and replay baselines, class-balanced sampling, task-accuracy matrices, forgetting metrics, and offline comparison figures. |
## Dataset Protocol
@@ -54,21 +56,35 @@ flowchart TB
Manifests --> DataLayer["Shared data layer
config + Dataset + DataLoader"]
TaskMap["100-class continual task map"] --> DataLayer
- DataLayer --> Traditional["Traditional vision
HOG / colour / SIFT-BoVW
SVM / Random Forest"]
- DataLayer --> Scratch["Scratch CNN
random ResNet18
trainer + checkpoints"]
- DataLayer --> Pretrained["Pretrained CNN
ResNet18 training
and ablations"]
- Scratch --> CL["Continual learning
no replay / replay
task metrics"]
+ subgraph Baselines["500-class classification routes"]
+ direction LR
+ Traditional["Traditional vision
HOG / colour / SIFT-BoVW
SVM / Random Forest"]
+ Scratch["Scratch CNN
random ResNet18
trainer + checkpoints"]
+ Pretrained["Pretrained CNN
ResNet18 training
and ablations"]
+ end
- Traditional --> Evaluation["Shared evaluation
Top-1 / Top-5 / macro metrics
predictions + confusion artifacts"]
- Scratch --> Evaluation
- Pretrained --> Evaluation
- CL --> CLResults["Accuracy matrices
forgetting curves
offline summaries"]
- Evaluation --> Explainability["Grad-CAM and error analysis"]
+ DataLayer --> Traditional
+ DataLayer --> Scratch
+ DataLayer --> Pretrained
+
+ Traditional --> TraditionalEval["Traditional evaluation
metrics + confusion analysis"]
+ Scratch --> CNNEval["CNN evaluation
metrics + predictions
confusion artifacts"]
+ Pretrained --> CNNEval
+
+ Scratch --> ScratchCAM["Scratch Grad-CAM
correct / incorrect
confused-pair evidence"]
+ Pretrained --> PretrainedCAM["Pretrained Grad-CAM
correct / incorrect
confused-pair evidence"]
+
+ Scratch --> ScratchCL["Scratch continual learning
no replay + replay"]
+ Pretrained --> PretrainedCL["Pretrained continual learning
E04 comparison"]
+ ScratchCL --> CLResults["100-class task matrices
old / seen accuracy
average forgetting"]
+ PretrainedCL --> CLResults
CI["GitHub Actions
syntax + manifest smoke checks"] --> Manifests
CI --> DataLayer
```
+Grad-CAM is a CNN-only analysis: it is implemented for both the scratch and pretrained ResNet18 routes, not for the handcrafted traditional pipeline. The continual-learning study also has one branch for each CNN route; it uses the same 100-class task map and reports their task-boundary metrics separately.
+
## Evaluation Snapshot
All values below are from the completed configurations and their corresponding held-out test outputs unless otherwise stated.
@@ -90,7 +106,7 @@ The advanced experiment uses a deterministic 100-class subset split into 10 sequ
| Sequential fine-tuning without replay | 16.00% | 0.00% | 1.60% | 0.2600 |
| Replay, 5 images per old class, class-balanced sampling | 28.00% | 1.89% | 4.50% | 0.3322 |
-This study is reported separately from the required 500-class baselines. Its saved artifacts include task-by-task accuracy matrices, current/old/seen accuracy curves, average-forgetting curves, replay-memory summaries, and final metric tables.
+This study is reported separately from the required 500-class baselines. The held-out values above are from the scratch branch; the pretrained E04 branch uses the same task map and writes its own task matrices and comparison outputs. The saved artifacts include task-by-task accuracy matrices, current/old/seen accuracy curves, average-forgetting curves, replay-memory summaries, and final metric tables.
## Repository Layout
@@ -113,6 +129,24 @@ This study is reported separately from the required 500-class baselines. Its sav
`-- log.md # Project maintenance record
```
+## Team Contributions
+
+| Section | Member | Completed responsibilities |
+| --- | --- | --- |
+| A | Wang Haozhe | Data selection, preprocessing, and shared dataset manifests. |
+| B | Liu Chaohao | Handcrafted feature extraction and traditional-method development. |
+| C | Xu Hengyi | Classical classifiers, SIFT-BoVW experiments, and traditional-method evaluation. |
+| D | Gu Xuanzhou | Scratch ResNet18, training/checkpoint infrastructure, scratch Grad-CAM, and continual-learning baselines. |
+| E | Lin Guohao | Pretrained ResNet18, ablations, pretrained Grad-CAM, and extended continual-learning comparisons. |
+
+## References
+
+1. Grant Van Horn, Elijah Cole, Sara Beery, Kimberly Wilber, Serge Belongie, and Oisin Mac Aodha. [Benchmarking Representation Learning for Natural World Image Collections](https://openaccess.thecvf.com/content/CVPR2021/html/Van_Horn_Benchmarking_Representation_Learning_for_Natural_World_Image_Collections_CVPR_2021_paper.html). CVPR, 2021.
+2. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. [Deep Residual Learning for Image Recognition](https://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html). CVPR, 2016.
+3. Ramprasaath R. Selvaraju et al. [Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization](https://doi.org/10.1109/ICCV.2017.74). ICCV, 2017.
+4. Matthias De Lange et al. [A Continual Learning Survey: Defying Forgetting in Classification Tasks](https://doi.org/10.1109/TPAMI.2021.3057446). IEEE TPAMI, 2022.
+5. Arslan Chaudhry et al. [On Tiny Episodic Memories in Continual Learning](https://arxiv.org/abs/1902.10486). arXiv:1902.10486, 2019.
+
## Reproducibility
Install the project dependencies and verify the committed data contract: