We work with many different types of Edge devices. From typical mighty Linux-based small boxes like Raspberry Pie, through our clients’ propriety equipment, to even small accessories like GPU-enabled RGB and thermal cameras. Our devices work under a variety of circumstances – from big, multiprocessors servers spotting threats around high-value areas, to small, low powered IoT devices where every microWatt and every CPU tic counts and costs. Depending on the situation, we deploy either complex, comprehensive models with robust functionalities, or very small, one-function only algorithms. When it comes to Edge Computing, flexibility is the X factor.
Classification of small electronic devices
What the customer wanted to achieve
One of the biggest distributors of electronics in the world asked Digica to create a solution for detecting and classifying all 300,000 products in a mobile application.
It’s best to train a machine learning model with a lot of data, but here there were only 15 pictures available for each product, and they were taken by professionals. That might sound like an advantage, but in this case, a studio environment with perfect lighting conditions made them very different from the kind of pictures taken by the end customers with their mobile devices.
How Digica helped the customer
We used a loss function called Triplet Loss. It’s effective when you only have a limited amount of data to work with, and we combined it with several computer vision techniques to introduce variety to the initial “too perfect” dataset.
What we achieved
Classification of main categories: 97%
Classification of subcategories: 92%
Classification of a SKU: 87%
Technologies used
Neural Networks, Keras, TensorFlow, Triplet Loss, VGG16, Computer Vision techniques
Detection and classification of any LEGO elements
What the customer wanted to achieve
The customer wanted to provide a great real-time experience for detecting and classifying various LEGO pieces in a scene filmed on a mid-performance mobile device. This presented us with three serious challenges:
- A lack of pictures of real LEGO pieces taken under different lighting conditions, showing genuine children’s play situations.
- Some of the LEGO pieces weren’t available because they were still at the design stage, and they wouldn’t be available for months.
- The mobile devices used were underpowered. They simply didn’t have enough processing “grunt” to run sophisticated machine learning models with enough speed and accuracy.
How Digica helped the customer
We created a new type of deep neural network that can recognise and classify any LEGO piece out of 400,000 possible choices. We designed it to train on synthetic images rather than real-world too, which has probably saved us a thousand years’ worth of studio time photographing Lego blocks in mocked-up bedrooms.
What we achieved
mAP 89%, real time detection and classification experience
Technologies used
TensorFlow, TensorFlow Lite, CoreML, Unity 3D, our proprietary “Synthesis” method