COMP08177 2020 Deep Learning for Computer Vision

General Details

Full Title
Deep Learning for Computer Vision
Transcript Title
Deep Learning for Computer Vis
Code
COMP08177
Attendance
N/A %
Subject Area
COMP - 0613 Computer Science
Department
COEL - Computing & Electronic Eng
Level
08 - Level 8
Credit
10 - 10 Credits
Duration
Semester
Fee
Start Term
2020 - Full Academic Year 2020-21
End Term
9999 - The End of Time
Author(s)
Eva Murphy, Shane Gilroy, Sean Mullery
Programme Membership
SG_EELEC_H08 202000 Bachelor of Engineering (Honours) in Electronics and Self Driving Technologies SG_EROBO_H08 202000 Bachelor of Engineering (Honours) in Robotics and Automation SG_EROBO_H08 202400 Bachelor of Engineering (Honours) in Robotics and Automation SG_EROBO_H08 202500 Bachelor of Engineering (Honours) in Robotics and Automation
Description

This module presents the cutting edge of Computer Vision. While Deep Learning is not new, it has only recently revolutionised Computer Vision due to the wide availability of large image data sets and the computing power necessary to train deep neural networks. This module will look at the methods for designing, training and testing both classification/recognition type networks as well as image-to-image and generative networks. This module can be taken as a standalone or as the final part of stream, which includes Image processing and Computer Vision modules.

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Assess the performance of Deep Learning models

2.

Train Deep Learning models for visual recognition

3.

Devise an appropriate architecture to solve a computer vision problem

4.

Question the ethics and bias of Deep Learning algorithms

5.

Interpret state of the art Deep Learning literature

Teaching and Learning Strategies

A lecture will be provided each week. In advance of the lecture, the learner may be asked to review key text book chapters that are relevant to the lecture so that they get the maximum learning from that lecture.
The Project work,  will challenge the learner to master concepts beyond those covered in the theory lecture.

Module Assessment Strategies

A terminal exam and continuous assessment in the form of project work will be used to assess the module.
To reinforce the theoretical principles covered in lectures, learners will participate in project work.
The learner will complete a final exam at the end of the semester.

Repeat Assessments

Repeat Exams will be set for Autumn of each year.
Repeat project work can be submitted at the repeat exam sitting.

Indicative Syllabus

Machine Learning: Linear Regression, Logistic Regression, SVM
    
Neural Networks :   Fully Connected Networks, Representation Learning, Convolution Neural Networks
    
Training: Optimisation, Regularisation, Batch Normalisation, Dropout
    
Bias and Variance    
    
Metrics: Confusion Matrix, ROC, AUC
    
    
Architectures:  LeNet, AlexNet, VGG, Inception, ResNet, Xception, U-net, Fully Convolutional, Attention
    
    
Localisation:   Yolo, R-CNN, Fast R-CNN, Faster R-CNN
    
Image-to-Image: Deep SLAM, Segmentation, Super-resolution
    
Generative    Variational Auto-encoders, Generative Adversarial Networks, Spectral Normalisation
    
State of the Art:    Whatever is happening in research at the moment
    
Ethics:   Data privacy, Algorithmic Bias, Misuse of models

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
40 %
End of Semester / Year Formal Exam
60 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Mid-term Exam Coursework Assessment Closed Book Exam 20 % Week 7 1,2,3
2 Laboratory Assignments Practical Assignment 20 % OnGoing 1,2,3,5
             

End of Semester / Year Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 End of Term Exam Final Exam Closed Book Exam 60 % Start of Semester 1,2,3,4
             
             

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Lecture Theatre Lecture 2 Weekly 2.00
Practical / Laboratory Computer Laboratory Laboratory Practical 3 Weekly 3.00
Independent Learning Not Specified Independent Learning 3 Weekly 3.00
Total Full Time Average Weekly Learner Contact Time 5.00 Hours

Online Learning Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Online Lecture 1.5 Weekly 1.50
Practical / Laboratory Online Laboratory Practical 1.5 Weekly 1.50
Independent Learning Not Specified Independent Learning 5 Weekly 5.00
Total Online Learning Average Weekly Learner Contact Time 3.00 Hours

Required & Recommended Book List

Required Reading
2017-10-28 Deep Learning with Python Manning Publications
ISBN 1617294438 ISBN-13 9781617294433

Summary Deep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher Franois Chollet, this book builds your understanding through intuitive explanations and practical examples. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Machine learning has made remarkable progress in recent years. We went from near-unusable speech and image recognition, to near-human accuracy. We went from machines that couldn't beat a serious Go player, to defeating a world champion. Behind this progress is deep learning--a combination of engineering advances, best practices, and theory that enables a wealth of previously impossible smart applications. About the Book Deep Learning with Python introduces the field of deep learning using the Python language and the powerful Keras library. Written by Keras creator and Google AI researcher Franois Chollet, this book builds your understanding through intuitive explanations and practical examples. You'll explore challenging concepts and practice with applications in computer vision, natural-language processing, and generative models. By the time you finish, you'll have the knowledge and hands-on skills to apply deep learning in your own projects. What's Inside Deep learning from first principles Setting up your own deep-learning environment Image-classification models Deep learning for text and sequences Neural style transfer, text generation, and image generation About the Reader Readers need intermediate Python skills. No previous experience with Keras, TensorFlow, or machine learning is required. About the Author Franois Chollet works on deep learning at Google in Mountain View, CA. He is the creator of the Keras deep-learning library, as well as a contributor to the TensorFlow machine-learning framework. He also does deep-learning research, with a focus on computer vision and the application of machine learning to formal reasoning. His papers have been published at major conferences in the field, including the Conference on Computer Vision and Pattern Recognition (CVPR), the Conference and Workshop on Neural Information Processing Systems (NIPS), the International Conference on Learning Representations (ICLR), and others. Table of Contents PART 1 - FUNDAMENTALS OF DEEP LEARNING What is deep learning? Before we begin: the mathematical building blocks of neural networks Getting started with neural networks Fundamentals of machine learning PART 2 - DEEP LEARNING IN PRACTICE Deep learning for computer vision Deep learning for text and sequences Advanced deep-learning best practices Generative deep learning Conclusions appendix A - Installing Keras and its dependencies on Ubuntu appendix B - Running Jupyter notebooks on an EC2 GPU instance

Recommended Reading
2016-11-18 Deep Learning MIT Press
ISBN 9780262035613 ISBN-13 0262035618

An introduction to a broad range of topics in deep learning, covering mathematical and conceptual background, deep learning techniques used in industry, and research perspectives. Written by three experts in the field, Deep Learning is the only comprehensive book on the subject. Elon Musk, cochair of OpenAI; cofounder and CEO of Tesla and SpaceX Deep learning is a form of machine learning that enables computers to learn from experience and understand the world in terms of a hierarchy of concepts. Because the computer gathers knowledge from experience, there is no need for a human computer operator to formally specify all the knowledge that the computer needs. The hierarchy of concepts allows the computer to learn complicated concepts by building them out of simpler ones; a graph of these hierarchies would be many layers deep. This book introduces a broad range of topics in deep learning. The text offers mathematical and conceptual background, covering relevant concepts in linear algebra, probability theory and information theory, numerical computation, and machine learning. It describes deep learning techniques used by practitioners in industry, including deep feedforward networks, regularization, optimization algorithms, convolutional networks, sequence modeling, and practical methodology; and it surveys such applications as natural language processing, speech recognition, computer vision, online recommendation systems, bioinformatics, and videogames. Finally, the book offers research perspectives, covering such theoretical topics as linear factor models, autoencoders, representation learning, structured probabilistic models, Monte Carlo methods, the partition function, approximate inference, and deep generative models. Deep Learning can be used by undergraduate or graduate students planning careers in either industry or research, and by software engineers who want to begin using deep learning in their products or platforms. A website offers supplementary material for both readers and instructors.

Recommended Reading
2019-07-31 Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow O'Reilly Media
ISBN 1492032646 ISBN-13 9781492032649

Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. The updated edition of this best-selling book uses concrete examples, minimal theory, and two production-ready Python frameworks--Scikit-Learn and TensorFlow 2--to help you gain an intuitive understanding of the concepts and tools for building intelligent systems. Practitioners will learn a range of techniques that they can quickly put to use on the job. Part 1 employs Scikit-Learn to introduce fundamental machine learning tasks, such as simple linear regression. Part 2, which has been significantly updated, employs Keras and TensorFlow 2 to guide the reader through more advanced machine learning methods using deep neural networks. With exercises in each chapter to help you apply what you've learned, all you need is programming experience to get started. NEW FOR THE SECOND EDITION:Updated all code to TensorFlow 2Introduced the high-level Keras APINew and expanded coverage including TensorFlow's Data API, Eager Execution, Estimators API, deploying on Google Cloud ML, handling time series, embeddings and more With Early Release ebooks, you get books in their earliest form--the author's raw and unedited content as he or she writes--so you can take advantage of these technologies long before the official release of these titles. You'll also receive updates when significant changes are made, new chapters are available, and the final ebook bundle is released.

Module Resources