Merge pull request #6986 from Wing0:master
This commit is contained in:
commit
f9e02aa612
@ -22,61 +22,61 @@ Well, the questions and imaginations continue. But it all depends on the most ba
|
||||
you play jigsaw puzzles? How do you arrange lots of scrambled image pieces into a big single image?
|
||||
How can you stitch a lot of natural images to a single image?
|
||||
|
||||
The answer is, we are looking for specific patterns or specific features which are unique, which can
|
||||
be easily tracked, which can be easily compared. If we go for a definition of such a feature, we may
|
||||
find it difficult to express it in words, but we know what are they. If some one asks you to point
|
||||
The answer is, we are looking for specific patterns or specific features which are unique, can
|
||||
be easily tracked and can be easily compared. If we go for a definition of such a feature, we may
|
||||
find it difficult to express it in words, but we know what they are. If someone asks you to point
|
||||
out one good feature which can be compared across several images, you can point out one. That is
|
||||
why, even small children can simply play these games. We search for these features in an image, we
|
||||
find them, we find the same features in other images, we align them. That's it. (In jigsaw puzzle,
|
||||
why even small children can simply play these games. We search for these features in an image,
|
||||
find them, look for the same features in other images and align them. That's it. (In jigsaw puzzle,
|
||||
we look more into continuity of different images). All these abilities are present in us inherently.
|
||||
|
||||
So our one basic question expands to more in number, but becomes more specific. **What are these
|
||||
features?**. *(The answer should be understandable to a computer also.)*
|
||||
features?**. (The answer should be understandable also to a computer.)
|
||||
|
||||
Well, it is difficult to say how humans find these features. It is already programmed in our brain.
|
||||
It is difficult to say how humans find these features. This is already programmed in our brain.
|
||||
But if we look deep into some pictures and search for different patterns, we will find something
|
||||
interesting. For example, take below image:
|
||||
|
||||
![image](images/feature_building.jpg)
|
||||
|
||||
Image is very simple. At the top of image, six small image patches are given. Question for you is to
|
||||
find the exact location of these patches in the original image. How many correct results you can
|
||||
find ?
|
||||
The image is very simple. At the top of image, six small image patches are given. Question for you is to
|
||||
find the exact location of these patches in the original image. How many correct results can you
|
||||
find?
|
||||
|
||||
A and B are flat surfaces, and they are spread in a lot of area. It is difficult to find the exact
|
||||
A and B are flat surfaces and they are spread over a lot of area. It is difficult to find the exact
|
||||
location of these patches.
|
||||
|
||||
C and D are much more simpler. They are edges of the building. You can find an approximate location,
|
||||
but exact location is still difficult. It is because, along the edge, it is same everywhere. Normal
|
||||
to the edge, it is different. So edge is a much better feature compared to flat area, but not good
|
||||
enough (It is good in jigsaw puzzle for comparing continuity of edges).
|
||||
C and D are much more simple. They are edges of the building. You can find an approximate location,
|
||||
but exact location is still difficult. This is because the pattern is same everywhere along the edge.
|
||||
At the edge, however, it is different. An edge is therefore better feature compared to flat area, but
|
||||
not good enough (It is good in jigsaw puzzle for comparing continuity of edges).
|
||||
|
||||
Finally, E and F are some corners of the building. And they can be easily found out. Because at
|
||||
corners, wherever you move this patch, it will look different. So they can be considered as a good
|
||||
feature. So now we move into more simpler (and widely used image) for better understanding.
|
||||
Finally, E and F are some corners of the building. And they can be easily found. Because at the
|
||||
corners, wherever you move this patch, it will look different. So they can be considered as good
|
||||
features. So now we move into simpler (and widely used image) for better understanding.
|
||||
|
||||
![image](images/feature_simple.png)
|
||||
|
||||
Just like above, blue patch is flat area and difficult to find and track. Wherever you move the blue
|
||||
patch, it looks the same. For black patch, it is an edge. If you move it in vertical direction (i.e.
|
||||
along the gradient) it changes. Put along the edge (parallel to edge), it looks the same. And for
|
||||
Just like above, the blue patch is flat area and difficult to find and track. Wherever you move the blue
|
||||
patch it looks the same. The black patch has an edge. If you move it in vertical direction (i.e.
|
||||
along the gradient) it changes. Moved along the edge (parallel to edge), it looks the same. And for
|
||||
red patch, it is a corner. Wherever you move the patch, it looks different, means it is unique. So
|
||||
basically, corners are considered to be good features in an image. (Not just corners, in some cases
|
||||
blobs are considered good features).
|
||||
|
||||
So now we answered our question, "what are these features?". But next question arises. How do we
|
||||
find them? Or how do we find the corners?. That also we answered in an intuitive way, i.e., look for
|
||||
find them? Or how do we find the corners?. We answered that in an intuitive way, i.e., look for
|
||||
the regions in images which have maximum variation when moved (by a small amount) in all regions
|
||||
around it. This would be projected into computer language in coming chapters. So finding these image
|
||||
features is called **Feature Detection**.
|
||||
|
||||
So we found the features in image (Assume you did it). Once you found it, you should find the same
|
||||
in the other images. What we do? We take a region around the feature, we explain it in our own
|
||||
words, like "upper part is blue sky, lower part is building region, on that building there are some
|
||||
glasses etc" and you search for the same area in other images. Basically, you are describing the
|
||||
feature. Similar way, computer also should describe the region around the feature so that it can
|
||||
We found the features in the images. Once you have found it, you should be able to find the same
|
||||
in the other images. How is this done? We take a region around the feature, we explain it in our own
|
||||
words, like "upper part is blue sky, lower part is region from a building, on that building there is
|
||||
glass etc" and you search for the same area in the other images. Basically, you are describing the
|
||||
feature. Similarly, a computer also should describe the region around the feature so that it can
|
||||
find it in other images. So called description is called **Feature Description**. Once you have the
|
||||
features and its description, you can find same features in all images and align them, stitch them
|
||||
features and its description, you can find same features in all images and align them, stitch them together
|
||||
or do whatever you want.
|
||||
|
||||
So in this module, we are looking to different algorithms in OpenCV to find features, describe them,
|
||||
|
Loading…
Reference in New Issue
Block a user