--- title: Assessment Guide (Machine Vision) --- # 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). (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. **K2** The candidate are aware of the principles of digital cameras and image capture **S1** The candidate can implement selected techniques for object recognition, tracking and 3D reconstruction. **C1** 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. # 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 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 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. 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 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». ## 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 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.