pediatric_wrist_abnormality_detection-end-to-end-implementation

This repository contains the official code for the paper "Enhancing wrist abnormality detection with YOLO: Analysis of state-of-the-art single-stage detection models". We achieved SOTA fracture detection results on GRAZPEDWRI-DX dataset. Also contains code for end-to-end application.

https://github.com/ammarlodhi255/pediatric_wrist_abnormality_detection-end-to-end-implementation

Science Score: 49.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, sciencedirect.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.4%) to scientific vocabulary

Keywords

deep-learning fracture fracture-detection object-detection wrist wrist-fracture wrist-pathology-detection yolov5 yolov6 yolov7 yolov8
Last synced: 9 months ago · JSON representation

Repository

This repository contains the official code for the paper "Enhancing wrist abnormality detection with YOLO: Analysis of state-of-the-art single-stage detection models". We achieved SOTA fracture detection results on GRAZPEDWRI-DX dataset. Also contains code for end-to-end application.

Basic Info
Statistics
  • Stars: 6
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
deep-learning fracture fracture-detection object-detection wrist wrist-fracture wrist-pathology-detection yolov5 yolov6 yolov7 yolov8
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

Pediatric Wrist Abnormality Detection

PWC

Framework


Journal Paper URL: Enhancing wrist abnormality detection with YOLO: Analysis of state-of-the-art single-stage detection models


Arxiv URL: Enhancing Wrist Fracture Detection with YOLO


The proposed project aims to provide a solution to the scarcity of radiologists and the lack of specialized training among medical professionals in diagnosing and treating wrist abnormalities in children, adolescents, and young adults. With the incidence rate of distal radius and ulna fractures being higher during puberty, timely and accurate diagnosis is crucial. To address this, the project aims to provide an automated system using object detection algorithms and computer vision and machine learning techniques, enabling users to easily input pediatric wrist X-ray images and receive an output indicating the presence and location of any anomalies. The system is designed to be user-friendly, providing high accuracy and precision in diagnosis, and accessible through a mobile application without an internet connection. The project aims to reduce the dependency on manual interpretation of X-ray images, which can be time-consuming and subject to errors, and to make the diagnostic process more efficient for both patients and doctors. The research paper further highlights the effectiveness of single-stage deep neural network-based detection models, specifically YOLOv8x, in enhancing pediatric wrist imaging, with a fracture detection mean average precision (mAP) of 0.95 and an overall mAP of 0.77 on the GRAZPEDWRI-DX pediatric wrist dataset. In summary, the project aims to provide an innovative and efficient solution to improve the diagnosis and treatment of wrist abnormalities, ultimately improving patient care and convenience.

Installation

To run this machine learning project on Flask, you need to follow these steps:

  1. Clone the project repository from GitHub:

bash git clone https://github.com/ammarlodhi255/pediatric_wrist_abnormality_detection-end-to-end-implementation.git

  1. Navigate to the project directory:

bash cd pediatric_wrist_abnormality_detection-end-to-end-implementation

  1. Create a virtual environment for the project:

bash python3 -m venv env

  1. Activate the virtual environment:

bash source env/bin/activate

  1. Install the required packages using pip:

bash pip install -r requirements.txt

  1. Export the Flask app:

bash export FLASK_APP=app.py

  1. Run the Flask app:

bash flask run

The app should now be running on your local machine. You can access it by opening a web browser and navigating to http://localhost:5000.

Results

We conducted a total of 23 detection procedures using different variants of each YOLO model and a two-stage detection model (Faster R-CNN) on a test set consisting of 1016 randomly selected samples. The performance of each model was evaluated using metrics such as precision, recall, and mean average precision (mAP).

Below are the weights of the YOLOv8 model along with their corresponding results:

YOLOv8 Weights

| Model variants | size
(pixels) | Precision | Recall | mAP@0.5 | mAP@0.5:0.95 | | ------------------------------------------------------------------------------------------ | --------------------- | --------- | ------ | ------- | ------------ | | YOLOv8n | 640 | 0.73 | 0.58 | 0.59 | 0.36 | | YOLOv8s | 640 | 0.72 | 0.63 | 0.65 | 0.39 | | YOLOv8m | 640 | 0.60 | 0.60 | 0.56 | 0.36 | | YOLOv8l | 640 | 0.74 | 0.60 | 0.62 | 0.41 | | YOLOv8x | 640 | 0.79 | 0.64 | 0.77 | 0.53 |

Presented below is a summary of the mean average precision (mAP) scores achieved by all YOLO variants and Faster R-CNN, for both the fracture class and all classes combined.

Acknowledgement

  • This work was supported in part by the Department of Computer Science (IDI), Faculty of Information Technology and Electrical Engineering, Norwegian University of Science and Technology (NTNU), Gjvik, Norway; and in part by the Curricula Development and Capacity Building in Applied Computer Science for Pakistani Higher Education Institutions (CONNECT), Project number: NORPART-2021/10502, funded by DIKU.

Citation

bibtex @article{ahmed2024enhancing, title={Enhancing wrist abnormality detection with YOLO: Analysis of state-of-the-art single-stage detection models}, author={Ahmed, A. and Imran, A. S. and Manaf, A. and Kastrati, Z. and Daudpota, S. M.}, journal={Biomedical Signal Processing and Control}, volume={93}, pages={106144}, year={2024}, month={Jul}, doi={10.1016/j.bspc.2024.106144} url={https://www.sciencedirect.com/science/article/pii/S1746809424002027} }

Owner

  • Name: Ammar Ahmed
  • Login: ammarlodhi255
  • Kind: user
  • Location: Sukkur, Pakistan

A computer scientist at heart, interested in AI, software development, and space.

GitHub Events

Total
  • Watch event: 4
  • Fork event: 1
Last Year
  • Watch event: 4
  • Fork event: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: about 18 hours
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • AbdulManaf12 (6)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

android-application-src/app/build.gradle maven
  • androidx.appcompat:appcompat 1.3.1 implementation
  • androidx.appcompat:appcompat 1.5.1 implementation
  • androidx.constraintlayout:constraintlayout 2.1.4 implementation
  • androidx.core:core-ktx 1.7.0 implementation
  • androidx.core:core-ktx 1.6.0 implementation
  • androidx.webkit:webkit 1.4.0 implementation
  • com.github.MikeOrtiz:TouchImageView 1.4.1 implementation
  • com.google.android.material:material 1.7.0 implementation
  • junit:junit 4.13.2 testImplementation
android-application-src/build.gradle maven
notebook/yolo_src/yolov6_src/requirements.txt pypi
  • PyYAML >=5.3.1
  • addict >=2.4.0
  • numpy >=1.18.5
  • onnx >=1.10.0
  • onnx-simplifier >=0.3.6
  • opencv-python >=4.1.2
  • pycocotools >=2.0
  • scipy >=1.4.1
  • tensorboard >=2.7.0
  • thop *
  • torch >=1.8.0
  • torchvision >=0.9.0
  • tqdm >=4.41.0
notebook/yolo_src/yolov6_src/tools/quantization/tensorrt/requirements.txt pypi
  • nvidia-pyindex *
  • pycuda ==2020.1
  • pytorch-quantization *
  • tensorrt *
requirements.txt pypi
  • flask *
  • pytorch *
  • ultralytics *