ARM's soft launch for machine learning library

March 01, 2017 // By Peter Clarke
ARM is introducing a free library of popular machine learning and computer vision routines that has been optimized to run on ARM CPUs and GPUs.

The library, a collection of low level building blocks for imaging, vision and machine learning that will become available at the end of March as open source software, was being demonstrated on ARM's booth at the Mobile World Congress in Barcelona.

The library includes common functions for machine learning frameworks and includes neural networks, colour manipulation, feature detection image reshaping and General Matrix-to-Matrix Multiplication (GEMM), which can be at the heart of implementing convolutional neural networks on maths-capable processors.

The "show-and-tell" on the booth was by way of an application running on a standard mobile phone that attempts to estimate the calorific content of foodstuffs in picture, such as popcorn, chocolate or seeds.

How many calories in a bowl full of seeds? How deep is the bowl?

The demo operates by cutting away the background from the foodstuff in image and then comes up with an estimate of the volume of the foodstuff. It uses image recognition on a trained neural network to decide what that foodstuff is and then goes to an on-device look up table to find out the per volume calorific content of the identified food. Because everything is done on the smartphone data bandwidth and latency from communicating with the crowd are not an issue although battery life on the mobile phone might be.

The demonstration was prepared by ThunderView, a division of Chinese software developer Thunder Software Technology Co. Ltd. (Beijing, China), otherwise known as ThunderSoft, which is developing the calorie counting application.

There would appear to be a few potential sources of inaccuracy here. For example, the background cut-away routine seemed to underestimate the size of an image such as seeds and in particular one must question the ability to determine the volume of the material in shot. But as a demonstration of the ARM Compute Library it served its purpose.

Next: How much better than OpenCV on Neon?