Roboflow provides everything you need to turn images into information. We build all the tools necessary to start using computer vision, even if you're not a machine learning expert (and to supercharge your pipeline if you are).

As you get started, reference our Knowledge Base or Community Forum if you have feedback, suggestions, or questions. We are here to help!

Getting Started Video.

Specifically, you can use Roboflow to:

Roboflow eliminates the papercuts inhibiting better, faster object detection models and adds computer vision to the toolbelt of every developer.

Adding Data

Let’s walk through a tutorial on managing images for a chess piece detection problem.

To get started, create an account using your email or GitHub account:

After reviewing and accepting the terms of service, you’ll land on your project's homepage:

The Roboflow Dashboard.

For this walkthrough, we’ll use the Roboflow-provided sample dataset. Click "Create New Project" and then "Download Sample Project", which will give you a zip file containing example images and annotations for you to use in the tutorial.

We automatically take care of (1) creating and naming your dataset “Chess Sample”, (2) choosing an "Object Detection" dataset type, and (3) naming your annotations “Pieces.” You’ve also downloaded a zip file containing 20 chess images and their annotations across the 12 different pieces.

As the guided tutorial suggests, click “Create Dataset.” to continue.

Now, unzip the sample file we just downloaded to your computer, Click and drag the folder called “chess-tutorial-dataset” from your local machine onto the highlighted upload area.

As an aside, feel free to poke around the contents of the chess-tutorial-dataset on your computer so you can see what’s inside:

MacOS Finder Screenshot: annotations folder (containing xml files), img folder (containing JPG images)
We’ve provided 12 chess images and VOC XML annotations. While these are VOC XML, note Roboflow supports most every annotation format.

Once you drop the chess-tutorial-dataset folder into Roboflow, the images and annotations are processed for you to see them overlayed.

If any of your annotations have errors, Roboflow alerts you. For example, if some of the annotations improperly extended beyond the frame of an image, Roboflow intelligently crops the edge of the annotation to line up with the edge of the image and drops erroneous annotations that lie fully outside the image frame.

At this point, our images have not yet been uploaded to Roboflow. We can verify that all the images are, indeed, the ones we want to include in our dataset and that our annotations are being parsed properly. Any image can be deleted upon mousing over it and selecting the trash icon.

Everything now looks good. Click “Finish Uploading” in the upper right-hand corner! (This step does work better with faster internet.)

Uploading images to Roboflow.

You will be asked to select a train/test split for your images; the default of 70% training, 20% validation, and 10% testing is usually a safe bet.

Annotating Images

One of the images in the sample dataset is not yet annotated. You will use Roboflow Annotate to add a box around the unlabeled chess piece in the image. Annotations are the "answer key" your computer vision model learns from.

Annotating images with Roboflow Annotate.

Preprocessing and Augmentations

After you're done annotating, continue to generate a new version of your dataset. This creates a point-in-time snapshot of your images processed in a particular way (think of it a bit like version control for data).

Generating a version of your dataset.

From here, we can apply any preprocessing and augmentation steps that we want to our images. Roboflow seamlessly makes sure all of your annotations correctly bound each of your labeled objects -- even if you resize, rotate, or crop.

By default, Roboflow opts you into two preprocessing steps: auto-orient and resize. Auto-orient assures your images are stored on disk the same way your applications open them for you. (If you’re unfamiliar, this is can be a silent killer of computer vision models). Resize creates a consistent size for your images (in this case, smaller, to expedite training).

You can also choose to augment your images which generates multiple variations of each source image to help your model generalize better.

Roboflow supports auto-orient corrections, resizing, grayscaling, contrast adjustments, random flips, random 90-degree rotations, random 0 to N-degree rotations, random brightness modifications, Gaussian blurring, random shearing, random cropping, random noise, and much more. To better understand these options, refer to our documentation.

Preparing Data for Training

For our walkthrough, we’ll leave settings as they were: auto-orient and resize 416x416, and some basic augmentations. To create downloaded data, select “Generate” at the end of the workflow.

After optionally naming, select Export. Roboflow is now preparing each of your images and annotations for download.

The exported dataset version.

Once this finishes, you’ll be shown the final result (note the menu on the left now includes an archive of this specific version). You can train within Roboflow (explained in detail later in this guide) or Export to train with your own model.

For this walkthrough, let’s use the “Pascal VOC” export format. When you click "Export", your dataset is zipped and you are given several options for using it.

Click the "your dataset" link to download your zipped export to your computer. It contains an export folder with your images and annotations and a README describing the transformations you provided to your data.

Downloading an exported dataset version.

You’re now ready to use your data to train a custom object detection model.

Training a Computer Vision Model

Roboflow Train, a one-click autoML training product, offers two model types that you can train and host using Roboflow. We handle the GPU costs and also give you access to out-of-the-box optimized deployment options which we will cover later in this guide.

Your trained model can now be used in a few powerful ways:

  • Model-assisted labeling speeds up labeling and annotation for adding more data into your dataset
  • Rapid prototyping or testing your model on real-world data to test model performance (explained in the next section)
  • Deploying to production with out-of-the-box options that are optimized for your model to run on multiple different devices (explained in the next section)

After you've generated your dataset, you'll see the option to start training with the number of available credits you have for training.

Start Training screen with Roboflow Train

Once you click Start Training, you'll be prompted to choose which model you'd like to train: Fast or Accurate. We explain the differences in detail but for this example, we will use Fast.

Option to choose Fast or Accurate

When training a model, you can Train from Scratch or Start from a Checkpoint. We advise people to utilize transfer learning and Start from a Checkpoint to help improve model performance in most cases.

Starting point options when training a model

This is the final step to train your model using Roboflow! You'll receive an email once your model has finished training. The email contains the training results for you to see how the model performed. If you need to improve performance, we have recommendations for you on how to do that.

Roboflow Train results delivered to your inbox

View your training graphs for a more detailed view of model performance.

Roboflow Train metrics for you to see model performance

You may want to select one from our model library which contains ready-to-go Jupyter notebooks in frameworks like PyTorch, Keras, and Tensorflow that you can run for free right within Google Colab. If you plan to train a model outside of Roboflow, a good next step is to try our YOLOv5 tutorial.

Deploying a Computer Vision Model

Your trained model, hosted by Roboflow, is optimized and ready to be used across multiple deployment options. If you're unsure of where might be best to deploy your model, we have a helpful guide that can be used to navigate that decision.

Out-of-the-box deployment options available for your model

The fastest ways to immediately use your new model and see the power of computer vision:

From this screen, you can also deploy using options that make it easy to use your model in a production application whether via API or on an edge device:

Regardless of your deployment method, we suggest taking a data-centric approach to improving your model over time by using active learning. Our pip package makes this easy across deployment options.

The benefit of using Roboflow Train and Roboflow Deploy is that we make it easy for you to test deployment options, change deployment options, or use multiple deployment options in your application.

As always, reference our Knowledge Base or Community Forum if you have feedback, suggestions, or questions.

We’re excited to see what you build with Roboflow!