How to train custom image classifier in 5 minutes

Tutorial for using Ximilar Image Recognition service for creating AI/neural network model for categorization without coding.
Michal Lukáč, Ximilar
Michal Lukac
8. July 2017

Recognize images using Ximilar Recognition API

Ximilar App is a powerful platform for creating your own machine learning models. You can use the platform for free if you want to develop AI model for classification/categorization of images, deep image tagging or detecting objects (bounding boxes) on the images. There are no coding skills needed, the system/platform is easy to use. Building your visual AI model can be done online via your browser (in cloud) and the final model will be deployed as API endpoint. Whether you want to recognize clothing, quality check/control on image or recognize trading cards, Ximilar App offers you a complex tools for achieving great accuracy. Ximilar is significantly cheaper than Azure AI or Google AI services (GCP, Vertex AI). The training (optimization) of the model is free! This is a huge cost saver for developing and deploying your own AI models online.

Today, I will show how to set and test a custom image classification engine using Ximilar Image Recognition. This is a step-by-step guide for training an image categorization model via Ximilar platform. We will prepare a dataset, upload images, train the classifier and test our classifier in the web interface. We need no coding experience unless we want to build API in our project. Let’s start now.

Prepare a machine learning dataset

We want the classifier to recognize cat vs dog. First, we will need 20 pictures of each cat and dog. Let’s google “cat” and “dog” and save 20 images of each. For every category, I also searched for the different breeds, so my dataset is as diverse as possible.

Upload dataset to Ximilar App

We will need to create an account through app.ximilar.com. Visit the homepage then click “Log in” and create an account through the Sign Up form. Then you can log in to the platform. Select Image Recognition service on the dashboard page.

We are ready to create a new task. A task is a classification engine (convolutional network model) that lets us classify our images. On the Overview page, through the Quick Actions section, we click on “Add Task” button and pick the Categorization task. Fill the name of our classifier “Cat vs Dog”. We want to add two categories “Cat” and “Dog”. We can always add and delete categories later. Click “Create New” to add a category on the Task page. We create two of them.

Now, we are going to “Drag and Drop” images for each category.  In Category, drag images and drop them into Drag & Drop section. We can see 20 and 20 images uploaded on the image above. Ximilar Recognition service requires that every label has at least 20 images. We can use “Manage Category” button on Label/Category to show images and move them from one category to another.

Train image classifier online on click

In this step, we can review our categories. We are ready to click on the “TRAIN” button.

A task is in training right now. It can take one to five hours, depending on the number of images and complexity of your task. Ximilar Recognition uses transfer learning and a set of fine-tuned model architectures to reach the best possible accuracy on each task. Time to have a coffee now and wait for training to finish. After task training is finished, you will see in the model section below a list of trained models:

Test image recognition model

Our model is ready! We reached 94% accuracy on our 40 images dataset. You can view more statistics about the trained models when you click on the DETAIL button. We can now test it using Classify preview.

Few more tips for your custom AI models

We trained and tested our classifier using Ximilar web interface. This is the simplest way to build an image classification/machine learning model for photos online via web browser. We reached 94% accuracy, which we can increase to 99.9% with uploading more images. It is time to experiment with the huge possibilities that image classification brings. In developers documentation, you can find a sample code for connection to our REST API endpoint. Here are a few more resources to help you:

I hope you like this guide for training simple image recognition models. Contact us if you want to know more about our cloud AI platform, or sign up for free and test it by yourself. Our team can help you with your ideas and business projects.

Michal Lukáč, Ximilar

Michal Lukáč ML Engineer & Co-founder

Michal is a co-founder of Ximilar and a machine learning expert focusing mainly on image recognition, visual search and computer vision. He is interested in science, loves reading books and choking people at Brazillian Jiu-Jitsu trainings.

Related Articles

With a new custom image similarity service, we are able to build an image search engine for collectible cards trading.
Read moreOctober 2022
A comprehensive tutorial for converting a .mp4 .mkv or .mov videos to the streaming formats (HLS or DASH) with Python and FFmpeg.
Read moreAugust 2022
Enhance your images' resolution without losing quality with a powerful Image Upscaler based on visual AI.
Read moreMay 2022