LIOT
LIOT copied to clipboard
A novel local intensity order transformation for robust curvilinear object segmentation(TIP)
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
- Datasets: [DRIVE], [STARE], [CHASEDB1], [CrackTree]
- opencv >= 4.5.2
- h5py >= 3.2.1
- scikit-learn >= 0.23.2
- pytorch >= 1.7.0
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
-
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.
-
Visualization of the segmentation results under crossdataset validation between CrackTree and retinal dataset.
-
Visualization of the segmentation results under crossdataset validation between retinal and CrackTree datasets.
-
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: