Announcing Image Classification Support, End to End

We are excited to announce full support for image classification in Roboflow, from image collection and organization, to annotation, to custom training, and deployment.

End to End classification support is now live in Roboflow

We added the classification task to support the ever growing use cases of fine-tuning state of the art computer vision models to your own domain, on your own dataset.

Let's dive into how it works.

What is Image Classification?

Image classification is the computer vision task of assigning a given image to an array of possible classes. Image classification can be binary "dog vs cat" or multi-class "Poodle vs Husky vs Bulldog...".

When using image classification in your application, you will post an image to the classification service and receive a list of predicted classes, ranked by the model's confidence in each class.

{
    "top": "paper",
    "confidence": 0.5418,
    "predictions": [
        {
            "class": "paper",
            "confidence": 0.5418
        },
        {
            "class": "rock",
            "confidence": 0.4582
        }
    ]
}
Example classification response for a custom-trained rock/paper classifier for integration into your application

Image classification differs from object detection, in that it does not localize objects in an image.

How to Create and Image Classifier

No matter where you build your image classifier, you will need to gather a dataset of example images, label them according to your possible classes, and train image classification model on your dataset. After you are satisfied with training, you can move on to optimizing your model for deployment and inference.

Luckily, we have streamlined all of these parts of the processes in the Roboflow application.

Image Classification Labeling

Just a few weeks ago, we announced new support of labeling images for classification. That is, within the Roboflow app you can add class distinctions to your images to prepare for training.

Labeling classes in Roboflow

Image Classification Preprocessing and Augmentation

For some time now, we have supported image augmentation and preprocessing for classification datasets. These techniques are useful to standardize your dataset across images and generate image transformations from your base dataset, increasing the variety and semantic richness of your dataset version.

Image classification preprocessing options
Image classification augmentation options

Image Classification Training

Once you've chosen preprocessing and augmentation steps for your classification dataset, you can go ahead and kick off training in Roboflow with a single-click. Roboflow's training servers will spin up and train a state of the art classification model for you.

Start training your classification model in Roboflow

When your training process completes, you will receive evaluation of your validation set accuracy, along with links for model deployment.

Image Classification Deployment and Inference

Once your model has finished training, you can leverage it to make inference in your production application.

All classification models in Roboflow are optimized and deployed to a web hosted API. You can post your image to this API and receive classification predictions at low latency ~300ms. For more details on application integration, check out the classification inference docs!

Happy training and more importantly, happy classifying 🚀