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ó (
)
Manel Frigola Bourlon (
)
Others
Isiah Zaplana Agut (
)
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
Understanding the mechanisms of digital imaging and their features thereof.
Related competences:
CT1.2A,
Compare and select the proper tools for image preprocessing based on the problem to solve.
Related competences:
CT1.2A,
CT4.1,
CT5.2,
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,
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,
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,
Contents
The digital image
Digital image properties. Discretization and quantification. Colour spaces
Digital image processing
Grey-level transformations.
Geometric transformations
Linear operators. Convolution. Image smoothing and enhancement
Edge detection
Non linear operators. Morphological filters.
Scale space
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
Shape descriptors
Edge based descriptors
Region based descriptors
Translation, rotation, illumination, affine transformation, and/or scale invariance
Recognition
Feature vectors classification.
Clustering and learning.
Distance functions.
Classifiers: Bayes, Mahalanobis, Fisher, K-nearest,...
Methods for evaluating a classification.
PCA. Dimensionality reduction.
Local features
Histogram based descriptors: Colour histograms, HOGs.
Hough transform.
Keypoint detectors and descriptors: Harris, SIFT.
Haar-like features. Face Detection using Viola-Jones
Local and global features. REgion descriptors, contours and keypoints. Concept of invariance in translation, rotation and scale Objectives:35 Contents:
Basic concepts. Classification by means of descriptor vectors. Construction of classes (Clustering, learning ...) Distance functions. Types of classifiers: Bayes, Mahalanobis, Fisher, K-nearest, ... Identification of objects. Category recognition. Objectives:45 Contents:
Design and develop a simple computer vision application (short-project).
The student will have to choose and combine the methods and techniques that he finds more suitable to give solution to the presented problem. You will need to evaluate your work by designing test sets and delineating the scope of the proposed solution. Objectives:127435 Contents:
The student must present a partial report on the evolution of the mini-project: design decisions and initial tests if any, as well as a temporary planning of the missing work. This is a test to monitor the correct evolution of the mini-project. It also serves to re-orient the student if necessary. Objectives:2735 Week:
14 (Outside class hours)
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
1h
Presentation of the results of the short-project
The student makes a presentation of his short-project. Objectives:27435 Week:
15 (Outside class hours)
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
Throughout the course, a series of exercises will be requested to evaluate the student. There will be no final exam.
NL will be obtained from the practices done compulsorily in class personally and the deliveries of the homework.
NT will be obtained from the partial exams.
The final mark of the subject will be calculated as follows: NF = 0'7NL+ 0'3NT
The evaluation of the transversal competence (Autonomous Learning) will be calculated taking into account the capacity of the student by :
. detect one's own lack of knowledge about the proposed problem
. look for possible solutions to the problem posed (search for bibliography-study of the state of the art) .
. know how to assess when you have enough information to solve the problem posed .
. choose the right solution (adapting or improving an existing one ) or know how to assess whether it is necessary to create a new one
. defend the chosen solution against other solutions based on objective arguments (results).