TY-Shi / LIOT

A novel local intensity order transformation for robust curvilinear object segmentation(TIP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Local Intensity Order Transformation for Robust Curvilinear Object Segmentation

Introduction

Pytorch implementation of the paper "Local Intensity Order Transformation for Robust Curvilinear Object Segmentation", Accepted by IEEE TIP. In this paper, we aim to improve curvilinear object segmentation generalizability by introducing a novel local intensity order transformation (LIOT).

Citation

Please cite the related works in your publications if it helps your research:

@article{shi2022local,
  title={Local intensity order transformation for robust curvilinear object segmentation},
  author={Shi, Tianyi and Boutry, Nicolas and Xu, Yongchao and G{\'e}raud, Thierry},
  journal={IEEE Transactions on Image Processing},
  volume={31},
  pages={2557--2569},
  year={2022},
  publisher={IEEE}
}

Prerequisities

Usage

1.Convert RGB image to LIOT image

# adjust data dir in LIOT.py (for different dataset)
python src/LIOT.py #LIOT.py is an example python script.

2. Data preparation

# prepare dataset hdf5
python prepare_datasets.py

3. Training scripts

CUDA_VISIBLE_DEVICES=0 python src/curvilinearNN_training_topo.py

4. Evaluation scripts

CUDA_VISIBLE_DEVICES=0 python src/curvilinearNN_predict_thresh.py

5. Trained models

Trained models can be downloaded from here. [Google Drive] [Baidu Drive (download code: urc2) ].
Put the weights in the "DRIVE-LIOT_Iternet_weights/" directory.

LIOT Algorithm

Example Results

  1. Some segmentation results under cross-dataset validation. Green pixels: TPs; Red pixels: FNs; Blue pixels: FPs. Some FPs achieved by LIOT can find evidence in the original image, which might be TPs ignored in the manual annotation.

  2. Visualization of the segmentation results under crossdataset validation between CrackTree and retinal dataset.

  3. Visualization of the segmentation results under crossdataset validation between retinal and CrackTree datasets.

  4. Some segmentation results on different types of curvilinear images using the model trained on DRIVE dataset. From left to right: input image, segmentation on the original image using the baseline model, segmentation result by LIOT.

Quantitative Reuslts

Quantitative comparison of LIOT and some other methods under cross-dataset evaluation on retinal images.

Future Work

More convenient LIOT will be continuously updated.

Contact

Thanks for your attention! If you have any suggestion or question, you can leave a message here or contact us directly:

About

A novel local intensity order transformation for robust curvilinear object segmentation(TIP)

License:MIT License


Languages

Language:Python 50.6%Language:C++ 47.7%Language:Makefile 1.1%Language:C 0.5%Language:CMake 0.1%Language:Shell 0.0%Language:Batchfile 0.0%