OpenCV Smoothing and Blurring
In this tutorial, you will learn about smoothing and blurring with OpenCV. We will cover the following blurring operations Simple blurring (cv2.blur)Weighted Gaussian blurring (cv2.GaussianBlur)Median...
View ArticleOpenCV Thresholding ( cv2.threshold )
In this tutorial, you will learn how to use OpenCV and the cv2.threshold function to apply basic thresholding and Otsu thresholding. Thresholding is one of the most common (and basic) segmentation...
View ArticleOpenCV Image Histograms ( cv2.calcHist )
In this tutorial, you will learn how to compute image histograms using OpenCV and the cv2.calcHist function. Histograms are prevalent in nearly every aspect of computer vision. We use grayscale...
View ArticleWhat is face recognition?
In this tutorial, you will learn about face recognition, including: How face recognition worksHow face recognition is different from face detectionA history of face recognition...
View ArticleFace Recognition with Local Binary Patterns (LBPs) and OpenCV
In this tutorial, you will learn how to perform face recognition using Local Binary Patterns (LBPs), OpenCV, and the cv2.face.LBPHFaceRecognizer_create function. In our previous tutorial, we discussed...
View ArticleGradient Descent Algorithms and Variations
In this tutorial, you will learn: What gradient descent isHow gradient descent enables us to train neural networksVariations of gradient descent, including Stochastic Gradient Descent (SGD)How SGD can...
View ArticleUnderstanding weight initialization for neural networks
In this tutorial, we will discuss the concept of weight initialization, or more simply, how we initialize our weight matrices and bias vectors. This tutorial is not meant to be a comprehensive...
View ArticleIntroduction to Neural Networks
We’ll study the fundamentals of neural networks in depth. We’ll start with a discussion of artificial neural networks and how they are inspired by the real-life biological neural networks in our own...
View ArticleBackpropagation from scratch with Python
Backpropagation is arguably the most important algorithm in neural network history — without (efficient) backpropagation, it would be impossible to train deep learning networks to the depths that we...
View ArticleThe four key ingredients when training any neural network
You might have started to notice a pattern in our Python code examples when training neural networks. There are four main ingredients you need to put together in your own neural network and deep...
View ArticleImplementing the Perceptron Neural Network with Python
First introduced by Rosenblatt in 1958, The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain is arguably the oldest and most simple of the ANN algorithms....
View ArticleImplementing feedforward neural networks with Keras and TensorFlow
Now that we have implemented neural networks in pure Python, let’s move on to the preferred implementation method — using a dedicated (highly optimized) neural network library such as Keras. Today, I...
View ArticleOpenCV Eigenfaces for Face Recognition
In this tutorial, you will learn how to implement face recognition using the Eigenfaces algorithm, OpenCV, and scikit-learn. Our previous tutorial introduced the concept of face recognition —...
View ArticleImage Gradients with OpenCV (Sobel and Scharr)
In this tutorial, you will learn about image gradients and how to compute Sobel gradients and Scharr gradients using OpenCV’s cv2.Sobel function. Image gradients are a fundamental building block of...
View ArticleOpenCV Edge Detection ( cv2.Canny )
In this tutorial, you will learn how to perform edge detection using OpenCV and the Canny edge detector. Previously, we discussed image gradients and how they are one of the fundamental building...
View ArticleAdaptive Thresholding with OpenCV ( cv2.adaptiveThreshold )
In this tutorial, you will learn about adaptive thresholding and how to apply adaptive thresholding using OpenCV and the cv2.adaptiveThreshold function. Last week, we learned how to apply both basic...
View ArticleAre CNNs invariant to translation, rotation, and scaling?
Are CNNs Invariant to Translation, Rotation, and Scaling? A common question I get asked is: Are Convolutional Neural Networks invariant to changes in translation, rotation, and scaling? Is that why...
View ArticleConvolutional Neural Networks (CNNs) and Layer Types
CNN Building Blocks Neural networks accept an input image/feature vector (one input node for each entry) and transform it through a series of hidden layers, commonly using nonlinear activation...
View ArticleConvolution and cross-correlation in neural networks
Our entire review of machine learning and neural networks thus far has been leading up to this point: understanding Convolutional Neural Networks (CNNs) and the role they play in deep learning. In...
View ArticleIntroduction to hyperparameter tuning with scikit-learn and Python
In this tutorial, you will learn how to tune machine learning model hyperparameters with scikit-learn and Python. This tutorial is part one in a four-part series on hyperparameter tuning: Introduction...
View Article