Skip to content

🦷 Detection of restorations and treatments on dental x-rays in Tensorflow, using Faster-RCNN

License

Notifications You must be signed in to change notification settings

clemkoa/tooth-detection

Repository files navigation

Teeth detector

Image 1 Image 2 Image 3

⚠️ Dataset is private at the moment. For privacy reasons it can't be shared. We are trying to get approval from hospitals and patients included in this dataset but this a work in progress. For the same privacy reasons the trained model can't be shared at the moment.

The dataset was made with a stomatologist surgeon using VoTT for labeling. The export was made under the Tensorflow Pascal VOC format

The project is divided into two tasks:

  1. Detect tooth restoration, endodontic treatment and implants (models/treatment)
  2. Detect teeth and identify their ISO Dental Notation (models/index)

Installation

pip install -r requirements.txt

# Tensorflow Object Detection API
git clone git@github.com:tensorflow/models.git

git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
make
cp -r pycocotools <path_to_tensorflow>/models/research/

# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

Training

python <path_to_tensorflow>/models/research/object_detection/model_main.py \
    --pipeline_config_path=<path_to_tooth-detection>/tooth-detection/models/treatment/faster_rcnn_resnet50_coco.config \
    --model_dir=<path_to_tooth-detection>/tooth-detection/models/treatment/model \
    --num_train_steps=100000 \
    --alsologtostderr

Inference

python inference.py \
    --PATH_TO_FROZEN_GRAPH=<path_to_tooth-detection>/<path_to_frozen_graph>/frozen_inference_graph.pb \
    --PATH_TO_TEST_IMAGES_DIR=<path_to_tooth-detection>/data/iran_index/JPEGImages \
    --PATH_TO_LABELS=<path_to_tooth-detection>/data/pascal_label_map_index.pbtxt