Cascade Module Use Case: Training a High-Precision Model for Small Object Segmentation
This topic uses crankshaft loading as an example to demonstrate how to train a high-precision model by using cascaded modules in scenarios with a wide field of view and small object sizes.
Training Process
Automated crankshaft loading requires guiding a robot to identify and pick up scattered crankshafts from trays. This can be achieved by using cascaded modules to perform the following three main steps:
-
Use the Object Detection module to locate the position of trays.
-
Use the Instance Segmentation module to segment the crankshafts placed on the trays.
-
Use the Object Detection module to locate the big ends of the crankshafts. This is to facilitate the picking process for robots.
To train a more accurate model, it is required to acquire and label data based on the recognition objects of each module.
Data Acquisition
Adjust 2D Parameter Settings of the Camera
-
High-resolution: It is recommended to use a high-resolution camera to acquire images that are used for training. In this case, the LSR L-V4 camera is used with 12 million pixels.
-
Exposure Mode: Due to significant variations in ambient light and the diverse colors of the trays used as backgrounds, it is recommended that you set the Exposure Mode to Auto, and adjust the Auto-Exposure ROI to include the tray.
-
Gray Value: The crankshafts are highly reflective objects. It is recommended that you adjust the Gray Value parameter to prevent overexposure of images under both dark and light tray backgrounds.
Acquire Data
To ensure that the data are comprehensive and representative, the images should be acquired from the following scenarios:
-
Layer heights: Acquire images from different layer heights, especially images of the top layer, middle layer, and bottom layer.
-
Trays: Acquire images from each color of tray.
-
Lighting conditions: Acquire images under morning, evening, and lighting conditions of different stations, especially images where objects are reflective.
-
Number of crankshafts: Acquire data of crankshafts ranging from a full tray to an empty tray, with varying quantities, focusing particularly on trays containing fewer than 20 crankshafts.
Label the Data and Train the Model
-
Object Detection
Objects to be recognized: trays
Label the minimum circumscribed rectangles of the trays, and then start training.
-
Instance Segmentation
Objects to be recognized: crankshafts
Label the precise contour of the crankshafts and than start training.
-
Object Detection
Objects to be recognized: the big ends of crankshafts
Label the minimum circumscribed rectangles of the big ends of crankshafts, and then start training.
The model can be exported after training and validation are complete. The exported model can be used in Mech-Vision, Mech-DLK SDK and Mech-MSR. Click here to view the details.