Skip to content

hqyone/cancer_rcnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deep convolutional neural networks model for cervical cancer screening and diagnosis

Instance Segmentation Sample

Cervical cancer (CC) is the fourth most common malignant tumor among women worldwide. Here, we proposed a robust deep convolutional neural cervical model for cervical cancer screening.

  • References:
    • Xueguang Li, Mingyue Du et al. Deep convolutional neural networks for cervical cancer screening and diagnosis using active learning strategy (submitted)

1. Environment Settings

  • Install Labelme (https://github.com/wkentaro/labelme)
  • Install and Configuring tensorflow 1.14, tf_config.ipynb shows how to setup tensorflow_gpu-1.14 on a PC machine.
  • The configuration was tested at PC (Windows 10) and Ubuntu (10.10) workstations, CPU: i7-960@3.20GHz quad-core. Memory: 16GB. Graphics card: GeForce GTX 1080 Ti 11GB and GTX 2080 Ti 11GB
  • Cloning this github repository to local machine.
  • Downloading/Collect testing data (see below)

2. Training Data

  • 500 TCT manually labelled images (200X magnification) which contains at least one cancer cell 500_tct_labeled_images (827M)
  • 400 TCT whole slide images (WSI) (~800000 images) are avaliable from the corresponding authors on reasonable request
  • yang-211-model-1.tsv The cell type prediction results of T1 model for 211 cancer patients
  • yin-189-model-T1.tsv The cell type prediction results of T1 model for 189 normal patients
  • yang-211-model-A3.tsv The cell type prediction results of A3 model for 211 cancer patients
  • yin-189-model-A3.tsv The cell type prediction results of A3 model for 189 normal patients

3. MaskRCNN Models

4. Code

4.1 Cell classification

  • hpv.py Main script to launcth RCNN model training and prediction
  • PR-Curve.py Script to calculate the precision and draw the PR Curves
  • train.cfg Config file for training model
  • predict.cfg Config file for predicting

4.2 patient classfication

5. Running

5.1 Training Model

python hpv.py train --config ./config/train.cfg

5.2 Predict

python hpv.py detect --config ./config/predict.cfg

5.3 Activate Learning Method

  • Splict the training dataset into serveral (e.g. 3) directories
  • Make train.cfg and predict.cfg for each interation
# Using initial model (e.g. coco model) to do the first training step
python hpv.py train --config ./config/train_1.cfg
# using the last model for first training procedure to do predict
python hpv.py detect --config ./config/predict_1.cfg
# using labelme to adjust the predict results manually
python hpv.py train --config ./config/train_2.cfg
# using the last model for first training procedure to do predict
python hpv.py detect --config ./config/predict_2.cfg
# using labelme to adjust the predict results manually
....

  • Run PR-Curve.py to calculate the precision of the model using test data

5.4 Patient classfication

6. License

Copyright (c) 2020 Quanyuan He Ph.D.

Contact: Dr. Quanyuan He , Dr. Junhua Zhou

Released under GPLv3. See license for details.

7. Disclaimer

This software is supplied 'as is' without any warranty or guarantee of support. The developers are not responsible for its use, misuse, or functionality. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability arising from, out of, or in connection with this software.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published