Roboflow aims to democratize computer vision by streamlining the computer vision process from end to end. Rather than spending your time and energy wrangling annotation formats, writing scripts to preprocess your images, or learning how to code, we empower you to focus on your problem. Our goal is to give you everything you need to solve computer vision problems -- you just need to bring the images.
Roboflow allows you to upload, annotate, organize, train, and deploy with ease. Roboflow has been used to:
- improve breast cancer research,
- identify letters signed in American Sign Language in near-real-time,
- detect when packages are delivered,
- protect endangered species, and more.
The first step is to upload images or videos. Roboflow's Web UI lets you effortlessly upload your images. It's as simple as dragging and dropping.
- If you have annotations, you can upload those by dragging and dropping along with your images! We support most annotation formats, including COCO JSON, Pascal VOC XML, Tensorflow TFRecord, SuperAnnotate, YOLO Darknet, Google Cloud, and more. If you find that we don't support yours, let us know!
- If you don't have annotations, no worries! You can annotate directly in our platform.
You can drag and drop videos in the same way. Roboflow will extract individual images from the video. You get to decide how frequently you want to sample images -- as frequently as 60 frames per second and as infrequently as 1 frame per 60 seconds. This is a Roboflow Pro feature; reach out to us to get set up with that.
Yes! We encourage everyone to use the Web UI, as this has maximal functionality. We also have an Upload API if you choose. We make available public datasets, in case you want to play around with an existing dataset or use one to augment your own data.
Once you upload your images (or sample images from your video), you're ready to annotate. You can annotate directly in our platform!
You can annotate images upon upload, but you don't have to! We recommend the following workflow:
- Annotate as many images as you reasonably can on upload, then be sure to hit "Finish Upload" when you're done. You don't have to do all of them right now! However, don't annotate some and walk away without finishing your upload -- you don't want your upload to time out.
- Once you finish the upload, you'll be able to continue adding annotations to images. Just click on the images and upload.
- If you're collaborating with a team, consider uploading the images separately, annotating them independently, sharing your images with your team, and merging the datasets.
- We've even launched model-assisted labeling -- so once you build a good enough model (or find a good enough public model!) you can get that model to auto-label for you. We're really excited about this.
One of the most time-consuming aspects to computer vision problems is organizing your images. Whether it's ensuring your data's quality or preprocessing your images, there's often custom code and coordination that needs to happen. Each piece of custom code or handoff from one to another increases the possibility of bottlenecks and mistakes. Roboflow is designed to remove as many of these barriers as possible.
There are also steps that are important to keep in mind, like splitting data into training, validation, and testing sets or identifying imbalanced classes that require attention. If your team isn't formally trained in data science, these may be easy steps to accidentally skip! Roboflow is set up to ensure important steps like these aren't skipped.
- Roboflow's image preprocessing steps prepare your images for modeling and can reduce the time it takes to build your model and increase your model's overall performance.
- Roboflow's image augmentation steps are designed to improve your model's ability to generalize well to unseen images.
At this point, we'd like to train a model! Roboflow Train is our one-click AutoML service -- just click one button and kick things off!
- You can start from scratch, which is the way most people build models. You take your data and pass it into a deep learning model.
- If you have an existing model that you'd like to improve with new data, you can also start from a checkpoint. This way, you get to leverage your old model's performance.
Check out Roboflow's Model Zoo for the types of models we have. Included are free tutorials and notebooks, so if you want to train a model to your own specifications, we give you that flexibility. You will be able to export your images in whatever format you need for the particular model you want.
Once you've built a model, you can deploy your solution nearly anywhere you want.
- Do you want to use our Inference API?
- Deploy to your iPhone? Note: this is a video link.
- Deploy to an OAK-D or a Jetson NX?
- Something else? Check out the Roboflow blog to see a variety of deployment-related posts... or reach out!
Roboflow is designed with you, the user, in mind.
Roboflow came about because our cofounders, Joseph Nelson and Brad Dwyer, participated in a hackathon in which they wanted to develop an AR app that could augment the game of chess. Rather than spending 48 hours on creatively tackling this problem, they found that the vast majority of their time was doing data preparation. They recognized this as a pattern -- they had experienced this in other CV problems they had attempted in the past. Rather than reinventing the wheel, they set out to solve this problem so that when they and others tackled computer vision problems in the future, they could invest their time in solving that problem.
We empower you to focus on your problem.