Train a High-Quality Model

This section introduces several factors that most affect the model quality and how to train a high-quality image classification model.

Ensure Image Quality

  1. Avoid overexposure, dimming, color distortion, blur, occlusion, etc. These conditions will lead to the loss of features that the deep learning model relies on, which will affect the model training effect.

    • Left image, bad example: Overexposure.

    • Right image, good example: Adequate exposure.

      ../../../_images/overexposed2.png

      You can avoid overexposure by methods such as shading.

    • Left image, bad example: Dim image.

    • Right image, good example: Adequate exposure.

      ../../../_images/darker_lighting2.png

      You can avoid dimming by methods such as supplementary light.

    • Left image, bad example: Color distortion.

    • Right image, good example: Normal color.

      ../../../_images/color_distortion2.png

      Color distortion can be avoided by adjusting the white balance.

    • Left image, bad example: Blur.

    • Right image, good example: Clear.

      ../../../_images/obscure2.png

      Please avoid capturing images when the camera or the objects are still moving.

    • Left image, bad example: Occluded by the robot arm.

    • Right image, good example: Occluded by a human.

      ../../../_images/occluded2.png

      Please make sure there is no robot or human in the way from the camera to the objects.

  2. Ensure that the background, perspective, and height of the image-capturing process are consistent with the actual application. Any inconsistency will reduce the effect of deep learning in practical applications. In severe cases, data must be re-collected. Please confirm the conditions of the actual application in advance.

    • Bad example: The background in the training data (left) is different from the background in the actual application (right).

      ../../../_images/background_inconsistent2.png

      Please make sure the background stays the same when capturing the training data and when deploying the project.

    • Bad example: The field of view and perspective in the training data (left) are different from that in the actual application (right).

      ../../../_images/field_mismatch2.png

      Please make sure the field of view and perspective stay the same when capturing the training data and when deploying the project.

    • Bad example: The camera height in the training data (left) is different from the background in the actual application (right).

      ../../../_images/height_mismatch2.png

      Please make sure the camera height stays the same when capturing the training data and when deploying the project.

Ensure Dataset Quality

An object detection model is trained by learning the features of the objects in the image. Then the model applies what is learned in the actual applications.

Therefore, to train a high-quality model, the conditions of the collected and selected dataset must be consistent with those of the actual applications.

  1. Collect Datasets

  2. Select Datasets

Collect Datasets

Various placement conditions need to be properly allocated. For example, if there are horizontal and vertical incoming materials in actual production, but only the data of horizontal incoming materials are collected for training, the classification effect of vertical incoming materials cannot be guaranteed.

Therefore, when collecting data, it is necessary to consider various conditions of the actual application, including the features present given different object placement orientations, positions, and positional relationships between objects.

Attention

If some situations are not in the datasets, the deep learning model will not go through inadequate learning on the corresponding features, which will cause the model to be unable to effectively make recognitions given such conditions. In this case, data on such conditions must be collected and added to reduce the errors.

Orientations

../../../_images/different_towards1.png

Positions

../../../_images/different_situations1.png
../../../_images/different_layers1.png

Positional relationships between objects

../../../_images/positions1.png
../../../_images/different_positions1.png

Data Collection Examples

A workpiece inspection project

  • The incoming objects are rotors scattered randomly.

  • The project requires accurate detection of all rotor positions.

  • 30 images were collected.

    • Positions: In the actual application, the rotors may be in any position in the bin, and the quantity will decrease after picking each time.

    • Positional relationships: The rotor may come scattered, neatly placed, or overlapped.

    ../../../_images/different_positions_0.png

A steel bar counting project

  • Steel bars have relatively simple features, so only the variations of object positions need to be considered. Images in which steel bars are in any position in the camera’s field of view were captured.

    ../../../_images/different_positions_1.png

Select the Right Dataset

  1. Control dataset image quantities

    For the first-time model building of the Object Detection module, capturing 20 images is recommended.

    It is not true that the larger the number of images the better. Adding a large number of inadequate images in the early stage is not conducive to model improvement later, and will make the training time longer.

  2. Collect representative data

    Dataset image capturing should consider all the conditions in terms of illumination, color, size, etc. of the objects to recognize.

    • Lighting: Project sites usually have environmental lighting changes, and the datasets should contain images with different lighting conditions.

    • Color: Objects may come in different colors, and the datasets should contain images of objects of all the colors.

    • Size: Objects may come in different sizes, and the datasets should contain images of objects of all existing sizes.

    Attention

    If the actual on-site objects may be rotated, scaled in images, etc., and the corresponding image datasets cannot be collected, the datasets can be supplemented by adjusting the data augmentation training parameters to ensure that all on-site conditions are included in each dataset.

  3. Balance data proportion

    The number of images of different conditions/object classes in the datasets should be proportioned according to the actual project; otherwise, the training effect will be affected.

  4. Dataset images should be consistent with those from the application site

    The factors that need to be consistent include lighting conditions, object features, background, field of view, etc.

Ensure Labeling Quality

Labeling quality should be ensured in terms of completeness and accuracy.

  1. Completeness: Label all objects that meet the rules, and avoid missing any objects or object parts.

    • Left image, bad example: Omit objects that should be labeled.

    • Right image, good example: Label all objects.

      ../../../_images/contour_missed1.png

      Please do not omit any object.

  2. Accuracy: Each rectangular selection should contain the entire object. Please avoid missing any object parts, or including excess regions outside the object contours.

    • Left image, bad example: Include multiple objects or incomplete objects in one selection.

    • Right image, good example: Each selection corresponds to one object.

      ../../../_images/contour_incomplete_over1.png

      Please do not include unnecessary regions or omit necessary object parts.