Logo UAB
2021/2022

Computer Vision

Code: 104423 ECTS Credits: 6
Degree Type Year Semester
2503740 Computational Mathematics and Data Analytics OT 4 2
The proposed teaching and assessment methodology that appear in the guide may be subject to changes as a result of the restrictions to face-to-face class attendance imposed by the health authorities.

Contact

Name:
Felipe Lumbreras Ruíz
Email:
Felipe.Lumbreras@uab.cat

Use of Languages

Principal working language:
spanish (spa)
Some groups entirely in English:
No
Some groups entirely in Catalan:
No
Some groups entirely in Spanish:
Yes

Other comments on languages

some teaching materials are in catalan, spanish and english

Prerequisites

There are no prerequisites. This course is fairly self-contained. However, in this course will touch topics related to mathematical calculations, probability and signal theory, on the other hand, problems and practices in many cases will be small programs, so it is necessary a good foundation in mathematics and in programming.

Objectives and Contextualisation

The objectives of the subject can be summarized in:

Knowledge:

    Know, understand and know how to model the acquisition with different sensors, especially with cameras.
    Describe and relate the phases in which the solution is divided to a problem of analysis of signal processing.
    Identify the advantages and disadvantages of image processing algorithms.
    Solve real problems related to image processing techniques.
    Understand the result and limitations of vision techniques in different case studies.
    Know how to choose the most suitable image processing algorithm to solve a given task.
    Knowing how to choose the most appropriate computer vision techniques to solve contextualized problems.

    
Skills:

    Recognize situations in which the application of image processing algorithms may be adequate to solve a problem.
    Analyze the problem to solve and design the optimal solution applying the techniques learned.
    Write technical documents related to the analysis and solution of a problem.
    Program the basic algorithms to solve the proposed problems.
    Evaluate the results of the implemented solution and evaluate the possible improvements.
    Defend and argue the decisions made in the solution of the proposed problems.

Competences

  • Make effective use of bibliographical resources and electronic resources to obtain information.
  • Solve problems related to the analysis of large volumes of data through the design of intelligent systems and computational learning.
  • Students must be capable of applying their knowledge to their work or vocation in a professional way and they should have building arguments and problem resolution skills within their area of study.
  • Students must be capable of collecting and interpreting relevant data (usually within their area of study) in order to make statements that reflect social, scientific or ethical relevant issues.
  • Students must develop the necessary learning skills to undertake further training with a high degree of autonomy.
  • Using criteria of quality, critically evaluate the work carried out.
  • Work cooperatively in a multidisciplinary context assuming and respecting the role of the different members of the team.

Learning Outcomes

  1. Apply basic methods of image processing to specific problems.
  2. Develop computer vision applications for solving basic problems of image and video analysis.
  3. Extract shape descriptors for objects present in a scene.
  4. Make effective use of bibliographical resources and electronic resources to obtain information.
  5. Students must be capable of applying their knowledge to their work or vocation in a professional way and they should have building arguments and problem resolution skills within their area of study.
  6. Students must be capable of collecting and interpreting relevant data (usually within their area of study) in order to make statements that reflect social, scientific or ethical relevant issues.
  7. Students must develop the necessary learning skills to undertake further training with a high degree of autonomy.
  8. Using criteria of quality, critically evaluate the work carried out.
  9. Work cooperatively in a multidisciplinary context, taking on and respecting the role of the distinct members in the team.

Content

1.  Introduction to signal, image and video processing
2.  Image formation
3.  Image processing
4.  Linear (spatial) filtering
5.  Frequency filtering
6.  Non-linear filtering
7.  Geometric transformations
8.  Segmentation
9.  Features
10. Classification
11. Miscellany (applications, movement)
12. Deep Learning

Methodology

The different activities that will be carried out in the subject are organized as follows:

Master classes

The main concepts and algorithms of each theory topic will be presented. These subjects suppose the starting point in the work of the subject.

Problem seminars

They will be classes with small groups of students that facilitate interaction. In these classes, practical cases will be considered that require the design of a solution in which the methods seen in the theory classes are used.

Laboratory practices

There will be a series of common practices that will allow achieving basic competencies in vision issues. A first delivery outside of laboratory hours to know the tools. Three thematic practices closely related to the theory that is being given at the same time or previous. Finally a project chosen by the students themselves. In the second part of the semester they should analyze this problem, design and implement solutions based on different processing and vision algorithms seen in class, analyze the results obtained in each of the methods, defend their solution and make the presentation in public of the results .

The working groups will be formed by groups of 2 to 3 students and should form the second week of the course. These working groups should be maintained until the end of the course and should self-manage: role distribution, work planning, assignment of tasks, management of available resources, conflicts, etc. Although the teacher will guide the learning process, his intervention in the management of the groups will be minimal.

To develop the project, the groups will work autonomously and the practice sessions will be devoted mainly to answer questions with the teacher who will monitor the status of the project, indicate errors to be corrected, propose improvements, etc.

Some of the sessions will be marked as control sessions where a practice should be delivered. In these sessions the groups must explain the work done and the teacher will ask questions to all group members to assess the work done. Attendance at these sessions is mandatory.

In the final delivery the groups will make a presentation of the project where they will explain the developed project, the solution adopted and the results obtained. In this presentation each member of the group must make a part of the presentation.

The code of common practices will be developed in Matlab and Python. The part of the project will be free to choose by the students.

Despite what is said in the guide and being the first years of this matter we can apply changes on the fly that improve and adapt the methodology to the new subject.

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Activities

Title Hours ECTS Learning Outcomes
Type: Directed      
Laboratori classes 10 0.4 1, 2, 3, 7, 5, 6, 9, 4
Master class 20 0.8 1, 8, 2, 3, 7, 6, 9
Problem seminars 11.5 0.46 1, 2, 3, 7, 5, 6, 4
Type: Supervised      
Analysis and design of the project 12 0.48 1, 8, 2, 3, 7, 5, 6, 9, 4
Project documentation 6 0.24 2, 7, 5, 6, 9, 4
Type: Autonomous      
Individual study 45 1.8 1, 8, 2, 3, 7, 5, 6, 4
Oral presentation 12 0.48 8, 7, 5, 6, 9
Project programming 25 1 1, 8, 2, 3, 7, 5, 6, 9, 4

Assessment

Activities and evaluation instruments:

Continuous assessment. The student sees at all times his evolution to the subject and how to reach the different objectives of practices, problems and theory.

- Theoretical knowledge

The final theory grade will be calculated from the score of two tests:

               Theory grade = 0.5 Block1 + 0.5 Block2

These tests aim at an individualized evaluation of the student with his abilities to solve problems using the techniques explained in class as well as to evaluate the level of conceptualization that the student has made of the techniques seen.

Recovery (theory). If the student wants to upload a grade or recover, he / she can take the final exam divided into two blocks.

- Problems

The problems will be evaluated along with the theory tests, since the problems complement the theory. The recovery of this part will be done together with the theory. Recovery exam.
Recovery (problems). If the student wants to upload a grade or recover, he / she can take the final exam divided into two blocks.

              Problem grade = 0.5 Block1 + 0.5 Block2

- Practices

The practical part is a series of small projects. The evaluation of this part will include:

    Individual evaluation of the Lab0 that introduces the work tools that will be used in the practices. Also the exhibition parts of the final project are evaluated individually.
    Joint evaluation of the practices: single marks for all members of the working group that will assess the results obtained and the quality of the code.
    Evaluation of the project that will assess, the objectives achieved both by the group and individually, the results obtained and the presentation.

The grade of this part will be calculated according to the formula:

            Practices grade = (1/20) Lab0 + (3/20) Lab1 + (3/20) Lab2 + (3/20) Lab3 + (10/20) Project

Recovery (practices). The recovery of this part will consist in the delivery of the material not delivered before but with a multiplying factor of 0.8.

- Final evaluation

The Final Grade of the subject is obtained by combining the evaluation of these activities in the following way:

            Final grade = 0.3 Theory grade + 0.3 Problems grade + 0.4 Practice grade

The final grade that will appear in the expedient file, except for specific cases of copying and plagiarism or "Not evaluable", will be the result of applying the formula Final grade, also for cases of fail.

Grad with honors (MH) will be given to the people with the best grade above 9 ordered by order of arrival to this grade and there will be as many as can be given by the enrollment ratio.

Terms:

If the student presents a partial exam or if he / she presents himself / herself to a practice control session, he / she can no longer be evaluated as "Not evaluable" in case he / she does not attend the other evaluations, but the note will be calculated. final from those continuous evaluations to which it has been submitted.

Clarifications:

    There are no minimum grades in any of the evaluations except in the final. The grade to pass the course is 5.0.

    In the case of repeating students, the practices of the previous year, if the theme is maintained, may be resubmitted. This means not a direct validation but they have to defend themselves in a single interview with the internship teacher. The rest of the evaluation activities (theory and problems) have to be re-evaluated in the established way.

    The dates for continuous evaluation and submission of papers will be published on the web page of the subject and in Caronte and may be subject to programming changes for reasons of adaptation to possible incidents; always be informed on the web page of the subject and Caronte on these changes, since it is understood that the website of the subject and Caronte are the usual mechanisms of exchange of information between teacher and students.

    For each evaluation activity, a place, date and time of revision in which the student can review the activity with the teacher will be indicated. In this context, claims may be made on the activity grade, which will be evaluated by the faculty responsible for the subject. If the student does not appear in this review, this activity will not be reviewed later.

    Without prejudice to other disciplinary measures deemed appropriate, and in accordance with current academic regulations, irregularities committed by a student that may lead to a variation of the grade will be scored with a zero (0). The evaluation activities qualified in this way and by this procedure will not be recoverable. If it is necessary to pass any of these evaluation activities to pass the subject, this subject will be suspended directly, without the opportunity to recover it in the same course. These irregularities include, among others:    
     - the total or partial copy of a practice, report, or any other evaluation activity;
     - let copy;
     - present a group work not done entirely by the members of the group;
     - present as own materials prepared by a third party, even if they are translations or adaptations, and in general works with non original and exclusive elements of the student;
     - have communication devices (such as mobile phones, smart watches, etc.)accessible during the theoretical evaluation-individual practices (exams).
     The numerical note of the file will be the lower value between 3.0 and the weighted average of the marks in case the student has committed irregularities in an evaluation act (and therefore the approved by compensation will not be possible).
     In summary: copy, leave copy or plagiarize in any of the evaluation activities is equivalent to a FAIL with a grade lower than 3.0.

Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Group evaluation 10 0.25 0.01 1, 8, 2, 3, 5, 6
Labs 20 2 0.08 1, 8, 2, 3, 7, 5, 6, 9, 4
Project presentation 10 0.25 0.01 1, 8, 2, 3, 7, 5, 6, 9
Pruebas teóricas individuales 60 6 0.24 1, 8, 2, 3, 7, 5, 6, 4

Bibliography

    Rafael C. Gonzalez and Richard E. Woods, Digital Image Processing (3rd Edition), Prentice Hall 2007.
    Simon J.D. Prince, Computer Vision: Models, Learning, and Inference, Cambridge University Press, 2012.(http://www.computervisionmodels.com/)
    David A. Forsyth and Jean Ponce, Computer Vision: A Modern Approach (2nd Edition), Prentice Hall 2011.
    Richard Szeliski, Computer Vision: Algorithms and Applications, Springer (Texts in computer Science) 2011. (http://szeliski.org/Book/)
    Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning, MIT Press, 2016. (http://www.deeplearningbook.org)
    Aurélien Géron, Hands-On Machine Learning with Scikit-Learn & TensorFlow, O'Reilly, 2017.
    Joan Serrat, Llibre d'apunts de Processament d'imatges, 2006. (book)

Similar and complementary online courses

    Online course (MOOC Coursera): Image and video processing: From Mars to Hollywood with a stop at the hospital. (https://www.coursera.org/course/images)
    Online course (MOOC Coursera): Detección de objetos (UAB). (https://www.coursera.org/learn/deteccion-objetos)
    Online course (MOOC Coursera): Fundamentos del Procesamiento de Vídeo e Imagen Digital. (https://www.coursera.org/course/digital)
    Online course (MOOC Coursera): Clasificación de imágenes: ¿cómo reconocer el contenido de una imagen? (UAB). (https://www.coursera.org/learn/clasificacion-imagenes)
    Online course (MOOC Edx ): Introducción a la visión por computador: desarrollo de aplicaciones con OpenCV. (https://www.edx.org/course/introduccion-la-vision-por-computador-uc3mx-isa-1x)
    Online course (MOOC Udacity ): Computational Photography.(https://eu.udacity.com/course/computational-photography--ud955)
    Online course (MOOC Coursera): Machine Learning. (https://es.coursera.org/learn/machine-learning)

Software

MatLab

Python