Free Course Image Computer Vision Fundamentals: Image Formation, Filtering and Machine Learning

Free online courseComputer Vision Fundamentals: Image Formation, Filtering and Machine Learning

Duration of the online course: 15 hours and 15 minutes

New

Free computer vision course covering image formation, filtering, motion, stereo, homography, and ML from regression and SVMs to CNNs and PCA.

In this free course, learn about

  • Course Orientation and Overview
  • Image Formation with the Pinhole Camera Model
  • Optics, Sensors, and Imaging Artifacts
  • Convolution and Linear Systems for Image Filtering
  • Frequency-Domain Analysis and Sampling
  • Multi-Scale Representations and Feature Descriptors
  • Motion, Tracking, Stereo, and Planar Geometry
  • Supervised Learning Foundations for Vision
  • Optimization for Regression: Iterative Methods
  • Linear Classification Methods
  • Support Vector Machines
  • Neural Networks and Convolutional Networks
  • Unsupervised Learning: Clustering and EM
  • Dimensionality Reduction and Visualization
  • Course Wrap-Up

Course Description

Computer Vision Fundamentals: Image Formation, Filtering and Machine Learning is a free online course in Technology and Programming that builds a solid foundation for understanding how images are created, processed, analyzed, and interpreted by computer systems.

You will start with the physics and geometry behind image formation, exploring the pinhole camera model, perspective projection in 2D and 3D, and the role of lenses in focus and exposure. The course also explains real-world imaging details such as sensors, color filter arrays, displays, common artifacts, lens distortion, noise, and compression effects that influence what visual data looks like before any algorithm touches it.

From there, you will move into image filtering with a clear, math-driven view of convolution, including 1D and 2D filtering, linear time-invariant systems, and separable filters. You will connect spatial and frequency perspectives through Fourier analysis and sampling concepts, then learn multiscale representations such as Gaussian and Laplacian pyramids and practical feature extraction ideas like edges, line detection, and histogram of oriented gradients.

The course then introduces core techniques for image analysis, including motion estimation and feature tracking, stereo vision for depth, epipolar constraints, and planar homography with applied examples. Finally, it transitions to image understanding through machine learning, covering supervised regression and classification as well as unsupervised methods. You will encounter key models and optimization ideas used in practice, along with widely used approaches such as logistic regression, LDA, ROC analysis, support vector machines, neural networks including convolutional architectures, clustering with k-means, expectation maximization, PCA and eigenfaces, and tSNE for visualization.

Designed for learners who want both intuition and rigor, this course connects camera models, signal processing, geometry, and learning-based methods into one coherent pathway toward modern computer vision.

Course content

  • Video class: Introduction: welcome 03m
  • Exercise: What is the image formation process described as in computer vision fundamentals?
  • Video class: Image formation: pinhole camera: images 04m
  • Video class: Image formation: pinhole camera: camera obscura 05m
  • Exercise: In the pinhole (camera obscura) model, what is the focal length?
  • Video class: Image formation: pinhole camera: perspective projection, 2-D 12m
  • Video class: Image formation: pinhole camera: perspective projection, 2-D variant 08m
  • Exercise: In the modified pinhole camera setup, why does the perspective projection equation drop the negative sign?
  • Video class: Image formation: pinhole camera: perspective projection, 2-D generalized 15m
  • Video class: Image formation: pinhole camera: perspective projection, 3-D 13m
  • Exercise: In a 3D pinhole camera model using homogeneous coordinates, what is the correct order of transformations to map a 3D world point to image (sensor) coordinates?
  • Video class: Image formation: lenses: thin lens 10m
  • Video class: Image formation: lenses: depth of focus 07m
  • Exercise: How does changing the aperture (F-number) affect depth of focus and light captured?
  • Video class: Image formation: lenses: exposure 09m
  • Video class: Image formation: pixels: color filter array 13m
  • Exercise: In a modern digital camera using a Bayer color filter array, why does the camera need to interpolate pixel values?
  • Video class: Image formation: pixels: displays 17m
  • Video class: Image formation: artifacts: chromatic aberrations and noise 10m
  • Exercise: Which statement best explains why chromatic aberration causes color fringing in images?
  • Video class: Image formation: pixels: lens distortion 11m
  • Video class: Image formation: pixels: JPEG compression 18m
  • Exercise: In JPEG compression, which step produces most of the compression savings by creating many zero-valued coefficients that are cheap to encode?
  • Video class: Image formation: summary 04m
  • Video class: Image filtering: convolution: discrete-time signals and systems 11m
  • Exercise: In discrete-time signal notation, what does the unit impulse (delta) signal \(\delta[x]\) equal?
  • Video class: Image filtering: convolution: linear time-invariant systems, 1-D 11m
  • Video class: Image filtering: convolution: convolution, 1-D 09m
  • Exercise: In the matrix-vector view of discrete convolution, why do the filter coefficients appear reversed (e.g., h(-1) and h(1) swap sides in a row)?
  • Video class: Image filtering: convolution: linear time-invariant systems, 2-D 07m
  • Video class: Image filtering: convolution: convolution, 2-D 12m
  • Exercise: In basic edge detection using 2D convolution, how is the gradient magnitude at each pixel computed from horizontal and vertical derivative images?
  • Video class: Image filtering: convolution: separable convolution 09m
  • Video class: Image filtering: space and frequency: canonical basis 09m
  • Exercise: In the canonical (unit impulse) basis for a discrete-time signal, what is the coefficient a_k equal to?
  • Video class: Image filtering: space and frequency: Fourier, 1-D 10m
  • Video class: Image filtering: space and frequency: complex exponential 07m
  • Exercise: What is the main purpose of using the complex exponential form in Fourier representations?
  • Video class: Image filtering: space and frequency: Fourier, 2-D 14m
  • Video class: Image filtering: space and frequency: continuous to discrete sampling, space 05m
  • Exercise: What is the role of the impulse train in the sampling process of a continuous signal?
  • Video class: Image filtering: space and frequency: continuous to discrete sampling, frequency 14m
  • Video class: Image filtering: space and frequency: discrete to discrete sampling 13m
  • Exercise: When downsampling an image to a lower resolution, what is the standard way to reduce spatial aliasing artifacts?
  • Video class: Image filtering: pyramids: Gaussian pyramid 10m
  • Video class: Image filtering: pyramids: Laplacian pyramid 06m
  • Exercise: How is a Laplacian pyramid level constructed from a Gaussian pyramid?
  • Video class: Image filtering: features: edges 04m
  • Video class: Image filtering: features: edge detection 18m
  • Exercise: How can the directional derivative at any orientation b8 be computed from horizontal and vertical derivatives?
  • Video class: Image filtering: features: line detection 09m
  • Video class: Image filtering: features: histogram of gradients (HOG) 09m
  • Exercise: In a Histogram of Oriented Gradients (HOG) descriptor, how is the histogram for a cell typically formed?
  • Video class: Image analysis: motion: differential motion 18m
  • Video class: Image analysis: motion: differential motion, implementation 21m
  • Video class: Image analysis: motion: feature tracking 05m
  • Video class: Image analysis: motion: feature tracking, implementation 06m
  • Exercise: In patch-based feature tracking, what is the main trade-off when choosing the patch size (e.g., 5×5)?
  • Video class: Image analysis: stereo: depth from stereo 12m
  • Video class: Image analysis: stereo: epipolar constraints 07m
  • Video class: Image analysis: homography: planar homography 21m
  • Video class: Image analysis: homography: planar homography, application 13m
  • Exercise: Why can a planar homography correct perspective distortion for a wall but not for a curved ceiling?
  • Video class: Image understanding: overview 04m
  • Video class: Image understanding: supervised learning: regression: least-squares: line fitting 09m
  • Exercise: In least squares line fitting (y = mx + b), what objective is minimized to estimate m and b?
  • Video class: Image understanding: supervised learning: regression: least-squares: line fitting, y = mx 12m
  • Video class: Image understanding: supervised learning: regression: least-squares: line fitting, y = mx b 19m
  • Exercise: In least-squares line fitting with slope and intercept, what matrix expression gives the solution for the unknown vector U = [m, b]^T?
  • Video class: Image understanding: supervised learning: regression: least-squares: parabola fitting 12m
  • Video class: Image understanding: supervised learning: regression: weighted least-squares: line fitting 08m
  • Exercise: In weighted least squares for fitting a line, how are per-data-point weights applied in the linear algebra formulation?
  • Video class: Image understanding: supervised learning: regression: weighted least-squares: line fitting 06m
  • Video class: Image understanding: supervised learning: regression: weighted least-squares: line fit, implement 04m
  • Exercise: In weighted least squares polynomial fitting, what weighting scheme causes points farther from the origin (x=0) to influence the fit more strongly?
  • Video class: Image understanding: supervised learning: regression: total least-squares: line fitting 08m
  • Video class: Image understanding: supervised learning: regression: total least-squares: line fitting, ax by = 0 16m
  • Exercise: In total least squares line fitting (minimizing perpendicular distances), how is the degenerate solution avoided and what solution is selected?
  • Video class: Image understanding: supervised learning: regression: total least-squares: line fit, implement 04m
  • Video class: Image understanding: supervised learning: regression: least-squares, summary 05m
  • Exercise: Why might a closed-form least squares solution become impractical for very large datasets?
  • Video class: Image understanding: supervised learning: regression: iterative least-squares, intuition 06m
  • Video class: Image understanding: supervised learning: regression: iterative least-squares, quadratic form 07m
  • Exercise: In iterative least squares minimization, what expression gives the gradient of the quadratic error when written in quadratic form?
  • Video class: Image understanding: supervised learning: regression: iterative least-squares, steepest descent 12m
  • Video class: Image understanding: supervised learning: regression: iterative least-squares, steepest descent, imp 05m
  • Exercise: In iterative least squares (steepest descent) for fitting a line, what condition is used to stop the iterations?
  • Video class: Image understanding: supervised learning: regression: iterative least-squares, conjugate gradient 05m
  • Video class: Image understanding: supervised learning: regression: iterative least-squares, gradient descent 08m
  • Exercise: In gradient descent for minimizing a quadratic error, what is the main computational reason for using a fixed step size (e.g., 0.1)?
  • Video class: Image understanding: supervised learning: classification: linear: least-squares classifiers 12m
  • Video class: Image understanding: supervised learning: classification: linear: logistic regression 18m
  • Exercise: In logistic regression, why is a sigmoid non-linearity applied to the linear model output (wᵀx)?
  • Video class: Image understanding: supervised learning: classification: linear: linear discriminant analysis 14m
  • Video class: Image understanding: supervised learning: classification: linear: receiver operating curve (ROC) 09m
  • Exercise: In Linear Discriminant Analysis (LDA) for two classes, what is the purpose of projecting data onto the generalized eigenvector with the largest eigenvalue?
  • Video class: Image understanding: supervised learning: classification: linear: LDA implementation 09m
  • Video class: Image understanding: supervised learning: classification: linear: multiclass classifier 03m
  • Video class: Image understanding: supervised learning: classification: support vector machine: margins 09m
  • Video class: Image understanding: supervised learning: classification: support vector machine: maximizing margins 07m
  • Exercise: In a linearly separable SVM, what objective is optimized to maximize the margin?
  • Video class: Image understanding: supervised learning: classification: support vector machine: linear SVM 06m
  • Video class: Image understanding: supervised learning: classification: support vector machine: slack variables 06m
  • Exercise: In a soft-margin linear SVM, what does the parameter C control?
  • Video class: Image understanding: supervised learning: classification: support vector machine: nonlinear SVM 07m
  • Video class: Image understanding: supervised learning: classification: artificial neural networks: neurons 07m
  • Exercise: In a neuron used in neural networks, what is computed before applying any optional non-linearity?
  • Video class: Image understanding: supervised learning: classification: artificial neural networks: delta rule 11m
  • Video class: Image understanding: supervised learning: classification: artificial neural networks: sigmoid 04m
  • Exercise: In the iterative update for a single sigmoid neuron (logistic regression style), what extra factor appears compared to the purely linear case?
  • Video class: Image understanding: supervised learning: classification: artificial neural networks: xor 02m
  • Video class: Image understanding: supervised learning: classification: artificial neural networks: hidden layers 07m
  • Exercise: Why doesn’t adding extra layers of only linear transformations allow a model to solve the XOR problem?
  • Video class: Image understanding: supervised learning: classification: artificial neural networks: xor hidden 07m
  • Video class: Image understanding: supervised learning: classification: ANN: universal approximation theorem 03m
  • Video class: Image understanding: supervised learning: classification: ANN: backpropagation 09m
  • Video class: Image understanding: supervised learning: classification: ANN: convolutional 06m
  • Exercise: In a convolutional neural network, what is the main purpose of the pooling step after applying learned convolution filters?
  • Video class: Image understanding: unsupervised learning: clustering: k-means 09m
  • Video class: Image understanding: unsupervised learning: clustering: k-means implementation 06m
  • Exercise: In k-means clustering, what are the two main steps repeated each iteration after initializing the cluster centers?
  • Video class: Image understanding: unsupervised learning: expectation/maximization: EM 06m
  • Video class: Image understanding: unsupervised learning: expectation/maximization: E-step 09m
  • Exercise: In the E-step of the EM algorithm, what is computed for each data point with respect to each model?
  • Video class: Image understanding: unsupervised learning: expectation/maximization: M-step 06m
  • Video class: Image understanding: unsupervised learning: expectation/maximization: EM implementation 11m
  • Exercise: In EM for fitting two lines, what is the main purpose of adaptively updating the Gaussian width (sigma) over iterations?
  • Video class: Image understanding: unsupervised learning: principal component analysis (PCA): canonical basis 15m
  • Video class: Image understanding: unsupervised learning: principal component analysis (PCA): covariance matrix 06m
  • Exercise: In PCA, what is the main reason for zero-meaning the data before computing the covariance matrix?
  • Video class: Image understanding: unsupervised learning: principal component analysis (PCA): eigenvectors 04m
  • Video class: Image understanding: unsupervised learning: principal component analysis (PCA): implementation 05m
  • Exercise: In PCA, which direction is typically kept when reducing 2D data down to 1D to preserve as much structure as possible?
  • Video class: Image understanding: unsupervised learning: principal component analysis (PCA): computation 05m
  • Video class: Image understanding: unsupervised learning: principal component analysis (PCA): eigenfaces 11m
  • Video class: Image understanding: unsupervised learning: t-distributed stochastic neighbor embedding (tSNE) 09m
  • Video class: Image understanding: unsupervised learning: tSNE: implementation 05m
  • Exercise: Why is t-SNE used on the handwritten digits dataset in this example?
  • Video class: Closing: parting thoughts 05m

This free course includes:

15 hours and 15 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Artificial Intelligence and Machine Learning

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate