Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: LynxFlix
  • License: agpl-3.0
  • Language: Python
  • Default Branch: main
  • Size: 14.9 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Citation

README.md


Dental Cavity Detection

This project is a dental cavity detection system using YOLOv5. It is designed to analyze dental images and detect cavities using a trained deep learning model.

Features

  • Real-time Detection: Detect cavities in dental images or live video streams.
  • Custom Training: YOLOv5 is trained on a custom dataset of dental X-rays.
  • High Accuracy: Uses a pretrained model fine-tuned for dental image analysis.

Requirements

Ensure the following are installed:

  • Python 3.8 or above
  • Torch (PyTorch)
  • OpenCV
  • YOLOv5
  • Raspberry Pi (optional for embedded use)
  • Camera Module (e.g., Pi Camera 3 Noir)

Python Dependencies

Install required Python libraries using: bash pip install -r requirements.txt

Example requirements.txt: torch opencv-python numpy matplotlib pandas seaborn PyYAML tqdm

Installation

  1. Clone the Repository: bash git clone https://github.com/yourusername/dental-cavity-detection.git cd dental-cavity-detection

  2. Download or Train YOLOv5 Weights:

    • Pretrained weights can be downloaded and placed in the weights directory.
    • Alternatively, train a YOLOv5 model on your dental dataset: bash python train.py --data data/dental.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt --epochs 100
  3. Connect a Camera (if using live detection):

    • Ensure your Raspberry Pi camera is enabled and recognized.

Usage

For Real-Time Detection:

Run the following command for live detection: bash libcamera-vid --camera 0 --width 640 --height 480 --framerate 30 --output - | python3 detect.py --source pipe:0 --weights weights/last.pt --img-size 640 --conf-thres 0.5 --view-img

For Image Detection:

Use this command to detect cavities in a static image: bash python detect.py --source data/images/sample.jpg --weights weights/last.pt --img-size 640 --conf-thres 0.5 --view-img

For Video Detection:

Run detection on a video file: bash python detect.py --source data/videos/sample.mp4 --weights weights/last.pt --img-size 640 --conf-thres 0.5 --view-img

Dataset

The dataset includes dental X-rays annotated for cavity detection. Ensure the dataset is in the correct YOLO format (images and .txt files for labels). Update the dataset path in data/dental.yaml: yaml train: ../data/dental/train val: ../data/dental/val test: ../data/dental/test

Results

Results will be saved in the runs/detect directory by default. Each detection run generates:

  • Annotated images/videos with bounding boxes for cavities.
  • Logs and performance metrics.

Troubleshooting

  • If the camera is not detected, ensure libcamera is properly configured: bash libcamera-hello
  • For OpenCV-related issues, verify its installation: bash pip install opencv-python

Future Improvements

  • Add support for additional dental conditions.
  • Optimize detection speed and model performance.
  • Deploy the system on a cloud platform for scalability.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • YOLOv5 by Ultralytics
  • OpenCV for image processing
  • Dental dataset contributors

Owner

  • Login: LynxFlix
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
preferred-citation:
  type: software
  message: If you use YOLOv5, please cite it as below.
  authors:
  - family-names: Jocher
    given-names: Glenn
    orcid: "https://orcid.org/0000-0001-5950-6979"
  title: "YOLOv5 by Ultralytics"
  version: 7.0
  doi: 10.5281/zenodo.3908559
  date-released: 2020-5-29
  license: AGPL-3.0
  url: "https://github.com/ultralytics/yolov5"

GitHub Events

Total
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 1
  • Pull request event: 3
  • Create event: 5
Last Year
  • Delete event: 1
  • Issue comment event: 4
  • Push event: 1
  • Pull request event: 3
  • Create event: 5

Dependencies

.github/workflows/ci-testing.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • slackapi/slack-github-action v2.0.0 composite
.github/workflows/cla.yml actions
  • contributor-assistant/github-action v2.6.1 composite
.github/workflows/docker.yml actions
  • actions/checkout v4 composite
  • docker/build-push-action v6 composite
  • docker/login-action v3 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
.github/workflows/format.yml actions
  • ultralytics/actions main composite
.github/workflows/links.yml actions
  • actions/checkout v4 composite
  • ultralytics/actions/retry main composite
.github/workflows/merge-main-into-prs.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
.github/workflows/stale.yml actions
  • actions/stale v9 composite
utils/docker/Dockerfile docker
  • pytorch/pytorch 2.0.0-cuda11.7-cudnn8-runtime build
utils/google_app_engine/Dockerfile docker
  • gcr.io/google-appengine/python latest build
pyproject.toml pypi
  • matplotlib >=3.3.0
  • numpy >=1.22.2
  • opencv-python >=4.6.0
  • pandas >=1.1.4
  • pillow >=7.1.2
  • psutil *
  • py-cpuinfo *
  • pyyaml >=5.3.1
  • requests >=2.23.0
  • scipy >=1.4.1
  • seaborn >=0.11.0
  • thop >=0.1.1
  • torch >=1.8.0
  • torchvision >=0.9.0
  • tqdm >=4.64.0
  • ultralytics >=8.1.47
requirements.txt pypi
  • PyYAML >=5.3.1
  • gitpython >=3.1.30
  • matplotlib >=3.3
  • numpy >=1.23.5
  • opencv-python >=4.1.1
  • pandas >=1.1.4
  • pillow >=10.3.0
  • psutil *
  • requests >=2.32.2
  • scipy >=1.4.1
  • seaborn >=0.11.0
  • setuptools >=70.0.0
  • thop >=0.1.1
  • torchvision >=0.9.0
  • tqdm >=4.66.3
utils/google_app_engine/additional_requirements.txt pypi
  • Flask ==2.3.2
  • gunicorn ==22.0.0
  • pip ==23.3
  • werkzeug >=3.0.1
  • zipp >=3.19.1