Published October 5, 2025 | Version v2
Dataset Restricted

Periodontal Keypoint and Object Detection Dataset (perio-KPT)

  • 1. ROR icon National University of San Marcos
  • 2. ROR icon University of Surrey
  • 3. ROR icon Universidad de San Martín de Porres
  • 4. ROR icon King's College London
  • 5. ROR icon King George's Medical University

Description

Version 2.0 -

  • Removed corrupted test image/annotation (Image24.PNG)
  • Added missing rotating box annotations in 1_Experiment
  • Includes cropped instance segmentation dataset from [1]
  • Includes additional external validation dataset (15 Images), we labelled with our annotation protocol from [2]

 

Code can be found here: Github

 

If this data is used in publication please cite this data repository and our paper, or just our paper if the number of citations is a limitation for you.

@article{banks2026periodontal,
    title = {Periodontal bone loss analysis via keypoint detection with heuristic post-processing},
    journal = {Computers in Biology and Medicine},
    volume = {204},
    pages = {111515},
    year = {2026},
    issn = {0010-4825},
    doi = {https://doi.org/10.1016/j.compbiomed.2026.111515},
    url = {https://www.sciencedirect.com/science/article/pii/S0010482526000764},
    author = {Ryan Banks and Vishal Thengane and María Eugenia Guerrero and Nelly Maria García-Madueño and Yunpeng Li and Hongying Tang and Akhilanand Chaurasia},
}

If you use the supporting datasets (auxiliary segmentation, external validation) with our annotations/processing contributions please cite the original related works[1] [2], as well as our paper.

 

 

This dataset is for non-commercial research purposes only.

This dataset contains 192 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 "0_Baseline" dataset contains all 192 .PNG images, corresponding .txt annotation files and supporting rotational bounding box information .txt files. 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 "1_Experiment" folder contains the processed dataset with all 192 .PNG images split into alternating 5 fold cross validation datasets, which we used in our paper. The "1_Experiment" folder contains 3 sub folders: (1) "standard_box", of 140 train and 35 test images/annotations, for training and evaluating with non rotating bounding boxes ; (2) "rotating_box", of 140 train and 35 test images/annotations, only contains bounding box information with box rotational information (only used for calculating percentage of bone loss with orientation to the tooth); (3) "holdout_test_standard_box", of 17 images/annotations for evaluating as a holdout test set with non rotating bounding boxes. (4) "holdout_test_rotating_box", of 17 images/annotations rotating box information for the holdout test set.

The "2_Auxiliary_Segmentation" folder contains 3,588 panoramic radiographs processed to resemble periapical radiographs. The data was processed from 359 original panoramic radiographs and annotations from humans in the loop [1]. All classes from the original dataset were reduced to a single class "Tooth" with class number 0. The folder contains a "Train" set of 3,229 .JPG images and .txt annotations, and a "Val" set of 359 .JPG images and .txt annotations. 

The "3_External_Set" folder contains 15 periapical radiographs and annotations (annotated by us). The original radiographs were published by Altukroni et al. [2]. The folder contains a "standard_box" folder with keypoint annotations with non rotating bounding boxes, and a "rotating_box" folder with rotating bounding box annotations.

 

 

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: Periodontal Ligament Space (PLS) that has detached from the tooth.

Keypoint classes include:

  • CEJ-m:     class: 0,        description: Cementoenamel 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: Cementoenamel 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 coordinates 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.0
0 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.0
0 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.0
4 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_degrees]

........

 

Example:

0 0.24619222073941618 0.5422572607598151 0.2589397896936134 0.6843016049701557 2.7865165013726907
0 0.4587040050609692 0.5943116713824378 0.22223168450432854 0.6182118140894952 0.0
0 0.7210462003140836 0.5688408964254489 0.3031976648279138 0.6870077368277382 -4.238815607922581
4 0.6119788298735748 0.48375789648236045 0.03275703223975929 0.2986812188245391 0.0

 

 

Visibility

The architecture 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, despite 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 multi-root 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 (X,Y) 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.

 

Citations

[1] 

@misc{humans2023teeth,
title={Humans In The Loop, Teeth Segmentation on dental X-ray images [dataset], Kaggle, v1},
DOI={10.34740/KAGGLE/DSV/5884500},
publisher={Kaggle},
year={2023}
}

[2]

@article{altukroni2023additional,
author = {Altukroni, Abdulbadea and Alsaeedi, Abdullah and Gonzalez-Losada, C. and Lee, J. and Alabudh, M. and Mirah, M. and El Amri, Sakina and El-Deen, O.},
year = {2023},
month = {08},
pages = {},
title = {Detection of the pathological exposure of pulp using an artificial intelligence tool: a multicentric study over periapical radiographs},
volume = {23},
journal = {BMC Oral Health},
doi = {10.1186/s12903-023-03251-0}
}

 

 

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

Files

Restricted

The record is publicly accessible, but files are restricted. <a href="https://zenodo.org/account/settings/login?next=https://zenodo.org/records/17272200">Log in</a> to check if you have access.

Request access

If you would like to request access to these files, please fill out the form below.

You need to satisfy these conditions in order for this request to be accepted:

Access is only approved to researchers with university affiliations.

 

Data can be used in part or in whole for research puposes only. Publications that use this data for any research purpose need to cite the dataset or original paper.

You are currently not logged in. Do you have an account? Log in here

Additional details

Dates

Available
2025-03-18

Software

Repository URL
https://github.com/Banksylel/Bone-Loss-Keypoint-Detection-Code
Programming language
Python
Development Status
Active