开发者

Why can fourier transform be used for image recognization while being sensitive to noises?

开发者 https://www.devze.com 2022-12-26 06:08 出处:网络
As we know Fourier Transform is sensitive to noises(like salt and peppers), how can it st开发者_运维知识库ill be used for image recognization?

As we know Fourier Transform is sensitive to noises(like salt and peppers),

how can it st开发者_运维知识库ill be used for image recognization?

Is there a FT expert here?


Update to actually answer the question you asked... :) Pre-process the image with a non-linear filter to suppress the salt & pepper noise. Median filter maybe?

Basic lesson on FFTs on matched filters follows...

The classic way of detecting a smaller image within a larger image is the matched filter. Essentially, this involves doing a cross correlation of the larger image with the smaller image (the thing you're trying to recognize).

  1. For every position in the larger image
  2. Overlay the smaller image on the larger image
  3. Multiply all corresponding pixels
  4. Sum the results
  5. Put that sum in this position in the filtered image

The matched filter is optimal where the only noise in the larger image is white noise.

This IS computationally slow, but it can be decomposed into FFT (fast Fourier transform) operations, which are much more efficient. There are much more sophisticated approaches to image matching that tolerate other types of noise much better than the matched filter does. But few are as efficient as the matched filter implemented using FFTs.

Google "matched filter", "cross correlation" and "convolution filter" for more.

For example, here's one brief explanation that also points out the drawbacks of this very oldschool image matching approach: http://www.dspguide.com/ch24/6.htm


Not sure exactly what you're asking. If you are asking about how FFT can be used for image recognition, here are some thoughts.

FFT can be used to perform image "classification". It can't be used to recognize different faces or objects, but it can be used to classify the type of image. FFT calculates the spacial frequency content of the image. So for example, natural scene, face, city scene, etc. will have different FFTs. Therefore you can classify image or even within image (e.g. aerial photo to classify terrain).

Also, FFT is used in pre-processing for image recognition. It can be used for OCR (optical character recognition) to rotate the scanned image into correct orientation. FFT of typed text has a strong orientation. Same thing for parts inspection in industrial automation.


I don't think you'll find many methods in use that rely on Fourier Transforms for image recognition.

In the case of salt and pepper noise, it can be considered high frequency noise, and thus you could low pass filter your FFT before making a comparison with the target image. I would imagine that it would work, but that different images that are somewhat similar (like both are photographs taken outside) would register as being the same image.

0

精彩评论

暂无评论...
验证码 换一张
取 消