Skip to content

Latest commit

Β 

History

History
112 lines (71 loc) Β· 2.07 KB

File metadata and controls

112 lines (71 loc) Β· 2.07 KB

πŸ“Œ Common Concepts

πŸ“š Important Terms

Term Description
Convolution Applying some filter on an image so certain features in the image get emphasized

πŸŽ€ Convolution Example

πŸ€” How did we find -7?

We did element wise product then we get the sum of the result matrix; so:

3*1 + 1*0 + 1*(-1)
+
1*1 + 0*0 + 7*(-1)
+
2*1 + 3*0 + 5*(-1)
=
-7

And so on for other elements πŸ™ƒ

πŸ‘Ό Visualization of Calculation

πŸ”Ž Edge Detection

An application of convolution operation

πŸ”Ž Edge Detection Examples

Result: horizontal lines pop out

Result: vertical lines pop out

πŸ™„ What About The Other Numbers

There are a lot of ways we can put number inside elements of the filter.

For example Sobel filter is like:

1   0   -1
2   0   -2
1   0   -1

Scharr filter is like:

3    0   -3
10   0   -10
3    0   -3

Prewitt filter is like:

-1   0   1
-1   0   1
-1   0   1

So the point here is to pay attention to the middle row

And Roberts filter is like:

1    0
0   -1

✨ Another Approach

We can tune these numbers by ML approach; we can say that the filter is a group of weights that:

w1    w2   w3
w4    w5   w6
w7    w8   w9

By that we can get -learned- horizontal, vertical, angled, or any edge type automatically rather than getting them by hand.

πŸ€Έβ€β™€οΈ Computational Details

If we have an n*n image and we convolve it by f*f filter the the output image will be n-f+1*n-f+1

😐 Downsides

  1. πŸŒ€ If we apply many filters then our image shrinks.
  2. 🀨 Pixels at corners aren't being touched enough, so we are throwing away a lot of information from the edges of the image .

πŸ’‘ Solution

We can pad the image πŸ’ͺ

🧐 References