Surface defect detection methods for industrial products with imbalanced samples: a review of progress in the 2020s

Dongxu Bai, Gongfa Li*, Du Jiang*, Juntong Yun*, Bo Tao, Guozhang Jiang, Ying Sun, Zhaojie Ju*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


Industrial products typically lack defects in smart manufacturing systems, which leads to an extremely imbalanced task of recognizing surface defects. With this imbalanced sample distribution, machine learning and deep learning algorithms preferentially learn features from the majority classes, potentially leading to inaccurate results. Addressing the issue of sample imbalance has thus emerged as a critical area of research within the field of industrial intelligent manufacturing. This paper discusses the imbalanced sample problem of industrial product surface defect detection algorithms, and proposes the existence of "four imbalances and two uncertainties". It also summarizes the industrial product surface dataset and innovatively adds the imbalance rate comparison to the dataset. In this study, data re-sampling, data expansion, feature extraction and identification, and re-weighting of category weights are elaborated at the level of data and algorithm respectively. Additionally, the paper explores prospective directions for future research, including supervised and unsupervised learning, transfer learning, anomaly detection, quality prediction, and future challenges. It is hoped to lay a solid foundation for the more far-reaching development of smart manufacturing and surface defect detection methods. And provide some directions for the research of sample imbalance and long-tail problems.

Original languageEnglish
Article number107697
Number of pages24
JournalEngineering Applications of Artificial Intelligence
Early online date20 Dec 2023
Publication statusPublished - 1 Apr 2024


  • Artificial intelligence
  • Imbalanced sample
  • Industrial product
  • Intelligent defect detection
  • Smart manufacturing

Cite this