simontho commited on
Commit
f91c847
·
verified ·
1 Parent(s): 2126588

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +95 -3
README.md CHANGED
@@ -1,3 +1,95 @@
1
- ---
2
- license: mit
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: en
3
+ license: mit
4
+ library_name: pytorch
5
+ tags:
6
+ - medical-imaging
7
+ - mri
8
+ - 3d-resnet
9
+ - monai
10
+ - oncology
11
+ - breast-cancer
12
+ datasets:
13
+ - odelia
14
+ metrics:
15
+ - roc_auc
16
+ pipeline_tag: image-classification
17
+ ---
18
+
19
+ # 3D ResNet-18 for ODELIA MRI Classification
20
+
21
+ This repository contains the weights for a 3D ResNet-18 model trained for the ODELIA dataset (multi-parametric MRI). The model was developed to classify medical images into 3 distinct classes using 5-fold cross-validation.
22
+
23
+ ## Model Description
24
+
25
+ - **Developed by:** THOUAN Simon
26
+ - **Model type:** 3D Convolutional Neural Network (ResNet-18 architecture)
27
+ - **Framework:** PyTorch & MONAI
28
+ - **Task:** Multi-class 3D Image Classification (3 classes)
29
+ - **Input:** 5 MRI sequences (Pre, Post_1, Post_2, Sub_1, T2) concatenated as channels.
30
+ - **Input Size:** (128, 128, 64)
31
+
32
+ ## Architecture Details
33
+
34
+ The model is a 3D adaptation of the ResNet architecture provided by the **MONAI** library:
35
+ - **Blocks:** Basic block
36
+ - **Layers:** [2, 2, 2, 2] (Equivalent to ResNet-18)
37
+ - **In-planes:** [64, 128, 256, 512]
38
+ - **Input Channels:** 5
39
+ - **Spatial Dimensions:** 3D
40
+
41
+ ## Training Procedure
42
+
43
+ The model was trained on a high-performance computing cluster (IDUN) using the following configuration:
44
+
45
+ ### Hyperparameters
46
+ | Parameter | Value |
47
+ | :--- | :--- |
48
+ | **Optimizer** | Adam |
49
+ | **Learning Rate** | 1e-4 |
50
+ | **Loss Function** | CrossEntropyLoss |
51
+ | **Batch Size** | 4 (Training) / 2 (Validation) |
52
+ | **Epochs** | 50 |
53
+ | **Validation** | Every 2 epochs |
54
+
55
+ ### Cross-Validation Strategy
56
+ The dataset was split into 5 folds (A, B, C, D, E) to ensure robustness.
57
+ - **Fold 0:** Val = A, Train = B+C+D+E
58
+ - **Fold 1:** Val = B, Train = A+C+D+E
59
+ - *(Continuing for all 5 folds)*
60
+
61
+ ### Preprocessing (MONAI Transforms)
62
+ - **Resizing:** All volumes resized to $128 \times 128 \times 64$.
63
+ - **Normalization:** Intensity scaling for each sequence.
64
+ - **Concatenation:** The 5 MRI sequences are stacked into a single 5-channel tensor.
65
+
66
+ ## Evaluation Results
67
+
68
+ The primary metric used is **ROC AUC** (Area Under the Receiver Operating Analytic Curve).
69
+ Detailed performance graphs and confusion matrices for the ensemble can be found in the associated [GitHub Repository](URL_DE_TON_GITHUB).
70
+
71
+ ## How to Load the Model
72
+
73
+ ```python
74
+ import torch
75
+ from monai.networks.nets import ResNet
76
+
77
+ # Initialize architecture
78
+ model = ResNet(
79
+ block="basic",
80
+ layers=[2, 2, 2, 2],
81
+ block_inplanes=[64, 128, 256, 512],
82
+ n_input_channels=5,
83
+ num_classes=3,
84
+ spatial_dims=3
85
+ )
86
+
87
+ # Load weights
88
+ state_dict = torch.load("weights/best_resnet_odelia_fold0.pth", map_location="cpu")
89
+ model.load_state_dict(state_dict)
90
+ model.eval()
91
+
92
+ ```
93
+
94
+ ## Limitations & Ethical Considerations
95
+ This model is for research purposes only. It was trained on the ODELIA proprietary dataset. Predictions should not be used for clinical diagnosis without professional medical supervision.