
Explore OpenCV-based Viola-Jones face detection and look ahead to deep learning and Gans in computer vision.
FAQ, Q&A and Bug Help!
Explore how the Viola-Jones algorithm enables real-time frontal-face detection in OpenCV by converting images to grayscale and scanning with feature-based boxes through training and detection.
Learn how haar-like features—edge, line, and four-rectangle patterns from the haar wavelet—drive Viola-Jones face detection by comparing average pixel intensities to thresholds.
Explore cascading in the Viola-Jones framework, where early rejection of negative subwindows speeds up face detection by evaluating top features first and skipping unnecessary checks.
Install all packages and libraries, set up the virtual platform with Anaconda and Python 3.6, and launch Spyder to execute codes and models.
Please see the following debug tips if you are running into any trouble installing PyTorch or to see other common bugs that might pop up.
Define a Python function detect that takes gray and frame, uses face cascade detectMultiScale to locate faces (x, y, w, h), draws rectangles around faces, and returns image with detections.
Iterate over detected face tuples (x, y, w, h) and draw rectangles on the frame using OpenCV's rectangle function, preparing for future eye detection.
Learn to perform face detection with a webcam by applying a detect function to each frame, convert to grayscale, draw face and eye rectangles, and display results in real time.
Learn to build a smile detector in a computer vision workflow using OpenCV Haar cascades, from research to implementation and optimization, with tuned detectMultiscale parameters for reliable smile detection.
Explore the single shot multibox detection (SSD) algorithm, its innovations, and how it predicts object positions and scales, with annexes on artificial neural networks (ANNs) and convolutional neural networks (CNNs).
Discover how the single shot multibox detector differs by predicting all object boxes in one pass, avoiding object proposals, and using multi-scale features to enable real-time accuracy while rivaling YOLO.
Explore the multi box concept of the SSD algorithm, comparing ground truth boxes to inferred ones, and learn how box predictions and backpropagation train a person detector.
Explore the scale problem in object detection and how the SSD algorithm uses layers and shared features to detect horses across sizes in a single network.
Build a frame-by-frame object detector using an SSD model, transforming images to neural network input and returning frames with labeled bounding boxes for humans and dogs.
Explore step 4 of object detection by transforming frames to the format, converting numpy arrays to torch tensors, permuting color channels, and adding a batch dimension for a pre-trained SSD.
Explore how the SSD detections tensor encodes batch, class counts, and occurrences, apply a 0.6 score threshold to filter detections, and draw labeled rectangles with OpenCV.
Create a transformation from the base transform class to feed frames into the SSD neural network. Set net size and color scale values 104/256.0, 117/256.0, 123/256.0 for normalization before detection.
This step explains training an ssd for object detection using Pascal voc 2007 and 2012 datasets. It covers ground truth, annotations, cuda gpu requirements, and key training parameters.
Apply a pre-trained SSD object detector to the Epic Horses video in Monument Valley to detect horses, explore outputs, and fuel inspiration for module three GANs.
Explore the plan of attack on generative adversarial networks, their idea, purpose, and impact. See how generative adversarial networks work in three training steps and explore applications and related annexes.
Discover how generative adversarial networks work by training a generator and a discriminator as neural networks, using random noise to produce images and backpropagate errors to improve them.
Demonstrate how generative adversarial networks train a generator and discriminator in alternating steps to produce realistic dog images through backpropagation.
Explore applications of generative adversarial networks, including generating images, image modification, super resolution, and photorealistic outputs, plus speech generation and face agent, with bedroom examples and vector arithmetic demonstrations.
Build and train deep convolutional GANs from scratch to generate realistic images from CIFAR-10 data. Implement generator and discriminator networks, data loading, and training routines for practical computer vision tasks.
Instantiate the generator as net G and apply the weights_init routine to initialize conv transpose 2d and batchnorm layers for the adversarial networks. Next, define the discriminator.
In this step, build the discriminator brain for a deep convolutional GAN by defining a D class (nn.Module) with sequential conv layers, leaky relu, batch norm, and a sigmoid output.
Define the discriminator's forward function to process the generator's image and output a probability between 0 and 1, using view(-1) to flatten convolution results.
Create the discriminator brain (net D) with its neural network architecture and weights init, then train two brains to generate art from fake images by alternating discriminator and generator updates.
Train a GAN by first updating the discriminator with real and fake images using binary cross-entropy loss, then update the generator via the discriminator's feedback over 25 epochs with mini-batches.
Train the discriminator on real and fake images, compute total error ed as the sum of real and fake errors, then backpropagate and update weights with stochastic gradient descent.
Celebrate completing the deep learning and computer vision course with a Tasmanian montage of Cradle Mountain and Crater Lake, and invite learners to rate and review to help others.
Explore how deep learning mimics the brain through artificial neural networks, from input to hidden to output layers, and why abundant data and processing power drive its rise.
Explore how a pre-trained neural network values a property using area, bedrooms, distance to city, and age, through hidden layers and weights, focusing on application.
Explore how neural networks learn by contrasting hard coded rules with data-driven learning, and see how a single-layer perceptron uses weights, cost functions, and backpropagation to minimize error.
Explore how gradient descent optimizes neural network weights by following the cost function's slope, avoiding brute force searches and the curse of dimensionality.
Learn how stochastic gradient descent overcomes non convex cost surfaces by updating weights after each row, avoiding local minima, and compare it with batch and mini-batch gradient descent.
Backpropagation trains neural networks by simultaneously updating all weights via forward propagation, error computation, and backward adjustments, using learning rate and stochastic or batch gradient descent across epochs.
You've definitely heard of AI and Deep Learning. But when you ask yourself, what is my position with respect to this new industrial revolution, that might lead you to another fundamental question: am I a consumer or a creator? For most people nowadays, the answer would be, a consumer.
But what if you could also become a creator?
What if there was a way for you to easily break into the World of Artificial Intelligence and build amazing applications which leverage the latest technology to make the World a better place?
Sounds too good to be true, doesn't it?
But there actually is a way..
Computer Vision is by far the easiest way of becoming a creator.
And it's not only the easiest way, it's also the branch of AI where there is the most to create.
Why? You'll ask.
That's because Computer Vision is applied everywhere. From health to retail to entertainment - the list goes on. Computer Vision is already a $18 Billion market and is growing exponentially.
Just think of tumor detection in patient MRI brain scans. How many more lives are saved every day simply because a computer can analyze 10,000x more images than a human?
And what if you find an industry where Computer Vision is not yet applied? Then all the better! That means there's a business opportunity which you can take advantage of.
So now that raises the question: how do you break into the World of Computer Vision?
Up until now, computer vision has for the most part been a maze. A growing maze.
As the number of codes, libraries and tools in CV grows, it becomes harder and harder to not get lost.
On top of that, not only do you need to know how to use it - you also need to know how it works to maximise the advantage of using Computer Vision.
To this problem we want to bring...
Computer Vision A-Z.
With this new course you will not only learn how the most popular computer vision methods work, but you will also learn to apply them in practice!
Can't wait to see you inside the class,
Kirill & Hadelin