How to extract head region of a motocyclist wearing helmet from an image for further computation

I want to extract the head region from an image containing a motorcyclist to check whether he is wearing a helmet or not. Example of this type of image is

3 Comments

No robust algorithm can be made with just one example image. For example, could another image show a group of 15 motorcycle racers going around an oval track, and where each racer's head take up maybe .1% of the entire field of view? Or are they all like this, with a quarter angle view of a person whose head fills the upper half of the field of view and has a skin color that contrasts with the color of the helmet, and the helmet is all one color?
The helmet can be of any color but the quarter angle view is preserved in all the set of images.I am pretty new to matlab and your help will be highly appreciated.

Sign in to comment.

Answers (1)

Try vision.CascadeObjectDetector in the Computer Vision System Toolbox. If detecting the face does not work well because of the helmet, you can also try detecting the eyes and/or the nose. Some combination of these detectors may do the job. To increase sensitivity, you can try decreasing the 'ScaleFactor' parameter.
Alternatively, you can try to detect the faces using the color of the pixels.

2 Comments

Hi dima thanks for answering my question, but here i want to detect the presence of the helmet itself in an image can you please suggest how to do that.
If you detect the face, try Emma thing the bounding box and looking at the color distribution.

Sign in to comment.

Asked:

on 9 Jun 2015

Commented:

on 18 Mar 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!