Revision 3174e0ba0ccefe48c6011a52898eb0d0da8c1480 (click the page title to view the current version)

Assessment Guide

Changes from 3174e0ba0ccefe48c6011a52898eb0d0da8c1480 to current

---
title: Assessment Guide (Machine Vision)
---

**DRAFT UNDER CONSTRUCTION**

A final version of this exam will be published before the teaching
term ends.

# Overview

1. The exam is viva voce.
2. **Duration** Normally 20 min. May extend up to a maximum of 30 min.
   if necessary.
3. The student manages the first seven minutes of the exam to make their
case to demonstrate that the learning outcomes have been achieved.
4.  The student is free to bring any material desired to serve as a
demonstration.  However,
    + having developed a product is not sufficient.
    + The candidate has to demonstrate that they understand how to
      develop the product.  See below for elaboration.
    + This is both because depth understanding is a learning objective
      in itself, and because we cannot otherwise know if the student
      has developed the demo themselves.
5.  Unexpected learning outcomes should be valued, in addition to the
    learning outcomes in the module description.  
6.  The remaining 2/3 of the exam is for further questions from the
examiners to make sure that all the learning outcomes are covered.

# Learning outcomes

The assessment is made with respect to the learning outcomes from the
[Module Description](https://www.ntnu.edu/studies/courses/AIS2204#tab=omEmnet), as follows (with numbering added).
[Module Description](https://www.ntnu.edu/studies/courses/AIS2204#tab=omEmnet),
as follows (with numbering added).
(At your option, you may refer to the 
[Norwegian Version](https://www.ntnu.no/studier/emner/AIS2204#tab=omEmnet)
instead.)

**K1**
The candidate can explain fundamental mathematical models for digital imaging, 3D models, and machine vision
The candidate can explain fundamental mathematical models for digital imaging,
3D models, and machine vision.

**K2**
The candidate are aware of the principles of digital cameras and image capture

**S1**
The candidate can implemented selected techniques for object recognition and tracking

**S2**
The candidate can calibrate cameras for use in machine vision systems
The candidate can implement selected techniques for object recognition, tracking and 3D reconstruction.

**C1**
The candidate has a good analytic understadning of machine vision and of the collaboration between machine vision and other systems in robotics
The candidate has a good analytic understanding of machine vision and of the collaboration between machine vision and other systems in robotics.

**C2**
The candidate can exploit the connection between theory and application for presenting and discussing engineering problems and solutions
The candidate can exploit the connection between theory and application for presenting and discussing engineering problems and solutions.

# Interpretation of Grades and Learning Outcomes

## The Grade C

The Grade **C** represents 
solid working knowledge of the most important techniques in the syllabus.
This includes

1.  Sufficient knowledge to be able to implement and use the technique.
    (S1)
2.  Sufficient theoretical understanding to vary the techniques and 
    adapt them to different use cases, including but not limited to
    parameter tuning. (C2)
3.  Sufficient theoretical understanding to explain when and why the
    technique is appropriate. (K1, C1)

Which techniques are most important may be subject to opinion, but the
following has a good case,

1.  Feature tracking - i.e. identification of objects in a video, and
    tracking of these objects across several frames. (S1)
1.  Feature tracking - i.e. identification of corners and edges in a video,
    and tracking of these objects across several frames. (S1)
2.  Calculation of relative pose and reconstruction of 3d scenes.  (C1)
    The eight-point algorithm is the core of these techniques, but it 
    is also critical to know why the algorithm does not suffice in 
    practice (e.g. with uncalibrated views), 
    and have an overview of practical solutions and challenges.
3.  Image Classification and Object Detection using 
    Convolutional Neural Networks. (S1, C1)

A student who merits a C can be trusted to implement these techniques
correctly in a project without close supervision.  
The student also needs a cursory understanding of the remaining
learning outcome (K2).

Students who have focused on other techniques which are important for
their own education, may choose to focus on them, as long as

+ they are taken from the syllabus, possibly extended with other sources.
+ they are taken from the syllabus and learning activities,
   possibly extended with other sources.
+ they constitute a similar volume and challenge as the above.
+ they address the learning outcomes (S1, C2, K1, C2) as mentioned above.

The student also needs a cursory understanding of the remaining
learning outcomes (K2, S2).

We respect that some students may have a more practical, and others
a more theoretical understanding of the technology, and that both may
merit the same grade.  The **C** Grade is a broad category. 

## The Grade A (and B)

The Grade **A** represent broad and deep understanding
of all the material discussed in the module.
This includes the requirements for a **C**, and additionally the
**A** student has

1.  working knowledge of additional techniques from the syllabus.
2.  solid understanding of learning outcomes K2 and S2.
1.  working knowledge of a wider range of techniques from the syllabus.
2.  solid understanding of learning outcome K2.
3.  deeper and more complete understanding of the underlying theory
    than we expect for a **C**

To merit an **A** the candidate has to impress and surprise.
The performance has to be *clearly outstanding*, as it says in the
nationaly guidelines:

> An excellent performance, clearly outstanding.
The candidate demonstrates excellent
judgement and a very high degree of independent thinking. 

The Grade **B** is an intermediate grade.  The candidate demonstrates
some features of an **A** and thus exceed the expectations for a **C**,
but they do not have to be `clearly outstanding'.
but they do not have to be «clearly outstanding».

## The Grade E (and D)

Grades below **C** represents working knowledge which can possibly
be of value in a development team, but not sufficient for the candidate
to be trusted to carry out independent work.  

As for the **C**, the candidate has to

+ demonstrate working knowledge of the most important techniques
  in the syllabus, 
+ be aware of some of features that require tuning and adaptation
  in practical situation.

Unlike the **C**, a certain awareness of the underlying theory 
suffices.  This is not expected to suffice to adapt and justify
solutions to practical uses beyond routine problems.

## Failure

There is not much to say about the grade **F**, other than its falling
short of the working knowledge described for E.
The most typical case of a failure is probably going to be fragmented
or disconnected knowledge.
This includes both inert facts which have not been put together to a
This includes inert facts which have not been put together to a
whole which can be put into practice.
It also includes, even if practical, memorised rigid procedures without
the ability to adapt and tune them to different needs.


# Some tips on presentation

It is important to emphasise that the focus of the exam is
your *understanding* (competency, skills, etc.) and not your
achievements.  Hence, when you are allowed to present your work
from the exercises, the focus should be on what you have learnt,
and not what you have made.

A software demo can be useful, but you should *always think carefully*
about *what we can learn from the demo*.
This can be done in many ways, so these are only ideas.

+ Demonstrate both cases where the software works and cases where it
  does not.  Discuss why.
+ Discuss the underlying theory of how it works.
+ Discuss mistakes you made on they way, and how the experience helped
  you find a better way to solve the problem.

We derive understanding both from theory and from experience, and both
are valuable.

A software demo is by no means mandatory.  It is just one way out of
many ways to visualise experience.  There are other ways to visualise
experience, and it is also possible to derive your understanding from
theory only.

The underlying theory is important.  If you use a software demo, you 
should expect questions about details in your code, such as how filtering,
differentiation, and convolution works.  If you do not use a software
demo, you can get the corresponding questions about how the algorithm is
defined in terms of filtering, differentiation, and convolution.