Checking date: 18/05/2022

Course: 2022/2023

Advanced Perception Systems
Study: Master in Internet of Things: Applied Technologies (356)

Coordinating teacher: SESMERO LORENTE, MARIA PAZ

Department assigned to the subject: Computer Science and Engineering Department, Systems Engineering and Automation Department

Type: Electives
ECTS Credits: 3.0 ECTS


Requirements (Subjects that are assumed to be known)
Programming in Python
Basic skills CB6 Own and understand the knowledge that can provide a base or opportunity to be original in the development and/or application of ideas, in the context of research CB7 That students know how to apply the acquired knowledge and ability to problem-solving in new or unknown environments within broad (or multidisciplinary) contexts related to their field of study CB8 That students be able to integrate knowledge and deal with the complexity of formulating judgments from information that is incomplete or limited include reflections on the social and ethical responsibilities related to the application of their knowledge and judgments CB9 That students know how to communicate their conclusions, knowledge and latest reasons sustain them public specialized and non-specialised in a way clear and unambiguous CB10 That the students possess the learning skills which allow them to continue studying in a way that will be largely self-directed or autonomous. General competencies Ng3 Capacity proactive approach and resolution of issues raised under new environments or little-known, within the context of IoT. Ng4 Ability of teamwork, integrating multidisciplinary approaches. Ng5 Capacity of public communication of concepts, developments and results, related activities in IOT, adapted to the profile of the audience. Ng6 Capacity for the application of the acquired knowledge and solve problems in new environments or little known within contexts broader and multidisciplinary, with the ability to integrate knowledge. CG7 Ability to communicate (orally and in writing) the conclusions - knowledge and latest reasons sustaining them - public specialized and non-specialised in a way clear and unambiguous. CG8 Continued self-directed learning and autonomous capacity. Specific skills CE9 Programming skills and simulation of perception systems and control at various levels (high-intermediate-low): OpenCV, ROS, Gazebo, etc. CE10. ability to integrate different systems of perception and control processes both from the point of view of hardware and software. LEARNING OUTCOME The aim of this course is that the students are able to dominate the advanced techniques of perception systems and deep learning algorithms with monocular images and stereo (point clouds), in order to implement real-world applications related with the purposes of the Internet of things (IoT). In addition, to the ability in integrating the different elements that make up a perception system for process control.
Skills and learning outcomes
Description of contents: programme
1. Introduction to computer vision 1.1. Definitions and Applications. 1.2. Optics, Digital Cameras, and 3D Sensors. 1.3. Elements of a Vision System. 1.4. Pinhole Model and Perspective Projection 1.5. Images as Functions 1.6. Image Transformations 1.7. Color space and gray levels. 1.8. 3D vision 2. Digital images and point clouds 2.1. Filtering, Noise Removal, and Thresholding. 2.2. Geometric transformations. 2.3. Camera Calibration 2.4. Homogeneous coordinates. 2.5. Linear perspective, The fundamental and essential matrix, homography, RANSAC and mosaic. 2.6. Epipolar geometry, pose and stereo. 2.7. Point Cloud and 3D Reconstruction. 3. Feature extraction and segmentation 3.1. Detection. 3.1.1. Edge detection. 3.2. Description 3.2.1. Pixel Intensities 3.2.2. Histogram of Gradients (HOG) 3.3. Detector/Descriptor SIFT 3.4. Motion Detection and Tracking 3.4.1. Optical Flow 3.4.2. Tracking Single or Multiple Objects 3.5. Region segmentation. 3.6. Clustering (K-Meanss). 4. Artificial Neural Networks 4.1. Basics of Artificial Neural Networks. 4.1.1. Artificial Neurons 4.1.2. Simple Perceptron 4.2. Multilayer perceptron 4.2.1. Architecture 4.2.2. Generalized Delta Rule: BackPropagation algorithm 4.2.3. Generalization Capacity 4.2.4. Application Examples 5. Convolutional Neural Networks 5.1. Architecture of the Convolutional Networks 5.1.1. Convolutional Layers 5.1.2. Pooling Layers 5.1.3. Fully Connected Layers 5.2. CNN implementation with TensorFlow 5.3. CNN with Own Name 5.4. Tools 5.5. Practical applications 6. Object Detection 6.1. Computer Vision and Deep Learning. 6.2. Object Localization 6.3. Object Detection 6.3.1. R-CNN Models 6.3.2. YOLO 6.4. Segmentation 7. Creative Artificial Intelligence 7.1. Style Transfer 7.2. GAN: Real or AI product?
Learning activities and methodology
The course is divided into various activities as follows: 1. Theory: lectures, student presentations, individual tutorials and personal work of the student; oriented to the acquisition of theoretical knowledge 2. Practices: Sessions in computer rooms, individual tutorials and personal work of the student; oriented to the acquisition of practical skills.
Assessment System
  • % end-of-term-examination 35
  • % of continuous assessment (assigments, laboratory, practicals...) 65
Calendar of Continuous assessment
Basic Bibliography
  • Antonio Gulli, Amita Kapoor, Sujit Pal. Deep Learning with TensorFlow 2 and Keras - Second Edition. Packt Publishing. 2019
  • John C. Russ & F. Brent Neal . The image processing handbook. CRC Press. 2018
  • Adrian Kaehler & Gary Bradski. Learning OpenCV 3 : computer Vision in C++ with the OpenCV Library . Beijing, China : O'Reilly Media. 2017
  • Anil K. Jain. Fundamentals of digital image processing . Prentice-Hall International . 1989
  • Arturo de la Escalera. Visión por computador: fundamentos y métodos. Prentice Hall. 2001
  • Aurélien Géron. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition. O¿Reilly Media. 2019
  • Azriel Rosenfeld, Avinash C. Kak. Digital Picture Processing. Morgan Kaufmann. 2014
  • Daniel. Lelis Baggio. Mastering OpenCV with practical computer vision projects . Birmingham, UK : Packt Pub.. 2012
  • Dari¿o Maravall Go¿mez-Allende. Reconocimiento de formas y visio¿n artificial . Madrid : Ra-Ma. 1993
  • Davies, E. R. Computer and Machine Vision: Theory, Algorithms, Practicalities . San Diego: Elsevier Science & Technology. 2012
  • Fernando Berzal . Redes Neuronales & Deep Learning. Independently published. 2018
  • Gonzalo Pajares Martinsanz. Visio¿n por computador : ima¿genes digitales y aplicaciones . Madrid : Ra-Ma. 2007
  • Howse, Joseph & Minichino, Joe. Learning OpenCV 4 Computer Vision with Python 3: Get to Grips with Tools, Techniques, and Algorithms for Computer Vision and Machine Learning, 3rd Edition . Birmingham: Packt Publishing, Limited. 2020
  • Javier Gonza¿lez Jime¿nez. Visio¿n por computador . Paraninfo. 2000
  • Jordi Torres. Deep Learning, Introducción práctica con Keras. Independently published. 2018
  • Mark S. Nixon & Alberto S Aguado. Feature extraction & image processing for computer vision . Oxford : Academic. 2012
  • Rafael C. Gonzalez & Richard E Wood. Digital image processing . Pearson. 2017
  • William K. Pratt. Digital Image Processing. John Wiley & Sons, Inc.. 2007
Recursos electrónicosElectronic Resources *
Additional Bibliography
  • Luca Massaron, Alberto Boschetti, Alexey Grigorev, Abhishek Thakur, Rajalingappaa Shanmugamani. TensorFlow Deep Learning Projects. Packt Publishing. 2018
  • Adrian Kaehler and Gary Bradski. Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library. O'Reilly Media. 2017
  • Matthew Rever. Computer Vision Projects with OpenCV and Python 3. Packtpub. 2018
(*) Access to some electronic resources may be restricted to members of the university community and require validation through Campus Global. If you try to connect from outside of the University you will need to set up a VPN

The course syllabus may change due academic events or other reasons.