Computer Vision

Credits
6
Types
Elective
Requirements
This subject has not requirements, but it has got previous capacities
Department
ESAII
Computer vision is a discipline of computer science that tries to extract and analyze relevant information contained in an image or sequence of images. The application areas are growing every day, ranging from face recognition to early diagnosis of diseases, through the detection and location of objects and people, gestural interaction with systems, guiding robots or automated driving.
After completing the course the student will know how to analyze, design, develop and evaluate methods and image analysis techniques, under low time response, reliability and cost requirements.
The evaluation of the course will be based on partial controls, laboratory practices and group work, doing possible to pass the course without having to do a final exam.

Teachers

Person in charge

  • Joan Climent Vilaró ( )

Others

  • Joan Aranda López ( )
  • Manel Frigola Bourlon ( )

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6

Competences

Technical Competences

Common technical competencies

  • CT1 - To demonstrate knowledge and comprehension of essential facts, concepts, principles and theories related to informatics and their disciplines of reference.
    • CT1.2A - To interpret, select and value concepts, theories, uses and technological developments related to computer science and its application derived from the needed fundamentals of mathematics, statistics and physics. Capacity to solve the mathematical problems presented in engineering. Talent to apply the knowledge about: algebra, differential and integral calculus and numeric methods; statistics and optimization.
  • CT2 - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
    • CT2.5 - To design and evaluate person-computer interfaces which guarantee the accessibility and usability of computer systems, services and applications.
  • CT4 - To demonstrate knowledge and capacity to apply the basic algorithmic procedures of the computer science technologies to design solutions for problems, analysing the suitability and complexity of the algorithms.
    • CT4.1 - To identify the most adequate algorithmic solutions to solve medium difficulty problems.
    • CT4.3 - To demonstrate knowledge and capacity to apply the fundamental principles and the basic techniques of the intelligent systems and its practical application.
  • CT5 - To analyse, design, build and maintain applications in a robust, secure and efficient way, choosing the most adequate paradigm and programming languages.
    • CT5.2 - To know, design and use efficiently the most adequate data types and data structures to solve a problem.
    • CT5.5 - To use the tools of a software development environment to create and develop applications.
  • CT8 - To plan, conceive, deploy and manage computer projects, services and systems in every field, to lead the start-up, the continuous improvement and to value the economical and social impact.
    • CT8.1 - To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs.

Transversal Competences

Autonomous learning

  • G7 [Avaluable] - To detect deficiencies in the own knowledge and overcome them through critical reflection and choosing the best actuation to extend this knowledge. Capacity for learning new methods and technologies, and versatility to adapt oneself to new situations.
    • G7.3 - Autonomous learning: capacity to plan and organize personal work. To apply the acquired knowledge when performing a task, in function of its suitability and importance, decide how to perform it and the needed time, and select the most adequate information sources. To identify the importance of establishing and maintaining contacts with students, teacher staff and professionals (networking). To identify information forums about ICT engineering, its advances and its impact in the society (IEEE, associations, etc.).

Technical Competences of each Specialization

Computer science specialization

  • CCO2 - To develop effectively and efficiently the adequate algorithms and software to solve complex computation problems.
    • CCO2.2 - Capacity to acquire, obtain, formalize and represent human knowledge in a computable way to solve problems through a computer system in any applicable field, in particular in the fields related to computation, perception and operation in intelligent environments.
    • CCO2.3 - To develop and evaluate interactive systems and systems that show complex information, and its application to solve person-computer interaction problems.
    • CCO2.4 - To demonstrate knowledge and develop techniques about computational learning; to design and implement applications and system that use them, including these ones dedicated to the automatic extraction of information and knowledge from large data volumes.

Objectives

  1. Understanding the mechanisms of digital imaging and their features thereof.
    Related competences: CT1.2A,
  2. Compare and select the proper tools for image preprocessing based on the problem to solve.
    Related competences: CT1.2A, CT4.1, CT5.2,
  3. Segment and label the parts of an image from its common characteristics and / or differences.
    Related competences: CT1.2A, CT4.1, CT5.2, CT4.3,
  4. Understand, design and implement in an efficient way the most suitable descriptors for the characterization of regions, singular points or edges of an image.
    Related competences: CT1.2A, CT5.2, CCO2.2,
  5. Detect and identify the presence of certain items in a picture.
    Related competences: CCO2.3, CT2.5, CT4.1, CCO2.2, CCO2.4, CT4.3,
  6. Successfully perform experiments designed to evaluate the chosen or proposed methods, their limitations and weaknesses, based on objective results .
    Related competences: CT1.2A, CT8.1, CT4.1, CT5.5, CCO2.2, CCO2.4, G7.3, CT4.3,
  7. Detect moving targets in a scene and tracking them.
    Related competences: CT1.2A, CT8.1, CCO2.3, CT2.5, CT4.1, CT5.2, CCO2.2, CT4.3,

Contents

  1. The digital image
    Digital image properties. Discretization and quantification. Colour spaces
  2. Digital image processing
    Grey-level transformations.
    Geometric transformations
    Linear operators. Convolution. Image smoothing and enhancement
    Edge detection
    Non linear operators. Morphological filters.
    Scale space
  3. Image segmentation
    Binarization.
    Region based segmentation: region growing, split & merge, watershed, k-means, normalized cuts....
    Edge based segmentation: LoG, DoG, Canny...
    Connectivity analysis and labelling, adjacency graph
  4. Shape descriptors
    Edge based descriptors
    Region based descriptors
    Translation, rotation, illumination, affine transformation, and/or scale invariance
  5. Recognition
    Feature vectors classification.
    Clustering and learning.
    Distance functions.
    Classifiers: Bayes, Mahalanobis, Fisher, K-nearest,...
    Methods for evaluating a classification.
    PCA. Dimensionality reduction.
  6. Local features
    Histogram based descriptors: Colour histograms, HOGs.
    Hough transform.
    Keypoint detectors and descriptors: Harris, SIFT.
    Haar-like features. Face Detection using Viola-Jones
  7. Motion analysis
    Difference image. Optical flow. Keypoint correspondence. Tracking.

Activities

Activity Evaluation act


Que és una imatge? Quina informació conté?

Captació d'imatges digitals, propietats i característiques. Formació de la Imatge.
Objectives: 1
Contents:
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Processat digital d'imatges

Histograma de la imatge, modificacions, realçat. Filtrat espacial i freqüencial. Filtres morfologics. Transformacions geométriques. Espai d'escala
Objectives: 2
Contents:
Theory
6h
Problems
0h
Laboratory
12h
Guided learning
0h
Autonomous learning
20h

Segmentació d'imatges.

Técniques basades en regions: Binarització, watershed, mean-shift, normalized cuts.... Tecniques basades en contorns: Gradients, LoG, DoG, Canny... Analisi de connectivitat i etiquetat, graf d'adjacència.
Objectives: 3 6
Contents:
Theory
4h
Problems
0h
Laboratory
4h
Guided learning
0h
Autonomous learning
10h

Detecció i descripció de característiques.

Característiques locals i globals. Descriptors de regions, contorns i punts singulars. Concepte d'invariancia a translació, rotació i/o escala.
Objectives: 4 6
Contents:
Theory
6h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Reconeixement

Conceptes bàsics.Classificació mitjançant vectors descriptors. Construcció de les classes (Clustering, aprenentatge ...) Funcions distància. Tipus de classificadors: Bayes, Mahalanobis, Fisher, K-nearest,... Identificació d'objectes. Reconeixement de categories.
Objectives: 5 6
Contents:
Theory
6h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Detecció i anàlisi de moviment

Imatge diferencia. Fluxe òptic. Correspondencia de punts. Seguiment d'objectes.
Objectives: 5 6 7
Contents:
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h

Dissenyar i desenvolupar una aplicació senzilla de visió per computador (miniprojecte).

L'alumne haurà de triar i combinar els mètodes i tècniques que trobi més adients per donar solució al problema presentat. Haurà d'avaluar el seu treball dissenyant jocs de proves i delimitant l'abast de la solució proposada.
Objectives: 1 2 3 5 4 6
Contents:
Theory
0h
Problems
0h
Laboratory
14h
Guided learning
0h
Autonomous learning
28h

Prova d'assoliment d'objectius.

Prova de coneixements.
Objectives: 1 2 3
Week: 7
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
2h
Autonomous learning
1h

Control de seguiment del miniprojecte

L'alumne a de presentar un informe parcial d'evolució del miniprojecte: decisions de disseny i primeres proves si n'hi han, així com una planificació temporal del treball que falta. Es tracta d'una prova de seguiment de la evolució correcta del miniprojecte. També serveix per re-orientar a l'alumne en cas necessari.
Objectives: 2 3 4 6
Week: 11
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
1h
Autonomous learning
1h

Presentació dels resultats del miniprojecte

L'alumne fa una presentació davant els companys amb els resultats del seu miniprojecte.
Objectives: 2 3 5 4 6
Week: 14
Type: assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
3h
Autonomous learning
4h

Prova de coneixements

Prova de coneixements
Objectives: 1 2
Week: 3
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Prova de coneixements

Prova de coneixements
Objectives: 1 2
Week: 4
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Prova de coneixements

Prova de coneixements

Week: 5
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Prova de coneixements

Prova de coneixements

Week: 6
Type: lab exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Teaching methodology

The teaching methodology will be in general deductive. Attempt to flee the classic lecture methodology. The approach is always the same
- to propose a problem
- trying to solve it
- add pieces of theory needed to solve the problem.
During practices we'll work also cooperative learning and independent learning by the resolution of a shortproject.

Evaluation methodology

This section is untranslated deliberately in order to avoid misinterpretations.

Bibliography

Basic:

Complementary:

Previous capacities

It is recommended that the student has passed the courses Probability and Statistics (PE) and Programming Project (PROP).

Addendum

Contents

Sense modificacions respecte la Guia Docent

Teaching methodology

Sense modificacions respecte la Guia Docent

Evaluation methodology

Sense modificacions respecte la Guia Docent

Contingency plan

Les classes de teoria previstes inicialment de forma presencial, s'haurien d'impartir via telemàtica. Es respectarà al màxim la planificació inicial plantejada per a sessions presencials.