Skip to content

AvyaRathod/Project-NS

Repository files navigation

Spotting Nuclei. Speeding Cures.

We’ve all seen people suffer from diseases like cancer, heart disease, chronic obstructive pulmonary disease, Alzheimer’s, and diabetes. Many have seen their loved ones pass away. Think how many lives would be transformed if cures came faster.

Identifying the cells’ nuclei is the starting point for most analyses because most of the human body’s 30 trillion cells contain a nucleus full of DNA, the genetic code that programs each cell.

Nuclei identification is a pivotal first step in many areas of biomedical research. Pathologists often observe images containing microscopic nuclei as part of their day-to-day jobs.

During the research, pathologists must identify nuclei characteristics from microscopic images such as volume of nuclei, size, density, and individual position within the image.

Identifying nuclei allows researchers to identify each individual cell in a sample, and by measuring how cells react to various treatments, the researcher can understand the underlying biological processes at work.

Technologies Used -

Python TensorFlow Keras scikit-learn NumPy Pandas Git React Firebase

Install
git clone https://github.com/AvyaRathod/Project-NS  # clone
pip install -r requirements.txt  # install
 cd frontend
 npm run dev
Model

Developed multiple versions of U-Net implementation as proposed by Ronneberger et al. using Tensorflow 2 over the Data Science Bowl 2018 dataset

Models developed:

You can download the trained model files from here.

To use the model use:

from unet_models import jacard_coef, jacard_coef_loss
model = load_model('unet_test.h5', custom_objects={'jacard_coef': jacard_coef})

Training curves:

image

Model Accuracy IOU(Jaccard)
Unet Model 96.47% 0.8038
Attention Unet Model Yet to be trained Yet to be trained
Attention Residual Unet Model 96.86% 0.8186

Outputs: image

Workflow To provide a seamless experience to the user a dashboard is created, integrated with a terminal application which shows the live stream with the segmented nuclei and a nuclei count, and allows the user to save an instance of the stream to the database which can be accessed from the frontend.

image

Authors -

Avya Rathod

Avya Rathod

ML and CV Developer

Riya Batla

Riya Batla

Frontend Developer

Nikhil I

Nikhil Ivannan

Competetive Programmer