Difference between revisions of "BSc: Introduction To Computer Vision"

From IU
Jump to navigation Jump to search
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
 
= Introduction to Computer Vision =
 
= Introduction to Computer Vision =
  +
* '''Course name''': Introduction to Computer Vision
  +
* '''Code discipline''': XXX
  +
* '''Subject area''':
   
  +
== Short Description ==
* <span>'''Course name:'''</span> Computer Vision
 
  +
This course covers the following concepts: Computer vision using machine learning models.
* <span>'''Course number:'''</span> XXX
 
   
== Course Characteristics ==
+
== Prerequisites ==
   
=== Key concepts of the class ===
+
=== Prerequisite subjects ===
   
* Computer vision techniques
 
* Classical and deep learning models
 
   
  +
=== Prerequisite topics ===
=== What is the purpose of this course? ===
 
   
This course provides an intensive treatment of a cross-section of the key elements of computer vision, with an emphasis on implementing them in modern programming environments, and using them to solve real-world problems. The course will begin with the fundamentals of image processing and image filtering, but will quickly build to cover more advanced topics, including image segmentation, object detection and recognition, face detection, content-based image retrieval, artificial neural networks, convolutional neural networks, generative adversarial networks and much more. A key focus of the course is on providing students with not only theory but also hands-on practice of building their computer vision applications.
 
   
=== Course objectives based on Bloom’s taxonomy ===
+
== Course Topics ==
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Representation of images and videos ||
  +
# Computer representation
  +
# Rescaling/manipulating images
  +
|-
  +
| Image Classification ||
  +
# Loss Functions
  +
# Backpropagation
  +
# Neural Networks
  +
# Training
  +
|-
  +
| Convolutional Neural Networks ||
  +
# Training
  +
# Architectures
  +
|-
  +
| Recurrent Neural Networks ||
  +
# Training
  +
# Architectures
  +
|-
  +
| Image Segmentation and object detection ||
  +
# Techniques
  +
|}
   
  +
== Intended Learning Outcomes (ILOs) ==
=== - What should a student remember at the end of the course? ===
 
   
  +
=== What is the main purpose of this course? ===
By the end of the course, the students should be able to process the video
 
  +
This course provides an introductory but detailed treatment of computer vision techniques using machine learning, with an emphasis on implementing the computer vision algorithms from the scratch and using them to solve real-world problems. The course will begin with the image representation, but will quickly transition to computer vision techniques using machine learning, finishing with image segmentation and object detection and recognition. A key focus of the course is on providing students with not only theory but also hands-on practice of building their computer vision applications.
   
  +
=== ILOs defined at three levels ===
  +
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Significant exposure to real-world implementations
 
* Significant exposure to real-world implementations
 
* To develop research interest in the theory and application of computer vision
 
* To develop research interest in the theory and application of computer vision
   
=== - What should a student be able to understand at the end of the course? ===
+
==== Level 2: What basic practical skills should a student be able to perform? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to choose the correct computer vision model.
 
 
 
* Suitability of different computer vision models in different scenarios
 
* Suitability of different computer vision models in different scenarios
 
* Ability to choose the right model for the given task
 
* Ability to choose the right model for the given task
   
=== - What should a student be able to apply at the end of the course? ===
+
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
  +
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to deploy and developed models.
 
 
 
* Hands on experience to implement different models to know inside behavior
 
* Hands on experience to implement different models to know inside behavior
 
* Sufficient exposure to train and deploy model for the given task
 
* Sufficient exposure to train and deploy model for the given task
* Fine tune the deployed model in the real-world settings
+
* Fine tune the deployed model in the real-world settings
  +
== Grading ==
 
=== Course evaluation ===
 
   
  +
=== Course grading range ===
{|
 
  +
{| class="wikitable"
|+ Course grade breakdown
 
  +
|+
!
 
!
 
!align="center"| '''Proposed points'''
 
 
|-
 
|-
  +
! Grade !! Range !! Description of performance
| Labs/seminar classes
 
| 20
 
|align="center"| 20
 
 
|-
 
|-
  +
| A. Excellent || 91-100 || -
| Interim performance assessment
 
| 30
 
|align="center"| 50
 
 
|-
 
|-
  +
| B. Good || 78-90 || -
| Exams
 
| 50
 
|align="center"| 30
 
|}
 
 
Labs/seminar classes points are divided into Quizzes and lab participation. Quizzes is 10% and two worst will be dropped. Lab homework is 10%. Interim performance assessment contains project with 20% weightage of the whole course. Exams will be conducted in theory and practical mode.
 
 
Late Submission Policy will be strictly applied in this course. Late submission automatically lowered one grade. If a personal emergency should arise that affects your ability, you must contact the course instructor BEFORE the deadline to get a “Special Late Submission Approval&quot; from the course instructor. No “Special Late Submission Approval” will be granted after the deadline. There are no makeup quizzes.
 
 
=== Grades range ===
 
 
The grade ranges are defined in Table. [[#cvgrade|1]].
 
 
<div id="cvgrade">
 
 
{|
 
|+ Course grading range
 
!
 
!
 
!align="center"| '''Proposed range'''
 
|-
 
| A. Excellent
 
| 90-100
 
|align="center"| 90-100
 
|-
 
| B. Good
 
| 75-89
 
|align="center"| 75-89
 
 
|-
 
|-
| C. Satisfactory
+
| C. Satisfactory || 60-77 || -
| 60-74
 
|align="center"| 60-74
 
 
|-
 
|-
| D. Poor
+
| D. Poor || 0-59 || -
| 0-59
 
|align="center"| 0-59
 
 
|}
 
|}
   
  +
=== Course activities and grading breakdown ===
 
  +
{| class="wikitable"
</div>
 
  +
|+
=== Resources and reference material ===
 
  +
|-
 
  +
! Activity Type !! Percentage of the overall course grade
* Handouts supplied by the instructor
 
* Materials from the internet and research papers shared by instructor
 
*
 
*
 
 
== Course Sections ==
 
 
The main sections of the course and approximate hour distribution between them is as follows:
 
 
{|
 
|+ Course Sections
 
!align="center"| '''Section'''
 
! '''Section Title'''
 
!align="center"| '''Teaching Hours'''
 
 
|-
 
|-
  +
| Weekly Labs || 50
|align="center"| 1
 
| Image Acquisition and Basic Image Processing
 
|align="center"| 8
 
 
|-
 
|-
  +
| Weekly Quizzes || 10
|align="center"| 2
 
| Image Filtering and Binary Vision
 
|align="center"| 8
 
 
|-
 
|-
  +
| Midterm Exam || 15
|align="center"| 3
 
| Feature Extractors and Descriptors
 
|align="center"| 16
 
 
|-
 
|-
  +
| Final Exam || 25
|align="center"| 4
 
| Deep Learning models for computer vision
 
|align="center"| 16
 
 
|}
 
|}
   
  +
=== Recommendations for students on how to succeed in the course ===
=== Section 1 ===
 
   
==== Section title: ====
 
   
  +
== Resources, literature and reference materials ==
Image Acquisition and Basic Image Processing
 
   
=== Topics covered in this section: ===
+
=== Open access resources ===
  +
* Handouts supplied by the instructor
 
  +
* Materials from the internet and research papers shared by instructor
* Computer vision in action
 
* The Human Vision System
 
* Optical Illusions
 
* Sampling and Quantization
 
* Image Representation
 
* Colour Spaces
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# What are the color spaces and where it’s used?
 
# What are the primary and secondary colors?
 
# How image is formed into computers?
 
# How you will convert the RGB to grayscale images
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Loading and plotting the images in python environment
 
# Convertion of different color spaces
 
# How you find the skin in the images based on the color space models
 
# how to find red eye dot in face using color space models
 
 
=== Test questions for final assessment in this section ===
 
 
# How you can distinguish different color spaces?
 
# Explain and provide the reason for the blind spot creation in human eye.
 
# In what scenarios computer vision is better than human vision?
 
# Write down different robotic application areas where computer vision is applied successfully.
 
 
=== Section 2 ===
 
 
==== Section title: ====
 
 
Image Filtering and Binary Vision
 
 
=== Topics covered in this section: ===
 
 
* Image noise
 
* Convolutions and kernels
 
* Smoothing and blurring
 
* Thresholding and histograms
 
* Morphological operations
 
* Gradients and Edge detection
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# What are the challenges to perform histogram task?
 
# Apply convolutional filter to calculate the response.
 
# What kind of parameters are required to apply different image filters?
 
# How you will compute the gradients of the image and its benefits?
 
 
=== Typical questions for seminar classes (labs) within this section ===
 
 
# Implement Otsu Method
 
# Implement Sobel, Preweitt filters
 
# Implement Canny edge detector
 
# Perform analysis over the different filtering on the given images
 
 
=== Test questions for final assessment in this section ===
 
 
# Calculate the kernels for the given images
 
# Explain the difference between different filters
 
# What is image noise and how it contributes to make the computer vision task difficult?
 
# Apply different combination of the filters to achieve the required output of the given image.
 
 
=== Section 3 ===
 
 
==== Section title: ====
 
 
Feature Extractors and Descriptors
 
 
==== Topics covered in this section: ====
 
 
* Histogram of Gradients (HoG)
 
* Scale-invariant feature transform (SIFT)
 
* Harris corner detector
 
* Template matching
 
* Bag of visual words
 
* Face Detection and Recognition (Viola Johns)
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# How feature extractor works over the given image?
 
# What is the difference between the feature extraction and descriptors?
 
# Explain the examples of descriptors and feature extractors.
 
# Write down the pros and cons of SIFT, HOG and Harris.
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
 
# Implement template matching algorithm
 
# Implement histogram of gradient using CV2 library
 
# Implement of SIFT for the given task
 
# Implement Harris corner detection
 
# Analysis of different extractors for the given task
 
 
==== Test questions for final assessment in this section ====
 
 
# How you distinguish different feature extractors and descriptors?
 
# What are the possible methods to detect the corners?
 
# How corners are useful to help the robotic vision task?
 
# How you will patch the different images to construct the map of the location?
 
 
=== Section 4 ===
 
 
==== Section title: ====
 
 
Deep learning models for computer vision
 
 
==== Topics covered in this section: ====
 
 
* You Only Look Once: Unified, Real-Time Object Detection (YOLO)
 
* Generative Adversarial Networks (GAN)
 
* Fully Convolutional Networks (FCN) for semantic segmentation
 
* Multi Domain Network (MDNet) for object tracking
 
* Generic Object Tracking Using Regression Networks (GOTURN) for object tracking
 
 
=== What forms of evaluation were used to test students’ performance in this section? ===
 
 
<div class="tabular">
 
 
<span>|a|c|</span> &amp; '''Yes/No'''<br />
 
Development of individual parts of software product code &amp; 1<br />
 
Homework and group projects &amp; 1<br />
 
Midterm evaluation &amp; 1<br />
 
Testing (written or computer based) &amp; 1<br />
 
Reports &amp; 0<br />
 
Essays &amp; 0<br />
 
Oral polls &amp; 0<br />
 
Discussions &amp; 1<br />
 
 
 
 
</div>
 
=== Typical questions for ongoing performance evaluation within this section ===
 
 
# How classification task is different from detection task?
 
# Explain the transfer learning mechanism for object detection task.
 
# How many types of model exist for object tracking in videos.
 
# Write down the pros and cons of YOLO, FCN and MDNet.
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
   
  +
=== Closed access resources ===
# Implement YOLO using transfer learning mechanism
 
# Implement GAN for MNIST dataset
 
# Implement FCN and GOTURN
 
# Analysis of different models for the given task
 
   
==== Test questions for final assessment in this section ====
 
   
  +
=== Software and tools used within the course ===
# What are the loss functions used in YOLO?
 
  +
# What are the learnable parameters of FCN for semantic segmentation?
 
  +
= Teaching Methodology: Methods, techniques, & activities =
# How semantic segmentation is different from instance segmentation?
 
# Write the application areas for object tracking in robotics.
 

Latest revision as of 09:29, 28 August 2023

Introduction to Computer Vision

  • Course name: Introduction to Computer Vision
  • Code discipline: XXX
  • Subject area:

Short Description

This course covers the following concepts: Computer vision using machine learning models.

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Representation of images and videos
  1. Computer representation
  2. Rescaling/manipulating images
Image Classification
  1. Loss Functions
  2. Backpropagation
  3. Neural Networks
  4. Training
Convolutional Neural Networks
  1. Training
  2. Architectures
Recurrent Neural Networks
  1. Training
  2. Architectures
Image Segmentation and object detection
  1. Techniques

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

This course provides an introductory but detailed treatment of computer vision techniques using machine learning, with an emphasis on implementing the computer vision algorithms from the scratch and using them to solve real-world problems. The course will begin with the image representation, but will quickly transition to computer vision techniques using machine learning, finishing with image segmentation and object detection and recognition. A key focus of the course is on providing students with not only theory but also hands-on practice of building their computer vision applications.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Significant exposure to real-world implementations
  • To develop research interest in the theory and application of computer vision

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • Suitability of different computer vision models in different scenarios
  • Ability to choose the right model for the given task

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Hands on experience to implement different models to know inside behavior
  • Sufficient exposure to train and deploy model for the given task
  • Fine tune the deployed model in the real-world settings

Grading

Course grading range

Grade Range Description of performance
A. Excellent 91-100 -
B. Good 78-90 -
C. Satisfactory 60-77 -
D. Poor 0-59 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Weekly Labs 50
Weekly Quizzes 10
Midterm Exam 15
Final Exam 25

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Handouts supplied by the instructor
  • Materials from the internet and research papers shared by instructor

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities