Use the Instance Segmentation Module

You are currently viewing the documentation for the latest version (2.6.2). To access a different version, click the "Switch version" button located in the upper-right corner of the page.

■ If you are not sure which version of the product you are currently using, please feel free to contact Mech-Mind Technical Support.

Please click here to download an image dataset of wooden blocks, an example project provided by Mech-DLK. In this topic, we will use an Instance Segmentation module and train a model to segment different types of wooden blocks and export the corresponding class labels.

You can also use your own data. The usage process is overall the same, but the labeling part is different.

Preparations

  1. Create a new project and add the Instance Segmentation module: Click New Project in the interface, name the project, and select a directory to save the project. Click example projects icon create in the upper right corner of the Modules panel and add the Instance Segmentation module.

    example projects instance segmentation
  2. Import the image data of wooden blocks: Unzip the downloaded data file. Click the Import/Export button in the upper left corner, select Import Folder, and import the image folder. The wooden blocks in the images are of four different shapes and colors.

    example projects import images

    If duplicate images are detected in the image data, you can choose to skip, import, or set an tag for them in the pop-up Import Images dialog box. Since each image supports only one tag, adding a new tag to an already tagged image will overwrite the existing tag. When importing a dataset, you can choose whether to replace duplicate images.

    • Dialog box for the Import Images or Import Folder option:

      example projects duplicate1
    • Dialog box for the Import Dataset option:

      example projects duplicate3
      When you select Import Dataset, you can import datasets in the DLKDB format (.dlkdb) and the COCO format. Click here to download the example dataset.
  3. Select an ROI: Click the ROI Tool button example projects icon roi and adjust the frame to select the bin containing wooden blocks in the image as an ROI. Then, click the tools introduction OK button in the lower right corner of the ROI to save the setting. Setting the ROI can avoid interferences from the background and reduce processing time.

    example projects roi
  4. Create classes: Select Labeling and click the + New button in the Classes panel to create classes based on the type or feature of different objects. In this example, the classes are named after the different shapes of the wooden blocks. You can also name the classes according to different colors.

    When you select a class, you can right-click the class and select Merge Into to change the data in the current class to another class. If you perform the Merge Into operation after you trained the model, it is recommended that you train the model again.
    example projects create labels

Data Labeling

  1. Label images: Right-click the example projects icon tool button and select a suitable tool to label the image. In this example project, the contours of the wooden blocks need to be outlined for segmentation. In addition, please make sure that the different shapes of wooden blocks have been labeled correctly. Click here to view how to use labeling tools.

    example projects labeling
  2. Split the dataset into the training set and validation set: By default, 80% of the images in the dataset will be split into the training set, and the rest 20% will be split into the validation set. You can click example projects icon slider and drag the slider to adjust the proportion. Please make sure that both the training set and validation set include objects of all classes to be segmented. If not, select the image name and then right-click it for adjustment.

    example projects move image

Model Training

  1. Start training: Keep the default training parameter settings and click Train to start training the model.

    example projects training chart
  2. Monitor training progress through training information: On the Training tab, the training information panel allows you to view real-time model training details.

    example projects view training info
  3. View training progress through the Training Chart window: Click the Show chart button under the Training tab to view real-time changes in the model’s accuracy and loss curves during training. An overall upward trend in the accuracy curve and a downward trend in the loss curve indicate that the current training is running properly.

    example projects view training chart
  4. Stop training early based on actual conditions (optional): When the model accuracy has met the requirements, you can save time by clicking the Training center button, selecting the project from the task list, and then clicking stop trainig to stop training. You can also wait for the model training to complete and observe parameter values such as the highest accuracy to make a preliminary assessment of the model’s performance.

If the accuracy curve shows no upward trend after many epochs, it may indicate a problem with the current model training. Stop the model training process, check all parameter settings, examine the training set for missing or incorrect labels, correct them as needed, and then restart training.

Model Validation

  1. Validate the model: After training is completed or manually stopped, click the Validate button under the Validation tab to validate the model.

    example projects verify chart
  2. Check the model’s validation results in the training set: After validation is complete, you can view the validation result quantity statistics in the Validation statistics section under the Validation tab. Click the View full report button to open the Detailed Report window and view detailed validation statistics. The Statistical matrix in the report shows the correspondence between the validated data and labeled data of the model, allowing you to assess how well each class is matched by the model. In the matrix, the vertical axis represents labeled data, and the horizontal axis represents predicted results. Blue cells indicate matches between predictions and labels, while the other cells represent mismatches, which can provide insights for model optimization. Clicking a value in the matrix will automatically filter the image list in the main interface to display only the images corresponding to the selected value.

    example projects detail report

    If the validation results on the training set show missed or incorrect detections, it indicates that the model training performance is unsatisfactory. Please check the labels, adjust the training parameter settings, and restart the training. You can also click the Export report button at the bottom-right corner of the Detailed Report window to choose between exporting a thumbnail report or a full-image report.

    example projects export report
    You don’t need to label and move all images with missed or incorrect detections in the test set into the training set. You can label a portion of the images, add them to the training set, then retrain and validate the model. Use the remaining images as a reference to observe the validation results and evaluate the effectiveness of the model iteration.
  3. Restart training: After adding newly labeled images to the training set, click the Train button to restart training.

  4. Recheck model validation results: After training is complete, click the Validate button again to validate the model and review the validation results on each dataset.

  5. Fine-tune the model (optional): You can enable developer mode and turn on Finetune in the Training Parameter Settings dialog box. For more information, see Iterate a Model.

  6. Continuously optimize the model: Repeat the above steps to continuously improve model performance until it meets the requirements.

Model Export

Click Export. In the pop-up dialog box, select a directory to save the exported model, and click Export.

example projects model files

The exported model can be used in Mech-Vision and Mech-DLK SDK. Click here to view the details.

Is this page helpful?

You can give a feedback in any of the following ways:

We Value Your Privacy

We use cookies to provide you with the best possible experience on our website. By continuing to use the site, you acknowledge that you agree to the use of cookies. If you decline, a single cookie will be used to ensure you're not tracked or remembered when you visit this website.