Git Product home page Git Product logo

aided-diagnosis-system-for-cervical-cancer-screening's Introduction

Aided-Diagnosis-System-for-Cervical-Cancer-Screening

Journal Link | Quick Start | Cite

Recommend the top k lesion cells and predict the positive probability of WSIs.


Requirements

Hardware

GPU: Nvidia 1080Ti or better (at least 10G memory)
CPU: Intel i7 or better
System Memory: 16G or better

Software

System: Win10
Nvidia GPU corresponding driver
CUDA: cuda 9.0
cudnn: cudnn 7.0

Python

Python: 3.6
Tensorflow-gpu: 1.7.0
Tensorboard: 1.7.0
Keras: 2.1.2
Keras-Applications: 1.0.6
Numpy: 1.19.5
Openslide-python: 1.1.1
Opencv-python: 3.4.1.15
Pandas: 0.20.3
Scikit-image: 0.17.2
Scikit-learn: 0.23.2


Supported WSI formats

WSI formats supported by the opensource OpenSlide library, including x.svs, x.mrxs, x.tif, etc; WSI resolution: 20× or 40× (0.1 – 0.6 um/pixel, 0.1 – 0.4 um/pixel is better)


Quick Start

Installation

Step1. Install CUDA v9.0 and cuDNN v7.0.5

Step2. Download Aided-Diagnosis-System-for-Cervical-Cancer-Screening

git clone [email protected]:ShenghuaCheng/Aided-Diagnosis-System-for-Cervical-Cancer-Screening.git
cd Aided-Diagnosis-System-for-Cervical-Cancer-Screening

Step3. Install requirements

pip3 install -U pip && pip3 install -r requirements.txt
Train

Train Model1

# train model1 classifier
python tools/train.py -n model1-cls -b 16
# train model1 locator based on model1 classifier's backbone
python tools/train.py -n model1-loc -b 16 -w [path to model1-cls weight]

Train Model2

# train model2 classifier
python tools/train.py -n model2-cls -b 32

Train WSI Classifier

# train WSI classifier
python tools/train.py -n wsi-cls -b 64
Evaluation

Evaluate classifiers.

python tools/eval.py -n model1-cls -b 16 -w [path to evaluated weight]
                        model2-cls -b 32
                        wsi-cls    -b 64
Inference

Python

Do inference to WSIs according to config file.

python tools/inference.py -c configs/wsi_inference.py -f [path to WSI or path to WSI list files] [--intermediate]

C++ Software

Prepare: convert h5 weights to pb files.

python tools/convert_to_pb.py -m model1 -w [path to weights] -o [path to save]
                                 model2
                                 wsi_clf_top10
                                 wsi_cls_top20
                                 wsi_clf_top30

Do inference: see C++ software

Tutorials

C++ software

The C++ software with test WSIs is available at Baidu Cloud. Correspongding user manual pdf is uploaded.
Extracting code can be provided by email [email protected] or [email protected].


Reference

If our work is useful for your research, please consider citing our paper:

Cheng, S., Liu, S., Yu, J. et al. Robust whole slide image analysis for cervical cancer screening using deep learning. Nat Commun 12, 5639 (2021). https://doi.org/10.1038/s41467-021-25296-x

@article{cheng2021robust,
  title={Robust whole slide image analysis for cervical cancer screening using deep learning},
  author={Cheng, Shenghua and Liu, Sibo and Yu, Jingya and Rao, Gong and Xiao, Yuwei and Han, Wei and Zhu, Wenjie and Lv, Xiaohua and Li, Ning and Cai, Jing and others},
  journal={Nature communications},
  volume={12},
  number={5639},
  year={2021},
  publisher={Nature Publishing Group}
}

aided-diagnosis-system-for-cervical-cancer-screening's People

Contributors

liamttt avatar shenghuacheng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

aided-diagnosis-system-for-cervical-cancer-screening's Issues

System

Hi, is it possible to build your proposed systems in Ubuntu instead of Win? or is there any dependency that only provides in win so it cannot built in Ubuntu? Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.