2020-09-03
[public] 293K views, 16.7K likes, 45.0 dislikes audio only
The basics of convolutions in the context of image processing.
For full course information, visit https://github.com/mitmath/computational-thinking/tree/Fall20
Course website: https://computationalthinking.mit.edu/Fall20/
To learn more about Julia, head to https://julialang.org
Next lecture: https://www.youtube.com/watch?v=rpB6zQNsbQU
Contents
00:00 Introduction
01:12 Box blur as an average
03:00 Dealing with the edges
04:31 Gaussian blur
05:30 Visualizing gaussian blur
06:04 Convolution
06:40 Kernels and the gaussian kernel
07:26 Looking at the convolution in Julia
08:45 Julia: `ImageFiltering` package and Kernels
09:08 Julia: `OffsetArray` with different indices
10:15 Visualizing a kernel
11:25 Computational complexity
12:00 Julia: `prod` function for a product
13:00 Example of a non-blurring kernel
16:00 Sharpening edges in an image
17:13 Edge detection with Sobel filters
21:25 Relation to polynomial multiplication
25:00 Convolution in polynomial multiplication
26:08 Relation to Fourier transforms
28:50 Fourier transform of an image
31:50 Convolution via Fourier transform is faster
34:00 Final thoughts
Want to help add timestamps to our YouTube videos to help with discoverability? Find out more here: https://github.com/JuliaCommunity/YouTubeVideoTimestamps
Interested in improving the auto generated captions? Get involved here: https://github.com/JuliaCommunity/YouTubeVideoSubtitles