The task is to segment various types of defects / contaminations, if there is any, on ceramic tiles without discriminating the type. This is a Semantic Segmentation task with one class (defect) which shows avariation as crack, dye, oil and glue.
Dataset:
The dataset contains 84 positive (defected/contaminated) and 33 negative (normal) tile samples. There are 4 types of defects/contaminations, all annotated in LabelMe format, as depicted below.
.jpg)
Data Loading & Annotation:
You have 2 options:
- Download data annotated with LabelMe format. Load the imageset and the annotations that you downloaded using ReliUI. Import the imageset using “Import Data” and theannotation file per image folder using the “Import Annotated Dataset” (with the LabelMe annotation format option). Your annotated dataset will be available in the gallery.
- Load the raw imageset and annotate the data yourself in any industry standard format you like using the ReliUI’s intuitive annotation functions. Download the image folder. Follow the ReliVision Knowledge Hub User Guide (ReliUI: Data Curation) to define the target state/label (which is a single state in this case that you may call “Defect”), to annotate the defects (using polygons annotation tool as the task is semantic segmentation) and to save them in an appropriate industry standard format (for which LabelMe is a good option). A sample annotationof a crack is as follows:
.jpg)
Tile Defect Segmentation Model Training:
Follow the ReliVision Knowledge Hub User Guide (ReliTrainer: Training an AI Block) to train your AI model for tile defect segmentation. The main steps, detailed in the User Guide, include
- Model type selection: Semantic Segmentation
- Annotated dataset selection
- Automated or manual train/test split which essentially spares some data for training validation purposes.
- Hyper parameter setting: We have chosen the following in this use case:
- Epochs: 500
- X-Y Resolution: 800
- Learning Rate: 0.001 (default)
- Momentum: 0.937 (default)
- Weight Decay: 0.005 (default)
Training and Validation loss and IOU curves as a function of epochs:
.jpg)
Use the pipeline editor to build your pipeline by dragging and dropping the AI/Basic blocks. You will need to select an input data source (your raw image set) and a Semantic Segmentation AI Block connected in series as depicted below. Follow the ReliVision Knowledge Hub User Guide (ReliTrainer: Pipeline Editor / AI Pipeline).
.jpg)
Simply run your pipeline using the execute button at the top. You can review your results using the ReliUI data annotation interface. Your pipeline’s outputs will be saved as a separate set of annotations for each image it is run on. Visit the ReliVision Knowledge Hub User Guide (ReliTrainer: Pipeline Editor / AI Pipeline) for more details.
Sample segmentation output in case of oil contamination:
.jpg)
Sample segmentation output in case of a crack:
.jpg)