Creating a computer vision model, at the outset, seems like a pretty involved task. Even if you’re using an end-to-end solution like Roboflow, the process will always require you to source and aggregate starting data (images), generate versions of each dataset, train different variations of your model and then deploy that model to a target destination that makes sense for your particular use-case. Savvy engineers will then set-up a machine learning pipeline, whereby inference data is fed back into the source dataset to continue enhancing model performance over time. We call this Active Learning.
Naturally, our technology exists to streamline this process, to remove many of the barriers that prevent teams from adopting computer vision into their existing workflows - but as Lewis Carroll once famously wrote, you must always “begin at the beginning.” Let us take this opportunity to discuss for a moment one of the key activities we encourage every new customer to consider as they set out on their own vision journey: choosing the right problem statement.
What is a problem statement?
The first step in this process for many of our customers isn’t actually choosing the best technology, it’s defining the right problem statement. This is how our users present the core problem they are trying to solve using computer vision.
A good problem statement should be:
Identify the specific objects your model should be trained to find. If you’re hoping to evaluate damage to man-made structures after a natural disaster, as an example, pick a specific measure of damage: rooftops, siding, broken windows or missing doors.
Remember that a model can only see what a human (or a camera) can detect. Consider how you’ll annotate your images, especially if the objects in question require some degree of domain expertise. For example, identifying benign (or cancerous) skin cells. Will this annotation project be achievable with the number of domain experts you have on-staff? Can you find more?
Selecting the appropriate deployment strategy is often informed by how measurable your problem statement actually is - this process often also reveals your priorities in deployment. For example, is speed important? How critical is accuracy? Does your model need to run offline, on the edge, or can it be deployed via the hosted API?
Here are some examples of good problem statements.
"I want to create a model that can…
1. …detect plumes of smoke in the air."
2. …find methane leaks in pipelines."
3. …count the number of items on retail shelves."
4. …identify different species of fish underwater.
Here are some examples of statements that aren’t necessarily problem statements - meaning, they don’t quite touch on the “how” of the solution, but rather, the “what” or (in some cases) the “why.”
"I want to…
1. …create an app that helps people play chess."
2. …build a self-driving lawn mower."
3. …help address climate change using computer vision."
4. …replace the checkout person at the grocery store."
To be clear, these statements are certainly important to the process, as they often illustrate the desired outcome – but to get started with Roboflow, our customers need to have a clear idea of what they want their models to detect and how specific those labels should be (for example, “fish” vs. “bluegill”).
Why Does this Matter?
Defining a clear, actionable and achievable problem statement is critical to the success of your project. In many ways, the problem statement acts as a north star for CV teams in the process of building out their machine learning pipelines. It will (and should) influence every part of the process, from choosing the right deployment target to applying the most advantageous augmentation and preprocessing steps.
Moreover, model predictions usually aren’t valuable without some kind of action that is triggered by these outputs. A clear problem statement inevitably leads to a clearer picture of that desired outcome. For example, some customers need their models to feed data into a dashboard for human review, while others create robots that are designed to automate certain tasks based on model predictions (e.g. plucking bad fruit from the assembly line). Some of our customers are even building entire businesses that are powered by computer vision.
Once you’ve identified the problem you’re trying to solve, creating a vision pipeline (and establishing desired outcomes) is that much easier.
Let's Begin at the Beginning
No matter where you are on your computer vision journey, it is never too late to develop a problem statement to help guide your efforts. Contact us to set-up a one-on-one consultation with our team of machine learning experts, or tune in to our weekly Product Demo to hear a few more problem statements from customers using Roboflow today. We'd love to chat.