gegesay89 commited on
Commit
4a355ea
·
verified ·
1 Parent(s): 63cefe9

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. README.md +50 -0
  2. metrics.json +34 -0
README.md ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ library_name: tensorflow
4
+ tags:
5
+ - image-segmentation
6
+ - medical-imaging
7
+ - dental
8
+ - unet
9
+ ---
10
+
11
+ # Dental Tooth Segmentation EfficientNet U-Net
12
+
13
+ This repository contains the trained Keras model for the course assignment
14
+ "Development of a Dental Tooth Segmentation System Using U-Net and Flask".
15
+
16
+ The checkpoint is an EfficientNetB0 encoder U-Net trained and fine-tuned on
17
+ dental panoramic X-ray segmentation data. It predicts a binary tooth-region mask
18
+ from a panoramic dental radiograph.
19
+
20
+ ## Model File
21
+
22
+ - `best_model.keras`
23
+
24
+ ## Inference Recipe
25
+
26
+ - Resize image to 256x512.
27
+ - Convert grayscale radiograph to three channels for the EfficientNet encoder.
28
+ - Predict with horizontal-flip test-time augmentation.
29
+ - Use threshold 0.65 for the final combined test result.
30
+ - Remove connected components smaller than 32 pixels.
31
+
32
+ ## Metrics
33
+
34
+ Final combined held-out test result:
35
+
36
+ - Precision: 89.54%
37
+ - Recall: 91.93%
38
+ - F1/Dice: 90.72%
39
+ - IoU: 83.02%
40
+ - Pixel accuracy: 96.99%
41
+
42
+ HITL held-out split:
43
+
44
+ - Precision: 89.45%
45
+ - Recall: 91.41%
46
+ - F1/Dice: 90.42%
47
+ - IoU: 82.51%
48
+
49
+ This model is for education and demonstration only. It is not a medical device
50
+ and must not be used for clinical diagnosis.
metrics.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "combined_teeth_efficientnetb0_finetuned",
3
+ "model_file": "best_model.keras",
4
+ "image_size": {
5
+ "height": 256,
6
+ "width": 512
7
+ },
8
+ "inference": {
9
+ "threshold": 0.65,
10
+ "tta": "horizontal_flip",
11
+ "min_component_size": 32,
12
+ "closing_iterations": 0,
13
+ "opening_iterations": 0,
14
+ "fill_holes": false
15
+ },
16
+ "combined_held_out_test": {
17
+ "sample_count": 164,
18
+ "precision": 0.8953982106231072,
19
+ "recall": 0.9193066372231264,
20
+ "f1": 0.9071949292034751,
21
+ "dice": 0.9071949292034751,
22
+ "iou": 0.8301525619223543,
23
+ "accuracy": 0.9699334400456127
24
+ },
25
+ "hitl_held_out_test": {
26
+ "sample_count": 90,
27
+ "precision": 0.8944768761200106,
28
+ "recall": 0.9140709919470774,
29
+ "f1": 0.9041677910384308,
30
+ "dice": 0.9041677910384308,
31
+ "iou": 0.8250969296615555,
32
+ "accuracy": 0.9690822177463108
33
+ }
34
+ }