Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: sciencedirect.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: ZhitaoWen
  • License: other
  • Language: Python
  • Default Branch: main
  • Size: 15.2 MB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 11 months ago · Last pushed 11 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

A Triple Semantic-aware Knowledge Distillation Network for Industrial Defect Detection

This is the official implementation of our paper:

A Triple Semantic-aware Knowledge Distillation Network for Industrial Defect Detection
Zhitao Wen, Jinhai Liu, He Zhao, Qiannan Wang

[PDF Paper]

struture

Introduction

Knowledge distillation (KD) is a powerful model compression technique that aims to transfer knowledge from heavy teacher networks to compact student networks via distillation. However, effectively transferring semantic knowledge in industrial settings poses significant challenges. On one hand, the appearance of defects (e.g., size and shape) may vary considerably due to the influence of the industrial site, which potentially weakens the semantic associations between class-specific features. On the other hand, agnostic background interference (e.g., spike anomalies and low light) may foster semantic ambiguity of class-specific features. As such, the weakened semantic associations and fostered semantic ambiguities hinder the efficacy and adequacy of knowledge transfer in KD. To mitigate these limitations, we propose a triple semantic-aware knowledge distillation (TSKD) network for industrial defect detection. TSKD contains three refinements, i.e., dual-relation distillation (DRD), decoupled expert distillation (DED), and cross-response distillation (CRD). Specifically, DRD employs graph reasoning networks to strengthen semantic associations at both the instance and pixel levels, DED enhances semantic explicitness by decoupling foreground and background features while injecting expert priors, and CRD further captures task-specific semantic response knowledge. By integrating these components, TSKD can effectively perceive triple semantic knowledge of relations, features, and responses, ensuring more robust and comprehensive knowledge transfer. Experimental evaluations on two challenging industrial datasets show that TSKD can significantly improve detector performance (MFL-DET: 98.9% mAP; NEU-DET: 81.0% mAP) and compress computation (MFL-DET: 19.7M Params and 105 FPS; NEU-DET: 19.7M Params and 116 FPS).

Install

shell conda create --name tskd python=3.7 -y conda activate tskd - conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch - pip install -U openmim - mim install "mmengine==0.7.3" - mim install "mmcv==2.0.0rc4" - git clone https://github.com/Zhitaowen/TSKD - cd TSKD - pip install -v -e .

dataset

Prepare dataset follow the official instructions.

Training

shell python tools/train.py configs/tskd/${CONFIG_FILE} [optional arguments]

Evaluation

shell python tools/test.py configs/tskd/${CONFIG_FILE} ${CHECKPOINT_FILE}

Citation

If you find our repo useful for your research, please cite us:

latex @article{wen2025triple, title={A triple semantic-aware knowledge distillation network for industrial defect detection}, author={Wen, Zhitao and Liu, Jinhai and Zhao, He and Wang, Qiannan}, journal={Computers in Industry}, volume={166}, pages={104252}, year={2025}, publisher={Elsevier} }

Acknowledgement

We sincerely thank mmdetection, FGD, and Cross-KD for providing their wonderful code to the community!

Owner

  • Name: ZhitaoWen
  • Login: ZhitaoWen
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - name: "MMDetection Contributors"
title: "OpenMMLab Detection Toolbox and Benchmark"
date-released: 2018-08-22
url: "https://github.com/open-mmlab/mmdetection"
license: Apache-2.0

GitHub Events

Total
  • Push event: 1
  • Create event: 1
Last Year
  • Push event: 1
  • Create event: 1

Dependencies

.github/workflows/deploy.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.circleci/docker/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/serve/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/serve_cn/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
requirements/albu.txt pypi
  • albumentations >=0.3.2
requirements/build.txt pypi
  • cython *
  • numpy *
requirements/docs.txt pypi
  • docutils ==0.16.0
  • myst-parser *
  • sphinx ==4.0.2
  • sphinx-copybutton *
  • sphinx_markdown_tables *
  • sphinx_rtd_theme ==0.5.2
requirements/mminstall.txt pypi
  • mmcv >=2.0.0rc4,<2.1.0
  • mmengine >=0.4.0,<1.0.0
requirements/optional.txt pypi
  • cityscapesscripts *
  • imagecorruptions *
  • scikit-learn *
requirements/readthedocs.txt pypi
  • mmcv >=2.0.0rc1,<2.1.0
  • mmengine >=0.1.0,<1.0.0
  • scipy *
  • torch *
  • torchvision *
requirements/runtime.txt pypi
  • matplotlib *
  • numpy *
  • pycocotools *
  • scipy *
  • six *
  • terminaltables *
requirements/tests.txt pypi
  • asynctest * test
  • cityscapesscripts * test
  • codecov * test
  • flake8 * test
  • imagecorruptions * test
  • instaboostfast * test
  • interrogate * test
  • isort ==4.3.21 test
  • kwarray * test
  • memory_profiler * test
  • onnx ==1.7.0 test
  • onnxruntime >=1.8.0 test
  • parameterized * test
  • protobuf <=3.20.1 test
  • psutil * test
  • pytest * test
  • ubelt * test
  • xdoctest >=0.10.0 test
  • yapf * test
requirements.txt pypi
setup.py pypi