FDSNet: An Accurate Real-Time Surface Defect Segmentation Network paper [pdf]
⭐️ MSD dataset ⭐️
The generated auxiliary ground-truth AuxiliaryGT for MSD dataset.
The images of MSD dataset are downsampled to 1440×810 during training and test.
We convert SD-saliency-900 and Magnetic-tile-defect-datasets (denoted as MT-Defect) dataset to PASCAL VOC format and divide the datasets
into train: val: test = 6: 2: 2 randomly. We use trainval-test for NEU-Seg and MT-Defect and train-test for MSD dataset. The converted datasets can be downloaded here: MT-Defect and NEU-Seg.
Python 3.8.5 PyTorch 1.9.0 CUDA 11.1
one NVIDIA GTX 1080Ti GPU
conda env create -f requirements.yml
First download the dataset and the auxiliary ground-truth. Put the auxiliary GT to the data folder and modify the path in the /core/data/dataloader.
when train model on NEU-Seg, set scale-ratio=None. when train model on MT-Defect, set crop size=450 and base_size not None.
Train model
CUDA_VISIBLE_DEVICES=0 python train.py --model fdsnet --use-ohem True --aux True --dataset phone_voc --scale-ratio 0.75 --lr 0.0001 --epochs 150 --batch-size 8
Eval model. We eval the image one by one.
python eval.py
Dataset | Pth | mIoU | FPS |
---|---|---|---|
MSD | fastscnn__phone_voc_best_model.pth | 89.1 | 115.0 |
MSD | fdsnet__phone_voc_best_model.pth | 90.2 | 135.0 |
MT-Defect | fdsnet__mt_voc_best_model.pth | 63.9 | 181.5 |
NEU-Seg | fdsnet__sd_voc_best_model.pth | 78.8 | 186.1 |