Metallic Corrosion

This project aims to design a automatic system to detect corrosion/rust in real data provided by Docomo. There are three stages of the project:

  1. Identify research problem: Our research transition corrosion detection into a patch-wise classification problem instead of image-wise classification or semantic segmentation. This choice is motivated by the fact that approximately 95% of the images contain rust, and the vague edges of corrosion patches make semantic segmentation and image-wise classification unfeasible.
  2. Design data pipeline: We manually created a new benchmark comprising ~10k patches annotated with rust/norust/bg. Additionally, during the annotation process, human annotators assigned confidence scores to the labels, allowing for classification with varying levels of confidence.
  3. Drive model design: We have developed a two-stage learning framework that effectively addresses the presence of noisy labels by distinguishing between data with clean and noisy labels in the initial stage and subsequently re-labeling the noisy data. It is important to highlight that approximately 30% of the noisy labels are generated as a result of the diverse corrosion levels, regions, and vague edges present in the dataset.