09-13-2013 08:25 PM
Hi all,
I'm working on a vision application that analyzes a human face, focusing on both eyes.
Because I need to work on both eyes with one video capture, and one camera, the imperfections and 'noise' of the human skin is disrupting my calculations.
I tried some gray-scale filtering.
I've tried some morphology.
I've tried Laplacian filtering (it gets to black and white, but with lots of little black spots where the skin is).
I'm sure I can continue to work through the Vision Assistant, with all of its different options.
I'm hoping that someone has a suggestion or two to make the process go faster.
I'm using a Point Grey Gazell 22C5M camera, and limiting the output to 800 x 700 pixels.
I'm focused on the face from just inches away, to capture the entirety of both eyes, and trying to limit the background.
Any thoughts?
Thanks,
Jeff
09-16-2013 02:01 PM
You can introduce a fiducial onto the eyes by using a backlight behind the camera. The reflection should be visible in the reflection of the eyes.
09-16-2013 04:27 PM
Hi Jeff,
As you said, what's best for your application will probably be determined largely through trying things out in Vision Assistant. It sounds like some of the things you've tried already are headed in the right direction. Unfortunately skin is a difficult background to work with since it's so inconsistent, and will vary a lot between different people.
You mentioned that you managed to get to black and white with Laplacian filtering, and tried some morphology. Did you try these together? If you can get to a binary image, but you have lots of little black spots, you could use morphology to try to remove the spots. The IMAQ Vision for LabVIEW User Manual has some more information on Removing Particles on page 4-3:
http://www.ni.com/pdf/manuals/371007a.pdf
As well, have you narrowed down your ROI at all? You said that your image is 800x700, but if you're only focusing on the eyes I'd assume you could cut that down to a narrower rectangle cutting out more of the face. If you were able to detect something specific about the eyes - say the pupils, or the whites of the eyes - you could use that location to narrow down your ROI and cut off some background.
I hope this helps!
09-18-2013 12:54 PM
Thank you for your replies.
I have moved away from this approach for now, and switched to just using edge detection in the original gray scale image.
I don't know if that will work yet, but this approach is on hold for now.
Jeff
09-19-2013 07:57 AM
For skin detection you can use colour. All skintones are apparent in a band in the YCbCr colour space. I know you have a mono camera but colour would help you a lot. You can search on line for the band, just be careful if you do
You could then search for blobs in your image that of the right area and roughly the same centres in Y.
Mike