/chainer-skin-lesion-detector

Skin Lesion Detector using HAM10000 dataset with Chainer / ChainerCV

Primary LanguagePythonMIT LicenseMIT

Chainer Skin Lesion Detector

MIT

Skin Lesion Detector using HAM10000 dataset with Chainer

Requirements

  • Python 3.6
  • Chainer 5.0
  • ChainerCV 0.11
  • cupy-cuda90
  • opencv 3.4
$ pip install -r requirements.txt

Setup environment using Docker

$ docker build -t chainer-skin-lesion-detector .
$ docker run --rm -it -v $(pwd):/chainer-skin-lesion-detector --runtime nvidia --name chainer-skin-lesion-detector-dev chainer-skin-lesion-detector /bin/bash

Directory architecture

.
├── data
│   ├── ISIC2018_Task1-2_Training_Input
│   ├── ISIC2018_Task1_Training_GroundTruth
│   ├── preprocessed
│   │   ├── ground_truth
│   │   └── input
│   └── xml
└── src
    ├── models
    │
    ├── notebooks
    │
    ├── result
    └── util

Download dataset

Preprocess

  • Re-scale image and ground truth
  • Make bounding box from ground truth of segmentation image
  • Create VOC format based label to data/xml directory
$ python make_dataset.py --loaderjob 4

An example of annotation data with a bounding box from the ground truth of segmentation using ISIC2018 task1 dataset:

Train

  • You can specify model, number of batch size, number of epoch, GPU ID and number of parallel data loading process.
$ python main.py --model ssd300 --batchsize 32 --epoch 30 --gpu 0 --loaderjob 4

Evaluation

Example of model prediction

Reference