File size: 1,620 Bytes
8e23aec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{
  "model_name": "Pulmo",
  "architecture": "Student2p5D",
  "description": "2.5D concept-bottleneck multi-task model for lung nodule analysis, distilled from a 3D teacher.",
  "input": {
    "n_slices": 7,
    "slice_size": [64, 64],
    "tensor_shape": "(B, 7, 64, 64)",
    "dtype": "float32",
    "value_range": [0.0, 1.0]
  },
  "backbone": {
    "type": "UNet2D",
    "base_channels": 24,
    "trunk_dim": 384
  },
  "heads": {
    "detection": "2 (nodule vs non-nodule)",
    "concepts": "8 (LIDC radiological concepts, regression)",
    "malignancy": "Linear(8 -> 2), concept bottleneck",
    "segmentation": "(B, 1, 64, 64), middle axial slice"
  },
  "n_concepts": 8,
  "concept_names": [
    "subtlety", "internalStructure", "calcification", "sphericity",
    "margin", "lobulation", "spiculation", "texture"
  ],
  "preprocessing": {
    "roi_size_3d": [64, 64, 64],
    "hu_clip": [-1000, 1000],
    "normalize": "(x - hu_min) / (hu_max - hu_min)  -> [0, 1]",
    "slice_extraction": "take the 7 central axial slices of a 64^3 patch centered on the candidate (z in [29, 36))"
  },
  "test_metrics_patch_level": {
    "detection_auc": 0.997,
    "malignancy_auc": 0.986,
    "segmentation_dice": 0.859,
    "note": "Held-out internal test split (patient-level split of LUNA16). Not externally validated."
  },
  "teacher_reference_3d": {
    "detection_auc": 0.998,
    "malignancy_auc": 0.986,
    "segmentation_dice": 0.857
  },
  "training_data": "LUNA16 (subset of LIDC-IDRI), 888 scans, patient-level 80/10/10 split",
  "license": "cc-by-4.0",
  "intended_use": "research only; not a medical device"
}