liyemei / SCFNet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SCFNet: Lightweight Steel Defect Detection Network Based on Spatial Channel Reorganization and Weighted Jump Fusion

⭐ This code has been completely released ⭐

⭐ our article

If our code is helpful to you, please cite:

@article{li2024scfnet,
  title={SCFNet: Lightweight Steel Defect Detection Network Based on Spatial Channel Reorganization and Weighted Jump Fusion},
  author={Li, Hongli and Yi, Zhiqi and Mei, Liye and Duan, Jia and Sun, Kaimin and Li, Mengcheng and Yang, Wei and Wang, Ying},
  journal={Processes},
  volume={12},
  number={5},
  pages={931},
  year={2024},
  publisher={MDPI}
}

## Requirements

```python
pip install -r requirements.txt

Train

1. Prepare training data

  • The download link for the NEU-DET data set is here.
  • The download link for the GC10-DET data set is here.
SCFNet
├── NEU-DET
│   ├── images
│   │   ├── train
│   │   │   ├── crazing_1.jpg
│   │   │   ├── crazing_2.jpg
│   │   │   ├── .....
│   │   ├── val
│   │   ├── test
│   ├── labels
│   │   ├── train
│   │   │   ├── crazing_1.txt
│   │   │   ├── crazing_2.txt
│   │   │   ├── .....
│   │   ├── val
│   │   ├── test
  • After downloading the data set, modify the paths in path, train, val and test in the data.yaml file.

2. Begin to train

python train.py

Test

1. Begin to test

python val.py

Results

Methods P R mAP50 mAP50:95 GFLOPs $\downarrow$ Params/M $\downarrow$
Faster R-CNN 0.615 0.865 0.76 0.377 135 41.75
CenterNet 0.712 0.749 0.764 0.412 123 32.12
YOLOv5n-7.0 0.694 0.694 0.746 0.422 4.2 1.77
YOLOv5s-7.0 0.745 0.719 0.761 0.429 15.8 7.03
YOLOv7-tiny 0.645 0.775 0.753 0.399 13.1 6.02
YOLOv8s 0.768 0.726 0.795 0.467 28.4 11.13
YOLOX-tiny 0.746 0.768 0.76 0.357 7.58 5.03
MRF-YOLO 0.761 0.707 0.768 - 29.7 14.9
YOLOv5s-FCC - - 0.795 - - 13.35
WFRE-YOLOv8s 0.759 0.736 0.794 0.425 32.6 13.78
CG-Net 0.734 0.687 0.759 0.399 6.5 2.3
ACD-YOLO - - 0.793 - 21.3 -
YOLOv5-ESS - 0.764 0.788 - - 7.07
PMSA-DyTr - - 0.812 - - -
MED-YOLO - - 0.731 0.376 18 9.54
MAR-YOLO - - 0.785 - 20.1 -
SCFNet 0.786 0.715 0.812 0.469 5.9 2
  • Bold indicates first or second best performance.

Time

2024.4.25 open the val.py

2024.5.16 update train.py

2024.5.16 update ScConv module.

Visualization of results

Acknowledgements

This code is built on ultralytics (PyTorch). We thank the authors for sharing the codes.

Contact

If you have any questions, please contact me by email (lazyshark2001@gmail.com).

About


Languages

Language:Python 99.6%Language:Shell 0.4%