SURF color detector

SURF works by default on a gray image. I am thinking of doing a SURF on the HSV image. My method is to split the channels into H, S and V. And I use S and V to detect key points. I tried to compare the number of key points in SV vs RGB and in terms of channel, HSV offers more options.

enter image description here

Not sure what I'm doing right or not. Some explanation is needed for applying SURF to an HSV image. I read an article about applying SIFT in different color spaces, but not in SURF.

  • Is there a better way to achieve this?
  • Is it possible to apply SURF to color, HSV space?

Thank you for your time.

+6
source share
2 answers
  1. Is it possible to apply SURF to color, HSV space?

I have not tested it, but as far as I know, SIFT and SURF use fairly (basically) similar detection methods:

The SIFT detector uses the Difference-of-Gaussian (DoG) method to efficiently approximate the Laplacian-of-Gaussian (LoG) , which are both blog detection methods .

The SURF detector uses field filters / gaps of various sizes of arbitrary size to calculate (or approximate?) The determinant of the Hessian, which is Bob's detection method.

Both methods use some strategy to calculate these blocks at several scales (SIFT: DoG-Pyramid; SURF: integral images for scaling the filter size). In the end, both methods detect droplets in this 2D array.

So, if SIFT can detect good features in your (H) SV channels, SURF should be able to do the same, because in principle they detect drops. What you will do is detect drops in the hue / saturation / value channel:

  • hue-blobs: areas with similar color tones that are surrounded by different (ever higher or lower) color tones,

  • saturation-blobs: regions ... but why? I don’t know how to interpret it;

  • value-blobs: should give very similar results to images with images converted to a gray image.

One thing to add: I just control the detector! I don’t know how color data affects SIFT / SURF data.

+5
source

I have not tested it, but what you could do is use percentage point HSV values ​​as additional matching criteria. What I used in the initial implementation, and that accelerated the matching of pairs of images, was a sign of the determinant of the Hessian matrix. The sign tells us whether it is a light blob on a dark background or a dark blob on a light background. Obviously, no one would try to match a dark blob with a bright blob.

Similarly, you can use HSV values ​​and use distance. Why do we need blue drops with yellow drops. It makes no sense, except that the white balance or lighting is completely confused. Perhaps my document on relevant line segments can help here. I used HSV there.

As for extracting SURF points of interest on different channels H, S and V, I agree with Mickey's answer.

What you could try is to create a handle using the Hue channel.

0
source

Source: https://habr.com/ru/post/946051/


All Articles