|
|
--- |
|
|
pipeline_tag: object-detection |
|
|
license: cc-by-nc-4.0 |
|
|
--- |
|
|
|
|
|
# OralGPT-Omni: Dental Visual Expert Models |
|
|
|
|
|
This repository contains the "Teeth Visual Expert Models" which are part of the OralGPT-Omni project, presented in the paper [OralGPT-Omni: A Versatile Dental Multimodal Large Language Model](https://huggingface.co/papers/2511.22055). |
|
|
|
|
|
For the project's code and more details, please refer to the [official GitHub repository](https://github.com/isbrycee/OralGPT). |
|
|
|
|
|
--- |
|
|
|
|
|
# For Panoramic X-ray images (Six visual experts) |
|
|
|
|
|
Some teeth visual experts models, including detection and instance segmentation ability. |
|
|
|
|
|
1. Model: Teeth_Visual_Experts_Maskdino_Swinl_x-ray_bone_loss_1disease.pth |
|
|
|
|
|
Config: maskdino_SwinL_bs16_50ep_4s_dowsample1_2048_x-ray_bone_loss_1diseases.yaml |
|
|
|
|
|
```python |
|
|
COCO_CATEGORIES = [ |
|
|
{"color": [220, 20, 60], "isthing": 1, "id": 0, "name": "bone_loss"}, |
|
|
] |
|
|
|
|
|
"bone_loss_1classes_train": ("bone_loss/images", "bone_loss/instances_train2017.json"), |
|
|
"bone_loss_1classes_val": ("bone_loss/images", "bone_loss/instances_val2017.json"), |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
2. Model: Teeth_Visual_Experts_Maskdino_Swinl_x-ray_11diseases.pth |
|
|
|
|
|
Config: maskdino_SwinL_bs16_50ep_4s_dowsample1_2048_x-ray_11diseases.yaml |
|
|
|
|
|
```python |
|
|
COCO_CATEGORIES = [ |
|
|
{"color": [220, 20, 60], "isthing": 1, "id": 1, "name": "Caries"}, |
|
|
{"color": [119, 11, 32], "isthing": 1, "id": 2, "name": "Crown"}, |
|
|
{"color": [0, 0, 142], "isthing": 1, "id": 3, "name": "Filling"}, |
|
|
{"color": [0, 0, 230], "isthing": 1, "id": 4, "name": "Implant"}, |
|
|
{"color": [106, 0, 228], "isthing": 1, "id": 5, "name": "Mandibular Canal"}, |
|
|
{"color": [0, 60, 100], "isthing": 1, "id": 6, "name": "Missing teeth"}, |
|
|
{"color": [0, 80, 100], "isthing": 1, "id": 7, "name": "Periapical lesion"}, |
|
|
{"color": [0, 0, 70], "isthing": 1, "id": 8, "name": "Root Canal Treatment"}, |
|
|
{"color": [0, 0, 192], "isthing": 1, "id": 9, "name": "Root Piece"}, |
|
|
{"color": [250, 170, 30], "isthing": 1, "id": 10, "name": "impacted tooth"}, |
|
|
{"color": [100, 170, 30], "isthing": 1, "id": 11, "name": "maxillary sinus"}, |
|
|
] |
|
|
|
|
|
"x-ray-11classes": ("x-ray-11classes/images", "x-ray-11classes/annotations_coco.json"), |
|
|
|
|
|
``` |
|
|
|
|
|
3. Model: Teeth_Visual_Experts_DINO_r50_5scale_x-ray_periapical_lesions_3classes.pth |
|
|
|
|
|
Config: DINO_r50_5scale_x-ray_periapical_lesions_3classes.py |
|
|
|
|
|
```python |
|
|
"categories": [ |
|
|
{ |
|
|
"id": 1, |
|
|
"name": "Granuloma", |
|
|
"supercategory": "genjianzhouyan_rouyazhong" |
|
|
}, |
|
|
{ |
|
|
"id": 2, |
|
|
"name": "Cyst", |
|
|
"supercategory": "genjianzhouyan_nangzhong" |
|
|
}, |
|
|
{ |
|
|
"id": 3, |
|
|
"name": "Abscess", |
|
|
"supercategory": "genjianzhouyan_nongzhong" |
|
|
} |
|
|
] |
|
|
``` |
|
|
|
|
|
4. Model: Teeth_Visual_Experts_Maskdino_Swinl_panoramic_x-ray_4quadrants.pth |
|
|
|
|
|
Config: maskdino_SwinL_bs16_50ep_4s_dowsample1_2048_panoramic_x-ray_4quadrants.yaml |
|
|
|
|
|
```python |
|
|
COCO_CATEGORIES = [ |
|
|
{"color": [220, 20, 60], "isthing": 1, "id": 0, "name": "2"}, |
|
|
{"color": [119, 11, 32], "isthing": 1, "id": 1, "name": "1"}, |
|
|
{"color": [0, 0, 142], "isthing": 1, "id": 2, "name": "3"}, |
|
|
{"color": [0, 0, 230], "isthing": 1, "id": 3, "name": "4"}, |
|
|
] |
|
|
|
|
|
"panoramic_x-ray_4quadrants_train": ("panoramic_x-ray_4quadrants/train2017/", "panoramic_x-ray_4quadrants/annotations/instances_train2017.json"), |
|
|
"panoramic_x-ray_4quadrants_val": ("panoramic_x-ray_4quadrants/val2017/", "panoramic_x-ray_4quadrants/annotations/instances_val2017.json"), |
|
|
} |
|
|
``` |
|
|
|
|
|
5. Model: Teeth_Visual_Experts_DINO_SwinL_5scale_panoramic_x-ray_32ToothID.pth |
|
|
|
|
|
Config: DINO_5scale_swinL_panoramic_x-ray_32ToothID.py |
|
|
|
|
|
```python |
|
|
"categories": [ |
|
|
{ |
|
|
"id": 1, |
|
|
"name": "11", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 2, |
|
|
"name": "21", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 3, |
|
|
"name": "22", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 4, |
|
|
"name": "23", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 5, |
|
|
"name": "12", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 6, |
|
|
"name": "13", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 7, |
|
|
"name": "15", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 8, |
|
|
"name": "17", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 9, |
|
|
"name": "27", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 10, |
|
|
"name": "28", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 11, |
|
|
"name": "38", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 12, |
|
|
"name": "36", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 13, |
|
|
"name": "34", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 14, |
|
|
"name": "33", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 15, |
|
|
"name": "32", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 16, |
|
|
"name": "31", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 17, |
|
|
"name": "41", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 18, |
|
|
"name": "43", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 19, |
|
|
"name": "44", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 20, |
|
|
"name": "45", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 21, |
|
|
"name": "48", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 22, |
|
|
"name": "18", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 23, |
|
|
"name": "16", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 24, |
|
|
"name": "42", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 25, |
|
|
"name": "35", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 26, |
|
|
"name": "47", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 27, |
|
|
"name": "24", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 28, |
|
|
"name": "25", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 29, |
|
|
"name": "14", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 30, |
|
|
"name": "26", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 31, |
|
|
"name": "37", |
|
|
"supercategory": "none" |
|
|
}, |
|
|
{ |
|
|
"id": 32, |
|
|
"name": "46", |
|
|
"supercategory": "none" |
|
|
} |
|
|
] |
|
|
``` |
|
|
|
|
|
6. Model: Teeth_Visual_Experts_Maskdino_Swinl_panoramic_x-ray_Mandibular_Canal_Maxillary_Sinus.pth |
|
|
|
|
|
Config: maskdino_Swinl_bs16_50ep_4s_dowsample1_2048_panoramic_x-ray_Mandibular_Canal_Maxillary_Sinus.yaml |
|
|
|
|
|
```python |
|
|
COCO_CATEGORIES = [ |
|
|
{"color": [220, 20, 60], "isthing": 1, "id": 5, "name": "Mandibular Canal"}, |
|
|
{"color": [119, 11, 32], "isthing": 1, "id": 11, "name": "maxillary sinus"}, |
|
|
] |
|
|
|
|
|
"panoramic_x-ray_Mandibular_Canal_Maxillary_Sinus": ("Mandibular_Canal_Maxillary_Sinus/images/", "Mandibular_Canal_Maxillary_Sinus/Mandibular_Canal_Maxillary_Sinus_train.json"), |
|
|
} |
|
|
``` |
|
|
|
|
|
|
|
|
# For Periapical X-ray images (Two visual experts) |
|
|
|
|
|
1. Model: Teeth_Visual_Experts_Maskdino_Swinl_periapical_images_6diseases.pth |
|
|
|
|
|
Config: maskdino_SwinL_bs16_50ep_4s_dowsample1_2048_periapical_x-ray_6diseases.yaml |
|
|
|
|
|
```python |
|
|
COCO_CATEGORIES = [ |
|
|
{"color": [220, 20, 60], "isthing": 1, "id": 1, "name": "Crown"}, |
|
|
{"color": [119, 11, 32], "isthing": 1, "id": 2, "name": "Deep_Caries"}, |
|
|
{"color": [0, 0, 142], "isthing": 1, "id": 3, "name": "RCT"}, |
|
|
{"color": [0, 0, 230], "isthing": 1, "id": 4, "name": "Restoration"}, |
|
|
{"color": [106, 0, 228], "isthing": 1, "id": 5, "name": "Caries"}, |
|
|
{"color": [0, 60, 100], "isthing": 1, "id": 6, "name": "Normal"}, |
|
|
] |
|
|
|
|
|
"periapical_x-ray_6diseases": ("periapical_x-ray_6diseases/images", "periapical_x-ray_6diseases/output_coco.json"), |
|
|
|
|
|
``` |
|
|
|
|
|
2. Model: Teeth_Visual_Experts_ViT_L_periapical_images_cls_7diseases.bin |
|
|
|
|
|
Github: https://github.com/jeonsworld/ViT-pytorch |
|
|
|
|
|
```python |
|
|
CATEGORIES = [ |
|
|
"Pulpitis" (牙髓炎), |
|
|
"Impacted tooth" (阻生齿), |
|
|
"Apical periodontitis" (根尖周炎), |
|
|
"Bone loss" (骨质流失), |
|
|
"Alternation between primary and permanent teeth" (乳恒牙交替期), |
|
|
"Caries" (龋齿), |
|
|
"Periodontitis", (牙周炎) |
|
|
] |
|
|
|
|
|
``` |