Computer Vision and Deep Learning in Python: Novice to Expert
For all those who are interested in becoming experts in Deep Learning and Computer Vision using Python
Development ,Data Science,Deep Learning
Lectures -107
Duration -13.5 hours
Lifetime Access
Lifetime Access
30-days Money-Back Guarantee
Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.
Course Description
Hello and welcome to my new course, "Computer Vision & Deep Learning in Python: From Novice to Expert"
Making a computer classify an image using Deep Learning and Neural Networks is comparatively easier than it was before. Using all these ready-made packages and libraries, will few lines of code will make the process feel like a piece of cake.
It's just like driving a big fancy car with an automatic transmission. You just only have to know how to use the basic controls to drive it. But, if you are a true engineer, you will also be fascinated by the internal workings of the engine. At an expert level, you should be able to build your own version of that car from scratch using the available basic components. Even though the performance may not match the commercial production line version, the experience and knowledge you gain from it cannot be explained in words.
And only because of this, we have our course divided into exactly two halves. In the first half, we will learn the working concepts of image recognition using computer vision and deep learning and will try to implement the simple versions of popular algorithms and techniques using plain Python code. In the next half, we will use the popular packages and libraries to implement more complex deep-learning image classification models.
Here is a quick list of sessions that are included in this course.
The first three sessions will be theory sessions, in which we will have an overview of the concepts of deep learning and neural networks. We will also discuss the basics of a digital image and its composition
Then we will prepare your computer by installing and configuring Anaconda, the free and open-source Python data science platform, and the other dependencies to proceed with our exercises.
If you are new to Python programming, don't worry. The next four sessions will cover the basics of Python programming with simple examples.
And here comes the aforementioned first half, with our own custom code and libraries.
In the coming two theory sessions, we will be covering the basics of image classification and the list of datasets that we are planning to cover in this course.
Then we will do a step-by-step custom implementation of the k-nearest neighbors (KNN) algorithm. It is a simple, easy-to-implement supervised machine learning algorithm that can be used to solve both non-linear classification and regression problems. We will use our own created classes and methods without using any external library. The theory sessions involve learning the KNN basics. Then we will go ahead with downloading the dataset, loading, preprocessing, and splitting the data. We will try to train the program and will do an image classification among the three sets of animals. Dogs, cats, and pandas are predicted using our custom KNN implementation.
Now we will proceed with Linear Classification. Starting with the Concept and Theory, we will proceed further with building our own scoring function and also implementing it using plain Python code. Later, we will discuss the loss function concepts and also the performance optimization concepts and the terminology associated with it.
Then will start with the most important optimization algorithm for deep learning which is the Gradient Decent. We will have separate elaborate sessions where we will learn the concept and also implementation using the custom code for Gradient Decent. Later we will proceed with the more advanced Stochastic Gradient Decent with its concepts in the first sessions, later with implementing it using the custom class and methods we created.
We will then look at regularization techniques that can also be used for enhancing performance and also will implement them with our custom code.
In the coming sessions, we will have Perceptron, which is a fundamental unit of the neural network that takes weighted inputs, process it and is capable of performing binary classifications. We will discuss the workings of the Perceptron Model. Will implement it using Python, and we will also try to do some basic prediction exercises using the perceptron we created.
In deep learning, back-propagation is a widely used algorithm in training feed-forward neural networks for supervised learning. We will then have a discussion about the mechanism of backward propagation of errors. Then, to implement this concept, we will create our own classes and later implement projects for a simple binary calculation dataset and also the MNIST optical character recognition dataset.
And with all the knowledge gained from the pain of making custom implementations. We can now proceed with the second half of deep learning implementation using the libraries and packages that are used for developing commercial Computer Vision Deep Learning programs.
We will be using Keras which is an open-source neural-network library written in Python. It is capable of running on top of TensorFlow, Theano and also other languages for creating deep learning applications.
At first, we will build a simple neural network implementation with Keras using the MNIST optical character recognition dataset. We will train and evaluate this neural network to determine its accuracy and loss during the process.
In deep learning and computer vision, a convolutional neural network is a class of deep neural networks, most commonly applied to analyzing visual imagery. At first, we will have a discussion about the steps and layers in a convolutional neural network. Then we will proceed with creating classes and methods for a custom implementation of a Convolutional neural network using the Keras Library which features different filters that we can use for images.
Then we will have a quick discussion about the CNN Design Best Practices and then go ahead with ShallowNet. The basic and simple CNN architecture. We will create the common class for implementing ShallowNet and later train and evaluate the ShallowNet model using popular animal datasets as well as CIFAR 10 image datasets. Then we will see how we can serialize or save the trained model and then later load and use it. Even though it is a very shallow network, we will try to do prediction for an image we give using shallowNet for both the Animals and CIFAR 10 datasets
After that, we will try the famous CNN architecture called 'LeNet' for handwritten and machine-printed character recognition. LeNet will also, will create the common class and later train, evaluate, and save the LeNet model using the MNIST dataset. Later, we will try to make predictions for a handwritten digit image.
Then comes the mighty VGGNet architecture. We will create the common class and later will train, evaluate, and save the VGGNet model using the CIFAR-10 dataset. After hours of training, later we will try to do predictions for photos of a few common real-life objects falling into the CIFAR-10 categories.
While training deep networks, it is helpful to reduce the learning rate as the number of training epochs increases. We will learn a technique called Learning Rate Scheduling in our next session and implement it in our Python code.
Since we are spending hours training a model, if we don't checkpoint our training models at the end of a job, there is a great chance that we'll have lost all of our hard-earned results! We will see how we can efficiently do that in the coming sessions.
Enough with training using our little computer. Let's go ahead with the popular Deep learning models already pre-trained for us which are included in the Keras library. They are trained on Imagenet data which is a collection of image data containing 1000 categories of images.
The first pre-trained model that we are dealing with is the VGGNet-16, We will download the already-trained model and then do the prediction. Later, we will go a bit deeper with the VGGNet-19 pre-trained model and will do the image classification prediction.
The next pre-trained model that we are using is ResNet, which can utilize a technique called skip connections, or shortcuts, to jump over some layers. We will do the image classification prediction with this network too.
Finally, we will get the Inception and Xception models. Which are convolutional neural networks trained on more than a million images from the ImageNet database. They learn by using Depthwise Separable Convolutions. We will download the weights and do the image classification prediction with this network too.
Overall, this course will be the perfect recipe for custom and ready-made components that you can use for your career in Computer Vision using Deep Learning.
All the example code and sample images in the dataset can be downloaded from the link included in the last session or resource section of this course.
We will also provide you with a course completion certificate once you are done with all the sessions and it will add great value to your career.
So best wishes and happy learning. See you soon in the classroom.
Goals
- Computer Vision and Image Recognition Specific Deep Learning and Convolutional Neural Networks using Python for Beginners.
Prerequisites
- A medium-configuration computer and the willingness to indulge in the world of Deep Learning.
Curriculum
Check out the detailed breakdown of what’s inside the course
Course Introduction and Table of Contents
1 Lectures
- Course Introduction and Table of Contents 10:12 10:12
Introduction to Deep Learning
1 Lectures
Introduction to Neural Networks
1 Lectures
Image Basics
2 Lectures
Preparing your computer - Installing Anaconda
1 Lectures
Preparing your computer - Installing Dependencies
1 Lectures
Python Basics
4 Lectures
Load and Show Image
2 Lectures
Image Classification Basics
2 Lectures
List of Popular Datasets Included
1 Lectures
KNN Image Classifier - Downloading Animals Dataset
1 Lectures
Creating Common Pre-processor
1 Lectures
Creating Common Loader
2 Lectures
KNN Basics
2 Lectures
KNN Implementation - Load and Process
3 Lectures
KNN Implementation - Splitting the Dataset
1 Lectures
KNN Implementation - Training and Evaluation
2 Lectures
KNN Prediction
2 Lectures
Introduction to Linear Classification
2 Lectures
Scoring Function Basics
2 Lectures
Scoring Function - Implementation
2 Lectures
Loss Function Basics
1 Lectures
Optimization Concept Terminology and Challenges
2 Lectures
Gradient Descent Implementation
5 Lectures
Stochastic Gradient Descent Implementation
2 Lectures
Introduction to Regularization
1 Lectures
Implementing Regularization
1 Lectures
Introduction to Perceptrons
2 Lectures
Perceptron Implementation: Creating Class
3 Lectures
Perceptron Implementation: Creating BitWise Evaluation Program
2 Lectures
Introduction to Back Propagation
2 Lectures
Back Propagation Implementation - Creating Class
7 Lectures
Back Propagation - Create XOR Evaluation Program
2 Lectures
Back Propagation - Create MNIST Evaluation Program
3 Lectures
Keras Based MNIST Evaluation Program
4 Lectures
Introduction to Convolutional Neural Networks
1 Lectures
Custom Convolution using Python
4 Lectures
CNN Design Best Practices and ShallowNet Introduction
1 Lectures
Create ShallowNet Class
2 Lectures
ShallowNet using Animals Dataset
2 Lectures
ShallowNet using CIFAR10 Dataset
1 Lectures
ShallowNet CIFAR10 Save and Load Model
1 Lectures
ShallowNet CIFAR10 Predict
1 Lectures
ShallowNet Animals Save, Load and Predict
1 Lectures
LeNet Overview
1 Lectures
Create LeNet Class
1 Lectures
Lenet MNIST Train and Save
1 Lectures
Lenet MNIST Prediction
1 Lectures
Introduction to VGGNet Architecture
1 Lectures
Creating VGGNet Class
1 Lectures
VGGNet CIFAR 10 Model Save
1 Lectures
VGGNet CIFAR 10 Predict
1 Lectures
Learning Rate Scheduler
2 Lectures
Improvement Checkpoint
2 Lectures
Pretrained VGGNet 16
2 Lectures
Pretrained VGGNet 19
1 Lectures
Pretrained ResNet
1 Lectures
Pretrained Inception
1 Lectures
Pretrained Xception
1 Lectures
SOURCE CODE AND FILES ATTACHED
1 Lectures
Instructor Details
Abhilash Nelson
I am a pioneering, talented and security-oriented Android/iOS Mobile and PHP/Python Web Developer Application Developer offering more than eight years’ overall IT experience which involves designing, implementing, integrating, testing and supporting impact-full web and mobile applications.
I am a Post Graduate Masters Degree holder in Computer Science and Engineering.
My experience with PHP/Python Programming is an added advantage for server based Android and iOS Client Applications.
I am currently serving full time as a Senior Solution Architect managing my client's projects from start to finish to ensure high quality, innovative and functional design.
Course Certificate
Use your certificate to make a career change or to advance in your current career.
Our students work
with the Best
Related Video Courses
View MoreAnnual Membership
Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses
Subscribe nowOnline Certifications
Master prominent technologies at full length and become a valued certified professional.
Explore Now