Automatic Rust Segmentation Using Gaussian Mixture Model and Superpixel Segmentation

Computer-vision-based rust detection is a promising way to enhance the inspection efficiency and accuracy for the steel components of infrastructures. Existing automatic rust detection methods may fail to differentiate and extract different types of rust corrosion, and may require an enormous amount of precisely annotated training data. To resolve these issues, this paper proposes a novel rust segmentation approach based on the Gaussian mixture model (GMM) and superpixel segmentation. The GMM model learns the feature distribution of different degrees of rustiness in the HSV color space and predicts the rustiness probability of each pixel in the input image. The SLIC algorithm is exploited for superpixel segmentation on the input images. Rust/non-rust classification is conducted on the superpixels according to the mean of rustiness probabilities in each superpixel with a threshold generated by the OTSU algorithm. Finally, rust segmentation masks are produced according to the superpixel classification results. The proposed rust segmentation approach simplifies the preprocessing phase and takes into consideration the characteristics of rust areas with different rustiness degrees and the correlation of adjacent pixels. Experimental results show that the proposed approach is robust to the variation of rust features and can generate consistent segmentation results at the boundaries of rusted areas, while only requiring a relatively small training data set. The average processing time for an 120×88 image is 24.283 ms, which indicates that the proposed approach is promising to achieve real-time processing in real-world applications. Our code is available at: https://github.com/lyzx2001/GMM-SLIC-RustDetction