CodeSigma91 / Project_CapstoneKoios

Deep learning project using Keras that aims to detect (localize) thyroid lesions on ultrasound scans

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project_CapstoneKoios

Detecting Thyroid Lesions in Ultrasound Scans: Object Localization using Bounding Boxes and Deep Learning

Sponsored by Koios Medical, this project aims to build a deep learning neural network model that can localize potential tumors and/or lesions on ultrasound scans of the thyroid. This model is trained on a data set of patient thyroid scans that have already been marked by radiologists, available here (based on this research paper). The model is built on the Keras framework (using tensor flow on the backend) and utilizes the Xception pre-trained weights to initialize its training.

  • A brief blogpost on this project can be found here

This repository consists of the following files and folders:

  1. FOLDERS:
  • cimalab - Project data folder. Original name kept due to directory variables in original data set.
    • dataframe - Folder containing .csv files from the original data source and ones generated by the project code to save project data. The 'image', 'coors' and 'cases' files are from the data source, the rest are modified dataframes used in the project.
    • thyroid - One of three image folders from the original data set. This folder contains 480 .JPEGs of thyroid ultrasound scans.
      • aug - Empty, separate folder created inside 'thyroid' folder to hold all generated, augmented images once code is run.
  • xception - Empty folder in repository, but should be populated once the model code is run, with model logs and IoU scores from testing.
  1. PYTHON JUPYTER NOTEBOOK:
  • EDA - Code to load and initially analyze source data. Also contains image augmentation code that generates new images.
  • KOIOS_Project - code that loads, complies, trains and builds Keras model for this project. Also includes test data set for model evaluation
  1. PYTHON FUNCTION FILES:
  • calculate_iou - Custom Python function that computes IoU (Intersection over Union) scores for bounding box predictions.
  • tf_iou - Python function similar to 'caluculate_iou', but modified to be used as an evaluation metric for TensorFlow models (compilation into model was done through Keras)

Thank you so much for viewing my code!

About

Deep learning project using Keras that aims to detect (localize) thyroid lesions on ultrasound scans


Languages

Language:Jupyter Notebook 99.6%Language:Python 0.4%