Every successful AI system begins long before a model is trained—it starts with understanding the problem. One of the biggest mistakes beginners make is jumping directly into coding without first asking the right questions. Is this a classification problem? Do we need to detect multiple objects? Should the system identify precise object boundaries? What data is available, and what challenges might arise during deployment?
In this module, you will learn how to think like an AI engineer. Instead of viewing computer vision as a collection of algorithms, you will develop a structured approach to solving real-world problems. You will learn how to analyze application requirements, identify the appropriate computer vision task, and define the key considerations that influence system design.
By the end of this module, you will be able to take a practical problem—such as face attendance, defect inspection, autonomous navigation, or medical image analysis—and confidently map it to the correct computer vision solution. This problem-first mindset will serve as the foundation for every model you build throughout the rest of the course.
Practice 1: You will find a streamlit based chapter at jhilikb/UCS668: Edge AI and Robotics: Data Center Vision
Prerequisite: Make sure that you have the Understanding_task folder in your course folder UCS668.
Start your python environment (say ucs668) that you set up (in Lab0) for the course using source ucs668/bin/activate (on your terminal if you use Linux/Mac) or using .\ucs668\Scripts\Activate.ps1 (on your powershell if using windows). In both cases you should be in the folder where you created the environment
streamlit run tasksel.py
You will see the chapter start on your browser. In your browser, you can now explore the example tasks and understand how to solve them.
GPT guide for more practice:-
https://chatgpt.com/share/6a6c3b47-f3f0-83e8-8b96-a4418e3a4c3e
Lab 0: This is the very first interaction you will have. You have a few simple tasks.
Submit the form https://forms.gle/1JrooMNRztcJDqdo6
Create an account with your thapar id at github
Create an account with your thapar id at Deep Learning Institute (DLI) Training and Certification | NVIDIA
Complete the initial setup on your laptop so that you can explore the course. Set up a separate python virtual environment with python 3.12. (using python -m venv ucs668)
a. git clone https://github.com/jhilikb/UCS668.git
b. cd UCS668
c. pip install -r requirements.txt
Lab 1: Form groups of two. It is assumed you have already gone through the Practice session of Module 1. Your first task is to pick a movie scene. You will now pass this to your friend who will analyse the vision based tasks you can perform on it. There are a few examples provided in the Understanding_task chapter. Your choice should be interesting and meaningful so that your partner can answer it. Once both of you have completed the task, prepare a pdf document where you can put a couple of screenshots to describe the scene and then provide your analysis on it. Keep it ready for upload.
Note: You can submit more than 1 scene if your partner has selected 2 or more scene examples for you. Finish your task and submit by the end of your lab. Each student will have a different scene to analyse.
Use classrom code https://classroom.google.com/c/ODcyMDQ0MTU1MzAw?cjc=sc42zlwc to join the class and access the Lab1 submission link
Assignment link:- https://classroom.google.com/c/ODcyMDQ0MTU1MzAw/a/ODU1Nzg3NDQxMzA0/details
Late Submissions:- https://classroom.google.com/c/ODcyMDQ0MTU1MzAw/a/ODc0NzE0MjUxNTUx/details
a. Run streamlit based chapters in your own set up py environment
b. Be able to distinguish between detection, classification and segmentation
c. Be able to guess how to approach any given problem and answer questions like shall I apply detection or segmentation?
If you are still not able to do so please go back and complete the tasks.
Correctly identifying the computer vision task is only the beginning. Once we know whether a problem requires image classification, object detection, semantic segmentation, instance segmentation, tracking, or another approach, we must decide how to implement the solution.
Real-world computer vision systems are built by making a series of design choices rather than simply selecting a neural network architecture. These choices depend on the problem, the available data, computational resources, accuracy requirements, and deployment constraints.
For each case study in this course, ask yourself questions such as:
Should I train a model from scratch or fine-tune a pre-trained model?
Which architecture is most suitable for this application?
How much labelled data is available?
Is real-time performance required?
What hardware will the model run on?
What are the likely sources of error, and how can they be mitigated?
Consider the following practical design decisions:
Should we train our own model?
Training from scratch usually requires a very large labelled dataset and significant computational resources. Unless the application involves highly specialized objects, this is rarely the best starting point.
Should we use a pre-trained model?
Modern object detectors are typically pre-trained on large datasets such as COCO or ImageNet-derived tasks. Fine-tuning these models often provides excellent performance with far less data and training time.
Which model should we choose?
The answer depends on the application's priorities:
If real-time detection on an embedded device is important, lightweight models are preferred.
If maximum detection accuracy is required and computational resources are available, larger models may be more appropriate.
If small or partially occluded objects must be detected reliably, architectures designed for such scenarios should be considered.
What constraints affect deployment?
Day and night operation
Rain, fog, or changing weather
Camera placement and viewing angle
Limited processing power on edge devices
False alarms caused by pets, shadows, or moving vegetation
These decisions are often as important as selecting the deep learning architecture itself. Two teams may identify the same computer vision task but arrive at very different solutions because they prioritize different constraints.
Throughout this course, you will learn to think like a computer vision engineer rather than simply a model trainer. For every application, you should be able to:
Identify the correct computer vision task.
Break a complex problem into simpler subtasks when necessary.
Evaluate alternative model choices.
Justify whether to train from scratch, fine-tune an existing model, or use an off-the-shelf solution.
Consider the practical constraints of deployment alongside model accuracy.
Developing this decision-making process is a key skill in deep learning for computer vision and is essential for designing systems that work reliably outside the laboratory.
Practice 2: You will find a streamlit based chapter at jhilikb/UCS668: Edge AI and Robotics: Data Center Vision
Prerequisite: Make sure that you have the Understanding choices folder in your course folder UCS668.
Start your python environment (say ucs668) that you set up (in Lab0) for the course using source ucs668/bin/activate (on your terminal if you use Linux/Mac) or using .\ucs668\Scripts\Activate.ps1 (on your powershell if using windows). In both cases you should be in the folder where you created the environment
streamlit run choice.py
You will see the chapter start on your browser. In your browser, you can now explore the example tasks and understand how to solve them.
GPT guide for more practice:-
https://chatgpt.com/share/6a7313fe-d24c-83ee-a047-e2bed9e28221
Lab2: Understanding Choice
Objective
For each of the following problems, explore how an AI/ML-based solution could be designed. You are not required to write any code or train a model.
For your selected problem, investigate:
How the problem can be formulated as an AI/ML task
Possible approaches such as classification, object detection, segmentation, etc.
Suitable publicly available datasets
Suitable neural network architectures
Available pretrained models
Advantages and limitations of different approaches
Computational and deployment requirements
Your final recommended approach and the reasoning behind your choice
Important: There is no single correct solution. Your marks will depend on the quality of your exploration, comparison, and justification.
A university wants to develop a computer vision system that can monitor its parking areas using cameras and determine the availability of parking spaces. The system should provide information about which spaces are currently available and which are occupied.
Explore how this problem can be formulated as an AI/ML task. Investigate suitable datasets, possible task formulations, pretrained models, network architectures, and deployment considerations.
Based on your investigation, propose an appropriate approach for solving the problem and justify your choices.
A waste-management facility wants to use cameras and an AI system to automatically identify different types of waste moving through a sorting area. The system should distinguish between categories such as plastic, paper, glass, metal, and other waste materials.
Explore how this problem can be formulated as an AI/ML task. Investigate suitable datasets, possible task formulations, pretrained models, network architectures, and deployment considerations.
Based on your investigation, propose an appropriate approach for solving the problem and justify your choices.
A city authority wants to develop a computer vision system that can automatically identify damage on roads using images captured by vehicles or roadside cameras. The system should help identify problems such as potholes, cracks, and other visible road defects.
Explore how this problem can be formulated as an AI/ML task. Investigate suitable datasets, possible task formulations, pretrained models, network architectures, and deployment considerations.
Based on your investigation, propose an appropriate approach for solving the problem and justify your choices.
For your selected problem, prepare a short technical proposal containing:
Problem formulation
Possible AI/ML approaches
Comparison of approaches
Dataset exploration
Model/network exploration
Pretrained model selection
Deployment considerations
Final proposed solution with justification
No coding or model training is required.
Submission Link: https://classroom.google.com/c/ODcyMDQ0MTU1MzAw/a/ODU1Nzg3NzYyOTk1/details