A good way to detect the presence of a particular function in an image

I made a video chat, but, as usual, many men like to abuse the service (I leave it for you to understand the nature of such abuse), which I in no way support, and most of my users. No, I didn’t steal chatroulette.com :-) Honestly, I am embarrassed to bring this here, but my question is technical and rather specific:

I want to filter / ban users based on their video content when this content is offensive, for example, the user blinks his unwanted file on the camera. Which image comparison algorithm will suit my needs?

I spent a week or so reading some scientific articles and learned about several theories and their implementation, such as SIFT, SURF and some of the wavelet approaches. Of course, each of them has its own disadvantages and advantages. But since the nature of my image comparison is very specific - to deny the service, if a certain part of the body is found on the video in a number of positions - I wonder which method is best for me?

I'm currently leaning towards something like the following (at the heart of Wavelet plus what I assume are some patented innovations): http://grail.cs.washington.edu/projects/query/

With the above, I can simply draw an offensive body part and expect that offensive content will be considered a threshold based match. Again, I am not sure that the method is immutable for transformations, and if so, which one is actually not specific to this.

Alternatively, I think that a SURF implementation could do, but I am afraid this might give me false positives. Can such an implementation be taught to recognize / weight a specific function?

I know that there are many questions about SURF and SIFT, but most of them are general, as they usually explain how to β€œcompare” two images. My comparison is a feature, not a general one. I need a method that does not just compare two similar images, but one that can give me a rating / index / weight for a function (however, the method allows me to describe it, whether it is an image or something else) present in the image.

+6
image-processing sift surf image-comparison
source share
2 answers

It seems you do not need to detect functions, but recognize objects, i.e. Viola-Jones method. Take a look at the example facesetect.cpp that comes with OpenCV (there are also some ready-to-use harakascades: a face detector, a body detector ...). It also uses image features called Haar Wavelets. You may be interested in using color information, taking a look at the CamShift algorithm (also available in OpenCV).

+4
source share

This is more about computer vision. You have to recognize objects in your video / video sequence, no matter ... you can use many different algorithms for this (most of them work in the spectral domain, so you have to use transformation).

To be precise, you will also need a knowledge base or at least some descriptors that will define the object.

Try OpenCV, it has already implemented algorithms (and the main descriptors are included).

There are applications / algorithms that you can β€œtrain” (for example, neural networks) and are able to identify objects based on training. Most of them (at least the good ones) are not very popular and can only be found in research groups specializing in computer vision, object recognition, artificial intelligence, etc.

Good luck

+1
source share

All Articles