I. Introduction
Nowadays, automatic surface defect detection is becoming more and more vital in industry [1]. However, the traditional detectors of defects (e.g., gray-level co-occurrence matrices, scale invariant feature transform, and local binary patterns) usually focus on texture analysis to simulate the difference between defective and non-defective regions by using manual features [2], where common methods include statistical ones [3], structural-based ones [4], filter-based ones [5] and model-based ones [6]. Unfortunately, these approaches are typically proposed for specific categories of defects or surfaces, such as steel and/or wood surfaces, as well as inclusions and/or cracks, so that it is difficult to generalize them into the detection of different categories of defects and surfaces.