AI_DL_Assignment / 5. OpenCV Tutorial - Learn Classic Computer Vision & Face Detection (OPTIONAL) /32. Blob Detection - Detect The Center of Flowers.srt
| 1 | |
| 00:00:02,310 --> 00:00:06,980 | |
| OK so let's talk about blubbed detection so blood production songs but where. | |
| 2 | |
| 00:00:07,200 --> 00:00:11,100 | |
| However if you've been into Computer Vision world for some time you would have bound to come across | |
| 3 | |
| 00:00:11,100 --> 00:00:12,250 | |
| it by now. | |
| 4 | |
| 00:00:12,300 --> 00:00:14,110 | |
| So what exactly is a blob. | |
| 5 | |
| 00:00:14,400 --> 00:00:17,200 | |
| Well a blob just like a real life blob. | |
| 6 | |
| 00:00:17,220 --> 00:00:22,350 | |
| I guess it's just a group of connected pixels that share similar property. | |
| 7 | |
| 00:00:22,350 --> 00:00:27,210 | |
| So in this example of the sunflowers here you can see the sense of flowers some flowers all have similar | |
| 8 | |
| 00:00:27,270 --> 00:00:28,860 | |
| green tinge here. | |
| 9 | |
| 00:00:29,220 --> 00:00:34,590 | |
| That's basically what blubbed ejection has picked up now no properties can be size it can be shape and | |
| 10 | |
| 00:00:34,590 --> 00:00:36,970 | |
| we actually get to that shortly. | |
| 11 | |
| 00:00:36,990 --> 00:00:40,310 | |
| So in general how do we use open of his simple blood test. | |
| 12 | |
| 00:00:40,470 --> 00:00:43,630 | |
| That's demitted what we call in Bigham. | |
| 13 | |
| 00:00:43,710 --> 00:00:50,070 | |
| So what do we do first we create or initialize the detector object we input an image into detector. | |
| 14 | |
| 00:00:50,070 --> 00:00:54,170 | |
| We then optin the key points and then we draw those key points like we do here. | |
| 15 | |
| 00:00:54,180 --> 00:00:56,870 | |
| So let's actually get into the code and do this. | |
| 16 | |
| 00:00:57,340 --> 00:00:57,680 | |
| OK. | |
| 17 | |
| 00:00:57,720 --> 00:01:02,520 | |
| So let's open a simple blob detector file here selects you for point it. | |
| 18 | |
| 00:01:03,000 --> 00:01:04,720 | |
| So here's a code for it here. | |
| 19 | |
| 00:01:04,750 --> 00:01:05,760 | |
| Doesn't look too scary. | |
| 20 | |
| 00:01:05,760 --> 00:01:07,850 | |
| It's pretty basic actually. | |
| 21 | |
| 00:01:07,860 --> 00:01:10,680 | |
| So let's run this could see what's happening here. | |
| 22 | |
| 00:01:10,710 --> 00:01:15,810 | |
| So we've loaded up a great skill image of sunflowers that you saw previously and we've identified blobs | |
| 23 | |
| 00:01:15,810 --> 00:01:17,360 | |
| in the center of the fellows here. | |
| 24 | |
| 00:01:18,210 --> 00:01:19,510 | |
| Quite nice. | |
| 25 | |
| 00:01:19,530 --> 00:01:20,970 | |
| So let's see how we do this. | |
| 26 | |
| 00:01:20,970 --> 00:01:23,530 | |
| So first if we RIDO imagen and previously. | |
| 27 | |
| 00:01:23,520 --> 00:01:28,540 | |
| So if I just putting a zero here we can actually call grayscale image. | |
| 28 | |
| 00:01:28,590 --> 00:01:30,500 | |
| I mean at a critical image in here. | |
| 29 | |
| 00:01:30,640 --> 00:01:36,000 | |
| However this is zero actually signifies you're writing in this line of function here so you may have | |
| 30 | |
| 00:01:36,000 --> 00:01:40,950 | |
| seen some open Sivy functions where we have numbers instead of the actual words here. | |
| 31 | |
| 00:01:40,950 --> 00:01:42,180 | |
| That's just shorthand | |
| 32 | |
| 00:01:44,910 --> 00:01:45,970 | |
| so I'm moving on. | |
| 33 | |
| 00:01:46,240 --> 00:01:50,060 | |
| So the first part of this here is that we need to initialize the doctor. | |
| 34 | |
| 00:01:50,290 --> 00:01:52,040 | |
| So we call this function here. | |
| 35 | |
| 00:01:52,130 --> 00:01:58,850 | |
| Well this class actually and we create to detect the object and using this object now we actually pass. | |
| 36 | |
| 00:01:58,870 --> 00:02:01,980 | |
| We run the detect method within this object here. | |
| 37 | |
| 00:02:02,350 --> 00:02:08,380 | |
| We pass the image the input image into it here and this gives us several key points key points being | |
| 38 | |
| 00:02:08,380 --> 00:02:09,950 | |
| all blubs detected. | |
| 39 | |
| 00:02:10,060 --> 00:02:12,140 | |
| So it is no tuning of parameters here. | |
| 40 | |
| 00:02:12,520 --> 00:02:17,460 | |
| What is some tuning up from now is basically here where we draw the key points and image. | |
| 41 | |
| 00:02:17,480 --> 00:02:24,190 | |
| Now however these parameters don't affect the number of blobs that were identified they just affect | |
| 42 | |
| 00:02:24,220 --> 00:02:27,250 | |
| how would a ball blubbers looked like on the image itself. | |
| 43 | |
| 00:02:29,170 --> 00:02:32,100 | |
| So this is pretty self-explanatory here. | |
| 44 | |
| 00:02:32,120 --> 00:02:39,330 | |
| In that image the key points we identified so blank actually here as well as open Zeevi type Quick's. | |
| 45 | |
| 00:02:39,400 --> 00:02:41,950 | |
| It's just a one by one matrix of zeroes here. | |
| 46 | |
| 00:02:41,950 --> 00:02:44,840 | |
| So pretty much ignore it and just use this going forward. | |
| 47 | |
| 00:02:44,920 --> 00:02:51,430 | |
| This here's a color which we use yellow is green and red here and this is how we draw the points here. | |
| 48 | |
| 00:02:51,430 --> 00:02:54,600 | |
| So it actually just changed this just now to reach key points. | |
| 49 | |
| 00:02:54,650 --> 00:02:56,760 | |
| We can see it's actually yellow now. | |
| 50 | |
| 00:02:56,860 --> 00:03:01,710 | |
| However Initially we used the default one which I believe was this dude. | |
| 51 | |
| 00:03:02,290 --> 00:03:04,510 | |
| The fold there just looks a bit smaller. | |
| 52 | |
| 00:03:04,520 --> 00:03:06,190 | |
| So it is no big difference. | |
| 53 | |
| 00:03:06,940 --> 00:03:07,310 | |
| OK. | |
| 54 | |
| 00:03:07,360 --> 00:03:08,380 | |
| So let's move on to it. | |
| 55 | |
| 00:03:08,390 --> 00:03:14,590 | |
| Too many projects where we actually filter different types of blobs because as you saw here in simple | |
| 56 | |
| 00:03:14,590 --> 00:03:17,660 | |
| blood detect and detect there's no problem to here. | |
| 57 | |
| 00:03:17,830 --> 00:03:18,990 | |
| Well actually there is. | |
| 58 | |
| 00:03:19,060 --> 00:03:20,220 | |
| We'll get to it shortly. | |