We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Deep Learning

Advanced Computer Vision (GANs, SSD, +More!)

Lazy Programmer Inc.

Ever wondered how AI technologies like OpenAI ChatGPT, GPT-4, DALL-E, Midjourney, and Stable Diffusion really work? In this course, you will learn the foundations of these groundbreaking applications.

Read more

Ever wondered how AI technologies like OpenAI ChatGPT, GPT-4, DALL-E, Midjourney, and Stable Diffusion really work? In this course, you will learn the foundations of these groundbreaking applications.

This is one of the most exciting courses I’ve done and it really shows how fast and how far deep learning has come over the years.

When I first started my deep learning series, I didn’t ever consider that I’d make two courses on convolutional neural networks.

I think what you’ll find is that, this course is so entirely different from the previous one, you will be impressed at just how much material we have to cover.

Let me give you a quick rundown of what this course is all about:

We’re going to bridge the gap between the basic CNN architecture you already know and love, to modern, novel architectures such as VGG, ResNet, and Inception (named after the movie which by the way, is also great. )

We’re going to apply these to images of blood cells, and create a system that is a better medical expert than either you or I. This brings up a fascinating idea: that the doctors of the future are not humans, but robots.

In this course, you’ll see how we can turn a CNN into an object detection system, that not only classifies images but can locate each object in an image and predict its label.

You can imagine that such a task is a basic prerequisite for self-driving vehicles. (It must be able to detect cars, pedestrians, bicycles, traffic lights, etc. in real-time)

We’ll be looking at a state-of-the-art algorithm called SSD which is both faster and more accurate than its predecessors.

Another very popular computer vision task that makes use of CNNs is called neural style transfer.

This is where you take one image called the content image, and another image called the style image, and you combine these to make an entirely new image, that is as if you hired a painter to paint the content of the first image with the style of the other. Unlike a human painter, this can be done in a matter of seconds.

I will also introduce you to the now-famous GAN architecture (Generative Adversarial Networks), where you will learn some of the technology behind how neural networks are used to generate state-of-the-art, photo-realistic images.

Currently, we also implement object localization, which is an essential first step toward implementing a full object detection system.

I hope you’re excited to learn about these advanced applications of CNNs, I’ll see you in class.

AWESOME FACTS:

  • One of the major themes of this course is that we’re moving away from the CNN itself, to systems involving CNNs.

  • Instead of focusing on the detailed inner workings of CNNs (which we've already done), we'll focus on high-level building blocks. The result? Almost zero math.

  • Another result? No complicated low-level code such as that written in Tensorflow, Theano, or PyTorch (although some optional exercises may contain them for the very advanced students). Most of the course will be in Keras which means a lot of the tedious, repetitive stuff is written for you.

"If you can't implement it, you don't understand it"

  • Or as the great physicist Richard Feynman said: "What I cannot create, I do not understand".

  • My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratch

  • Other courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?

  • After doing the same thing with 10 datasets, you realize you didn't learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times...

Suggested Prerequisites:

  • Know how to build, train, and use a CNN using some library (preferably in Python)

  • Understand basic theoretical concepts behind convolution and neural networks

  • Decent Python coding skills, preferably in data science and the Numpy Stack

WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:

  • Check out the lecture "Machine Learning and AI Prerequisite Roadmap" (available in the FAQ of any of my courses, including the free Numpy course)

UNIQUE FEATURES

  • Every line of code explained in detail - email me any time if you disagree

  • No wasted time "typing" on the keyboard like other courses - let's be honest, nobody can really write code worth learning about in just 20 minutes from scratch

  • Not afraid of university-level math - get important details about algorithms that other courses leave out

Enroll now

What's inside

Learning objectives

  • Understand and apply transfer learning
  • Understand and use state-of-the-art convolutional neural nets such as vgg, resnet and inception
  • Understand and use object detection algorithms like ssd
  • Understand and apply neural style transfer
  • Understand state-of-the-art computer vision topics
  • Class activation maps
  • Gans (generative adversarial networks)
  • Object localization implementation project
  • Understand important foundations for openai chatgpt, gpt-4, dall-e, midjourney, and stable diffusion

Syllabus

Welcome
Introduction
Outline and Perspective
How to Succeed in this Course
Read more
Google Colab & Getting Setup
Get Your Hands Dirty, Practical Coding Experience, Data Links
How to use Github & Extra Coding Tips (Optional)
Where to get the code, notebooks, and data
Intro to Google Colab, how to use a GPU or TPU for free
Uploading your own data to Google Colab
Where can I learn about Numpy, Scipy, Matplotlib, Pandas, and Scikit-Learn?
Temporary 403 Errors
Machine Learning Basics Review
What is Machine Learning?
Code Preparation (Classification Theory)
Beginner's Code Preamble
Classification Notebook
Code Preparation (Regression Theory)
Regression Notebook
The Neuron
How does a model "learn"?
Making Predictions
Saving and Loading a Model
Suggestion Box
Artificial Neural Networks (ANN) Review
Artificial Neural Networks Section Introduction
Forward Propagation
The Geometrical Picture
Activation Functions
Multiclass Classification
How to Represent Images
Color Mixing Clarification
Code Preparation (ANN)
ANN for Image Classification
ANN for Regression
Convolutional Neural Networks (CNN) Review
What is Convolution? (part 1)
What is Convolution? (part 2)
What is Convolution? (part 3)
Convolution on Color Images
CNN Architecture
CNN Code Preparation
CNN for Fashion MNIST
CNN for CIFAR-10
Data Augmentation
Batch Normalization
Improving CIFAR-10 Results
VGG and Transfer Learning
VGG Section Intro
What's so special about VGG?
Transfer Learning
Relationship to Greedy Layer-Wise Pretraining
Getting the data
Code pt 1
Code pt 2
Code pt 3
VGG Section Summary
ResNet (and Inception)
ResNet Section Intro
ResNet Architecture
Transfer Learning with ResNet in Code
Blood Cell Images Dataset
How to Build ResNet in Code
1x1 Convolutions
Optional: Inception
Different sized images using the same network
ResNet Section Summary
Object Detection (SSD / RetinaNet)
SSD Section Intro
Object Localization
What is Object Detection?
How would you find an object in an image?
The Problem of Scale
The Problem of Shape
SSD Tensorflow Object Detection API (pt 1)
SSD Tensorflow Object Detection API (pt 2)
SSD for Video Object Detection
Optional: Intersection over Union & Non-max Suppression
SSD Section Summary
Neural Style Transfer
Style Transfer Section Intro
Style Transfer Theory
Optimizing the Loss
Style Transfer Section Summary
Class Activation Maps
Class Activation Maps (Theory)
Class Activation Maps (Code)
GANs (Generative Adversarial Networks)
GAN Theory
GAN Code
Object Localization Project
Localization Introduction and Outline
Localization Code Outline (pt 1)
Localization Code (pt 1)
Localization Code Outline (pt 2)
Localization Code (pt 2)
Localization Code Outline (pt 3)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
This course covers key foundational concepts in computer vision
Teaches neural networks through CNN applications
Introduces students to VGG, ResNet, and Inception
Teaches students about SSD and retina net object detection algorithms
Covers style transfer theory and GAN basics
Explores real-world computer vision applications such as medical diagnostics and self-driving vehicles

Save this course

Save Deep Learning: Advanced Computer Vision (GANs, SSD, +More!) to your list so you can find it easily later:
Save

Reviews summary

Comprehensive computer vision course

Learners say that this computer vision course provides a comprehensive introduction to advanced topics. Noteworthy coding assignments help learners master various methods and techniques.
The course relies heavily on coding assignments for learning.
"The instructor emphasizes coding as the must way to master techniques. It is true!"
Course effectively presents advanced concepts such as VGG, transfer learning, and GANs.
"Very good course introducing advanced topics like VGG, transfer learning and the modern GAN..."

Activities

Coming soon We're preparing activities for Deep Learning: Advanced Computer Vision (GANs, SSD, +More!). These are activities you can do either before, during, or after a course.

Career center

Learners who complete Deep Learning: Advanced Computer Vision (GANs, SSD, +More!) will develop knowledge and skills that may be useful to these careers:
Deep Learning Engineer
Deep Learning Engineers are responsible for designing and developing deep learning models. This course can help you develop the skills necessary to succeed as a Deep Learning Engineer by providing you with a deep understanding of the theory and practice of deep learning. You will also gain experience in implementing deep learning algorithms in Python, which is a popular language for deep learning.
Computer Vision Engineer
Computer Vision Engineers are responsible for developing computer vision systems, which can be used to analyze images and videos. This course can help you develop the skills necessary to succeed as a Computer Vision Engineer by providing you with a strong foundation in deep learning and state-of-the-art computer vision techniques. You will also gain experience in implementing computer vision algorithms in Python, which is a popular language for computer vision.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing and developing machine learning models. This course can help you develop the skills necessary to succeed as a Machine Learning Engineer by providing you with a deep understanding of the theory and practice of machine learning. You will also gain experience in implementing machine learning algorithms in Python, which is a popular language for machine learning.
Data Scientist
Data Scientists are responsible for collecting and analyzing data in order to provide insights to businesses. This course can help you develop the skills necessary to succeed as a Data Scientist by providing you with a strong foundation in deep learning, which is a powerful tool for analyzing large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Artificial Intelligence Engineer
Artificial Intelligence Engineers are responsible for designing and developing artificial intelligence systems. This course can help you develop the skills necessary to succeed as an Artificial Intelligence Engineer by providing you with a deep understanding of the theory and practice of artificial intelligence. You will also gain experience in implementing artificial intelligence algorithms in Python, which is a popular language for artificial intelligence.
Data Analyst
Data Analysts are responsible for collecting, cleaning, and analyzing data in order to provide insights to businesses. This course can help you develop the skills necessary to succeed as a Data Analyst by providing you with a strong foundation in deep learning, which is a powerful tool for analyzing large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Research Scientist
Research Scientists are responsible for conducting research in a variety of fields, including computer science, engineering, and medicine. This course can help you develop the skills necessary to succeed as a Research Scientist by providing you with a strong foundation in deep learning, which is a powerful tool for analyzing large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Business Analyst
Business Analysts are responsible for analyzing business processes and identifying opportunities for improvement. This course can help you develop the skills necessary to succeed as a Business Analyst by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Software Engineer
Software Engineers are responsible for designing and developing software applications. This course can help you develop the skills necessary to succeed as a Software Engineer by providing you with a strong foundation in deep learning and state-of-the-art computer vision techniques. You will also gain experience in implementing deep learning and computer vision algorithms in Python, which is a popular language for software development.
Marketing Manager
Marketing Managers are responsible for planning and executing marketing campaigns. This course can help you develop the skills necessary to succeed as a Marketing Manager by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Product Manager
Product Managers are responsible for planning and developing products. This course can help you develop the skills necessary to succeed as a Product Manager by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Finance Manager
Finance Managers are responsible for planning and managing the finances of a company. This course may be useful for you if you are interested in a career in finance by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Sales Manager
Sales Managers are responsible for leading sales teams and achieving sales goals. This course may be useful for you if you are interested in a career in sales by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Operations Manager
Operations Managers are responsible for planning and managing the operations of a company. This course may be useful for you if you are interested in a career in operations by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.
Human Resources Manager
Human Resources Managers are responsible for planning and managing the human resources of a company. This course may be useful for you if you are interested in a career in human resources by providing you with a strong foundation in deep learning, which can be used to analyze large and complex datasets. You will also learn about state-of-the-art computer vision techniques, which can be used to analyze images and videos.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Deep Learning: Advanced Computer Vision (GANs, SSD, +More!).
Provides a comprehensive overview of deep learning for computer vision, covering topics such as image classification, object detection, and segmentation.
Provides a gentle introduction to deep learning, covering topics such as neural networks, backpropagation, and convolutional neural networks.
Provides a practical guide to using TensorFlow for deep learning, covering topics such as building and training neural networks, and deploying models.
Provides a practical guide to using OpenCV for computer vision, covering topics such as image processing, feature extraction, and object recognition.
Provides a practical guide to using Python for deep learning, covering topics such as building and training neural networks, and deploying models.
Provides a comprehensive overview of generative adversarial networks (GANs), covering topics such as the theory of GANs, and applications of GANs.
This paper introduces the AlexNet architecture, a deep convolutional neural network that won the ImageNet Large Scale Visual Recognition Challenge in 2012.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Deep Learning: Advanced Computer Vision (GANs, SSD, +More!).
Deep Learning : Convolutional Neural Networks with Python
Most relevant
Deep Learning: Convolutional Neural Networks in Python
Most relevant
Convolutional Neural Networks
Most relevant
Image Colorization using TensorFlow 2 and Keras
Most relevant
Style Transfer with PyTorch
Most relevant
Deep Learning with Caffe
Most relevant
Building Deep Learning Models Using PyTorch
Most relevant
Using Neural Networks for Image and Voice Data Analysis
Most relevant
Using Tensorflow for Image Style Transfer
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser