Skip to content

nasir6/chexnet

Repository files navigation

CheXNet implementation in PyTorch

Yet another PyTorch implementation of the CheXNet algorithm for pathology detection in frontal chest X-ray images. This implementation is based on approach presented here. Ten-crops technique is used to transform images at the testing stage to get better accuracy.

The highest accuracy 0.8779 was achieved by the model m-30012020-104001.pth.tar (see the models directory). If you cannot download model weights download from here.

The same training (70%), validation (10%) and testing (20%) datasets were used as in this implementation.

alt text

Prerequisites

  • set up conda env python 3.6

      conda create -n chexnet python=3.6
      conda activate chexnet
    
  • Pytorch

      conda install pytorch==1.1.0 torchvision cudatoolkit=9.0 -c pytorch
    
  • OpenCV (for generating CAMs)

      conda install -c menpo opencv
    
  • Pillow

      pip install Pillow==6.1
    
  • sklearn

      conda install -c anaconda scikit-learn
    
  • pandas

      conda install -c anaconda pandas
    

Usage

  • Download the ChestX-ray14 database from here

  • Unpack archives in separate directories copy all subdirectories images to database/xrays/images

  • To run test/train by setting appropriate variables values in Main.py

      python Main.py
    
  • Use the runTrain() function in the Main.py to train a model from scratch

This implementation allows to conduct experiments with 3 different densenet architectures: densenet-121, densenet-169 and densenet-201.

  • To generate CAM of a test file run script HeatmapGenerator

Results

The highest accuracy 0.8779 was achieved by the model m-30012020-104001.pth.tar (see the models directory). If you cannot download model weights download from here.

Pathology AUROC
Atelectasis 0.8333
Cardiomegaly 0.9434
Effusion 0.7848
Infiltration 0.9050
Mass 0.8628
Nodule 0.9614
Pneumonia 0.9138
Pneumothorax 0.9857
Consolidation 0.7665
Edema 0.9005
Emphysema 0.8514
Fibrosis 0.8507
P Thickening 0.7936
Hernia 0.9383
AUROC mean 0.8779

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages