9
$\begingroup$

Can you give me some advices on what could be the best algorithm(s) to use for detection of fingertips/nails in image. First thing that crossed my mind was Viola - Jones. After rethinking I concluded that maybe it would be possible to use just Hugh transformation after applying edge detection. But I'd like some more advices. Also, as this is going to be a student's project with a purpose of learning, I'am not allowed to use OpenCV or similar frameworks. Below is typical image that will be processed. (note it's not top-down view). There is no need for thumb detection.

typical image http://www.deviantpics.com/images/BwgPX.jpg

$\endgroup$

migrated from stackoverflow.com Jul 15 '12 at 14:36

This question came from our site for professional and enthusiast programmers.

2
$\begingroup$

I would consider using neural network or SVM to fit the model. The difficulty with this approach is that you must collect a lot of data - both positive and negative examples. But you can generate a lot of artificial data(by scaling or rotating images you have already collected). After you collect data you can use "moving window" of few sizes to detect nails on images not present in training set. I don't know how much time you want to spend doing the project. But implementing efficient learning algorithm yourself is difficult. However there is already library for SVM which I would use for this purpose.

$\endgroup$
  • $\begingroup$ Thank you for your suggestion. I might try it in OpenCV to get some insight. $\endgroup$ – Srđan Jul 15 '12 at 13:09
2
$\begingroup$

I have used Viola-Jones in OpenCV which was Haar. It is really powerful, based on wavelet, more than what I expected.

But is this the typical image you are targeting? What if the fingers out-stretched or straightened? or tilted?

You need to clearly define your domain.

$\endgroup$
  • $\begingroup$ Thanks for answer. There are, of course, slight variations, but the nails are always visible much like in this picture. I'm glad to hear V-J proved to be good for something like this, as I am familiar with the algorithm. $\endgroup$ – Srđan Jul 15 '12 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy