docs/en/guides/defining-project-goals.md
To define a computer vision project, write a problem statement that names the core issue, scope, stakeholders, and constraints; set measurable, time-bound objectives; and map the problem to the computer vision task that determines your model, dataset, and deployment decisions. This guide walks through each step with a worked example.
<p align="center"> <iframe loading="lazy" width="720" height="405" src="https://www.youtube.com/embed/q1tXfShvbAw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen> </iframe><strong>Watch:</strong> How to define Computer Vision Project's Goal | Problem Statement and VisionAI Tasks Connection 🚀
</p>For an overview of the full workflow from data collection to deployment, see our guide on the key steps in a computer vision project.
A clear problem statement is the first big step toward finding the most effective solution. It has four parts:
Consider a computer vision project where you want to estimate the speed of vehicles on a highway. The core issue is that current speed monitoring methods are inefficient and error-prone due to outdated radar systems and manual processes. The project aims to develop a real-time computer vision system that can replace legacy speed estimation systems.
<p align="center"> </p>Primary users include traffic management authorities and law enforcement, while secondary stakeholders are highway planners and the public benefiting from safer roads. Key requirements involve evaluating budget, time, and personnel, as well as addressing technical needs like high-resolution cameras and real-time data processing. Additionally, regulatory constraints on privacy and data security must be considered.
Setting measurable objectives is key to the success of a computer vision project. Effective objectives follow the SMART criteria:
| Criterion | What it means |
|---|---|
| Specific | Define clear and detailed goals. |
| Measurable | Ensure objectives are quantifiable. |
| Achievable | Set realistic targets within your capabilities. |
| Relevant | Align objectives with your overall project goals. |
| Time-bound | Set deadlines for each objective. |
For the highway speed-estimation example, SMART objectives could be:
By setting specific and quantifiable goals, you can effectively track progress, identify areas for improvement, and ensure the project stays on course.
Your problem statement helps you conceptualize which computer vision task can solve your issue. The most popular tasks include image classification, object detection, and image segmentation — see the Ultralytics tasks page for a detailed comparison.
<p align="center"> </p>For example, if your problem is monitoring vehicle speeds on a highway, the relevant task is object tracking. Tracking is suitable because it follows each vehicle across video frames with a persistent ID, which is what speed calculation requires.
<p align="center"> </p>Other tasks are less suitable on their own. Object detection, for instance, locates vehicles in every frame but doesn't maintain each vehicle's identity across frames — and without that identity, the system can't measure movement over time. Once you've identified the appropriate computer vision task, it guides several critical aspects of your project, like model selection, dataset preparation, and model training approaches.
The order of model selection, dataset preparation, and training approach depends on the specifics of your project:
| Your situation | Start with | Example |
|---|---|---|
| Well-defined problem and objectives | Model selection | For a traffic monitoring system that estimates vehicle speeds, choose an object tracking model, gather and annotate highway videos, then train with techniques for real-time video processing. |
| Unique or limited data | Dataset preparation | For a facial recognition system with a small dataset, annotate the data first, then select a model that works well with limited data — such as a pretrained model for transfer learning — and plan data augmentation to expand the dataset. |
| Experimentation is crucial (research) | Training approach | In a project exploring new methods for detecting manufacturing defects, experiment on a small data subset first. Once you find a promising technique, select a model tailored to those findings and prepare a comprehensive dataset. |
If you start with data, the Ultralytics Platform simplifies dataset organization, annotation, and training as your project evolves.
Model deployment options critically impact the performance of your computer vision project, so factor them in from the start. The deployment environment must handle the computational load of your model:
| Deployment option | Best for | Example technologies |
|---|---|---|
| Edge devices | Smartphones and IoT devices with limited computational resources; lightweight models | TensorFlow Lite, ONNX Runtime |
| Cloud servers | Complex models with larger computational demands; hardware that scales with the project | AWS, Google Cloud, Azure |
| On-premise servers | High data privacy and security needs; full control over data and infrastructure | Self-managed GPU servers |
| Hybrid solutions | Balancing performance with cost and latency; edge processing plus cloud analysis | Combination of edge runtimes and cloud platforms |
Each option offers different benefits and challenges, and the choice depends on specific project requirements like performance, cost, and security.
A successful computer vision project starts with a clear problem statement, SMART measurable objectives, and the right computer vision task for the job — these decisions guide everything that follows, from model selection to deployment. As a next step, learn how to collect and annotate data, or discuss your project with other developers on GitHub and the Ultralytics Discord server.
A clear problem statement names the core issue your project solves, its scope, the end users and stakeholders, and your resource and regulatory constraints. Work through those four parts in order, then validate the statement with stakeholders before making technical decisions. See How to Write a Computer Vision Problem Statement for the full breakdown and a worked example.
Match the output your problem needs to the task that produces it: a single label per image points to image classification, object locations point to object detection, pixel-level boundaries point to image segmentation, and identities maintained across video frames point to object tracking. Monitoring vehicle speeds, for example, requires tracking because speed is computed from each vehicle's movement over time. See the Ultralytics tasks page for all supported tasks.
Use the SMART criteria: Specific, Measurable, Achievable, Relevant, and Time-bound. For example, "Achieve 95% accuracy in speed detection within six months using a 10,000 vehicle image dataset." This approach helps track progress and identifies areas for improvement. Read more about setting measurable objectives.
No, pretrained models don't "remember" classes in the traditional sense. They learn patterns from massive datasets, and during custom training (fine-tuning), these patterns are adjusted for your specific task. The model's capacity is limited, and focusing on new information can overwrite some previous learnings.
<p align="center"> </p>If you want to use the classes the model was pretrained on, a practical approach is to use two models: one retains the original performance, and the other is fine-tuned for your specific task. This way, you can combine the outputs of both models. There are other options like freezing layers, using the pretrained model as a feature extractor, and task-specific branching, but these are more complex solutions and require more expertise.
Deployment options determine which model sizes and formats are viable, so they shape your project from the start. Edge devices need lightweight models served through formats and runtimes like TensorFlow Lite or ONNX Runtime, cloud servers handle complex models on scalable hardware, on-premise servers give full data control for privacy-sensitive projects, and hybrid setups balance the two. Compare them in the deployment options table, or see the model deployment options guide for details.
Common challenges include:
Address these challenges through thorough initial research, clear communication with stakeholders, and iterative refinement of the problem statement and objectives. For the full project workflow, see the key steps in a computer vision project.