Frage

I'm trying to develop a system, which recognizes various objects present in an image based on their primitive features like texture, shape & color.

The first stage of this process is to extract out individual objects from an image and later on doing image processing on each one by one.

However, segmentation algorithm I've studied so far are not even near perfect or so called Ideal Image segmentation algorithm.

Segmentation accuracy will decide how much better the system responds to given query.

Segmentation should be fast as well as accurate.

Can any one suggest me any segmentation algorithm developed or implemented so far, which won't be too complicated to implement but will be fair enough to complete my project..

Any Help is appreicated..

War es hilfreich?

Lösung

A very late answer, but might help someone searching for this in google, since this question popped up as the first result for "best segmentation algorithm".

Fully convolutional networks seem to do exactly the task you're asking for. Check the paper in arXiv, and an implementation in MatConvNet.

The following image illustrates a segmentation example from these CNNs (the paper I linked actually proposes 3 different architectures, FCN-8s being the best). Segmentation results

Andere Tipps

Unfortunately, the best algorithm type for facial recognition uses wavelet reconstruction. This is not easy, and almost all current algorithms in use are proprietary. This is a late response, so maybe it's not useful to you but one suggestion would be to use the watershed algorithm. beforehand, you can use a generic drawing(black and white) of a face, generate a FFT of the drawing---call it *FFT_Face*.
Now segment your image of a persons face using the watershed algorithm. Call the segmented image *Water_face*. now find the center of mass for each contour/segment. generate an FFT of *Water_Face*, and correlate it with the *FFT_Face image*. The brightest pixel in resulting image should be the center of the face. Now you can compute the distances between this point and the centers of segments generated earlier. The first few distances should be enough to distinguish one person from another.

I'm sure there are several improvements to the process, but the general idea should get you there.

Doing a Google search turned up this paper: http://www.cse.iitb.ac.in/~sharat/papers/prim.pdf

It seems that getting it any better is a hard problem, so I think you might have to settle for what's there.

you can try the watershed segmentation algorithm also you can calculate the accuracy of the segmentation algorithm by the qualitative measures

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top