Detect Metal with Copper Fractions

We built a computer vision model to sort metals containing a high percentage of copper from other metals parts and non-metal parts such as plastic housings, cables, and other electronic components. This is essential for automated recycling of copper from scrap metals. The scrap metals containing copper are called 'meatballs', and are usually from internal motor cores, or transformers.

We created a dataset of 1802 images containing 6375 meatballs. The meatballs are labelled with bounding boxes as shown in the images below.

We train two instances of the YOLOv7 model with image sizes 1024 and 1600, respectively, on the training dataset. This way we can find out whether larger images improves performance. We use validation stop to determine when to stop training.

Model Image Size mAP@0.5
1 1024 91%
2 1600 89%

Table showing results of the trained models on the test set.

To increase model performance, the physical setup could be improved in a number of ways. The lighting conditions could be fixed, and more work can be done to avoid glare and reflection of shiny metals. The distribution of the objects on the conveyor could be made more uniform, so that there are not piles of objects, or objects overlapping one another.

In general, the model performs well at detecting meatballs. The model is able to detect meatballs in difficult conditions. It does well in crowded conditions and under occlusion, where only part of the object is visible. Since the models have been tested on a relatively small test set, the results can be improved with additional data.