Build your own image classification models to interpret and categorize the content within images
SentiSight.ai is your place to train your own Image Classification Models.
Image classification is used to predict the content of images. The model will classify the content of the image into specified classes, as well as provide a confidence estimate of each classification prediction in the form of a percentage.
Image classification models take two forms; single-label classification and multi-label classification.
A single-label classification model predicts the specified class of the content within the image that has the highest probability.
Single-label models are often easier to train, and offer more accurate predictions as to the content within the image.
A multi-label model predicts all of the specified classes that were identified within the image.
Multi-label classification tools are useful when you need to identify several objects or concepts within the same image.
Struggling to decide whether you need
a Single-Label or Multi-Label Classification model?
Train models for Image Classification in Three Easy Steps
Upload and Label your Images
Create your data set to train your image classification model by first uploading and labeling your Images, using SentiSight.ai’s intuitive and user friendly labeling tools.
Train Your Model
All you need to do to train your model is to click a single button and the model starts training!
More experienced users can choose to set a range of advanced parameters to tailor your model to your exact requirements.
Once the model is trained, you can make predictions with it either via web-based interface, via REST API (cloud solution) or download the trained model locally (on-premise solution).
The SentiSight.ai platform is simple for beginners, yet powerful for experts
SentiSight.ai also offers advanced features, that allow you to set a range of different parameters for training your models, as well as being able to view detailed statistics of the trained models. All of it is optional for beginners, but can come in handy for our advanced users!
These advanced features include:
- View learning curves
- View confusion matrices (single-label classification)
- View precision-recall curves (multi-label classification)
- Set score thresholds for each class individually or use optimized ones (multi-label classification)
- Choose the model size
- Set the Learning Rate
- Fully customize the validation set
- View and filter predictions on the training and validation sets
Use Cases of Image Classification
Features of the SentiSight.ai Image Classification Platform
Train your image classification model or use a pre-trained model
Image Classification models can either be trained on your own images to identify concepts you labeled or pre-trained models can be used to identify a pre-defined set of concepts.
Four different ways to use the Image Classification Tool
You can deploy your Image Classification models in a number of ways, depending on your requirements and set-up.
Image Classification Models User Guide
Our platform contains numerous tools, ranging in capability and complexity. For new users to the image recognition field this can be slightly daunting which is why we have simplified the image classification model training process by providing a user guide.
As previously mentioned, training your image classification model revolves around a straightforward process:
- Uploading Images
- Labeling Images
- Training the model courtesy of SentiSight.ai
Our comprehensive user guide includes an in-depth breakdown of multiple image classification model features including:
- Upload images: learn to upload the images individually, as a folder, zip buttons or using our API.
- Label images: figure out how to label with one shape for the purpose of image classification, including using shortkeys to speed up the process and adjusting the tools settings to suit the needs of your task.
- Training your image classification model: many parameters can be altered depending on the experience of the user. Also, learn how to delve deep into the analysis of your models performance.
- Making predictions: make new predictions on previously used or new images via the SentiSight.ai web-interface or use your code of choice to run predictions via our REST API.
- Using your image classification model offline: clear instructions on how you can set up your trained model to use offline by setting up your own REST API server on a Linux system.
For more information on all of the above visit our user guide here.
In addition to the user guide, we also provide a detailed video tutorial for our users so they can fully get to grips with training their image classification models via SentiSight.ai.
Basic workflow tutorial
Let’s start with uploading images. First, you need to click the big red button on the left labeled “Upload Images”, and then choose the images that you want. During the upload process, you can add the labels to tell the system what is inside the images. This is called image labeling.
Once uploading the images, you can adjust the labels using the panel on the left hand side.
Once you are happy with the labels, you can begin to train your image classification model, either a single-label classification or multi-label classification model.
In the training menu, you can choose the model name and the training time, as well as a few advanced options.
When you are ready, press start to start your model training. During the training, you can track the progress of the training under “Explore Models/Predict” Menu. Note: this menu name was changed to “Trained models”.
Once you are happy with your model, you can use it to start making new predictions. You can do this by either pressing the ‘Make a new prediction’ button on the models performance screen, or by selecting the model from the “Trained models” menu. Then, upload your new images to be predicted.
You can analyse your results either online, or the results can be downloaded in a JSON format. Even if you do not know any coding, you can download the images grouped by predicted label, which will download the images in separate folders by label, as a ZIP file.
Labeling images for classification
- Labeling images during the upload
- Adjusting the labels after the upload
- Changing the default label for the image
You can download video tutorial here
You can remove labels once they have been added, simply by clicking on the X button on the image to remove a label from an individual image. To remove the label from multiple images, select the images, and then click on the minus button next to the relevant label on the left hand side.
To add the label to multiple images, select the images, and then click the + button on the left hand side.
Users can easily add new labels which were not previously in the dataset. To do this, type in the name of the desired label in the left hand side text box, and then click on add. Follow the same instructions as above to add this classification label to images.
You can remove a label from the whole dataset if required. This will remove the label from all images containing it. To do this, click on the dropdown icon next to the label on the left hand side, and then click on the Remove Label option.
Each label has a colour associated with it. Whilst this colour is primarily for object detection and segmentation labeling. To change the colour of the label, click on the third icon next to the label name, and then select the new colour from the option list.
Selecting images for training
- The default platform's behavior - training on all images
- Filtering images by label or by type
- Selecting images for training manually
You can download video tutorial here
If you would like to train a model based on only certain labels, you can do so by filtering the images by label, using the ‘Filter by Labels’ on the left hand side.
Users are also able to filter labels by type, such as whether they are multi label or single label images.
Finally, you can select images for training manually, using the mouse and keyboard. Press and hold Ctrl when clicking on all images that you would like to include in the data set to train the model.
Make sure to collect at least 15 images per class before starting to train the model.
The ‘Select all images’ button on the bottom left is a great way to select all images but then unselect a handful of images not to be included in the training set. To deselect images, hold control and then click on the images.
Training a single-label classification model in detail
- Explanation of training parameters
- The relationship of per-class and global performance statistics
- Viewing and downloading predictions on train/validation sets
- Analyzing the learning curves
- Analyzing the confusion matrix
- Using the model inside the platform or via REST API
You can download images used in this tutorial here
You can download video tutorial here
In addition, you can see the validation curves which show a learning curve for accuracy, and a learning curve for cross entropy loss. The red line on the learning curves show when the best model was saved. The classification error that is used to decide the best model is the Cross entropy loss statistics.
The other advanced statistics you can see in advanced view include Cross entropy loss (where lower values are better) and Matthews Correlation coefficient which is shown as a percentage.
Additionally, for Precision, Recall and F1, you can view the statistics as Micro average, Macro average and Weighted average.
Once you are happy with your model’s performance, you can start to use it to make predictions on a new set of images. To do so, simply click on ‘Make a new Prediction’. Then, upload the images that you want to test. These images will automatically be tested, and a prediction for their classification will be generated. As there is no ground truth label to compare the prediction to, the model will list the predictions from highest to lowest, but all predictions will be the same colour. These new predictions can be downloaded in JSON format, or can be downloaded in groups sorted by the predicted label.
Users can also make predictions using your model using the REST API. For this, you will need the API token, the Project ID (both can be found under the user profile), and the model name. Note: the tutorial was filmed before the “Download offline model” feature was available.
Training a multi-label classification model in detail
- Uploading images from a folder
- Uploading image classification labels
- Including/excluding image labels from training
- Analyzing multi-label predictions
- Changing score thresholds for classification
- Analyzing precision-recall curve
- The definition of "best" and "last" model
- Making multi-label predictions
The images used in this tutorial can be downloaded here
You can download video tutorial here
Thanks to our partners at conchology.be for kindly providing the images for this tutorial.
First, you will need to upload your images. To do this, you have three options. You can either upload the images individually, upload a folder of images, or upload a .zip file.
Optionally, you can label images during the upload process, however this can be skipped. Once you have uploaded the image, you can label them either using the tools on the left hand menu, or by uploading labels created previously using the ‘Upload Labels’ button. The file format for uploading the image labels is quite simple: you have the image file name in the first column and image labels in the rest of the columns.
- Use user-defined validation set
- Validation set size
- Learning rate
- Batch size (Note: this parameter is now removed)
- Positive prediction weight (Note: this parameter is now removed)
- The label count
- Global statistics of Accuracy, Precision, Recall and F1
For multi-label classification, as opposed to single-label classification, there is a minimum score threshold for predictions. If the prediction for the classification is above this minimum threshold, it is considered a positive prediction. If the prediction is below the threshold, it is considered a negative prediction.
You can sort your prediction images by either all, correct, incorrect, above threshold or below threshold.
A prediction is counted as incorrect if even one prediction is incorrect compared to the ground truth label, or if there is at least one prediction that does not match the label at all. In the basic view, you can only see the predictions that are above the threshold. In the advanced view, you can see all of the predictions, including those below the threshold.
If the predicted label is among the ground truth labels, the prediction is highlighted in green. If the predicted label is not amongst the ground truth labels, the prediction is highlighted in red.
When the predicted label is above the score threshold and it can be found among the ground truth labels, the prediction is considered to be correct. When the predicted label is below the score threshold and it cannot be found among the ground truth labels, the prediction is also considered to be correct.
Essentially, a ground truth label with a predicted score above the threshold and a non-ground truth label with a predicted score beneath the threshold are considered correct.
Remember that we use green color for ground truth labels and red color for non-ground truth labels, so all green predictions above threshold and all red predictions below threshold are correct. All green predictions below the threshold, and all red predictions above the threshold are considered incorrect.
The score threshold is calculated to maximise the model’s performance (F1 statistic) on the train set. If you are not happy with the threshold, you can set the threshold yourself in the advanced view.
In the advanced view, you can see the precision-recall curve for your model. By default, this curve is showing statistics for all classes, however you can change this to show the precision-recall curve for specific labels.
On this curve, the intersection between the dashed red line and the precision-recall curve represents the response to the optimised score threshold. If you would like to change this threshold, uncheck the ‘Use optimised thresholds’ feature, and then you can enter your own threshold score in the box, or by clicking anywhere on the precision-recall curve. Once you have set the new threshold, the performance statistics will update. When setting your own score threshold, you want to choose as high a precision and recall as possible.
Please, not that the score thresholds change simultaneously both for train and validation sets. The new score thresholds are also represented by changed vertical dashes in the “View predictions” window.
If you want to set a uniform threshold for all classes, this can be achieved using the same method after you have chosen ‘All classes’ from the drop down menu. You will be presented with a yes / no box checking you want to implement this uniform classification. NOTE: this has been changed to “Set all” button.
Training a model on one class tutorial
- How to train a classification model on one class
- How to train multiple one-class classification models in an easy way
You can download video tutorial here
To begin, first you need a collection of images that have the relevant label that you want to detect / classify. You will also need to upload a group of ‘background’ images, which are images which do not have the object in the image. For the background images, try to use the same diversity of images that you would expect to have during the production usage of this model.
By having these background images, it allows you to start training a model as you have two classes.
Use SentiSight.ai Image Classification for yourself
To get started using the SentiSight.ai Image Classification, simply register for a SentiSight.ai account and head over to the dashboard to get started!
Summary of Image Classification Model Pricing
SentiSight.ai is supported by a pay-as-you-go wallet based system that allows users to pay for only what they use, maximising flexibility and value for money. New users get €20 of free credits when you sign up for a SentiSight.ai account. Every user receives €5 a month of free credits for use on the platform. There is no need to enter your billing information to receive these free credits. Therefore, the SentiSight.ai platform can be completely free to use if you do exceed the €5 monthly free credit buffer.
The cost to train and use the Image Classification tool are as follows;
Train your Image Classification Model Pricing
|Pricing Range||0-1,440 minutes||1,441+ minutes|
|1 Minute Training Time||0.048 – 0.06 EUR||0.6 EUR / min||0.048 EUR / min|
|Preprocess Image||Calculated as training time||0.6 EUR / min||0.048 EUR / min|
Make Predictions Using your Image Classification Model
|Pricing Range||1-10,000 Predictions||10,001-100,000 predictions||100,000+ predictions|
|Prediction||0.0008-0.001 EUR||0.001 EUR / prediction||0.0009 EUR / prediction||0.0008 EUR / prediction|
Each user gets 5GB of disk space for free, with additional disk space available for 1 GB for 0.1 EUR / month.
For full details of SentiSight.ai’s pricing model, including project management features and extra disk space, please visit the Pricing Page.
For more information on how to download an offline version of pre-trained model, click here.
If you would like to purchase offline model license click here.
If you are interested in a managed human workforce for image classification annotation, please, contact us.
- Build your own image classification models to interpret and categorize the content within images
- Train models for Image Classification in Three Easy Steps
- The SentiSight.ai platform is simple for beginners, yet powerful for experts
- Use Cases of Image Classification
- Features of the SentiSight.ai Image Classification Platform
- Train your image classification model or use a pre-trained model
- Four different ways to use the Image Classification Tool
- Image Classification Models User Guide
- Use SentiSight.ai Image Classification for yourself