Classification Backend Web-Service

To make the build of the Brick Sorting Machine (see build instructions) easy to reproduce, I decided to deliver the image based LEGO® brick identification for the machine as a remote web-service.

As a hobby project with super limited development time, creating a remote service was the most time efficient path forward. It bypasses the need for me to dive into optimizing and quantizing neural networks for AI accelerator hardware. To continuously enhance its accuracy, the classifier training learns from the images this service processes. Every image submitted will be used to improve the model’s performance.

Public Dataset Releases

After manual labeling of the data my plan is to publicly release the training data sets in regular intervals for training of everybody’s own classifier projects

SW Interface

The brick sorting machine software stack will be ready to connect to this classification backend within the next days. The service currently is in private beta test phase. If you are interested and building a compatible machine please reach out to me via Discord to get an API-KEY.

Backgrounds

The image classification backend is reachable via api.bricksortingmachine.com. Its neural network is fully tuned to work best as a classifier for the Brick Sorting Machine with its ability to capture two viewing perspectives simultaneously. It classifies parts into one of 21 part classes, which perfectly fits the machine’s 22 bins (with one bin for unclassified parts).

The classification extracts the two known regions of interest from the provided image and feeds them through the visual feature encoders. At this point this mid-level feature information is fused from both perspectives and provided jointly to the classification head. The network thus always works on image pairs both at training and inference time. This way the the classifier can make maximum use of the mutual multi-view information which often is key to uniquely identify part classes.

Currently available part classes:

    bar
    brick1x
    brick2x
    brick_modified
    car
    hinge
    human
    multiple_parts
    plane
    plate
    plate1x
    plate2x
    plate_modified
    plate_shaped
    round
    round_slope
    slope
    slope1x
    small
    tile
    window
Classification Backend Web-Service
Older post

DIY Build Instructions/Plans - Scanner

Plans and materials to build the scanner module of a LEGO® Sorting Machine