File size: 11,239 Bytes
17e2002
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
1
00:00:01,430 --> 00:00:06,440
So moving on to conclusions and bring that the first thing to notice that the convolution isn't and

2
00:00:06,490 --> 00:00:12,620
we can see the function Pizzi it's an actual mathematical operation once that's performed between two

3
00:00:12,620 --> 00:00:19,560
functions and it produces a function which is obviously an output coming out of the original operation.

4
00:00:19,580 --> 00:00:21,230
So this is sort of illustrated here.

5
00:00:21,380 --> 00:00:22,760
We have an image here.

6
00:00:23,070 --> 00:00:29,250
Then we run it by a function of convolution and our function has offices in kernel size.

7
00:00:29,540 --> 00:00:31,260
And what do we mean by kernel size.

8
00:00:31,310 --> 00:00:36,840
Well this really here represents a 10 by 10 image or pixel image here.

9
00:00:37,460 --> 00:00:39,340
And this is a 5 by 5 you know.

10
00:00:39,780 --> 00:00:44,560
So what this does here the convolution basically operates on one pixel at a time.

11
00:00:44,600 --> 00:00:53,690
So operating on this here of a pixel to do so deconvolution basically operates on this pixel but it

12
00:00:53,690 --> 00:00:59,230
takes into consideration all the pixels around it and its calculation you'll see why that's important.

13
00:00:59,240 --> 00:01:06,380
When we get introduced to blurring which is what we're about to do now so there is an operation which

14
00:01:06,380 --> 00:01:11,320
you obviously figured out that is an image so you can clearly see here.

15
00:01:11,360 --> 00:01:13,060
This is a shopping shift an elephant.

16
00:01:13,140 --> 00:01:19,570
I took a call just to do the zoo and this is the blurred image of the elephant.

17
00:01:19,970 --> 00:01:22,250
No actually she's not quite blurry.

18
00:01:22,610 --> 00:01:27,200
So this is an example of a matrix The Matrix is 25.

19
00:01:27,260 --> 00:01:29,090
Sorry five by five.

20
00:01:29,310 --> 00:01:35,190
Now we multiply meet the new matrix by one of the twenty five.

21
00:01:35,400 --> 00:01:40,740
And that's what we normalize that's called normalization of okeydoke Matrix because we want all the

22
00:01:40,740 --> 00:01:45,450
elements in this matrix to sum to one which I mentioned here.

23
00:01:45,480 --> 00:01:53,010
Now the first method I'm going to introduce you to is open see these filter Tuti takes an image and

24
00:01:53,010 --> 00:01:54,910
runs it past the kernel here.

25
00:01:54,930 --> 00:01:57,360
So we're about to introduce Saturno code.

26
00:01:57,360 --> 00:01:59,610
So let's go Tokuda and do so now.

27
00:02:00,840 --> 00:02:03,410
So let's look at this blurring of code here.

28
00:02:03,420 --> 00:02:08,460
We're going to use the open see the filter to see which is the most basic form of Pluton we can you

29
00:02:08,460 --> 00:02:10,080
do in if NCB.

30
00:02:10,220 --> 00:02:12,830
I'm going to do it by using a tree by treacle.

31
00:02:12,970 --> 00:02:18,060
Once you normalize by dividing by 9 so we're going to see the effects of blurring an image with a tree

32
00:02:18,060 --> 00:02:22,110
bettery you know and then beggaring it with a larger seven by seven canal.

33
00:02:22,200 --> 00:02:25,220
But you will also know all of these before dividing by 49.

34
00:02:26,190 --> 00:02:28,100
So let's run this one and take a look at it.

35
00:02:28,170 --> 00:02:29,060
In.

36
00:02:29,370 --> 00:02:30,970
This is our original image.

37
00:02:31,050 --> 00:02:33,550
You can see that elephant creases quite clear.

38
00:02:33,550 --> 00:02:37,750
So it's has a lot of detail in this image so that's run it by the tree by tree.

39
00:02:39,100 --> 00:02:40,580
And you can see it's definitely blue.

40
00:02:40,600 --> 00:02:46,690
It's not a substantial amount of Larry but it's definitely noticeable when you compare it to the original

41
00:02:46,690 --> 00:02:47,530
image.

42
00:02:47,980 --> 00:02:49,750
So let's take a look at the seven by seven.

43
00:02:49,750 --> 00:02:53,510
We expect a lot more heavy blurring and that's exactly what we see.

44
00:02:53,820 --> 00:02:58,160
This is probably what a person who needs high prescription glasses might see.

45
00:02:58,690 --> 00:03:01,800
So that's a fast learning algorithm.

46
00:03:01,840 --> 00:03:03,360
We're going to take a look at a couple of now

47
00:03:06,190 --> 00:03:12,260
writes If you scroll down over here you'll actually see some more blurring functions that are available

48
00:03:12,320 --> 00:03:13,810
in open C.v.

49
00:03:13,850 --> 00:03:16,840
So the first one we're going to use is actually a box filter.

50
00:03:16,890 --> 00:03:20,390
So it's called the CB2 to Blair function and it's an averaging filter.

51
00:03:20,390 --> 00:03:26,660
What it does it averages the pixels in a box that runs between each pixel.

52
00:03:26,780 --> 00:03:28,470
So it puts the input image here.

53
00:03:28,640 --> 00:03:30,240
Then it takes to really find here.

54
00:03:30,260 --> 00:03:33,730
This is a box size and averages on all the pixels here.

55
00:03:33,740 --> 00:03:36,770
So it sort of introduces a heavy blurring effect.

56
00:03:36,770 --> 00:03:44,630
It's actually quite quite a drastic learning effect which you will see shortly and that's why there's

57
00:03:44,660 --> 00:03:46,220
also the Gaussian blurring here.

58
00:03:46,460 --> 00:03:51,920
So what this does instead of having a uniform boxful to actually uses a Gaussian boxful to I'll show

59
00:03:51,920 --> 00:03:54,620
you what a Gaussian box is in a sleights.

60
00:03:54,650 --> 00:03:59,110
But for now just imagine it's not going to have such a harsh effect as this blue function.

61
00:03:59,360 --> 00:04:06,640
Now median blue medium blue also uses a box filter type I mentioned here.

62
00:04:06,640 --> 00:04:09,250
However it doesn't actually average out everything in the box.

63
00:04:09,250 --> 00:04:15,190
What it does it finds a median value of all that image all the pixels in that box and then it actually

64
00:04:15,690 --> 00:04:17,800
puts median value as a pixel.

65
00:04:17,800 --> 00:04:21,450
So it's sort of a nice balance between this and averaging.

66
00:04:21,450 --> 00:04:23,240
Sorry Dessen Gaussian.

67
00:04:24,010 --> 00:04:29,160
And lastly we have bilateral blurring bilateral blurring is actually quite useful.

68
00:04:29,410 --> 00:04:34,210
And what it does it actually preserves all strength it removes noise quite well and strengthens the

69
00:04:34,210 --> 00:04:35,830
edges in the image.

70
00:04:35,830 --> 00:04:39,510
So let's take a look at Rhonda squid and you'll see what I'm talking about.

71
00:04:39,550 --> 00:04:46,540
So this is an averaging box filter here you can see it has pretty much a uniform type effect.

72
00:04:46,540 --> 00:04:52,210
This is a Gaussian during here not to go blurring but actually the seams would actually be less blurry.

73
00:04:52,500 --> 00:04:55,250
But ever is a seven by seven in this example here.

74
00:04:58,220 --> 00:05:00,110
And this is a medium bearing here.

75
00:05:00,110 --> 00:05:04,300
Now if you notice medium bearing sort of has a kind of pinata type effect to it.

76
00:05:04,550 --> 00:05:10,400
And that's because it's finding the median value in those segments of the image.

77
00:05:10,420 --> 00:05:15,430
So if you wanted to ever introduce sort of a carpenter type effect maybe a medium medium blue would

78
00:05:15,430 --> 00:05:17,210
be quite useful.

79
00:05:17,270 --> 00:05:22,600
And let's take a look at our bilateral hearing here.

80
00:05:22,600 --> 00:05:29,600
Now as you can see an bilateral blurring it's actually sort of a anti losing type effect on this image.

81
00:05:29,770 --> 00:05:34,720
But what you can tell is that it definitely does preserve vertical and horizontal lines strongly here.

82
00:05:35,100 --> 00:05:40,150
But images of areas of the ears and different areas and the elephant is actually quite blue.

83
00:05:40,210 --> 00:05:45,690
However you can see vertical lines here are actually quite strong.

84
00:05:46,110 --> 00:05:49,840
So here's a slide summarizing to just those different types of blurring we just saw.

85
00:05:50,160 --> 00:05:52,300
So these are the same notes they just discussed here.

86
00:05:52,500 --> 00:05:58,920
On each of the four methods however I told you I'd show you what a gaussian kernel looks like and this

87
00:05:58,920 --> 00:06:00,870
is exactly what a Garcia-Pichel is here.

88
00:06:00,870 --> 00:06:05,520
So you remember previously before and other criminals everything was the same value here.

89
00:06:05,580 --> 00:06:11,170
However goshi and kernel's have a peak toward the center and is slowly peter off to the edges here.

90
00:06:12,040 --> 00:06:16,080
This is sort of a treaty representation of what a Gaussian looks like.

91
00:06:16,330 --> 00:06:18,170
And this is a matrix form here.

92
00:06:18,280 --> 00:06:23,980
And again we normalize by some of all the elements here which in this case is 273.

93
00:06:24,100 --> 00:06:29,360
So heading back to bite in the books is one last image Geering method to just wish to discuss.

94
00:06:29,530 --> 00:06:31,590
And that's one called imaged invoicing.

95
00:06:31,840 --> 00:06:36,630
This is open Zeevi function here first and one means the noise in code.

96
00:06:36,640 --> 00:06:38,480
It's quite a mouthful here.

97
00:06:38,560 --> 00:06:42,630
And what this does this actually originates from computational photography methods.

98
00:06:42,910 --> 00:06:48,820
And as you know using cell phone cameras and digital cameras there's no way those tiny camera sensors

99
00:06:48,820 --> 00:06:53,120
can match the noise levels of complex big DSL or cameras.

100
00:06:53,140 --> 00:06:58,810
So what they use to compensate is these complicated algorithms that sort of try to get the best optimized

101
00:06:58,810 --> 00:07:02,090
noise levels so you don't see all that green in the image.

102
00:07:02,110 --> 00:07:06,220
So when we run this function it actually takes some time of research on it in the background.

103
00:07:06,220 --> 00:07:09,070
You get this nice very clean looking image here.

104
00:07:10,120 --> 00:07:13,300
So that the effects of running this algorithm.

105
00:07:13,560 --> 00:07:15,090
Now there's quite a few variations here.

106
00:07:15,100 --> 00:07:20,240
I wouldn't get into the details exactly right now these are some notes on the premises here.

107
00:07:20,260 --> 00:07:21,410
This is filled the strings.

108
00:07:21,430 --> 00:07:23,750
And these are some of the components you can play with.

109
00:07:24,310 --> 00:07:26,070
And that's it for blurring.

110
00:07:26,160 --> 00:07:28,480
Let's move on to shopping which is the opposite of Barry.