1
00:00:00,00 --> 00:00:02,000
The video scenes are carefully picked that 
can show the effect of image processing techniques 
to the full.

2
00:00:02,100 --> 00:00:04,000
Here is the grayscale switches that are required.

3
00:00:04,100 --> 00:00:07,500
This is the gaussian blur, increasing the 
filter kernel will take adjacent pixel gray 
values into account, the bigger kernel you 
have, the larger this range of "merging" 
will be.

4
00:00:07,600 --> 00:00:12,000
Bilateral filter can blur the images while 
preserving the boundary features. Especially 
for objects like comb,tree stems, textures 
on the surfaces were blurred while edges 
were preserved.

5
00:00:12,100 --> 00:00:16,000
To grab the orange, color thresholding was 
used to pick out designated colors.

6
00:00:16,100 --> 00:00:20,000
Improvement was made by applying morphological 
open operation and we show it in cyan.

7
00:00:20,100 --> 00:00:21,700
For Sobel,we first use CV_16U unsigned, thus 
only two gradient-dropping edges will be 
detected (right, bottom)

8
00:00:21,800 --> 00:00:23,400
Then we change to CV_16S signed, then all 
edges will be detected (up,bottom,left,right), 
we can also increase delta value to make 
the edge easier to be detected.

9
00:00:23,500 --> 00:00:25,000
Lastly, we can increase the scale of sobel 
to make gradient drop/climb even more drastic 
to address the presence of boundaries.

10
00:00:25,100 --> 00:00:26,600
Here we first use small threshold values 
for only bottlecap, with three different 
setups, first is with a resolution scaling 
rate 1 and circle distance one-fourth of 
the image height. We can see bottlecap got 
captured correctly and without redundant 
circles.

11
00:00:26,700 --> 00:00:28,300
Second, we use a very low circle center distances, 
clearly a lot of redundant circles roughly 
at same place were detected.

12
00:00:28,400 --> 00:00:29,600
Then we roll back circle distances and give 
scaling factor 10, which scales video frames 
to one-tenth the original resolution. Obviously 
with a lower resolution, more false circles 
are detected.

13
00:00:29,700 --> 00:00:31,000
Here we change the threshold to higher values 
to capture orange and avoid bottlecap. First, 
we use a low param2 value which gives us 
multiple circles, lower param2 value means 
loose restriction.

14
00:00:31,100 --> 00:00:32,700
Then we raise param2 to a more reasonable 
value, which gives us perfect orange detection.

15
00:00:32,800 --> 00:00:34,000
Lastly, we switch between high param1 and 
normal param1, when increasing param1, less 
circles are detected, which means a more 
strict requirement for circle detection.

16
00:00:34,100 --> 00:00:36,000
Now we draw the attention of audience with 
flashy/colorful bounding box to our target, 
the bottlecap.

17
00:00:36,100 --> 00:00:39,000
Here is the probability map for the location 
of bottlecap, by matching the template of 
bottlecap image, I also created code snippet 
that cropped bottlecap from video for use.

18
00:00:39,100 --> 00:00:42,500
Here, for Carte-Blanche, I designed three 
code sets. Freestyles include 'replacement', 
'switch position', 'robust boundingbox'.

19
00:00:42,600 --> 00:00:45,000
Replacement is by first detect the bottlecap, 
then load and resize the images of shinchan 
to replace the bottlecap.

20
00:00:45,100 --> 00:00:47,500
Switch position is by cropping the bottlecap 
and switching it to another position.

21
00:00:47,600 --> 00:00:52,500
To improve the robustness of my deteciton 
algorithm, we first do noise cancellation 
then color threshold, and contour detection 
then draw the boundingbox.

22
00:00:52,600 --> 00:00:55,000
To validate this process, I flipped and rotated 
the bottlecap and see if we can still spot 
the bottlecap.

23
00:00:55,100 --> 00:01:00,000
We can clearly see that, despite when there 
is contact with orange boundingbox is overly 
large, we can accurately locate the position 
of bottlecap even when it's rotating at a 
high speed and the shape is incomplete.

