Joint Topology-preserving and Feature-refinement Network for Curvilinear
Structure Segmentation
Mingfei Cheng*, Kaili Zhao*, Xuhong Guo, Yajing Xu, and Jun Guo.
Accepted to ICCV 2021
Requirements
Python 3.6
Pytorch 1.9.1
Please download related datasets: CrackTree200, Crack500, DRIVE, Roads
Data folder structure:
data/
├── split
│ ├──drive
│ │ ├── train.txt
│ │ └── test.txt
│ └──...
└── other data process files
datasets/
├── DRIVE
│ ├── images
│ │ ├── img1.tif
│ │ └── ...
│ ├── annotation_mask
│ │ ├── img1.png
│ │ └── ...
│ ├── annotation_boundary
│ │ ├── img1.png
│ │ └── ...
│ └── others
└── ...
We provide our script to generate boundary labels from annotations, your can run (Replace the folder path in brackets below):
python tools/produce_boundary.py --mask [annotation folder path] --save [generated boundary labels' path]
Please modify the config and run:
sh train_jtfn.sh
Please modify the config and run:
sh test_jtfn.sh
We provide our retrained models on Roads, DRIVE and Crack500 (Baidu, password:n14e; Google):
Dataset | F1 |
---|---|
DRIVE | 82.70 |
Roads | 61.16 |
Crack500 | 66.38 |
If you use this code and our results for your research, please cite our paper.
@inproceedings{JTFN_ICCV_2021,
title={Joint Topology-preserving and Feature-refinement Network for Curvilinear Structure Segmentation},
author={Cheng, Mingfei and Zhao, Kaili and Guo, Xuhong and Xu, Yajing and Guo, Jun},
booktitle={ICCV},
year={2021}
}