DOI: 10.5281/zenodo.14711842
title: Periodontal Keypoint and Object Detection Dataset (perio-KPT)

description: This dataset is for non-commercial research purposes only.

This dataset contains 193 intraoral periapical dental radiographs of patients of varying demographics, with corresponding keypoint and bounding box annotations for periodontal disease related conditions and landmarks. 

 

Folder Layout

This dataset is split into two subfolders containing the same images and annotations.

The "Baseline" dataset contains all 193 .JPG images and corresponding .txt annotation files with rotational bounding box informaton. All annotations are provided in the YOLO pose format with all keypoints matched to a bounding box with appropriate visibility settings for each keypoint.

The "Experiment" folder contains the processed dataset with all 193 .JPG images split into the 5 fold cross validation datasets we used to train the model and evaluate the data. The "Experiment" folder contains 3 sub folders: "standard_box", for training and evaluating with non rotating bounding boxes ; "rotating_box", only contains bounding box information with rotation information (only used for calculating percentage of bone loss with orientation to the tooth); "holdout_test_standard", for evaluating as a holdout test set with non rotating bounding boxes.

All annotations are provided in the YOLO pose format with all keypoints matched to a bounding box with appropriate visibility settings for each keypoint.

 

Class Information

Bounding box classes include:



Single Root:     class: 0,        description: Tooth class for teeth with a single root.

Double Root:     class: 1,        description: Tooth class for teeth with two roots.

Triple Root:     class: 2,        description: Tooth class for teeth with three roots.

ARR:     class: 3,       description: Alveolar Ridge Resorption (ARR) box that indicates where a missing tooth would be if resorption is present.

PLS:     class: 4,        description: Perriodontal Ligament Space (PLS) that has detached from the tooth.


Keypoint classes include:



CEJ-m:     class: 0,        description: Cemento-Enamel Junction mesial side (CEJ-m) is the point where the enamel and dentin meet on the outside of the tooth, on the mesial side of the tooth.

BL-m:     class: 1,        description: Bone Level mesial side (BL-m) is the point closest to the tooth that indicates the lowest local bone level, on the mesial side of the tooth.

RL-m:     class: 2,        description: Root Level mesial side (RL-m) is the point on the apex of the root, on the mesial root of the tooth.

CEJ-d:     class: 3,        description: Cemento-Enamel Junction distal side (CEJ-d) is the point where the enamel and dentin meet on the outside of the tooth, on the distal side of the tooth.

BL-d:     class: 4,        description: Bone Level distal side (BL-d) is the point closest to the tooth that indicates the lowest local bone level, on the distal side of the tooth.

RL-d:     class: 5,        description: Root Level distal side (RL-d) is the point on the apex of the root, on the distal root of the tooth.

RL-c:     class: 6,        description: Root Level centre (RL-c) is the point on the apex of the root, on the centre root of the tooth.

FA:     class: 7,        description: Furcation Apex (FA) is the top most point (when oriented so the crown is up) within the furcation area of the tooth.

FBL-m:     class: 8,        description: Furcation Bone Level mesial side (FBL-m) is the point closest to the tooth within the furcation area, that indicates the lowest local bone level on the mesial side of the tooth.

FBL-d:     class: 9,        description: Furcation Bone Level distal side (FBL-d) is the point closest to the tooth within the furcation area, that indicates the lowest local bone level on the distal side of the tooth.

ARR:     class: 10,        description: Alveolar Ridge Resorption (ARR) is the point of the lowest local bone level within the area of a missing tooth where bone resorption has begun.


 

 

Annotation Formatting

.txt files are formatted in the YOLO format, where each line is a new bounding box object in the image that has corresponding keypoints. All pixel ccoordinates are noramlised to its corresponding image dimensions. YOLO format .txt files are structured as:

 

[class] [X_centre_box] [Y_centre_box] [Width_box] [Height_box] [kpt_class_0_X] [kpt_class_0_Y] [kpt_class_0_visibility] [kpt_class_1_X] [kpt_class_1_Y] [kpt_class_1_visibility] ........

[class] [X_centre_box] [Y_centre_box] [Width_box] [Height_box] [kpt_class_0_X] [kpt_class_0_Y] [kpt_class_0_visibility] [kpt_class_1_X] [kpt_class_1_Y] [kpt_class_1_visibility] ........

........

 

Example:

0 0.246 0.542 0.259 0.684 0.342 0.663 2.0 0.352 0.609 2.0 0.0 0.0 0.0 0.131 0.656 2.0 0.143 0.567 2.0 0.0 0.0 0.0 0.242 0.234 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.459 0.594 0.222 0.618 0.537 0.682 2.0 0.542 0.615 2.0 0.0 0.0 0.0 0.369 0.703 2.0 0.395 0.607 2.0 0.0 0.0 0.0 0.466 0.343 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.00 0.721 0.569 0.303 0.687 0.851 0.707 2.0 0.834 0.638 2.0 0.0 0.0 0.0 0.622 0.705 2.0 0.608 0.616 2.0 0.0 0.0 0.0 0.652 0.292 2.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.04 0.611 0.483 0.032 0.298 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

 

 

 WARNING: "Experiment/rotating_box" ONLY CONTAINS THE BOUNDING BOX INFORMATION, NOT THE KEYPOINTS.

 

The format of "Experiment/rotating_box" is:

[class] [X_centre_box] [Y_centre_box] [Width_box] [Height_box] [Rotation_radians]

........

 

Example:

0 0.24619222073941618 0.5422572607598151 0.2589397896936134 0.6843016049701557 2.78651650137269070 0.4587040050609692 0.5943116713824378 0.22223168450432854 0.6182118140894952 0.00 0.7210462003140836 0.5688408964254489 0.3031976648279138 0.6870077368277382 -4.2388156079225814 0.6119788298735748 0.48375789648236045 0.03275703223975929 0.2986812188245391 0.0

 

 

Visibility

The arecitecture of pose detection models requires keypoints to be attached to a bounding box class, so all possible keypoints need to be specified and included in every bounding box instance and class, dispite some keypoints being visible in the image or present for a given class. Visibility tells the model what type of keypoint is present and how it should be trained on the model. Visibility indicators are 0: not visible and not trained, 1: partially visible and trained, 2: visible and trained.

We have set up the visibility for the keypoints for each bounding box class as:

 




                                                                                            Keypoints







 
CEJ-m
BL-m
RL-m
CEJ-d
BL-d
RL-d
RL-c
FA
FBL-m
FBL-d
ARR


Single Root
2
2
0
2
2
0
2
0
0
0
0


Double Root
2
2
2
2
2
2
0
2
2 or 1 
2 or 1
0


Triple Root
2
2
2
2
2
2
2
2
2 or 1 
2 or 1
0


ARR
0
0
0
0
0
0
0
0
0
0
2


PLS
0
0
0
0
0
0
0
0
0
0
0




 

Visibility for keypoints that are outside the bounds of the image or are not appropriate for a given bounding box class are given the pixel position (0, 0) and visibility 0.

If there is furcation involvement on a multiroot tooth, then FBL-m and FBL-d keypoints are given the visibility 2.

If there is no furcation involvement, FBL-m and FBL-d are given visibility 1 and the same (?,?) pixel position as the FA keypoint. This is done as there is no visible FBL-d and FBL-m keypoint for no furcation involvement, but we want the model to produce the same keypoint location as FA to indicate no furcation involvement.

 

 

This dataset was collected by Universidad Nacional Mayor de San Marcos under Grant A21051201.