Computer vision is one of the fastest growing areas in artificial intelligence.
Computer vision applications aim to develop systems that have similar capabilities as human vision / cognition by understanding digital images. The capacity to perceive the complex visual world through images enables computers to provide solutions that automate existing processes.
The development of new deep learning techniques enable computers to provide solutions which are significantly better than human visual abilities. The availability of algorithms, data and computing power empower us to create new applications in computer vision.
1. Computer vision concepts and fundamentals
Introduction to machine learning and deep learning, training and deploying machine learning and deep learning models, fundamentals of neural networks including:
- The perceptron algorithm
- Multi-layer perceptrons
- Gradient descent
Fundamentals of convolutional neural networks (CNNs)
- Understanding convolutions
- Building blocks of CNNs
- Implementing a basic CNN
Fundamentals of Image Processing and Analysis
- image classification
- style transfer
Examples of Datasets for training Image Analysis models
Libraries and Packages
Libraries and packages used for deep learning and computer vision using Python including Keras, TensorFlow 2.0, Mxnet, OpenCV, scikit-image, etc.
An understanding of CNNs and their evolution including AlexNet, GoogLeNet, VGGNet, ResNet, etc.
2. Computer vision applications and scenarios
In this section, we provide an overview of the scenarios and applications that we will use in the course. Some of these scenarios will be implemented in code over the duration of the course, including:
- object detections
- cars and pedestrian detection
- use in drones
- anomaly / novelty detection,
- facial detection,
- healthcare (diagnosis using X-rays, MRIs, tumours, etc.),
- working with large images (e.g. from space, or landscape images from drones),
- manufacturing (object counting, detecting damaged components, etc).
Hands-on coding exercises
Some of the scenarios listed above will be implemented over the duration of the course as hands-on coding exercises.
Creating and improving an image classifier
We develop a basic image classifier and continue to improve it over the course.
Computer vision on edge devices
Covering inference at the edge using devices like Nvidia Jetson Nano, Raspberry Pi, etc.
Computer vision using the cloud
Covering issues like using pre-built models in the cloud to complement your own images.
This is a hands-on course implementing computer vision applications, providing you with:
- An understanding of computer vision applications
- An understanding of computer vision applications on edge devices
- Computer vision applications in the cloud