July 15, 2021

Designing a Computer Vision Model

At CrowdAI, our goal is to empower you to create your own computer vision (CV) models to simplify your work. It is as simple as that!

The CV project process is easy on our platform. As you get started, it’s important to understand the basic steps you will take to create a successful model. 

The four basic steps to creating a computer vision model on CrowdAI: 

  1. Project setup
  2. Media annotation
  3. Model training
  4. Model deployment
Project Setup

Typically people come to CrowdAI with a problem they need to solve or data they want to leverage more effectively. Projects are your one-stop-shop for consolidating all the information you need to create a CV model.

Project setup is where you define the problem you’re trying to solve with computer vision and attach media datasets (images or video) to create your own training data. 

Project setup is also when you’ll take the crucial step of defining your annotation categories. Categories are the objects of interest you want to train a model to find in your media. They might be an entire roof, a specific area of damage on a package, or a glass bottle marked as not full. The most important thing to remember at this stage is to be as specific and clear as possible about what does and doesn’t count for each category and how to identify your categories consistently.

Media Annotation

Now that you have your Project scoped, it’s time to create training data for your model. Your training data consists of the media you attached to the Project and the annotations (aka labels) you apply to them to tell the model what to look for.

It’s hard to overstate the importance of this step. Annotations need to unambiguously define what you want to teach the model. For example, say we are annotating roofs: you and I may have different ideas about what can count as a roof. Does a retractable awning count as a roof? How about the roof of a barn? A doghouse? 

This is why creating detailed annotation instructions is so crucial. Instructions should clearly and explicitly outline the definition of a “roof” for this particular Project. Some people might consider a doghouse a building. Depending on why you are looking for roofs, you should carefully consider whether or not those small backyard buildings count. The less ambiguous your annotation instructions, the better!

Model Training

It’s important to understand a CV model will only be as good as the training data it’s built on. Once you’re confident that your training data is ready to go, it’s time to sit back and let our platform do the hard work for you.

When you kick off a model training in CrowdAI, our deep learning engine kicks off dozens or even hundreds of parallel experiments in the cloud. Think of it as a system that tries to tune hundreds of different knobs at once, to find the optimal combination for you. This is a very rough approximation of what happens behind the scenes!

Once training is complete, it’s time to evaluate the model. Review the model’s outputs on the media you labeled: did it annotate the media the same way you would have? Does it stick to the same annotation instructions you created earlier? Do you need more examples of some categories?

Model Deployment and Inference

Once we are satisfied with our model’s performance, we can deploy it. After all, the whole purpose of training a model is to have it do the work for you!

Now, you can show the CV model new media that it’s never seen before, and have it label that media for you. A few important things to keep in mind here:

  1. (1) Keep your production media as close to your training media as possible. If you suddenly switch cameras, lighting, or other aspects of how you collect media, your model will not know how to adapt to those new conditions. And you’ll need to annotate and retrain. We definitely don’t want that!
  2.  
  3. (2) Don’t forget that this is a continuous process! No model will ever be perfect—you will always want to examine the model’s outputs, correct the wrong ones, and re-train the model on an ongoing basis.

We’ve written a detailed description on how to get started on our platform in our online knowledge base. Read what our team has to say about using our platform!

Marcella Valentine
Marcella is an Operations Strategist at CrowdAI. She specializes in helping customers find the best strategies for data management and training data creation.