Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Clothes Recognition from Kinect v2

Hi everyone!

I am currently working on a project whose purpose is to try and detect if a person is wearing the correct hazardous protection clothing.

Using the Kinect v2 SDK, I am able to process images to remove the background, leaving just an image of a human either in, or not in, the protective clothing.

This clothing consists of:

  • White full length suit
  • Vividly purple gloves
  • White cover shoes
  • White mesh hat
  • White beard snood (preferably only if the person has a beard!)

Now, I am probably looking to implement a solution using the .NET package Emgu. So far, I have implemented a complicated algorithm which is able to blob detect one image in another. See https://www.youtube.com/watch?v=zjxWpKCQqJc for the full details (including links to a source code repository).

This is all well and good but I have found real performance issues with the method. I am able to receive nearly 30 frames a second from the Kinect but after processing with the Blob Detection Algorithm, I am down to less than a single frame a second. More importantly though, I'm not sure if the algorithm would be good if the subject of the image has his/her body parts in a different position. Might need advice here.

I would like to ask the community how you would recommend implementing a clothes detection algorithm/strategy that is fairly accurate and can run in real time (possibly using parallel processing etc). I would also be interested in knowing whether there is a way to split up a human into his/her component parts and then perform the detection on each part for each item. For example, could I just get the feet and determine if they're wearing the boots etc or do you think this is better handled by the Kinect?

I'm fairly new to this whole game but I'd be delighted with any insights into the problem I'm trying to solve. I've seen a few examples included in the Emgu download but I'm not sure whether they are necessarily optimal for solving my specific problem.

Thanks so much!

Benjamin Biggs