Providing AI-driven image classification services in Arionkoder: this is how we do it

Foto del autor

By Nicolás Moreira

November 4, 2022

By José Ignacio Orlando, PhD – Subject Matter Expert in ML/AI @ Arionkoder – and Nicolás Moreira – Head of Engineering @ Arionkoder-.

This post is the continuation of “How to apply AI-powered image classification to your business? A comprehensive guide”. Find it here.

In our previous post we summarized some of the applications that can benefit from automating image classification using AI-powered computer vision. Today we cover how we handle these projects in Arionkoder to bring quick and accurate solutions for your business.

In our post from last week we covered some of the fundamental aspects of image classification, a task that can be easily automated using computer vision models trained with machine learning. In particular, we put our focus on which domains and businesses can benefit from this technology.

But how can this be actually accomplished? Well, image classification can be treated as the standard Machine Learning problem of classification, in which an input sample (in our case, an image) is assigned to a category based on a series of features (e.g. the color components of each pixel of the image). Therefore, automated tools for image classification are no other than machine learning classifiers “with steroids”, powerful enough to discover which patterns in the images are associated with the classes of interest

From the vast set of solutions that are all around, at Arionkoder we usually prefer to make use of convolutional neural networks (CNNs), a family or artificial neural networks that can discover by themselves the relationship between inputs and outputs. We prefer this technique over other more complex architectures such as Vision Transformers for multiple reasons:

  • Accuracy. CNNs have been consistently improved over the last 10 years, proving accurate enough to automate image classification in many domains.
  • Explainability. By means of class activation maps or uncertainty estimations, we can complement the predictions of the CNN and offer additional feedback to the end-user for model assessment.
  • Availability. Sometimes we don’t even need to train from scratch a CNN but simply make use of a pre-trained model, which are usually available in model zoos.

When the CNN model we look for is not publicly available, we need to create our own. To this end, we might need to rely on a large dataset of images with their corresponding labels. So, for example, if we want a model to classify pictures of animals, we will need first to define which species we’re interested in, and then collect multiple pictures of each species in particular and label all of them. 

Although this manual annotation procedure might sound tedious and time-consuming, bear in mind that there are many ways to accelerate it, either by using pre-trained AI tools to assist the process or by outsourcing it using third-party tools like Amazon Mechanical Turk.

Furthermore, sometimes you don’t even need to annotate your own data, and can use pre-existing open source databases instead! If you’re willing to apply image classification to your business pipeline but you’re concerned about this particular step, feel free to reach out to us! At Arionkoder we have experts in Data Science that can help you define efficient data collection and annotation protocols to make the most from your data.

Once this is available, the next step is to choose the most appropriate model, train it on this dataset and calibrate it to be as accurate as possible. At Arionkoder we follow a proof-of-concept (PoC) first approach: in a short period of time, our Data Scientists develop accurate prototypes by leveraging their own experience in the field and the latest advancements in AutoML technologies, which allow them to rapidly adjust deep learning models on your data. We then produce in-depth quality reports for our clients, which allows you to decide whether to keep pushing the model for more accuracy or to start building the infrastructure to put it in production.

Last but not least, it is necessary to ensure the model will persist being accurate as time progresses. In standard software development, the quality of service is guaranteed by using reliable infrastructure, constantly monitoring for potential bugs and preventing security issues. But when Machine Learning models are in the loop, quality assurance has to go one step further, as changes in data distribution can affect the final results. This issue is known as data drifting, and is a key aspect to monitor in any Machine Learning project.

As you can see, automating image classification can help businesses accelerate their processes, reduce their costs and extract value from their existing image databases. Which applications do you envision for this technology? At Arionkoder we’re happy to help you find new ways to take advantage of it! Reach us here to start great new things together!